[x86] Add a feature bit: Fast_Unaligned_Copy
commite41b395523040fcb58c7d378475720c2836d280c
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 28 Mar 2016 11:39:48 +0000 (28 04:39 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 28 Mar 2016 11:40:03 +0000 (28 04:40 -0700)
tree7a4271638219c8d5b141039178105b0f1564ea16
parentb66d837bb5398795c6b0f651bd5a5d66091d8577
[x86] Add a feature bit: Fast_Unaligned_Copy

On AMD processors, memcpy optimized with unaligned SSE load is
slower than emcpy optimized with aligned SSSE3 while other string
functions are faster with unaligned SSE load.  A feature bit,
Fast_Unaligned_Copy, is added to select memcpy optimized with
unaligned SSE load.

[BZ #19583]
* sysdeps/x86/cpu-features.c (init_cpu_features): Set
Fast_Unaligned_Copy with Fast_Unaligned_Load for Intel
processors.  Set Fast_Copy_Backward for AMD Excavator
processors.
* sysdeps/x86/cpu-features.h (bit_arch_Fast_Unaligned_Copy):
New.
(index_arch_Fast_Unaligned_Copy): Likewise.
* sysdeps/x86_64/multiarch/memcpy.S (__new_memcpy): Check
Fast_Unaligned_Copy instead of Fast_Unaligned_Load.
ChangeLog
sysdeps/x86/cpu-features.c
sysdeps/x86/cpu-features.h
sysdeps/x86_64/multiarch/memcpy.S