Skip to content

Instantly share code, notes, and snippets.

@syoyo
Created November 1, 2008 11:25
Show Gist options
  • Save syoyo/21507 to your computer and use it in GitHub Desktop.
Save syoyo/21507 to your computer and use it in GitHub Desktop.
isect:
pushq %rbp
xorps %xmm13, %xmm13
movaps (%r8), %xmm2
movq %rsp, %rbp
pushq %rbx
movaps (%r9), %xmm3
movq 112(%rbp), %rbx
movq 88(%rbp), %rax
movaps (%rcx), %xmm1
movq 40(%rbp), %rcx
movq 96(%rbp), %r10
movq 104(%rbp), %r11
movaps (%rcx), %xmm4
movq 48(%rbp), %rcx
movaps (%rcx), %xmm5
movq 56(%rbp), %rcx
movaps (%rcx), %xmm6
movq 64(%rbp), %rcx
movaps (%rcx), %xmm7
movq 72(%rbp), %rcx
movaps %xmm7, %xmm11
movaps (%rcx), %xmm8
movq 80(%rbp), %rcx
mulps %xmm3, %xmm11
movaps %xmm8, %xmm0
movaps %xmm8, %xmm12
movaps (%rcx), %xmm9
mulps %xmm3, %xmm0
movq 16(%rbp), %rcx
movaps %xmm9, %xmm10
mulps %xmm1, %xmm12
mulps %xmm2, %xmm10
subps %xmm0, %xmm10
movaps %xmm7, %xmm0
mulps %xmm2, %xmm0
movaps %xmm10, -48(%rbp)
movaps %xmm9, %xmm10
mulps %xmm1, %xmm10
subps %xmm0, %xmm12
movaps -48(%rbp), %xmm0
mulps %xmm4, %xmm0
subps %xmm10, %xmm11
movaps %xmm12, -80(%rbp)
movaps %xmm11, -64(%rbp)
movaps -64(%rbp), %xmm14
mulps %xmm5, %xmm14
movaps (%rdi), %xmm10
subps (%rcx), %xmm10
movq 24(%rbp), %rcx
addps %xmm14, %xmm0
movaps -80(%rbp), %xmm14
mulps %xmm6, %xmm14
movaps (%rsi), %xmm11
subps (%rcx), %xmm11
movaps (%rdx), %xmm12
addps %xmm14, %xmm0
movq 32(%rbp), %rdx
subps (%rdx), %xmm12
rcpps %xmm0, %xmm14
movaps %xmm14, %xmm15
mulps %xmm14, %xmm15
addps %xmm14, %xmm14
mulps %xmm0, %xmm15
mulps %xmm0, %xmm0
subps %xmm15, %xmm14
movaps %xmm6, %xmm15
mulps %xmm10, %xmm6
mulps %xmm11, %xmm15
movaps %xmm15, -96(%rbp)
movaps %xmm5, %xmm15
mulps %xmm10, %xmm5
mulps %xmm12, %xmm15
mulps -48(%rbp), %xmm10
movaps %xmm15, -32(%rbp)
movaps -96(%rbp), %xmm15
subps -32(%rbp), %xmm15
movaps %xmm15, -96(%rbp)
movaps %xmm4, %xmm15
mulps %xmm11, %xmm4
mulps %xmm12, %xmm15
mulps -64(%rbp), %xmm11
subps %xmm4, %xmm5
mulps -96(%rbp), %xmm1
subps %xmm6, %xmm15
mulps -80(%rbp), %xmm12
mulps %xmm5, %xmm3
addps %xmm11, %xmm10
mulps %xmm15, %xmm2
movaps %xmm15, %xmm6
mulps -96(%rbp), %xmm7
movaps %xmm13, %xmm15
addps %xmm12, %xmm10
mulps %xmm8, %xmm6
addps %xmm2, %xmm1
mulps %xmm9, %xmm5
mulps %xmm14, %xmm10
addps %xmm7, %xmm6
addps %xmm1, %xmm3
movaps LC1(%rip), %xmm1
cmpltps %xmm0, %xmm1
movaps %xmm10, %xmm0
mulps %xmm14, %xmm3
addps %xmm5, %xmm6
addps %xmm3, %xmm0
mulps %xmm6, %xmm14
cmpltps %xmm3, %xmm15
cmpltps LC0(%rip), %xmm0
andps %xmm1, %xmm0
movaps %xmm13, %xmm1
cmpltps %xmm14, %xmm13
cmpltps %xmm10, %xmm1
movaps %xmm1, %xmm10
movaps (%r10), %xmm1
andps %xmm15, %xmm10
andps %xmm10, %xmm0
andps %xmm13, %xmm0
movaps %xmm14, %xmm13
cmpltps %xmm1, %xmm13
andps %xmm0, %xmm13
movaps %xmm13, %xmm0
andps %xmm13, %xmm14
movaps %xmm13, %xmm5
andnps %xmm1, %xmm0
movaps %xmm0, %xmm1
movaps %xmm13, %xmm0
orps %xmm14, %xmm1
movaps %xmm1, (%r10)
andnps (%r11), %xmm0
orps %xmm14, %xmm0
movaps %xmm0, (%r11)
andnps (%rbx), %xmm5
orps %xmm5, %xmm14
movaps %xmm14, (%rbx)
orps (%rax), %xmm13
movaps %xmm13, (%rax)
popq %rbx
leave
ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment