about summary refs log tree commit diff
path: root/sysdeps/x86_64/multiarch/strrchr.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/x86_64/multiarch/strrchr.S')
-rw-r--r--sysdeps/x86_64/multiarch/strrchr.S6
1 files changed, 5 insertions, 1 deletions
diff --git a/sysdeps/x86_64/multiarch/strrchr.S b/sysdeps/x86_64/multiarch/strrchr.S
index 0d17fdb585..4a746c79cc 100644
--- a/sysdeps/x86_64/multiarch/strrchr.S
+++ b/sysdeps/x86_64/multiarch/strrchr.S
@@ -35,7 +35,11 @@ ENTRY(strrchr)
 	testl	$bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)
 	jz	2f
 	leaq	__strrchr_sse42(%rip), %rax
-2:	ret
+	ret
+2:	testl	$bit_Slow_BSF, __cpu_features+FEATURE_OFFSET+index_Slow_BSF(%rip)
+	jz	3f
+	leaq    __strrchr_sse2_no_bsf(%rip), %rax
+3:	ret
 END(strrchr)
 
 /*