1#include <isa-level.h> 2 3#if ISA_SHOULD_BUILD (4) 4 5# define USE_WITH_AVX512 1 6 7# define VEC_SIZE 64 8# define MOV_SIZE 6 9# define RET_SIZE 1 10 11# define XMM0 xmm16 12# define YMM0 ymm16 13# define VEC0 zmm16 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##.evex512 36 37#ifndef MEMSET_SYMBOL 38# define MEMSET_SYMBOL(p,s) p##_avx512_##s 39#endif 40#ifndef WMEMSET_SYMBOL 41# define WMEMSET_SYMBOL(p,s) p##_avx512_##s 42#endif 43 44 45# define USE_LESS_VEC_MASK_STORE 1 46# include "memset-vec-unaligned-erms.S" 47#endif 48