about summary refs log tree commit diff
path: root/sysdeps/x86_64/multiarch/memset-sse2-unaligned-erms.S
blob: 4bf3d364288b085c238ef63e13f12b3d961fd1b5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#if IS_IN (libc)
# define VEC_SIZE	16
# define VEC(i)		xmm##i
/* Don't use movups and movaps since it will get larger nop paddings
   for alignment.  */
# define VMOVU		movdqu
# define VMOVA		movdqa

# define VDUP_TO_VEC0_AND_SET_RETURN(d, r) \
  movd d, %xmm0; \
  movq r, %rax; \
  punpcklbw %xmm0, %xmm0; \
  punpcklwd %xmm0, %xmm0; \
  pshufd $0, %xmm0, %xmm0

# define SECTION(p)		p
# define MEMSET_SYMBOL(p,s)	p##_sse2_##s

# include "memset-vec-unaligned-erms.S"
#endif