diff options
Diffstat (limited to 'sysdeps/x86_64/memset.S')
-rw-r--r-- | sysdeps/x86_64/memset.S | 45 |
1 files changed, 8 insertions, 37 deletions
diff --git a/sysdeps/x86_64/memset.S b/sysdeps/x86_64/memset.S index a6eea61a4d..f4e1bab601 100644 --- a/sysdeps/x86_64/memset.S +++ b/sysdeps/x86_64/memset.S @@ -18,47 +18,18 @@ <https://www.gnu.org/licenses/>. */ #include <sysdep.h> -#define USE_WITH_SSE2 1 -#define VEC_SIZE 16 -#define MOV_SIZE 3 -#define RET_SIZE 1 +#define MEMSET_SYMBOL(p,s) memset +#define MEMSET_CHK_SYMBOL(p,s) p -#define VEC(i) xmm##i -#define VMOVU movups -#define VMOVA movaps +#define WMEMSET_SYMBOL(p,s) __wmemset +#define WMEMSET_CHK_SYMBOL(p,s) p -# define MEMSET_SET_VEC0_AND_SET_RETURN(d, r) \ - movd d, %xmm0; \ - movq r, %rax; \ - punpcklbw %xmm0, %xmm0; \ - punpcklwd %xmm0, %xmm0; \ - pshufd $0, %xmm0, %xmm0 +#define DEFAULT_IMPL_V1 "multiarch/memset-sse2-unaligned-erms.S" +#define DEFAULT_IMPL_V3 "multiarch/memset-avx2-unaligned-erms.S" +#define DEFAULT_IMPL_V4 "multiarch/memset-evex-unaligned-erms.S" -# define WMEMSET_SET_VEC0_AND_SET_RETURN(d, r) \ - movd d, %xmm0; \ - pshufd $0, %xmm0, %xmm0; \ - movq r, %rax - -# define MEMSET_VDUP_TO_VEC0_HIGH() -# define MEMSET_VDUP_TO_VEC0_LOW() - -# define WMEMSET_VDUP_TO_VEC0_HIGH() -# define WMEMSET_VDUP_TO_VEC0_LOW() - -#define SECTION(p) p - -#ifndef MEMSET_SYMBOL -# define MEMSET_CHK_SYMBOL(p,s) p -# define MEMSET_SYMBOL(p,s) memset -#endif - -#ifndef WMEMSET_SYMBOL -# define WMEMSET_CHK_SYMBOL(p,s) p -# define WMEMSET_SYMBOL(p,s) __wmemset -#endif - -#include "multiarch/memset-vec-unaligned-erms.S" +#include "isa-default-impl.h" libc_hidden_builtin_def (memset) |