1#if IS_IN (libc)
2# define USE_WITH_AVX2 1
3
4# define VEC_SIZE 32
5# define MOV_SIZE 4
6# define RET_SIZE 4
7
8# define VEC(i) ymm##i
9
10# define VMOVU vmovdqu
11# define VMOVA vmovdqa
12
13# define MEMSET_VDUP_TO_VEC0_AND_SET_RETURN(d, r) \
14 vmovd d, %xmm0; \
15 movq r, %rax; \
16 vpbroadcastb %xmm0, %ymm0
17
18# define WMEMSET_VDUP_TO_VEC0_AND_SET_RETURN(d, r) \
19 vmovd d, %xmm0; \
20 movq r, %rax; \
21 vpbroadcastd %xmm0, %ymm0
22
23# ifndef SECTION
24# define SECTION(p) p##.avx
25# endif
26# ifndef MEMSET_SYMBOL
27# define MEMSET_SYMBOL(p,s) p##_avx2_##s
28# endif
29# ifndef WMEMSET_SYMBOL
30# define WMEMSET_SYMBOL(p,s) p##_avx2_##s
31# endif
32
33# include "memset-vec-unaligned-erms.S"
34#endif
35