aboutsummaryrefslogtreecommitdiff
path: root/include/asm-x86_64/string.h
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2007-07-21 17:09:58 +0200
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-21 18:37:08 -0700
commitaac57f81eb16d56afb5bd5a31ff325b5d1615580 (patch)
tree105a7918021cfbe5272654786ba24c142f141a83 /include/asm-x86_64/string.h
parent5b74e3abb3e9bd8a2f52a7b653941e3686c5df1a (diff)
x86_64: Always use builtin memcpy on gcc 4.3
Jan asked to always use the builtin memcpy on gcc 4.3 mainline because it should generate better code than the old macro. Let's try it. Cc: Jan Hubicka <jh@suse.cz> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/asm-x86_64/string.h')
-rw-r--r--include/asm-x86_64/string.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/asm-x86_64/string.h b/include/asm-x86_64/string.h
index 9505d9f4bea..e583da7918f 100644
--- a/include/asm-x86_64/string.h
+++ b/include/asm-x86_64/string.h
@@ -29,6 +29,9 @@ return (to);
function. */
#define __HAVE_ARCH_MEMCPY 1
+#if (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) || __GNUC__ > 4
+extern void *memcpy(void *to, const void *from, size_t len);
+#else
extern void *__memcpy(void *to, const void *from, size_t len);
#define memcpy(dst,src,len) \
({ size_t __len = (len); \
@@ -38,7 +41,7 @@ extern void *__memcpy(void *to, const void *from, size_t len);
else \
__ret = __builtin_memcpy((dst),(src),__len); \
__ret; })
-
+#endif
#define __HAVE_ARCH_MEMSET
void *memset(void *s, int c, size_t n);