Created
November 1, 2008 11:37
-
-
Save syoyo/21511 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
_isect: | |
pushl %ebp | |
movl %esp, %ebp | |
andl $-32, %esp | |
pushl %edi | |
pushl %esi | |
pushl %ebx | |
subl $468, %esp | |
movl 20(%ebp), %edi | |
movl 80(%ebp), %esi | |
movl 68(%ebp), %eax | |
movl 72(%ebp), %edx | |
vmovapd (%edi), %ymm0 | |
movl 24(%ebp), %edi | |
vmovapd %ymm0, 160(%esp) | |
movl 76(%ebp), %ecx | |
call ___i686.get_pc_thunk.bx | |
"L00000000001$pb": | |
vmovapd (%edi), %ymm1 | |
movl 28(%ebp), %edi | |
vmovapd %ymm1, 192(%esp) | |
vmovapd (%edi), %ymm2 | |
movl 44(%ebp), %edi | |
vmovapd %ymm2, 224(%esp) | |
vmovapd (%edi), %ymm3 | |
movl 48(%ebp), %edi | |
vmovapd %ymm3, 256(%esp) | |
vmovapd (%edi), %ymm4 | |
movl 52(%ebp), %edi | |
vmovapd %ymm4, 32(%esp) | |
vmovapd (%edi), %ymm1 | |
movl 56(%ebp), %edi | |
vmovapd (%edi), %ymm5 | |
movl 60(%ebp), %edi | |
vmovapd %ymm5, 288(%esp) | |
vmovapd (%edi), %ymm7 | |
movl 64(%ebp), %edi | |
vmovapd %ymm7, 320(%esp) | |
vmovapd (%edi), %ymm0 | |
vmovapd %ymm0, 352(%esp) | |
movl 8(%ebp), %edi | |
vmulpd 192(%esp), %ymm0, %ymm2 | |
vmulpd 224(%esp), %ymm7, %ymm3 | |
vmulpd 192(%esp), %ymm5, %ymm4 | |
vsubpd %ymm3, %ymm2, %ymm3 | |
vmulpd 224(%esp), %ymm5, %ymm2 | |
vmovapd %ymm3, 128(%esp) | |
vmulpd 160(%esp), %ymm0, %ymm3 | |
vsubpd %ymm3, %ymm2, %ymm3 | |
vmulpd 160(%esp), %ymm7, %ymm2 | |
vmovapd %ymm3, 96(%esp) | |
vsubpd %ymm4, %ymm2, %ymm4 | |
vmovapd %ymm4, 64(%esp) | |
vmovapd (%edi), %ymm2 | |
movl 32(%ebp), %edi | |
vmovapd 128(%esp), %ymm7 | |
vmovapd 32(%esp), %ymm0 | |
vmulpd 256(%esp), %ymm7, %ymm6 | |
vxorpd %xmm5, %xmm5, %xmm5 | |
vmulpd 96(%esp), %ymm0, %ymm7 | |
vaddpd %ymm7, %ymm6, %ymm7 | |
vmulpd 64(%esp), %ymm1, %ymm6 | |
vaddpd %ymm6, %ymm7, %ymm6 | |
vsubpd (%edi), %ymm2, %ymm2 | |
movl 12(%ebp), %edi | |
vmovapd (%edi), %ymm3 | |
movl 36(%ebp), %edi | |
vsubpd (%edi), %ymm3, %ymm3 | |
movl 16(%ebp), %edi | |
vmovapd (%edi), %ymm4 | |
movl 40(%ebp), %edi | |
vsubpd (%edi), %ymm4, %ymm4 | |
leal LC0-"L00000000001$pb"(%ebx), %edi | |
vmovapd (%edi), %ymm0 | |
vdivpd %ymm6, %ymm0, %ymm7 | |
vmulpd %ymm3, %ymm1, %ymm0 | |
vmulpd %ymm6, %ymm6, %ymm6 | |
vmovapd %ymm0, 384(%esp) | |
vmulpd %ymm2, %ymm1, %ymm1 | |
vmulpd 32(%esp), %ymm4, %ymm0 | |
vmovapd %ymm0, 416(%esp) | |
vmovapd 384(%esp), %ymm0 | |
vsubpd 416(%esp), %ymm0, %ymm0 | |
vmovapd %ymm0, 384(%esp) | |
vmulpd 256(%esp), %ymm4, %ymm0 | |
vsubpd %ymm1, %ymm0, %ymm1 | |
vmovapd %ymm1, (%esp) | |
vmulpd 32(%esp), %ymm2, %ymm1 | |
vmulpd 256(%esp), %ymm3, %ymm0 | |
vmulpd 64(%esp), %ymm4, %ymm4 | |
vmulpd 96(%esp), %ymm3, %ymm3 | |
vmulpd 128(%esp), %ymm2, %ymm2 | |
vcmppd $30, LC1-"L00000000001$pb"(%ebx), %ymm6, %ymm6 | |
vsubpd %ymm0, %ymm1, %ymm0 | |
vaddpd %ymm3, %ymm2, %ymm2 | |
vmovapd (%esp), %ymm1 | |
vaddpd %ymm4, %ymm2, %ymm2 | |
vmovapd 160(%esp), %ymm4 | |
vmulpd %ymm7, %ymm2, %ymm2 | |
vmulpd 384(%esp), %ymm4, %ymm3 | |
vmulpd 192(%esp), %ymm1, %ymm4 | |
vmulpd 320(%esp), %ymm1, %ymm1 | |
vaddpd %ymm4, %ymm3, %ymm3 | |
vmulpd 224(%esp), %ymm0, %ymm4 | |
vmulpd 352(%esp), %ymm0, %ymm0 | |
vaddpd %ymm4, %ymm3, %ymm3 | |
vmovapd 288(%esp), %ymm4 | |
vmulpd %ymm7, %ymm3, %ymm3 | |
vmulpd 384(%esp), %ymm4, %ymm4 | |
vmovapd %ymm4, 416(%esp) | |
vaddpd %ymm4, %ymm1, %ymm1 | |
vcmppd $30, %ymm5, %ymm3, %ymm4 | |
vaddpd %ymm0, %ymm1, %ymm1 | |
vaddpd %ymm3, %ymm2, %ymm0 | |
vmulpd %ymm7, %ymm1, %ymm1 | |
vcmppd $17, (%edi), %ymm0, %ymm0 | |
vmovapd (%edx), %ymm7 | |
vandpd %ymm0, %ymm6, %ymm6 | |
vcmppd $30, %ymm5, %ymm2, %ymm0 | |
vcmppd $30, %ymm5, %ymm1, %ymm5 | |
vandpd %ymm4, %ymm0, %ymm0 | |
vandpd %ymm0, %ymm6, %ymm0 | |
vandpd %ymm5, %ymm0, %ymm0 | |
vcmppd $17, %ymm7, %ymm1, %ymm5 | |
vandpd %ymm5, %ymm0, %ymm5 | |
vblendvpd %ymm5, %ymm1, %ymm7, %ymm7 | |
vmovapd %ymm7, (%edx) | |
vmovapd (%ecx), %ymm4 | |
vblendvpd %ymm5, %ymm2, %ymm4, %ymm2 | |
vmovapd %ymm2, (%ecx) | |
vmovapd (%esi), %ymm4 | |
vblendvpd %ymm5, %ymm3, %ymm4, %ymm3 | |
vmovapd %ymm3, (%esi) | |
vorpd (%eax), %ymm5, %ymm5 | |
vmovapd %ymm5, (%eax) | |
addl $468, %esp | |
popl %ebx | |
popl %esi | |
popl %edi | |
movl %ebp, %esp | |
popl %ebp | |
ret |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment