Skip to content

Instantly share code, notes, and snippets.

@ridiculousfish
Created November 24, 2014 08:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ridiculousfish/c35ffcff5963160c9622 to your computer and use it in GitHub Desktop.
Save ridiculousfish/c35ffcff5963160c9622 to your computer and use it in GitHub Desktop.
.LBB0_10: # Parent Loop BB0_9 Depth=1
# => This Inner Loop Header: Depth=2
movl %r8d, %ecx
movl $2290649225, %eax # imm = 0x88888889
imulq %rcx, %rax
movq %rax, %rdi
shrq $38, %rdi
imull $120, %edi, %edi
movl %r8d, %r14d
subl %edi, %r14d
movd %r11d, %xmm2
movaps %xmm2, %xmm3
shufps $48, %xmm1, %xmm3 # xmm3 = xmm3[0,0],xmm1[3,0]
movaps %xmm1, %xmm4
shufps $-124, %xmm3, %xmm4 # xmm4 = xmm4[0,1],xmm3[0,2]
movd 44(%rsp), %xmm3 # 4-byte Folded Reload
movaps %xmm4, %xmm5
movss %xmm3, %xmm5
shufps $36, %xmm5, %xmm4 # xmm4 = xmm4[0,1],xmm5[2,0]
movq 48(%rsp), %rdx # 8-byte Reload
leal (%rdx,%r8), %edi
movl $2155905153, %r9d # imm = 0x80808081
imulq %rcx, %r9
shrq $39, %r9
imull $255, %r9d, %ecx
movl %r8d, %edx
subl %ecx, %edx
shrq $35, %rax
imull $15, %eax, %eax
movl %r8d, %ecx
subl %eax, %ecx
movd %edi, %xmm5
movd %edx, %xmm6
punpckldq %xmm6, %xmm5 # xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1]
movd 28(%rsp), %xmm6 # 4-byte Folded Reload
movaps %xmm2, %xmm7
punpckldq %xmm6, %xmm7 # xmm7 = xmm7[0],xmm6[0],xmm7[1],xmm6[1]
punpckldq %xmm7, %xmm5 # xmm5 = xmm5[0],xmm7[0],xmm5[1],xmm7[1]
andps %xmm0, %xmm4
pand %xmm0, %xmm5
movd %xmm4, %rax
movd %xmm5, %r9
leal (%r9,%rax), %edi
shrq $32, %rax
movq %r9, %rdx
shrq $32, %rdx
addl %edx, %eax
pshufd $50, %xmm4, %xmm4 # xmm4 = xmm4[2,0,3,0]
pshufd $8, %xmm4, %xmm4 # xmm4 = xmm4[0,2,0,0]
movd %xmm4, %rbp
pshufd $50, %xmm5, %xmm4 # xmm4 = xmm5[2,0,3,0]
pshufd $8, %xmm4, %xmm4 # xmm4 = xmm4[0,2,0,0]
movd %xmm4, %r12
leal (%r12,%rbp), %r15d
shrq $32, %rbp
movq %r12, %r10
shrq $32, %r10
addl %r10d, %ebp
movd %xmm1, %r13
movd %edi, %xmm4
movd %eax, %xmm5
punpckldq %xmm5, %xmm4 # xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1]
pshufd $16, %xmm4, %xmm4 # xmm4 = xmm4[0,0,1,0]
pshufd $8, %xmm4, %xmm4 # xmm4 = xmm4[0,2,0,0]
movd %xmm4, %rax
leal (%rax,%r13), %edi
shrq $32, %r13
shrq $32, %rax
addl %r13d, %eax
punpckldq %xmm3, %xmm2 # xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
pshufd $16, %xmm2, %xmm2 # xmm2 = xmm2[0,0,1,0]
pshufd $8, %xmm2, %xmm2 # xmm2 = xmm2[0,2,0,0]
movd %xmm2, %rbx
movd %r15d, %xmm2
movd %ebp, %xmm3
punpckldq %xmm3, %xmm2 # xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
pshufd $16, %xmm2, %xmm2 # xmm2 = xmm2[0,0,1,0]
pshufd $8, %xmm2, %xmm2 # xmm2 = xmm2[0,2,0,0]
movd %xmm2, %rbp
leal (%rbp,%rbx), %r15d
shrq $32, %rbx
shrq $32, %rbp
addl %ebx, %ebp
movd %edi, %xmm2
movd %r15d, %xmm3
movd %eax, %xmm4
movd %ebp, %xmm5
movl %r8d, %eax
andl $1023, %eax # imm = 0x3FF
leal (%rcx,%r14,2), %edi
addl %ecx, %eax
movq 32(%rsp), %rcx # 8-byte Reload
leal (%rcx,%r8), %ecx
andl $1023, %ecx # imm = 0x3FF
addl %ecx, %eax
andl $1023, %edi # imm = 0x3FF
addl %edi, %eax
addl %r9d, %eax
addl %r12d, %eax
punpckldq %xmm3, %xmm2 # xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
punpckldq %xmm5, %xmm4 # xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1]
punpckldq %xmm4, %xmm2 # xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1]
pand %xmm0, %xmm2
addl %edx, %eax
movd %xmm2, %rcx
addl %r10d, %eax
movq %rcx, %rdx
shrq $32, %rdx
pshufd $50, %xmm2, %xmm2 # xmm2 = xmm2[2,0,3,0]
pshufd $8, %xmm2, %xmm2 # xmm2 = xmm2[0,2,0,0]
addl %ecx, %eax
movd %xmm2, %rcx
addl %ecx, %eax
addl %edx, %eax
shrq $32, %rcx
addl %ecx, %eax
imulq $1374389535, %rax, %rcx # imm = 0x51EB851F
shrq $37, %rcx
imull $100, %ecx, %ecx
subl %ecx, %eax
addl %esi, %eax
movl $3435973837, %ecx # imm = 0xCCCCCCCD
imulq %rax, %rcx
shrq $45, %rcx
imull $10240, %ecx, %ecx # imm = 0x2800
movl %eax, %esi
subl %ecx, %esi
incl %r8d
addl $2, %r11d
cmpl $50000, %r8d # imm = 0xC350
jne .LBB0_10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment