Skip to content

Instantly share code, notes, and snippets.

@antaz
Created October 1, 2021 11:40
Show Gist options
  • Select an option

  • Save antaz/fbf1e5158ccdd9972f917f4e9883c1f2 to your computer and use it in GitHub Desktop.

Select an option

Save antaz/fbf1e5158ccdd9972f917f4e9883c1f2 to your computer and use it in GitHub Desktop.
Level-Set Method vector implementation disassembly output
<oxidfract::lsm_avx2::h5baaa77574b30ab9>:
mov rax,rdi
vxorpd xmm0,xmm0,xmm0
mov ecx,0x3e8
vbroadcastsd ymm1,QWORD PTR [rip+0x2e47b]
vbroadcastsd ymm2,QWORD PTR [rip+0x2f02a]
vxorpd xmm4,xmm4,xmm4
vxorpd xmm3,xmm3,xmm3
vxorpd xmm5,xmm5,xmm5
vxorpd xmm6,xmm6,xmm6
xchg ax,ax
vaddpd ymm7,ymm5,ymm6
vcmplt_oqpd ymm7,ymm7,ymm1
vandpd ymm8,ymm7,ymm2
vaddpd ymm0,ymm8,ymm0
vmovmskpd edi,ymm7
test dil,dil
je <oxidfract::lsm_avx2::h5baaa77574b30ab9+0x6b>
vmulpd ymm3,ymm4,ymm3
vaddpd ymm3,ymm3,ymm3
vaddpd ymm3,ymm3,YMMWORD PTR [rdx]
vsubpd ymm4,ymm5,ymm6
vaddpd ymm4,ymm4,YMMWORD PTR [rsi]
vmulpd ymm5,ymm4,ymm4
vmulpd ymm6,ymm3,ymm3
add ecx,0xffffffff
jne <oxidfract::lsm_avx2::h5baaa77574b30ab9+0x30>
vmovapd YMMWORD PTR [rax],ymm0
vzeroupper
ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment