glibc/sysdeps
H.J. Lu 5f3d0b78e0 Use AVX unaligned memcpy only if AVX2 is available
memcpy with unaligned 256-bit AVX register loads/stores are slow on older
processorsl like Sandy Bridge.  This patch adds bit_AVX_Fast_Unaligned_Load
and sets it only when AVX2 is available.

	[BZ #17801]
	* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
	Set the bit_AVX_Fast_Unaligned_Load bit for AVX2.
	* sysdeps/x86_64/multiarch/init-arch.h (bit_AVX_Fast_Unaligned_Load):
	New.
	(index_AVX_Fast_Unaligned_Load): Likewise.
	(HAS_AVX_FAST_UNALIGNED_LOAD): Likewise.
	* sysdeps/x86_64/multiarch/memcpy.S (__new_memcpy): Check the
	bit_AVX_Fast_Unaligned_Load bit instead of the bit_AVX_Usable bit.
	* sysdeps/x86_64/multiarch/memcpy_chk.S (__memcpy_chk): Likewise.
	* sysdeps/x86_64/multiarch/mempcpy.S (__mempcpy): Likewise.
	* sysdeps/x86_64/multiarch/mempcpy_chk.S (__mempcpy_chk): Likewise.
	* sysdeps/x86_64/multiarch/memmove.c (__libc_memmove): Replace
	HAS_AVX with HAS_AVX_FAST_UNALIGNED_LOAD.
	* sysdeps/x86_64/multiarch/memmove_chk.c (__memmove_chk): Likewise.
2015-01-30 15:37:58 -08:00
..
aarch64 Fix libm feupdateenv namespace (bug 17748). 2015-01-07 19:01:20 +00:00
alpha Fix libm feupdateenv namespace (bug 17748). 2015-01-07 19:01:20 +00:00
arm Update copyright year to 2015 for new files. 2015-01-21 10:35:31 -05:00
generic Fix recursive dlopen. 2015-01-21 01:51:10 -05:00
gnu ARM: Consolidate with generic unwinder wrapper code 2015-01-05 15:42:16 -08:00
hppa Fix libm feupdateenv namespace (bug 17748). 2015-01-07 19:01:20 +00:00
i386 Fix libm feupdateenv namespace (bug 17748). 2015-01-07 19:01:20 +00:00
ia64 Fix libm feupdateenv namespace (bug 17748). 2015-01-07 19:01:20 +00:00
ieee754 Fix ldbl-96 scalblnl underflowing results (bug 17803). 2015-01-12 23:02:14 +00:00
init_array Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
m68k m68k: fix missing definition of __feraiseexcept 2015-01-25 23:36:02 +01:00
mach Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
microblaze MicroBlaze: Avoid pointer to integer conversion warning 2015-01-09 14:49:27 +10:00
mips Disable 64-bit atomics for MIPS n32. 2015-01-28 18:40:35 +00:00
nios2 Commit nios2 port to master. 2015-01-17 22:29:12 -08:00
nptl Include <signal.h> in sysdeps/nptl/allocrtsig.c 2015-01-29 10:00:25 +01:00
posix Fix shm-directory.h #include. 2015-01-09 16:08:14 -08:00
powerpc powerpc: Fix fesetexceptflag [BZ#17885] 2015-01-28 05:59:21 -05:00
pthread Some #include cleanup in aio/timer code. 2015-01-08 15:38:15 -08:00
s390 S390: Get rid of linknamespace failures for string functions. 2015-01-16 09:17:32 +01:00
sh Fix libm feupdateenv namespace (bug 17748). 2015-01-07 19:01:20 +00:00
sparc Fix libm feupdateenv namespace (bug 17748). 2015-01-07 19:01:20 +00:00
tile tilegx32: set __HAVE_64B_ATOMICS to 0 2015-01-28 14:51:21 -05:00
unix ia64: avoid set-but-not-used warning 2015-01-25 23:38:04 +01:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
x86 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
x86_64 Use AVX unaligned memcpy only if AVX2 is available 2015-01-30 15:37:58 -08:00