Skip to content

Instantly share code, notes, and snippets.

@syoyo
Created November 1, 2008 11:38
Show Gist options
  • Save syoyo/21512 to your computer and use it in GitHub Desktop.
Save syoyo/21512 to your computer and use it in GitHub Desktop.
_isect:
pushl %ebp
xorps %xmm6, %xmm6
movl %esp, %ebp
pushl %edi
pushl %esi
pushl %ebx
subl $220, %esp
movl 20(%ebp), %edi
movl 80(%ebp), %esi
movl 68(%ebp), %eax
movl 72(%ebp), %edx
movaps (%edi), %xmm0
call ___i686.get_pc_thunk.bx
"L00000000001$pb":
movl 24(%ebp), %edi
movaps %xmm0, -136(%ebp)
movl 76(%ebp), %ecx
movaps (%edi), %xmm1
movl 28(%ebp), %edi
movaps (%edi), %xmm2
movl 44(%ebp), %edi
movaps %xmm2, -120(%ebp)
movaps (%edi), %xmm2
movl 48(%ebp), %edi
movaps (%edi), %xmm3
movl 52(%ebp), %edi
movaps (%edi), %xmm4
movl 56(%ebp), %edi
movaps (%edi), %xmm5
movl 60(%ebp), %edi
movaps %xmm5, -104(%ebp)
movaps (%edi), %xmm0
movl 64(%ebp), %edi
movaps %xmm0, -88(%ebp)
mulps -120(%ebp), %xmm0
movaps (%edi), %xmm5
movaps %xmm5, -72(%ebp)
mulps %xmm1, %xmm5
subps %xmm0, %xmm5
movaps %xmm5, -184(%ebp)
movl 8(%ebp), %edi
movaps -104(%ebp), %xmm5
movaps -72(%ebp), %xmm0
mulps -120(%ebp), %xmm5
mulps -136(%ebp), %xmm0
subps %xmm0, %xmm5
movaps -104(%ebp), %xmm0
movaps %xmm5, -200(%ebp)
movaps -88(%ebp), %xmm5
mulps %xmm1, %xmm0
movaps -200(%ebp), %xmm7
mulps -136(%ebp), %xmm5
mulps %xmm3, %xmm7
subps %xmm0, %xmm5
movaps %xmm5, -216(%ebp)
movaps (%edi), %xmm5
movl 32(%ebp), %edi
subps (%edi), %xmm5
movl 12(%ebp), %edi
movaps %xmm5, -152(%ebp)
movaps (%edi), %xmm5
movl 36(%ebp), %edi
subps (%edi), %xmm5
movl 16(%ebp), %edi
movaps %xmm5, -232(%ebp)
movaps (%edi), %xmm0
movl 40(%ebp), %edi
subps (%edi), %xmm0
movaps %xmm0, -168(%ebp)
movaps -184(%ebp), %xmm0
mulps %xmm2, %xmm0
addps %xmm7, %xmm0
movaps -216(%ebp), %xmm7
mulps %xmm4, %xmm7
addps %xmm7, %xmm0
rcpps %xmm0, %xmm7
movaps %xmm7, %xmm5
mulps %xmm7, %xmm5
addps %xmm7, %xmm7
mulps %xmm0, %xmm5
mulps %xmm0, %xmm0
subps %xmm5, %xmm7
movaps -232(%ebp), %xmm5
mulps %xmm4, %xmm5
movaps %xmm5, -40(%ebp)
movaps -168(%ebp), %xmm5
mulps %xmm3, %xmm5
movaps %xmm5, -56(%ebp)
movaps -40(%ebp), %xmm5
subps -56(%ebp), %xmm5
movaps %xmm5, -40(%ebp)
movaps -168(%ebp), %xmm5
mulps -152(%ebp), %xmm4
mulps %xmm2, %xmm5
mulps -152(%ebp), %xmm3
mulps -232(%ebp), %xmm2
subps %xmm4, %xmm5
movaps %xmm5, %xmm4
subps %xmm2, %xmm3
movaps -232(%ebp), %xmm5
mulps %xmm4, %xmm1
movaps -152(%ebp), %xmm2
mulps -200(%ebp), %xmm5
mulps -184(%ebp), %xmm2
mulps -88(%ebp), %xmm4
addps %xmm2, %xmm5
movaps -168(%ebp), %xmm2
mulps -216(%ebp), %xmm2
addps %xmm2, %xmm5
movaps -136(%ebp), %xmm2
mulps -40(%ebp), %xmm2
mulps %xmm7, %xmm5
addps %xmm2, %xmm1
movaps -120(%ebp), %xmm2
mulps %xmm3, %xmm2
mulps -72(%ebp), %xmm3
addps %xmm2, %xmm1
movaps -104(%ebp), %xmm2
mulps -40(%ebp), %xmm2
mulps %xmm7, %xmm1
addps %xmm2, %xmm4
movaps LC1-"L00000000001$pb"(%ebx), %xmm2
cmpltps %xmm0, %xmm2
movaps %xmm5, %xmm0
addps %xmm1, %xmm0
addps %xmm3, %xmm4
movaps (%edx), %xmm3
cmpltps LC0-"L00000000001$pb"(%ebx), %xmm0
mulps %xmm4, %xmm7
andps %xmm2, %xmm0
movaps %xmm6, %xmm2
cmpltps %xmm5, %xmm2
movaps %xmm2, %xmm5
movaps %xmm6, %xmm2
cmpltps %xmm1, %xmm2
cmpltps %xmm7, %xmm6
andps %xmm2, %xmm5
andps %xmm5, %xmm0
andps %xmm6, %xmm0
movaps %xmm7, %xmm6
cmpltps %xmm3, %xmm6
andps %xmm0, %xmm6
movaps %xmm6, %xmm5
andps %xmm6, %xmm7
andnps %xmm3, %xmm5
movaps %xmm6, %xmm0
movaps %xmm5, %xmm3
orps %xmm7, %xmm3
movaps %xmm6, %xmm2
movaps %xmm3, (%edx)
andnps (%ecx), %xmm0
orps %xmm7, %xmm0
movaps %xmm0, (%ecx)
andnps (%esi), %xmm2
orps %xmm2, %xmm7
movaps %xmm7, (%esi)
orps (%eax), %xmm6
movaps %xmm6, (%eax)
addl $220, %esp
popl %ebx
popl %esi
popl %edi
popl %ebp
ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment