Provide 32-bit inline string functions for >= i486

This commit is contained in:
H.J. Lu 2012-06-04 13:44:46 -07:00
parent 48495318fa
commit 6704c645b0
2 changed files with 170 additions and 157 deletions

View File

@ -1,6 +1,9 @@
2012-06-04 H.J. Lu <hongjiu.lu@intel.com>
[BZ #14117]
* sysdeps/i386/i486/bits/string.h: Define inline functions only
if not compiling for x86-64, but compiling for >= i486.
* sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h: Renamed to ...
* sysdeps/unix/sysv/linux/x86/bits/sigcontext.h: This.

View File

@ -1,6 +1,5 @@
/* Optimized, inlined string functions. i486 version.
Copyright (C) 1997,1998,1999,2000,2001,2002,2003,2004,2007,2011,2012
Free Software Foundation, Inc.
/* Optimized, inlined string functions. i486/x86-64 version.
Copyright (C) 2001-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -24,6 +23,15 @@
/* The ix86 processors can access unaligned multi-byte variables. */
#define _STRING_ARCH_unaligned 1
/* Enable inline functions only for i486 or bette when compiling for
ia32. */
#if !defined __x86_64__ && (defined __i486__ || defined __pentium__ \
|| defined __pentiumpro__ || defined __pentium4__ \
|| defined __nocona__ || defined __atom__ \
|| defined __core2__ || defined __corei7__ \
|| defined __k6__ || defined __geode__ \
|| defined __k8__ || defined __athlon__ \
|| defined __amdfam10__)
/* We only provide optimizations if the user selects them and if
GNU CC is used. */
@ -1973,3 +1981,5 @@ __strstr_g (const char *__haystack, const char *__needle)
# endif
# endif /* use string inlines && GNU CC */
#endif