Skip to content

Instantly share code, notes, and snippets.

@xoofx
Last active November 25, 2017 08:49
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 xoofx/5b0c8e991f918cbac560a04c2aed1a66 to your computer and use it in GitHub Desktop.
Save xoofx/5b0c8e991f918cbac560a04c2aed1a66 to your computer and use it in GitHub Desktop.
Sleef_sin_u10_vs_u35
function Sleef_sinf_u10:
subq $184, %rsp
movaps %xmm15, 160(%rsp)
movaps %xmm14, 144(%rsp)
movaps %xmm13, 128(%rsp)
movaps %xmm12, 112(%rsp)
movaps %xmm11, 96(%rsp)
movaps %xmm10, 80(%rsp)
movaps %xmm9, 64(%rsp)
movaps %xmm8, 48(%rsp)
movaps %xmm7, 32(%rsp)
movaps %xmm6, 16(%rsp)
movd %xmm0, %r8d
movdqa -5636328(%rip), %xmm8
pand %xmm0, %xmm8
movss -5636497(%rip), %xmm1
ucomiss %xmm8, %xmm1
jbe 159
movss -5636511(%rip), %xmm1
mulss %xmm0, %xmm1
xorps %xmm2, %xmm2
xorl %ecx, %ecx
ucomiss %xmm1, %xmm2
seta %cl
leaq -5636333(%rip), %rdx
addss (%rdx,%rcx,4), %xmm1
cvttss2si %xmm1, %ecx
xorps %xmm1, %xmm1
cvtsi2ssl %ecx, %xmm1
cvttss2si %xmm1, %ecx
xorps %xmm2, %xmm2
cvtsi2ssl %ecx, %xmm2
movss -5636472(%rip), %xmm3
mulss %xmm2, %xmm3
addss %xmm0, %xmm3
movss -5636484(%rip), %xmm4
mulss %xmm2, %xmm4
movaps %xmm4, %xmm15
addss %xmm3, %xmm15
movaps %xmm15, %xmm5
subss %xmm3, %xmm5
movaps %xmm15, %xmm6
subss %xmm5, %xmm6
subss %xmm6, %xmm3
subss %xmm5, %xmm4
addss %xmm3, %xmm4
mulss -5636529(%rip), %xmm2
movaps %xmm2, %xmm10
addss %xmm15, %xmm10
subss %xmm10, %xmm15
addss %xmm2, %xmm15
addss %xmm4, %xmm15
jmp 970
movl %r8d, %ecx
andl $4294963200, %ecx
movd %ecx, %xmm2
movdqa %xmm0, %xmm3
subss %xmm2, %xmm3
movss -5636691(%rip), %xmm1
mulss %xmm0, %xmm1
movss -5636699(%rip), %xmm4
movaps %xmm2, %xmm5
mulss %xmm4, %xmm5
subss %xmm1, %xmm5
movss -5636714(%rip), %xmm6
mulss %xmm6, %xmm2
addss %xmm5, %xmm2
mulss %xmm3, %xmm4
addss %xmm2, %xmm4
mulss %xmm6, %xmm3
addss %xmm4, %xmm3
movss -5636742(%rip), %xmm4
mulss %xmm0, %xmm4
addss %xmm3, %xmm4
movss -5636754(%rip), %xmm2
mulss %xmm1, %xmm2
xorps %xmm9, %xmm9
movaps %xmm2, %xmm5
cmpltss %xmm9, %xmm5
movss -5636775(%rip), %xmm6
movaps %xmm5, %xmm7
andps %xmm6, %xmm7
movss -5636785(%rip), %xmm3
andnps %xmm3, %xmm5
orps %xmm7, %xmm5
addss %xmm2, %xmm5
cvttss2si %xmm5, %ecx
xorps %xmm11, %xmm11
cvtsi2ssl %ecx, %xmm11
mulss -5636813(%rip), %xmm11
subss %xmm11, %xmm1
addss %xmm4, %xmm1
movaps %xmm1, %xmm4
cmpltss %xmm9, %xmm4
andps %xmm4, %xmm6
andnps %xmm3, %xmm4
orps %xmm6, %xmm4
addss %xmm1, %xmm4
cvttss2si %xmm4, %ecx
xorps %xmm1, %xmm1
cvtsi2ssl %ecx, %xmm1
cvttss2si %xmm1, %ecx
movaps %xmm11, %xmm12
addss %xmm1, %xmm12
subss %xmm12, %xmm11
addss %xmm1, %xmm11
movss -5636883(%rip), %xmm10
andps %xmm12, %xmm10
movaps %xmm12, %xmm9
subss %xmm10, %xmm9
movss -5636900(%rip), %xmm4
movaps %xmm12, %xmm6
mulss %xmm4, %xmm6
movss -5636912(%rip), %xmm1
movaps %xmm10, %xmm7
mulss %xmm1, %xmm7
subss %xmm6, %xmm7
mulss %xmm9, %xmm1
addss %xmm7, %xmm1
movss -5636937(%rip), %xmm7
movaps %xmm10, %xmm5
mulss %xmm7, %xmm5
subss %xmm5, %xmm1
mulss %xmm9, %xmm7
subss %xmm7, %xmm1
mulss %xmm11, %xmm4
addss %xmm1, %xmm4
movaps %xmm6, %xmm1
addss %xmm0, %xmm1
movaps %xmm1, %xmm5
subss %xmm0, %xmm5
movaps %xmm1, %xmm7
subss %xmm5, %xmm7
movaps %xmm0, %xmm2
subss %xmm7, %xmm2
subss %xmm5, %xmm6
addss %xmm2, %xmm6
addss %xmm4, %xmm6
movaps %xmm1, %xmm7
addss %xmm6, %xmm7
subss %xmm7, %xmm1
addss %xmm6, %xmm1
movss -5637026(%rip), %xmm4
movaps %xmm12, %xmm6
mulss %xmm4, %xmm6
movss -5637038(%rip), %xmm2
movaps %xmm10, %xmm5
mulss %xmm2, %xmm5
subss %xmm6, %xmm5
mulss %xmm9, %xmm2
addss %xmm5, %xmm2
movss -5637063(%rip), %xmm5
movaps %xmm10, %xmm3
mulss %xmm5, %xmm3
subss %xmm3, %xmm2
mulss %xmm9, %xmm5
subss %xmm5, %xmm2
mulss %xmm11, %xmm4
addss %xmm2, %xmm4
addss %xmm1, %xmm4
movaps %xmm6, %xmm1
addss %xmm7, %xmm1
movaps %xmm1, %xmm2
subss %xmm7, %xmm2
movaps %xmm1, %xmm3
subss %xmm2, %xmm3
subss %xmm3, %xmm7
subss %xmm2, %xmm6
addss %xmm7, %xmm6
addss %xmm4, %xmm6
movaps %xmm1, %xmm7
addss %xmm6, %xmm7
subss %xmm7, %xmm1
addss %xmm6, %xmm1
movss -5637153(%rip), %xmm4
movaps %xmm12, %xmm6
mulss %xmm4, %xmm6
movss -5637165(%rip), %xmm2
movaps %xmm10, %xmm3
mulss %xmm2, %xmm3
subss %xmm6, %xmm3
mulss %xmm9, %xmm2
addss %xmm3, %xmm2
movss -5637190(%rip), %xmm3
movaps %xmm10, %xmm5
mulss %xmm3, %xmm5
subss %xmm5, %xmm2
mulss %xmm9, %xmm3
subss %xmm3, %xmm2
mulss %xmm11, %xmm4
addss %xmm2, %xmm4
addss %xmm1, %xmm4
movaps %xmm6, %xmm1
addss %xmm7, %xmm1
movaps %xmm1, %xmm2
subss %xmm7, %xmm2
movaps %xmm1, %xmm3
subss %xmm2, %xmm3
subss %xmm3, %xmm7
subss %xmm2, %xmm6
addss %xmm7, %xmm6
addss %xmm4, %xmm6
movaps %xmm1, %xmm7
addss %xmm6, %xmm7
subss %xmm7, %xmm1
addss %xmm6, %xmm1
movss -5637280(%rip), %xmm4
movaps %xmm12, %xmm6
mulss %xmm4, %xmm6
movss -5637292(%rip), %xmm2
movaps %xmm10, %xmm3
mulss %xmm2, %xmm3
subss %xmm6, %xmm3
mulss %xmm9, %xmm2
addss %xmm3, %xmm2
movss -5637317(%rip), %xmm3
movaps %xmm10, %xmm5
mulss %xmm3, %xmm5
subss %xmm5, %xmm2
mulss %xmm9, %xmm3
subss %xmm3, %xmm2
mulss %xmm11, %xmm4
addss %xmm2, %xmm4
addss %xmm1, %xmm4
movaps %xmm6, %xmm1
addss %xmm7, %xmm1
movaps %xmm1, %xmm2
subss %xmm7, %xmm2
movaps %xmm1, %xmm3
subss %xmm2, %xmm3
subss %xmm3, %xmm7
subss %xmm2, %xmm6
addss %xmm7, %xmm6
addss %xmm4, %xmm6
movaps %xmm1, %xmm7
addss %xmm6, %xmm7
subss %xmm7, %xmm1
addss %xmm6, %xmm1
movss -5637407(%rip), %xmm2
mulss %xmm2, %xmm12
movss -5637416(%rip), %xmm3
movaps %xmm10, %xmm4
mulss %xmm3, %xmm4
subss %xmm12, %xmm4
mulss %xmm9, %xmm3
addss %xmm4, %xmm3
movss -5637442(%rip), %xmm4
mulss %xmm4, %xmm10
subss %xmm10, %xmm3
mulss %xmm4, %xmm9
subss %xmm9, %xmm3
mulss %xmm2, %xmm11
addss %xmm3, %xmm11
addss %xmm1, %xmm11
movaps %xmm12, %xmm15
addss %xmm7, %xmm15
movaps %xmm15, %xmm2
subss %xmm7, %xmm2
movaps %xmm15, %xmm3
subss %xmm2, %xmm3
subss %xmm3, %xmm7
subss %xmm2, %xmm12
addss %xmm7, %xmm12
addss %xmm11, %xmm12
movaps %xmm15, %xmm10
addss %xmm12, %xmm10
subss %xmm10, %xmm15
addss %xmm12, %xmm15
movaps %xmm10, %xmm7
mulss %xmm7, %xmm7
movaps %xmm10, %xmm3
unpcklps %xmm7, %xmm3
movlps %xmm3, 8(%rsp)
movl 8(%rsp), %edx
movl 12(%rsp), %eax
movq %rax, %xmm2
movq %rdx, %xmm4
punpcklqdq %xmm2, %xmm4
pand -5637514(%rip), %xmm4
pshufd $232, %xmm4, %xmm11
movdqa %xmm11, %xmm9
addss %xmm9, %xmm9
movss -5637598(%rip), %xmm4
mulss %xmm7, %xmm4
addss -5637606(%rip), %xmm4
mulss %xmm7, %xmm4
addss -5637614(%rip), %xmm4
mulss %xmm7, %xmm4
movss -5637622(%rip), %xmm2
movaps %xmm4, %xmm6
addss %xmm2, %xmm6
subss %xmm6, %xmm2
addss %xmm4, %xmm2
movss -5637734(%rip), %xmm12
movaps %xmm6, %xmm5
andps %xmm12, %xmm5
movaps %xmm15, %xmm4
unpcklps %xmm6, %xmm4
movaps %xmm15, %xmm1
unpcklps %xmm5, %xmm1
movaps %xmm4, %xmm14
addps %xmm1, %xmm14
subps %xmm1, %xmm4
movaps %xmm4, %xmm13
shufps $1, %xmm14, %xmm13
shufps $226, %xmm14, %xmm13
subps %xmm11, %xmm3
movaps %xmm7, %xmm14
mulss %xmm7, %xmm2
mulss %xmm6, %xmm7
movaps %xmm5, %xmm1
shufps $0, %xmm11, %xmm1
shufps $226, %xmm11, %xmm1
mulps %xmm11, %xmm1
unpcklps %xmm7, %xmm14
subps %xmm14, %xmm1
movaps %xmm11, %xmm14
shufps $1, %xmm9, %xmm14
shufps $226, %xmm9, %xmm14
shufps $1, %xmm3, %xmm4
shufps $226, %xmm3, %xmm4
mulps %xmm14, %xmm4
addps %xmm1, %xmm4
shufps $0, %xmm3, %xmm5
shufps $226, %xmm3, %xmm5
mulps %xmm3, %xmm5
addps %xmm4, %xmm5
movaps %xmm3, %xmm1
shufps $1, %xmm10, %xmm1
shufps $226, %xmm10, %xmm1
mulps %xmm13, %xmm1
addps %xmm5, %xmm1
mulss %xmm1, %xmm6
shufps $229, %xmm1, %xmm1
addss %xmm6, %xmm1
addss %xmm1, %xmm2
movss -5637816(%rip), %xmm1
movaps %xmm7, %xmm4
addss %xmm1, %xmm4
subss %xmm4, %xmm1
addss %xmm7, %xmm1
addss %xmm2, %xmm1
andps %xmm4, %xmm12
subss %xmm12, %xmm4
mulss %xmm12, %xmm15
mulss %xmm11, %xmm1
addss %xmm15, %xmm1
movaps %xmm3, %xmm2
mulss %xmm4, %xmm2
addss %xmm1, %xmm2
mulss %xmm11, %xmm4
addss %xmm2, %xmm4
mulss %xmm12, %xmm3
addss %xmm4, %xmm3
mulss %xmm11, %xmm12
addss %xmm3, %xmm12
testb $1, %cl
je 8
xorps -5637851(%rip), %xmm12
movss -5637915(%rip), %xmm1
ucomiss %xmm0, %xmm1
jae 52
ucomiss -5637923(%rip), %xmm0
jae 43
cmpl $2147483648, %r8d
movss -5637932(%rip), %xmm0
je 30
movss -5637946(%rip), %xmm1
cmpltss %xmm8, %xmm1
andps %xmm1, %xmm0
andnps %xmm12, %xmm1
orps %xmm1, %xmm0
jmp 4
movaps %xmm12, %xmm0
movaps 16(%rsp), %xmm6
movaps 32(%rsp), %xmm7
movaps 48(%rsp), %xmm8
movaps 64(%rsp), %xmm9
movaps 80(%rsp), %xmm10
movaps 96(%rsp), %xmm11
movaps 112(%rsp), %xmm12
movaps 128(%rsp), %xmm13
movaps 144(%rsp), %xmm14
movaps 160(%rsp), %xmm15
addq $184, %rsp
retq
function Sleef_sinf_u35:
movss -65844(%rip), %xmm1
mulss %xmm0, %xmm1
xorps %xmm2, %xmm2
xorl %eax, %eax
ucomiss %xmm1, %xmm2
seta %al
leaq -65810(%rip), %rcx
addss (%rcx,%rax,4), %xmm1
cvttss2si %xmm1, %eax
xorps %xmm1, %xmm1
cvtsi2ssl %eax, %xmm1
cvttss2si %xmm1, %eax
xorps %xmm1, %xmm1
cvtsi2ssl %eax, %xmm1
movss -65897(%rip), %xmm2
mulss %xmm1, %xmm2
addss %xmm0, %xmm2
movss -65909(%rip), %xmm3
mulss %xmm1, %xmm3
addss %xmm2, %xmm3
movss -65921(%rip), %xmm2
mulss %xmm1, %xmm2
addss %xmm3, %xmm2
mulss -65933(%rip), %xmm1
addss %xmm2, %xmm1
movd %xmm1, %ecx
cmpl $2147483648, %ecx
movss -65951(%rip), %xmm3
movaps %xmm3, %xmm2
jne 17
testb $1, %al
jne 24
movd %xmm0, %eax
cmpl $2147483648, %eax
jne 31
jmp 47
movaps %xmm1, %xmm2
mulss %xmm2, %xmm2
testb $1, %al
je -24
shufps $0, %xmm3, %xmm3
xorps %xmm3, %xmm1
movd %xmm0, %eax
cmpl $2147483648, %eax
je 18
andl $2147483647, %eax
movd %eax, %xmm3
ucomiss -65998(%rip), %xmm3
jbe 10
movss -66028(%rip), %xmm3
jmp 56
movss -66034(%rip), %xmm3
mulss %xmm2, %xmm3
addss -66042(%rip), %xmm3
mulss %xmm2, %xmm3
addss -66050(%rip), %xmm3
mulss %xmm2, %xmm3
addss -66058(%rip), %xmm3
mulss %xmm1, %xmm3
mulss %xmm2, %xmm3
addss %xmm1, %xmm3
movss -66070(%rip), %xmm1
cmpnless %xmm0, %xmm1
andps %xmm1, %xmm3
movss -66082(%rip), %xmm2
andnps %xmm2, %xmm1
orps %xmm3, %xmm1
cmpnless -66093(%rip), %xmm0
andps %xmm0, %xmm1
andnps %xmm2, %xmm0
orps %xmm1, %xmm0
retq
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment