glibc/sysdeps/x86_64/multiarch/memmove.c
H.J. Lu 6fb8cbcb58 Improve 64bit memcpy/memmove for Atom, Core 2 and Core i7
This patch includes optimized 64bit memcpy/memmove for Atom, Core 2 and
Core i7.  It improves memcpy by up to 3X on Atom, up to 4X on Core 2 and
up to 1X on Core i7.  It also improves memmove by up to 3X on Atom, up to
4X on Core 2 and up to 2X on Core i7.
2010-06-30 08:26:11 -07:00

25 lines
644 B
C

#ifndef NOT_IN_libc
#include "init-arch.h"
#define MEMMOVE __memmove_sse2
#ifdef SHARED
# undef libc_hidden_builtin_def
# define libc_hidden_builtin_def(name) \
__hidden_ver1 (__memmove_sse2, __GI_memmove, __memmove_sse2);
#endif
#endif
#include "string/memmove.c"
#ifndef NOT_IN_libc
extern __typeof (__memmove_sse2) __memmove_sse2 attribute_hidden;
extern __typeof (__memmove_sse2) __memmove_ssse3 attribute_hidden;
extern __typeof (__memmove_sse2) __memmove_ssse3_back attribute_hidden;
libc_ifunc (memmove,
HAS_SSSE3
? (HAS_FAST_COPY_BACKWARD
? __memmove_ssse3_back : __memmove_ssse3)
: __memmove_sse2);
#endif