Created
July 3, 2015 18:30
-
-
Save vlj/02a871df19fb6993ccc4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TRANSLATION UNIT @ 0x000f0 | |
[000000f0] 43 ff e8 08: ila $8, 0x3ffd0 | |
[000000f4] 12 7f f3 99: hbrr 0x6500, 0x90 | |
[000000f8] 42 81 01 8c: ila $12, 0x10203 | |
[000000fc] 3f e0 03 50: shlqbyi $80, $6, 0x0 | |
[00000100] 1c 08 04 12: ai $18, $8, 0x20 | |
[00000104] 32 87 80 09: fsmbi $9, 0xf00 | |
[00000108] 43 38 f0 0f: ila $15, 0x271e0 | |
[0000010c] 3f e0 01 d3: shlqbyi $83, $3, 0x0 | |
[00000110] 04 00 02 52: ori $82, $4, 0x0 | |
[00000114] 24 00 04 12: stqd $18, 0x0($8) | |
[00000118] 08 02 07 8a: sf $10, $15, $8 | |
[0000011c] 33 93 bc 8e: lqr $14, 0x9f00 | |
[00000120] 04 00 02 d1: ori $81, $5, 0x0 | |
[00000124] 32 80 00 10: fsmbi $16, 0x0 | |
[00000128] 80 22 84 09: selb $SP, $8, $10, $9 | |
[0000012c] 1c 0c 00 8d: ai $13, $SP, 0x30 | |
[00000130] 23 ff d8 10: stqr $16, 0x3fff0 | |
[00000134] 3f 81 07 0b: rotqbyi $11, $14, 0x4 | |
[00000138] 23 92 ad 0d: stqr $13, 0x96a0 | |
[0000013c] b0 c2 c5 8c: shufb $6, $11, $11, $12 | |
[00000140] 1c f4 03 03: ai $3, $6, 0xffffffd0 | |
[00000144] 58 00 c5 05: clgt $5, $10, $3 | |
[00000148] 5c 00 01 84: clgti $4, $3, 0x0 | |
[0000014c] 18 21 02 82: and $2, $5, $4 | |
[00000150] 80 e0 c5 02: selb $7, $10, $3, $2 | |
[00000154] 80 21 c4 09: selb $SP, $8, $7, $9 | |
[00000158] 33 7f e7 00: brsl $LR, 0x90 | |
TO | |
L0: ; | .... | |
push rbx ; 53 | | |
push rbp ; 55 | | |
movaps oword ptr [rsp-24], xmm6 ; 0F297424E8 | | |
xor eax, eax ; 33C0 | xor pos, pos ....W | |
movdqa xmm0, oword ptr [r8] ; 66410F6F00 | movdqa reg_0, [imm] ..r. w | |
movdqa oword ptr [rcx+544], xmm0 ; 660F7F8120020000 | movdqa [cpu+544], reg_0 r... r | |
movdqa xmm1, oword ptr [r8+16] ; 66410F6F4810 | movdqa reg_1, [imm+16] ..r. .w | |
movdqa oword ptr [rcx+608], xmm1 ; 660F7F8960020000 | movdqa [cpu+608], reg_1 r... .r | |
movdqa xmm2, oword ptr [rcx+512] ; 660F6F9100020000 | movdqa reg_2, [cpu+512] r... ..w | |
pslldq xmm2, 0 ; 660F73FA00 | pslldq reg_2, 0 .... ..x | |
movdqa oword ptr [rcx+1696], xmm2 ; 660F7F91A0060000 | movdqa [cpu+1696], reg_2 r... ..R | |
movdqa xmm2, xmm0 ; 660F6FD0 | movdqa reg_3, reg_0 .... r. w | |
paddd xmm2, oword ptr [r8+32] ; 66410FFE5020 | paddd reg_3, [imm+32] ..r. .. x | |
movdqa oword ptr [rcx+704], xmm2 ; 660F7F91C0020000 | movdqa [cpu+704], reg_3 r... .. R | |
movdqa xmm2, oword ptr [r9+61440] ; 66410F6F9100F00000 | movdqa reg_4, [g_imm+61440] ...R .. w | |
movdqa oword ptr [rcx+560], xmm2 ; 660F7F9130020000 | movdqa [cpu+560], reg_4 r.. .. r | |
movdqa xmm3, oword ptr [r8+48] ; 66410F6F5830 | movdqa reg_5, [imm+48] ..r .. .w | |
movdqa oword ptr [rcx+656], xmm3 ; 660F7F9990020000 | movdqa [cpu+656], reg_5 r.. .. .r | |
movdqa xmm4, oword ptr [rcx+464] ; 660F6FA1D0010000 | movdqa reg_6, [cpu+464] r.. .. ..w | |
pslldq xmm4, 0 ; 660F73FC00 | pslldq reg_6, 0 ... .. ..x | |
movdqa oword ptr [rcx+1744], xmm4 ; 660F7FA1D0060000 | movdqa [cpu+1744], reg_6 r.. .. ..R | |
movdqa xmm4, oword ptr [rcx+480] ; 660F6FA1E0010000 | movdqa reg_7, [cpu+480] r.. .. .. w | |
movdqa oword ptr [rcx+1728], xmm4 ; 660F7FA1C0060000 | movdqa [cpu+1728], reg_7 r.. .. .. R | |
mov eax, dword ptr [rcx+556] ; 8B812C020000 | mov addr, [cpu+556] r.. .. .. w | |
and eax, 262128 ; 25F0FF0300 | and addr, 262128 ... .. .. x | |
mov rbx, qword ptr [rcx+704] ; 488B99C0020000 | mov qw0, [cpu+704] r.. .. .. .w | |
mov rbp, qword ptr [rcx+712] ; 488BA9C8020000 | mov qw1, [cpu+712] r.. .. .. ..w | |
bswap rbx ; 480FCB | bswap qw0 ... .. .. .x. | |
bswap rbp ; 480FCD | bswap qw1 ... .. .. ..x | |
mov qword ptr [rdx+rax], rbp ; 48892C02 | mov [ls+addr], qw1 .r. .. .. r.R | |
mov qword ptr [rdx+rax+8], rbx ; 48895C0208 | mov [ls+addr+8], qw0 .r. .. .. RR | |
movdqa xmm4, xmm0 ; 660F6FE0 | movdqa reg_8, reg_0 ... R. .. w | |
psubd xmm4, xmm3 ; 660FFAE3 | psubd reg_8, reg_5 ... . .R x | |
movdqa oword ptr [rcx+576], xmm4 ; 660F7FA140020000 | movdqa [cpu+576], reg_8 r.. . . r | |
mov rbx, qword ptr [rdx+40704] ; 488B9A009F0000 | mov qw0, [ls+40704] .r. . . w . | |
mov rbp, qword ptr [rdx+40712] ; 488BAA089F0000 | mov qw1, [ls+40712] .r. . . .w. | |
bswap rbx ; 480FCB | bswap qw0 ... . . x.. | |
bswap rbp ; 480FCD | bswap qw1 ... . . .x. | |
mov qword ptr [rcx+640], rbp ; 4889A980020000 | mov [cpu+640], qw1 r.. . . .R. | |
mov qword ptr [rcx+648], rbx ; 48899988020000 | mov [cpu+648], qw0 r.. . . R . | |
movdqa xmm0, oword ptr [rcx+496] ; 660F6F81F0010000 | movdqa reg_9, [cpu+496] r.. . . .w | |
movdqa oword ptr [rcx+1712], xmm0 ; 660F7F81B0060000 | movdqa [cpu+1712], reg_9 r.. . . .R | |
pxor xmm0, xmm0 ; 660FEFC0 | pxor reg_10, reg_10 ... . . . w | |
movdqa oword ptr [rcx+672], xmm0 ; 660F7F81A0020000 | movdqa [cpu+672], reg_10 r.. . . . R | |
movdqa xmm0, xmm4 ; 660F6FC4 | movdqa reg_11, reg_8 ... . . r w | |
movdqa xmm3, xmm2 ; 660F6FDA | movdqa reg_12, reg_4 ... . R . .w | |
pand xmm0, xmm3 ; 660FDBC3 | pand reg_11, reg_12 ... . . xr | |
pandn xmm3, oword ptr [rcx+544] ; 660FDF9920020000 | pandn reg_12, [cpu+544] r.. . . .x | |
por xmm0, xmm3 ; 660FEBC3 | por reg_11, reg_12 ... . . xR | |
movdqa oword ptr [rcx+432], xmm0 ; 660F7F81B0010000 | movdqa [cpu+432], reg_11 r.. . . r | |
movdqa xmm3, xmm0 ; 660F6FD8 | movdqa reg_12, reg_11 ... . . Rw | |
paddd xmm3, oword ptr [r8+64] ; 66410FFE5840 | paddd reg_12, [imm+64] ..r . . x | |
movdqa oword ptr [rcx+624], xmm3 ; 660F7F9970020000 | movdqa [cpu+624], reg_12 r.. . . R | |
mov rbx, qword ptr [rcx+672] ; 488B99A0020000 | mov qw0, [cpu+672] r.. . w . | |
mov rbp, qword ptr [rcx+680] ; 488BA9A8020000 | mov qw1, [cpu+680] r.. . .w. | |
bswap rbx ; 480FCB | bswap qw0 ... . x.. | |
bswap rbp ; 480FCD | bswap qw1 ... . .x. | |
mov qword ptr [rdx+262128], rbp ; 4889AAF0FF0300 | mov [ls+262128], qw1 .r. . .R. | |
mov qword ptr [rdx+262136], rbx ; 48899AF8FF0300 | mov [ls+262136], qw0 .r. . R . | |
movdqa xmm0, oword ptr [rcx+640] ; 660F6F8180020000 | movdqa reg_13, [cpu+640] r.. . . w | |
palignr xmm0, xmm0, 12 ; 660F3A0FC00C | palignr reg_13, reg_13, 12 ... . . x | |
movdqa oword ptr [rcx+592], xmm0 ; 660F7F8150020000 | movdqa [cpu+592], reg_13 r.. . . R | |
mov rbx, qword ptr [rcx+624] ; 488B9970020000 | mov qw0, [cpu+624] r.. . w . | |
mov rbp, qword ptr [rcx+632] ; 488BA978020000 | mov qw1, [cpu+632] r.. . .w. | |
bswap rbx ; 480FCB | bswap qw0 ... . x.. | |
bswap rbp ; 480FCD | bswap qw1 ... . .x. | |
mov qword ptr [rdx+38560], rbp ; 4889AAA0960000 | mov [ls+38560], qw1 .r. . .R. | |
mov qword ptr [rdx+38568], rbx ; 48899AA8960000 | mov [ls+38568], qw0 .R. . R . | |
movdqa xmm0, xmm1 ; 660F6FC1 | movdqa reg_14, reg_1 . . R . w | |
movdqa xmm1, xmm0 ; 660F6FC8 | movdqa reg_0, reg_14 . . w . r | |
movdqa xmm2, oword ptr [r8+80] ; 66410F6F5050 | movdqa reg_15, [imm+80] . r . . .w | |
movdqa xmm3, oword ptr [r8+96] ; 66410F6F5860 | movdqa reg_1, [imm+96] . r .w . .. | |
pand xmm1, xmm2 ; 660FDBCA | pand reg_0, reg_15 . . x. . .r | |
movdqa xmm5, xmm1 ; 660F6FE9 | movdqa reg_5, reg_0 . . r. w . .. | |
movdqa xmm6, oword ptr [r8+112] ; 66410F6F7070 | movdqa reg_4, [imm+112] . r .. w. . .. | |
pcmpeqb xmm5, xmm6 ; 660F74EE | pcmpeqb reg_5, reg_4 . . .. rx . .. | |
movdqa xmm6, xmm1 ; 660F6FF1 | movdqa reg_4, reg_0 . . r. w. . .. | |
pand xmm6, xmm3 ; 660FDBF3 | pand reg_4, reg_1 . . .r x. . .. | |
pcmpeqb xmm1, xmm2 ; 660F74CA | pcmpeqb reg_0, reg_15 . . x. .. . .r | |
pcmpeqb xmm6, xmm3 ; 660F74F3 | pcmpeqb reg_4, reg_1 . . .r x. . .. | |
pand xmm1, xmm3 ; 660FDBCB | pand reg_0, reg_1 . . xR .. . .. | |
por xmm5, xmm1 ; 660FEBE9 | por reg_5, reg_0 . . R .x . .. | |
pandn xmm2, xmm0 ; 660FDFD0 | pandn reg_15, reg_14 . . .. . Rx | |
movdqa xmm0, oword ptr [r8+128] ; 66410F6F8080000000 | movdqa reg_0, [imm+128] . r w .. . . | |
pxor xmm2, oword ptr [r8+144] ; 66410FEF9090000000 | pxor reg_15, [imm+144] . r . .. . x | |
psubb xmm0, xmm2 ; 660FF8C2 | psubb reg_0, reg_15 . . x .. . r | |
movdqa xmm2, oword ptr [rcx+592] ; 660F6F9150020000 | movdqa reg_15, [cpu+592] r . . .. . w | |
pshufb xmm2, xmm0 ; 660F3800D0 | pshufb reg_15, reg_0 . . r .. . x | |
pxor xmm0, oword ptr [r8+160] ; 66410FEF80A0000000 | pxor reg_0, [imm+160] . r x .. . . | |
movdqa xmm1, oword ptr [rcx+592] ; 660F6F8950020000 | movdqa reg_1, [cpu+592] r . .w .. . . | |
pshufb xmm1, xmm0 ; 660F3800C8 | pshufb reg_1, reg_0 . . Rx .. . . | |
por xmm2, xmm1 ; 660FEBD1 | por reg_15, reg_1 . . R .. . x | |
pandn xmm6, xmm2 ; 660FDFF2 | pandn reg_4, reg_15 . . x. . R | |
por xmm5, xmm6 ; 660FEBEE | por reg_5, reg_4 . . Rx . | |
movdqa oword ptr [rcx+512], xmm5 ; 660F7FA900020000 | movdqa [cpu+512], reg_5 r . r . | |
movdqa xmm0, xmm5 ; 660F6FC5 | movdqa reg_0, reg_5 . . w R . | |
paddd xmm0, oword ptr [r8+176] ; 66410FFE80B0000000 | paddd reg_0, [imm+176] . r x . | |
movdqa oword ptr [rcx+464], xmm0 ; 660F7F81D0010000 | movdqa [cpu+464], reg_0 r . r . | |
movdqa xmm1, xmm4 ; 660F6FCC | movdqa reg_1, reg_8 . . .w R | |
movdqa xmm2, oword ptr [r8+192] ; 66410F6F90C0000000 | movdqa reg_4, [imm+192] . r .. w | |
pxor xmm1, xmm2 ; 660FEFCA | pxor reg_1, reg_4 . . .x r | |
pxor xmm2, xmm0 ; 660FEFD0 | pxor reg_4, reg_0 . . r. x | |
pcmpgtd xmm1, xmm2 ; 660F66CA | pcmpgtd reg_1, reg_4 . . .x R | |
movdqa oword ptr [rcx+496], xmm1 ; 660F7F89F0010000 | movdqa [cpu+496], reg_1 r . .r | |
movdqa xmm2, xmm0 ; 660F6FD0 | movdqa reg_4, reg_0 . . r. w | |
pxor xmm2, oword ptr [r8+192] ; 66410FEF90C0000000 | pxor reg_4, [imm+192] . r .. x | |
pcmpgtd xmm2, oword ptr [r8+192] ; 66410F6690C0000000 | pcmpgtd reg_4, [imm+192] . R .. x | |
movdqa oword ptr [rcx+480], xmm2 ; 660F7F91E0010000 | movdqa [cpu+480], reg_4 r .. r | |
movdqa xmm3, xmm2 ; 660F6FDA | movdqa reg_14, reg_4 . .. R w | |
pand xmm3, xmm1 ; 660FDBD9 | pand reg_14, reg_1 . .R x | |
movdqa oword ptr [rcx+448], xmm3 ; 660F7F99C0010000 | movdqa [cpu+448], reg_14 r . r | |
movdqa xmm2, xmm0 ; 660F6FD0 | movdqa reg_15, reg_0 . r .w | |
movdqa xmm0, xmm3 ; 660F6FC3 | movdqa reg_0, reg_14 . w R. | |
pand xmm2, xmm0 ; 660FDBD0 | pand reg_15, reg_0 . r x | |
pandn xmm0, oword ptr [rcx+576] ; 660FDF8140020000 | pandn reg_0, [cpu+576] r x . | |
por xmm2, xmm0 ; 660FEBD0 | por reg_15, reg_0 . R x | |
movdqa oword ptr [rcx+528], xmm2 ; 660F7F9110020000 | movdqa [cpu+528], reg_15 r r | |
movdqa xmm0, xmm2 ; 660F6FC2 | movdqa reg_0, reg_15 . w R | |
movdqa xmm4, oword ptr [rcx+560] ; 660F6FA130020000 | movdqa reg_8, [cpu+560] r . w | |
pand xmm0, xmm4 ; 660FDBC4 | pand reg_0, reg_8 . x r | |
pandn xmm4, oword ptr [rcx+544] ; 660FDFA120020000 | pandn reg_8, [cpu+544] r . x | |
por xmm0, xmm4 ; 660FEBC4 | por reg_0, reg_8 . x R | |
movdqa oword ptr [rcx+432], xmm0 ; 660F7F81B0010000 | movdqa [cpu+432], reg_0 r R | |
mov dword ptr [rcx+360], 344 ; C7816801000058010000| mov [cpu+360], 344 r | |
xor eax, eax ; 33C0 | xor addr, addr . w | |
mov dword ptr [rcx+416], eax ; 8981A0010000 | mov [cpu+416], addr r r | |
mov dword ptr [rcx+420], eax ; 8981A4010000 | mov [cpu+420], addr r r | |
mov dword ptr [rcx+424], eax ; 8981A8010000 | mov [cpu+424], addr r R | |
mov dword ptr [rcx+428], 348 ; C781AC0100005C010000| mov [cpu+428], 348 R | |
mov eax, 36 ; B824000000 | mov pos, 36 w | |
L1: ; | | |
movaps xmm6, oword ptr [rsp-24] ; 0F287424E8 | | |
pop rbp ; 5D | | |
pop rbx ; 5B | | |
ret ; C3 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment