about summary refs log tree commit diff
path: root/sysdeps/x86_64/multiarch/init-arch.h
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2010-08-25 10:07:37 -0700
committerUlrich Drepper <drepper@redhat.com>2010-08-25 10:07:37 -0700
commite73015f2d666b66c69f3c6f350e2dcd3df5b075a (patch)
tree7de6944489f3b23150d179999437020fcd505afa /sysdeps/x86_64/multiarch/init-arch.h
parent224c3568f622f367dbbcd3acbcb6cc673ef0a606 (diff)
downloadglibc-e73015f2d666b66c69f3c6f350e2dcd3df5b075a.tar.gz
glibc-e73015f2d666b66c69f3c6f350e2dcd3df5b075a.tar.xz
glibc-e73015f2d666b66c69f3c6f350e2dcd3df5b075a.zip
Unroll 32bit SSE strlen and handle slow bsf
Diffstat (limited to 'sysdeps/x86_64/multiarch/init-arch.h')
-rw-r--r--sysdeps/x86_64/multiarch/init-arch.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/x86_64/multiarch/init-arch.h b/sysdeps/x86_64/multiarch/init-arch.h
index 4a211c0864..783b02015e 100644
--- a/sysdeps/x86_64/multiarch/init-arch.h
+++ b/sysdeps/x86_64/multiarch/init-arch.h
@@ -18,6 +18,7 @@
 
 #define bit_Fast_Rep_String	(1 << 0)
 #define bit_Fast_Copy_Backward	(1 << 1)
+#define bit_Slow_BSF		(1 << 2)
 
 #ifdef	__ASSEMBLER__
 
@@ -35,6 +36,7 @@
 
 # define index_Fast_Rep_String		FEATURE_INDEX_1*FEATURE_SIZE
 # define index_Fast_Copy_Backward	FEATURE_INDEX_1*FEATURE_SIZE
+# define index_Slow_BSF			FEATURE_INDEX_1*FEATURE_SIZE
 
 #else	/* __ASSEMBLER__ */
 
@@ -106,6 +108,7 @@ extern const struct cpu_features *__get_cpu_features (void)
 
 # define index_Fast_Rep_String		FEATURE_INDEX_1
 # define index_Fast_Copy_Backward	FEATURE_INDEX_1
+# define index_Slow_BSF			FEATURE_INDEX_1
 
 #define HAS_ARCH_FEATURE(idx, bit) \
   ((__get_cpu_features ()->feature[idx] & (bit)) != 0)
@@ -116,4 +119,7 @@ extern const struct cpu_features *__get_cpu_features (void)
 #define HAS_FAST_COPY_BACKWARD \
   HAS_ARCH_FEATURE (index_Fast_Copy_Backward, bit_Fast_Copy_Backward)
 
+#define HAS_SLOW_BSF \
+  HAS_ARCH_FEATURE (index_Slow_BSF, bit_Slow_BSF)
+
 #endif	/* __ASSEMBLER__ */