This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Define _HAVE_STRING_ARCH_mempcpy to 1 for x86
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Tue, 8 Mar 2016 05:51:43 -0800
- Subject: Re: [PATCH] Define _HAVE_STRING_ARCH_mempcpy to 1 for x86
- Authentication-results: sourceware.org; auth=none
- References: <20160307205735 dot GA3204 at intel dot com>
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
On Mon, Mar 07, 2016 at 12:57:35PM -0800, H.J. Lu wrote:
> Since x86 has an optimized mempcpy and GCC can inline mempcpy on x86,
> define _HAVE_STRING_ARCH_mempcpy to 1 for x86.
>
> If duplicated code between optimized memcpy and mempcpy is a concern,
> we can add an entry point in memcpy and use it to implement mempcpy,
> similar to the set of patches for __mempcpy_sse2_unaligned:
>
> https://sourceware.org/ml/libc-alpha/2016-03/msg00166.html
>
> OK for master?
>
This one actually works. Any objections?
H.J.
---
>From 9e2ed19d8c644e357c06ab56178962877c4fea5c Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Tue, 8 Mar 2016 05:04:15 -0800
Subject: [PATCH] Define _HAVE_STRING_ARCH_mempcpy to 1 for x86
Since x86 has an optimized mempcpy and GCC can inline mempcpy on x86,
define _HAVE_STRING_ARCH_mempcpy to 1 for x86.
[BZ #19759]
* sysdeps/x86/bits/string.h (_HAVE_STRING_ARCH_mempcpy): New.
---
sysdeps/x86/bits/string.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sysdeps/x86/bits/string.h b/sysdeps/x86/bits/string.h
index e4e019f..8dfce05 100644
--- a/sysdeps/x86/bits/string.h
+++ b/sysdeps/x86/bits/string.h
@@ -23,6 +23,9 @@
/* Use the unaligned string inline ABI. */
#define _STRING_INLINE_unaligned 1
+/* Don't inline mempcpy into memcpy as x86 has an optimized mempcpy. */
+#define _HAVE_STRING_ARCH_mempcpy 1
+
/* Enable inline functions only for i486 or better when compiling for
ia32. */
#if !defined __x86_64__ && (defined __i486__ || defined __pentium__ \
--
2.5.0