Skip to content

Instantly share code, notes, and snippets.

@clausecker
Created February 1, 2016 16:18
Show Gist options
  • Save clausecker/a5e14dffa2c5af8942c6 to your computer and use it in GitHub Desktop.
Save clausecker/a5e14dffa2c5af8942c6 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
vmovupd 0x80(%rdi),%ymm4
vmovupd 0xa0(%rdi),%ymm5
vmovupd 0xc0(%rdi),%ymm6
vmovupd 0xe0(%rdi),%ymm7
vpor %ymm0,%ymm1,%ymm1
vpor %ymm2,%ymm3,%ymm3
vpor %ymm4,%ymm5,%ymm5
vpor %ymm6,%ymm7,%ymm7
vpor %ymm1,%ymm3,%ymm3
vpor %ymm5,%ymm7,%ymm7
vpor %ymm3,%ymm7,%ymm8
vmovupd 0x100(%rdi),%ymm0
vmovupd 0x120(%rdi),%ymm1
vmovupd 0x140(%rdi),%ymm2
vmovupd 0x160(%rdi),%ymm3
vmovupd 0x180(%rdi),%ymm4
vmovupd 0x1a0(%rdi),%ymm5
vmovupd 0x1c0(%rdi),%ymm6
vmovupd 0x1e0(%rdi),%ymm7
vpor %ymm0,%ymm1,%ymm1
vpor %ymm2,%ymm3,%ymm3
vpor %ymm4,%ymm5,%ymm5
vpor %ymm6,%ymm7,%ymm7
vpor %ymm1,%ymm3,%ymm3
vpor %ymm5,%ymm7,%ymm7
vpor %ymm3,%ymm7,%ymm0
vpor %ymm0,%ymm8,%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