From 6fb8cbcb58a29fff73eb2101b34caa19a7f88eba Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 30 Jun 2010 08:26:11 -0700 Subject: 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. --- sysdeps/x86_64/multiarch/memmove_chk.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 sysdeps/x86_64/multiarch/memmove_chk.c (limited to 'sysdeps/x86_64/multiarch/memmove_chk.c') diff --git a/sysdeps/x86_64/multiarch/memmove_chk.c b/sysdeps/x86_64/multiarch/memmove_chk.c new file mode 100644 index 0000000000..a474f5f5ee --- /dev/null +++ b/sysdeps/x86_64/multiarch/memmove_chk.c @@ -0,0 +1,15 @@ +#include "init-arch.h" + +#define MEMMOVE_CHK __memmove_chk_sse2 + +#include "debug/memmove_chk.c" + +extern __typeof (__memmove_chk_sse2) __memmove_chk_sse2 attribute_hidden; +extern __typeof (__memmove_chk_sse2) __memmove_chk_ssse3 attribute_hidden; +extern __typeof (__memmove_chk_sse2) __memmove_chk_ssse3_back attribute_hidden; + +libc_ifunc (__memmove_chk, + HAS_SSSE3 + ? (HAS_FAST_COPY_BACKWARD + ? __memmove_chk_ssse3_back : __memmove_chk_ssse3) + : __memmove_chk_sse2); -- cgit 1.4.1