Skip to content

Instantly share code, notes, and snippets.

@anarazel
Created September 10, 2018 22:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anarazel/b347ef5365083cd8e8ebbf0683340da5 to your computer and use it in GitHub Desktop.
Save anarazel/b347ef5365083cd8e8ebbf0683340da5 to your computer and use it in GitHub Desktop.
.text
.file "combine.c"
.globl evalexpr_0_0 # -- Begin function evalexpr_0_0
.p2align 4, 0x90
.type evalexpr_0_0,@function
evalexpr_0_0: # @evalexpr_0_0
.cfi_startproc
# %bb.0:
movb $0, (%rdi)
movb $1, (%rsi)
movb $0, 1(%rdi)
movb $1, 1(%rsi)
movb $0, 2(%rdi)
movb $1, 2(%rsi)
movb $0, 3(%rdi)
movb $1, 3(%rsi)
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movb $0, 4(%rdi)
movb $1, 4(%rsi)
movl 16(%rcx), %eax
movl %eax, 16(%rdx)
retq
.Lfunc_end0:
.size evalexpr_0_0, .Lfunc_end0-evalexpr_0_0
.cfi_endproc
# -- End function
.ident "clang version 8.0.0-svn340819-1 (trunk)"
.section ".note.GNU-stack","",@progbits
.addrsig
#include <stdint.h>
void
evalexpr_0_0(uint8_t * restrict a, uint8_t * restrict b, uint32_t * restrict c, uint32_t * restrict s)
{
a[0] = 0;
b[0] = 1;
c[0] = s[0];
a[1] = 0;
b[1] = 1;
c[1] = s[1];
a[2] = 0;
b[2] = 1;
c[2] = s[2];
a[3] = 0;
b[3] = 1;
c[3] = s[3];
a[4] = 0;
b[4] = 1;
c[4] = s[4];
}
.file "combine.c"
.text
.p2align 4,,15
.globl evalexpr_0_0
.type evalexpr_0_0, @function
evalexpr_0_0:
.LFB0:
.cfi_startproc
movdqu (%rcx), %xmm0
movl 16(%rcx), %eax
movl $0, (%rdi)
movb $0, 4(%rdi)
movups %xmm0, (%rdx)
movl $16843009, (%rsi)
movb $1, 4(%rsi)
movl %eax, 16(%rdx)
ret
.cfi_endproc
.LFE0:
.size evalexpr_0_0, .-evalexpr_0_0
.ident "GCC: (Debian 8.2.0-5) 8.2.0"
.section .note.GNU-stack,"",@progbits
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment