aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2016-04-01 15:08:48 -0700
committerH.J. Lu <hjl.tools@gmail.com>2016-04-02 11:33:04 -0700
commit4ad4d58ed7a444e2d9787113fce132a99b35b417 (patch)
tree119a0ca89c4b1571f5004ec4cc5c1d6a6f981f69
parenta304f3933c7f8347e49057a7a315cbd571662ff7 (diff)
downloadglibc-4ad4d58ed7a444e2d9787113fce132a99b35b417.tar
glibc-4ad4d58ed7a444e2d9787113fce132a99b35b417.tar.gz
glibc-4ad4d58ed7a444e2d9787113fce132a99b35b417.tar.bz2
glibc-4ad4d58ed7a444e2d9787113fce132a99b35b417.zip
Remove Fast_Copy_Backward from Intel Core processors
Intel Core i3, i5 and i7 processors have fast unaligned copy and copy backward is ignored. Remove Fast_Copy_Backward from Intel Core processors to avoid confusion. * sysdeps/x86/cpu-features.c (init_cpu_features): Don't set bit_arch_Fast_Copy_Backward for Intel Core proessors. (cherry picked from commit 27d3ce1467990f89126e228559dec8f84b96c60e)
-rw-r--r--sysdeps/x86/cpu-features.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c
index 258fcd3115..942fec8bc8 100644
--- a/sysdeps/x86/cpu-features.c
+++ b/sysdeps/x86/cpu-features.c
@@ -168,11 +168,8 @@ init_cpu_features (struct cpu_features *cpu_features)
case 0x2c:
case 0x2e:
case 0x2f:
- /* Rep string instructions, copy backward, unaligned loads
+ /* Rep string instructions, unaligned load, unaligned copy,
and pminub are fast on Intel Core i3, i5 and i7. */
-#if index_arch_Fast_Rep_String != index_arch_Fast_Copy_Backward
-# error index_arch_Fast_Rep_String != index_arch_Fast_Copy_Backward
-#endif
#if index_arch_Fast_Rep_String != index_arch_Fast_Unaligned_Load
# error index_arch_Fast_Rep_String != index_arch_Fast_Unaligned_Load
#endif
@@ -184,7 +181,6 @@ init_cpu_features (struct cpu_features *cpu_features)
#endif
cpu_features->feature[index_arch_Fast_Rep_String]
|= (bit_arch_Fast_Rep_String
- | bit_arch_Fast_Copy_Backward
| bit_arch_Fast_Unaligned_Load
| bit_arch_Fast_Unaligned_Copy
| bit_arch_Prefer_PMINUB_for_stringop);