Skip to content

Instantly share code, notes, and snippets.

@clausecker
Last active February 1, 2016 21:15
Show Gist options
  • Save clausecker/908138fb07f0b93733db to your computer and use it in GitHub Desktop.
Save clausecker/908138fb07f0b93733db to your computer and use it in GitHub Desktop.
.text
.globl is_eof_block
.type is_eof_block,@function
.align 16
is_eof_block:
xor %eax,%eax
vmovupd 0x00(%rdi),%ymm0
vmovupd 0x20(%rdi),%ymm1
vmovupd 0x40(%rdi),%ymm2
vmovupd 0x60(%rdi),%ymm3
vpor 0x80(%rdi),%ymm0,%ymm0
vpor 0xa0(%rdi),%ymm1,%ymm1
vpor 0xc0(%rdi),%ymm2,%ymm2
vpor 0xe0(%rdi),%ymm3,%ymm3
vpor 0x100(%rdi),%ymm0,%ymm0
vpor 0x120(%rdi),%ymm1,%ymm1
vpor 0x140(%rdi),%ymm2,%ymm2
vpor 0x160(%rdi),%ymm3,%ymm3
vpor 0x180(%rdi),%ymm0,%ymm0
vpor 0x1a0(%rdi),%ymm1,%ymm1
vpor 0x1c0(%rdi),%ymm2,%ymm2
vpor 0x1e0(%rdi),%ymm3,%ymm3
vpor %ymm0,%ymm1,%ymm0
vpor %ymm2,%ymm3,%ymm2
vpor %ymm0,%ymm2,%ymm0
vptest %ymm0,%ymm0
setz %al
vzeroupper
ret
.size is_eof_block,.-is_eof_block
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment