about summary refs log tree commit diff
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 09:56:55 -0700
commitcfb059c79729b26284863334c9aa04f0a3b967b9 (patch)
tree3dabba752bc1894a65424d7ab9fdd873339c5800
parent30c389be1af67c4d0716d207b6780c6169d1355f (diff)
downloadglibc-cfb059c79729b26284863334c9aa04f0a3b967b9.tar.gz
glibc-cfb059c79729b26284863334c9aa04f0a3b967b9.tar.xz
glibc-cfb059c79729b26284863334c9aa04f0a3b967b9.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 de75c79cf9..963b845916 100644
--- a/sysdeps/x86/cpu-features.c
+++ b/sysdeps/x86/cpu-features.c
@@ -176,11 +176,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
@@ -192,7 +189,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);