1#include <isa-level.h>
2
3#if ISA_SHOULD_BUILD (4)
4
5# define USE_WITH_EVEX 1
6
7# define VEC_SIZE 32
8# define MOV_SIZE 6
9# define RET_SIZE 1
10
11# define XMM0 xmm16
12# define YMM0 ymm16
13# define VEC0 ymm16
14# define VEC(i) VEC##i
15
16# define VMOVU vmovdqu64
17# define VMOVA vmovdqa64
18
19# define VZEROUPPER
20
21# define MEMSET_SET_VEC0_AND_SET_RETURN(d, r) \
22 vpbroadcastb d, %VEC0; \
23 movq r, %rax
24
25# define WMEMSET_SET_VEC0_AND_SET_RETURN(d, r) \
26 vpbroadcastd d, %VEC0; \
27 movq r, %rax
28
29# define MEMSET_VDUP_TO_VEC0_HIGH()
30# define MEMSET_VDUP_TO_VEC0_LOW()
31
32# define WMEMSET_VDUP_TO_VEC0_HIGH()
33# define WMEMSET_VDUP_TO_VEC0_LOW()
34
35# define SECTION(p) p##.evex
36
37#ifndef MEMSET_SYMBOL
38# define MEMSET_SYMBOL(p,s) p##_evex_##s
39#endif
40#ifndef WMEMSET_SYMBOL
41# define WMEMSET_SYMBOL(p,s) p##_evex_##s
42#endif
43
44
45# define USE_LESS_VEC_MASK_STORE 1
46# include "memset-vec-unaligned-erms.S"
47#endif
48