Paste: tight loops in registers

Author: slava
Mode: text
Date: Sun, 30 Aug 2009 08:23:22
Plain Text |
000000010c93bc20: 49b820bc930c01000000  mov r8, 0x10c93bc20 (struct-array-benchmark)
000000010c93bc2a: 6870000000            push dword 0x70
000000010c93bc2f: 4150                  push r8
000000010c93bc31: 4883ec58              sub rsp, 0x58
000000010c93bc35: 4d8b16                mov r10, [r14]
000000010c93bc38: 49b96000000000000000  mov r9, 0x60
000000010c93bc42: 4983c608              add r14, 0x8
000000010c93bc46: 4983c708              add r15, 0x8
000000010c93bc4a: 4d890e                mov [r14], r9
000000010c93bc4d: 4d8917                mov [r15], r10
000000010c93bc50: e80bf38fff            call 0x10c23af60 (*)
000000010c93bc55: e8c69846ff            call 0x10bda5520 (<byte-array>)
000000010c93bc5a: 4d8b17                mov r10, [r15]
000000010c93bc5d: 4983c608              add r14, 0x8
000000010c93bc61: 4983ef08              sub r15, 0x8
000000010c93bc65: 4d8916                mov [r14], r10
000000010c93bc68: e8331e54ff            call 0x10be7daa0
000000010c93bc6d: 4d8b16                mov r10, [r14]
000000010c93bc70: 4d8b4ef8              mov r9, [r14-0x8]
000000010c93bc74: 4c894c2408            mov [rsp+0x8], r9
000000010c93bc79: 48bdf8ffffffffffff3f  mov rbp, 0x3ffffffffffffff8
000000010c93bc83: 4921ea                and r10, rbp
000000010c93bc86: 4c891424              mov [rsp], r10
000000010c93bc8a: 4831ed                xor rbp, rbp
000000010c93bc8d: 4983c620              add r14, 0x20
000000010c93bc91: 4989ec                mov r12, rbp
000000010c93bc94: 4989e9                mov r9, rbp
000000010c93bc97: 4d89e2                mov r10, r12
000000010c93bc9a: e9ff000000            jmp 0x10c93bd9e (struct-array-benchmark+0x17e)
000000010c93bc9f: 48892c24              mov [rsp], rbp
000000010c93bca3: 4d89d4                mov r12, r10
000000010c93bca6: 4c89cd                mov rbp, r9
000000010c93bca9: 486bc50c              imul rax, rbp, 0xc
000000010c93bcad: 48896c2410            mov [rsp+0x10], rbp
000000010c93bcb2: 48c1f803              sar rax, 0x3
000000010c93bcb6: 4889442420            mov [rsp+0x20], rax
000000010c93bcbb: 4c89e7                mov rdi, r12
000000010c93bcbe: 4c89642418            mov [rsp+0x18], r12
000000010c93bcc3: 48c1ff03              sar rdi, 0x3
000000010c93bcc7: f2480f2acf            cvtsi2sd xmm1, rdi
000000010c93bccc: f2480f114c2428        movsd [rsp+0x28], xmm1
000000010c93bcd3: f2480f10442428        movsd xmm0, [rsp+0x28]
000000010c93bcda: 49bb607f0a80ff7f0000  mov r11, 0x7fff800a7f60
000000010c93bce4: 49ffd3                call r11
000000010c93bce7: f20f10c8              movsd xmm1, xmm0
000000010c93bceb: 4c8b4c2408            mov r9, [rsp+0x8]
000000010c93bcf0: 4d8d510a              lea r10, [r9+0xa]
000000010c93bcf4: 4c894c2408            mov [rsp+0x8], r9
000000010c93bcf9: 488b6c2420            mov rbp, [rsp+0x20]
000000010c93bcfe: 4d8d242a              lea r12, [r10+rbp]
000000010c93bd02: f20f5ac9              cvtsd2ss xmm1, xmm1
000000010c93bd06: f3490f110c24          movss [r12], xmm1
000000010c93bd0c: f2480f114c2438        movsd [rsp+0x38], xmm1
000000010c93bd13: 4c89642430            mov [rsp+0x30], r12
000000010c93bd18: f2480f10442428        movsd xmm0, [rsp+0x28]
000000010c93bd1f: 49bb70830a80ff7f0000  mov r11, 0x7fff800a8370
000000010c93bd29: 49ffd3                call r11
000000010c93bd2c: f2480f11442440        movsd [rsp+0x40], xmm0
000000010c93bd33: 49ba937eb23301000000  mov r10, 0x133b27e93
000000010c93bd3d: f2490f104a05          movsd xmm1, [r10+0x5]
000000010c93bd43: f2480f107c2440        movsd xmm7, [rsp+0x40]
000000010c93bd4a: f20f59f9              mulsd xmm7, xmm1
000000010c93bd4e: 4c8b4c2430            mov r9, [rsp+0x30]
000000010c93bd53: 4d8d5104              lea r10, [r9+0x4]
000000010c93bd57: f20f5aff              cvtsd2ss xmm7, xmm7
000000010c93bd5b: f3490f113a            movss [r10], xmm7
000000010c93bd60: f2480f104c2438        movsd xmm1, [rsp+0x38]
000000010c93bd67: f20f59c9              mulsd xmm1, xmm1
000000010c93bd6b: 49baa37eb23301000000  mov r10, 0x133b27ea3
000000010c93bd75: f2490f107a05          movsd xmm7, [r10+0x5]
000000010c93bd7b: f20f5ecf              divsd xmm1, xmm7
000000010c93bd7f: 4d8d5108              lea r10, [r9+0x8]
000000010c93bd83: f20f5ac9              cvtsd2ss xmm1, xmm1
000000010c93bd87: f3490f110a            movss [r10], xmm1
000000010c93bd8c: 4c8b542418            mov r10, [rsp+0x18]
000000010c93bd91: 4983c208              add r10, 0x8
000000010c93bd95: 4c8b4c2410            mov r9, [rsp+0x10]
000000010c93bd9a: 4983c108              add r9, 0x8
000000010c93bd9e: 488b2c24              mov rbp, [rsp]
000000010c93bda2: 4939e9                cmp r9, rbp
000000010c93bda5: 0f8cf4feffff          jl dword 0x10c93bc9f (struct-array-benchmark+0x7f)
000000010c93bdab: 4983ee20              sub r14, 0x20
000000010c93bdaf: 4d31d2                xor r10, r10
000000010c93bdb2: 4983c608              add r14, 0x8
000000010c93bdb6: 4983c710              add r15, 0x10
000000010c93bdba: 488b442408            mov rax, [rsp+0x8]
000000010c93bdbf: e99e000000            jmp 0x10c93be62 (struct-array-benchmark+0x242)
000000010c93bdc4: 4889442408            mov [rsp+0x8], rax
000000010c93bdc9: 4d6bca0c              imul r9, r10, 0xc
000000010c93bdcd: 49c1f903              sar r9, 0x3
000000010c93bdd1: 488b442408            mov rax, [rsp+0x8]
000000010c93bdd6: 4c8d600a              lea r12, [rax+0xa]
000000010c93bdda: 4b8d3c0c              lea rdi, [r12+r9]
000000010c93bdde: f3480f100f            movss xmm1, [rdi]
000000010c93bde3: f30f5ac9              cvtss2sd xmm1, xmm1
000000010c93bde7: 4c8d4f04              lea r9, [rdi+0x4]
000000010c93bdeb: f3490f1039            movss xmm7, [r9]
000000010c93bdf0: f30f5aff              cvtss2sd xmm7, xmm7
000000010c93bdf4: 4c8d6708              lea r12, [rdi+0x8]
000000010c93bdf8: f3490f102424          movss xmm4, [r12]
000000010c93bdfe: f30f5ae4              cvtss2sd xmm4, xmm4
000000010c93be02: f20f59c9              mulsd xmm1, xmm1
000000010c93be06: f20f59ff              mulsd xmm7, xmm7
000000010c93be0a: f20f59e4              mulsd xmm4, xmm4
000000010c93be0e: f20f58fc              addsd xmm7, xmm4
000000010c93be12: f20f58cf              addsd xmm1, xmm7
000000010c93be16: f20f51f9              sqrtsd xmm7, xmm1
000000010c93be1a: f3480f100f            movss xmm1, [rdi]
000000010c93be1f: f30f5ac9              cvtss2sd xmm1, xmm1
000000010c93be23: f20f5ecf              divsd xmm1, xmm7
000000010c93be27: f20f5ac9              cvtsd2ss xmm1, xmm1
000000010c93be2b: f3480f110f            movss [rdi], xmm1
000000010c93be30: f3490f1009            movss xmm1, [r9]
000000010c93be35: f30f5ac9              cvtss2sd xmm1, xmm1
000000010c93be39: f20f5ecf              divsd xmm1, xmm7
000000010c93be3d: f20f5ac9              cvtsd2ss xmm1, xmm1
000000010c93be41: f3490f1109            movss [r9], xmm1
000000010c93be46: f3490f100c24          movss xmm1, [r12]
000000010c93be4c: f30f5ac9              cvtss2sd xmm1, xmm1
000000010c93be50: f20f5ecf              divsd xmm1, xmm7
000000010c93be54: f20f5ac9              cvtsd2ss xmm1, xmm1
000000010c93be58: f3490f110c24          movss [r12], xmm1
000000010c93be5e: 4983c208              add r10, 0x8
000000010c93be62: 4939ea                cmp r10, rbp
000000010c93be65: 0f8c59ffffff          jl dword 0x10c93bdc4 (struct-array-benchmark+0x1a4)
000000010c93be6b: 49ba206b020001000000  mov r10, 0x100026b20
000000010c93be75: 4d8b4a08              mov r9, [r10+0x8]
000000010c93be79: 4981c100040000        add r9, 0x400
000000010c93be80: 4d8b5218              mov r10, [r10+0x18]
000000010c93be84: 4d39d1                cmp r9, r10
000000010c93be87: 0f8e59000000          jle dword 0x10c93bee6 (struct-array-benchmark+0x2c6)
000000010c93be8d: 4d31d2                xor r10, r10
000000010c93be90: 4d8916                mov [r14], r10
000000010c93be93: 4d8917                mov [r15], r10
000000010c93be96: 4d8957f8              mov [r15-0x8], r10
000000010c93be9a: 48896c2448            mov [rsp+0x48], rbp
000000010c93be9f: 4889442450            mov [rsp+0x50], rax
000000010c93bea4: 488d7c2448            lea rdi, [rsp+0x48]
000000010c93bea9: 48be0200000000000000  mov rsi, 0x2
000000010c93beb3: 49b85869020001000000  mov r8, 0x100026958
000000010c93bebd: 4d8b00                mov r8, [r8]
000000010c93bec0: 498920                mov [r8], rsp
000000010c93bec3: 49832808              sub qword [r8], 0x8
000000010c93bec7: 4d897010              mov [r8+0x10], r14
000000010c93becb: 4d897818              mov [r8+0x18], r15
000000010c93becf: 49bbc025010001000000  mov r11, 0x1000125c0
000000010c93bed9: 49ffd3                call r11
000000010c93bedc: 488b6c2448            mov rbp, [rsp+0x48]
000000010c93bee1: 488b442450            mov rax, [rsp+0x50]
000000010c93bee6: 4983ee18              sub r14, 0x18
000000010c93beea: 49ba6000000000000000  mov r10, 0x60
000000010c93bef4: 49bc206b020001000000  mov r12, 0x100026b20
000000010c93befe: 4d8b4c2408            mov r9, [r12+0x8]
000000010c93bf03: 49c70148000000        mov qword [r9], 0x48
000000010c93bf0a: 4983c906              or r9, 0x6
000000010c93bf0e: 498344240820          add qword [r12+0x8], 0x20
000000010c93bf14: 4d895102              mov [r9+0x2], r10
000000010c93bf18: 4d31d2                xor r10, r10
000000010c93bf1b: 49bc237fb23301000000  mov r12, 0x133b27f23
000000010c93bf25: f2490f104c2405        movsd xmm1, [r12+0x5]
000000010c93bf2c: 4d8d610a              lea r12, [r9+0xa]
000000010c93bf30: f20f5ac9              cvtsd2ss xmm1, xmm1
000000010c93bf34: f3490f110c24          movss [r12], xmm1
000000010c93bf3a: 4d8d610e              lea r12, [r9+0xe]
000000010c93bf3e: f20f5ac9              cvtsd2ss xmm1, xmm1
000000010c93bf42: f3490f110c24          movss [r12], xmm1
000000010c93bf48: 4d8d6112              lea r12, [r9+0x12]
000000010c93bf4c: f20f5ac9              cvtsd2ss xmm1, xmm1
000000010c93bf50: f3490f110c24          movss [r12], xmm1
000000010c93bf56: 4983c620              add r14, 0x20
000000010c93bf5a: 4983ef10              sub r15, 0x10
000000010c93bf5e: e989000000            jmp 0x10c93bfec (struct-array-benchmark+0x3cc)
000000010c93bf63: 4d6be20c              imul r12, r10, 0xc
000000010c93bf67: 49c1fc03              sar r12, 0x3
000000010c93bf6b: 498d790a              lea rdi, [r9+0xa]
000000010c93bf6f: f3480f100f            movss xmm1, [rdi]
000000010c93bf74: f30f5ac9              cvtss2sd xmm1, xmm1
000000010c93bf78: 488d580a              lea rbx, [rax+0xa]
000000010c93bf7c: 4a8d1423              lea rdx, [rbx+r12]
000000010c93bf80: f3480f103a            movss xmm7, [rdx]
000000010c93bf85: f30f5aff              cvtss2sd xmm7, xmm7
000000010c93bf89: f20f5fcf              maxsd xmm1, xmm7
000000010c93bf8d: f20f5ac9              cvtsd2ss xmm1, xmm1
000000010c93bf91: f3480f110f            movss [rdi], xmm1
000000010c93bf96: 4d8d610e              lea r12, [r9+0xe]
000000010c93bf9a: f3490f100c24          movss xmm1, [r12]
000000010c93bfa0: f30f5ac9              cvtss2sd xmm1, xmm1
000000010c93bfa4: 488d7a04              lea rdi, [rdx+0x4]
000000010c93bfa8: f3480f103f            movss xmm7, [rdi]
000000010c93bfad: f30f5aff              cvtss2sd xmm7, xmm7
000000010c93bfb1: f20f5fcf              maxsd xmm1, xmm7
000000010c93bfb5: f20f5ac9              cvtsd2ss xmm1, xmm1
000000010c93bfb9: f3490f110c24          movss [r12], xmm1
000000010c93bfbf: 4d8d6112              lea r12, [r9+0x12]
000000010c93bfc3: f3490f100c24          movss xmm1, [r12]
000000010c93bfc9: f30f5ac9              cvtss2sd xmm1, xmm1
000000010c93bfcd: 488d7a08              lea rdi, [rdx+0x8]
000000010c93bfd1: f3480f103f            movss xmm7, [rdi]
000000010c93bfd6: f30f5aff              cvtss2sd xmm7, xmm7
000000010c93bfda: f20f5fcf              maxsd xmm1, xmm7
000000010c93bfde: f20f5ac9              cvtsd2ss xmm1, xmm1
000000010c93bfe2: f3490f110c24          movss [r12], xmm1
000000010c93bfe8: 4983c208              add r10, 0x8
000000010c93bfec: 4939ea                cmp r10, rbp
000000010c93bfef: 0f8c6effffff          jl dword 0x10c93bf63 (struct-array-benchmark+0x343)
000000010c93bff5: 48bd206b020001000000  mov rbp, 0x100026b20
000000010c93bfff: 4c8b5508              mov r10, [rbp+0x8]
000000010c93c003: 4981c200040000        add r10, 0x400
000000010c93c00a: 488b6d18              mov rbp, [rbp+0x18]
000000010c93c00e: 4939ea                cmp r10, rbp
000000010c93c011: 0f8e54000000          jle dword 0x10c93c06b (struct-array-benchmark+0x44b)
000000010c93c017: 4831ed                xor rbp, rbp
000000010c93c01a: 49892e                mov [r14], rbp
000000010c93c01d: 49896ef8              mov [r14-0x8], rbp
000000010c93c021: 49896ef0              mov [r14-0x10], rbp
000000010c93c025: 49896ee8              mov [r14-0x18], rbp
000000010c93c029: 4c894c2448            mov [rsp+0x48], r9
000000010c93c02e: 488d7c2448            lea rdi, [rsp+0x48]
000000010c93c033: 48be0100000000000000  mov rsi, 0x1
000000010c93c03d: 49b85869020001000000  mov r8, 0x100026958
000000010c93c047: 4d8b00                mov r8, [r8]
000000010c93c04a: 498920                mov [r8], rsp
000000010c93c04d: 49832808              sub qword [r8], 0x8
000000010c93c051: 4d897010              mov [r8+0x10], r14
000000010c93c055: 4d897818              mov [r8+0x18], r15
000000010c93c059: 49bbc025010001000000  mov r11, 0x1000125c0
000000010c93c063: 49ffd3                call r11
000000010c93c066: 4c8b4c2448            mov r9, [rsp+0x48]
000000010c93c06b: 4983ee18              sub r14, 0x18
000000010c93c06f: 4d8d510a              lea r10, [r9+0xa]
000000010c93c073: f3490f100a            movss xmm1, [r10]
000000010c93c078: f30f5ac9              cvtss2sd xmm1, xmm1
000000010c93c07c: 4d8d510e              lea r10, [r9+0xe]
000000010c93c080: f3490f103a            movss xmm7, [r10]
000000010c93c085: f30f5aff              cvtss2sd xmm7, xmm7
000000010c93c089: 4d8d5112              lea r10, [r9+0x12]
000000010c93c08d: f3490f1022            movss xmm4, [r10]
000000010c93c092: f30f5ae4              cvtss2sd xmm4, xmm4
000000010c93c096: 4983c710              add r15, 0x10
000000010c93c09a: 49ba206b020001000000  mov r10, 0x100026b20
000000010c93c0a4: 4d8b4a08              mov r9, [r10+0x8]
000000010c93c0a8: 49c70118000000        mov qword [r9], 0x18
000000010c93c0af: 4983c903              or r9, 0x3
000000010c93c0b3: 4983420810            add qword [r10+0x8], 0x10
000000010c93c0b8: f2490f117905          movsd [r9+0x5], xmm7
000000010c93c0be: 4d894ff8              mov [r15-0x8], r9
000000010c93c0c2: 49ba206b020001000000  mov r10, 0x100026b20
000000010c93c0cc: 4d8b4a08              mov r9, [r10+0x8]
000000010c93c0d0: 49c70118000000        mov qword [r9], 0x18
000000010c93c0d7: 4983c903              or r9, 0x3
000000010c93c0db: 4983420810            add qword [r10+0x8], 0x10
000000010c93c0e0: f2490f116105          movsd [r9+0x5], xmm4
000000010c93c0e6: 4d890f                mov [r15], r9
000000010c93c0e9: 49ba206b020001000000  mov r10, 0x100026b20
000000010c93c0f3: 4d8b4a08              mov r9, [r10+0x8]
000000010c93c0f7: 49c70118000000        mov qword [r9], 0x18
000000010c93c0fe: 4983c903              or r9, 0x3
000000010c93c102: 4983420810            add qword [r10+0x8], 0x10
000000010c93c107: f2490f114905          movsd [r9+0x5], xmm1
000000010c93c10d: 4d890e                mov [r14], r9
000000010c93c110: e88b3871ff            call 0x10c04f9a0 (number>string)
000000010c93c115: 4d8b57f8              mov r10, [r15-0x8]
000000010c93c119: 4d8b0f                mov r9, [r15]
000000010c93c11c: 4983c608              add r14, 0x8
000000010c93c120: 4983ef08              sub r15, 0x8
000000010c93c124: 4d8916                mov [r14], r10
000000010c93c127: 4d890f                mov [r15], r9
000000010c93c12a: e8713871ff            call 0x10c04f9a0 (number>string)
000000010c93c12f: 4d8b17                mov r10, [r15]
000000010c93c132: 4983c608              add r14, 0x8
000000010c93c136: 4983ef08              sub r15, 0x8
000000010c93c13a: 4d8916                mov [r14], r10
000000010c93c13d: e85e3871ff            call 0x10c04f9a0 (number>string)
000000010c93c142: 49b9206b020001000000  mov r9, 0x100026b20
000000010c93c14c: 4d8b5108              mov r10, [r9+0x8]
000000010c93c150: 4981c200040000        add r10, 0x400
000000010c93c157: 4d8b4918              mov r9, [r9+0x18]
000000010c93c15b: 4d39ca                cmp r10, r9
000000010c93c15e: 0f8e38000000          jle dword 0x10c93c19c (struct-array-benchmark+0x57c)
000000010c93c164: 488d7c2448            lea rdi, [rsp+0x48]
000000010c93c169: 48be0000000000000000  mov rsi, 0x0
000000010c93c173: 49b85869020001000000  mov r8, 0x100026958
000000010c93c17d: 4d8b00                mov r8, [r8]
000000010c93c180: 498920                mov [r8], rsp
000000010c93c183: 49832808              sub qword [r8], 0x8
000000010c93c187: 4d897010              mov [r8+0x10], r14
000000010c93c18b: 4d897818              mov [r8+0x18], r15
000000010c93c18f: 49bbc025010001000000  mov r11, 0x1000125c0
000000010c93c199: 49ffd3                call r11
000000010c93c19c: 4d8b56f8              mov r10, [r14-0x8]
000000010c93c1a0: 4d8b4ef0              mov r9, [r14-0x10]
000000010c93c1a4: 498b2e                mov rbp, [r14]
000000010c93c1a7: 49bc1800000000000000  mov r12, 0x18
000000010c93c1b1: 48b8206b020001000000  mov rax, 0x100026b20
000000010c93c1bb: 488b7808              mov rdi, [rax+0x8]
000000010c93c1bf: 48c70710000000        mov qword [rdi], 0x10
000000010c93c1c6: 4883cf02              or rdi, 0x2
000000010c93c1ca: 4883400828            add qword [rax+0x8], 0x28
000000010c93c1cf: 4c896706              mov [rdi+0x6], r12
000000010c93c1d3: 48896f1e              mov [rdi+0x1e], rbp
000000010c93c1d7: 4c895716              mov [rdi+0x16], r10
000000010c93c1db: 4c894f0e              mov [rdi+0xe], r9
000000010c93c1df: 49ba06d38d3301000000  mov r10, 0x1338dd306
000000010c93c1e9: 4983ee08              sub r14, 0x8
000000010c93c1ed: 4d8916                mov [r14], r10
000000010c93c1f0: 49897ef8              mov [r14-0x8], rdi
000000010c93c1f4: e8a76895ff            call 0x10c292aa0 (join)
000000010c93c1f9: 4883c468              add rsp, 0x68
000000010c93c1fd: 48bb0cc2930c01000000  mov rbx, 0x10c93c20c (struct-array-benchmark+0x5ec)
000000010c93c207: e994858dff            jmp 0x10c2147a0 (print)

New Annotation

Summary:
Author:
Mode:
Body: