summaryrefslogtreecommitdiff
path: root/libc/sysdeps/x86_64/multiarch/strrchr.S
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/x86_64/multiarch/strrchr.S')
-rw-r--r--libc/sysdeps/x86_64/multiarch/strrchr.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/libc/sysdeps/x86_64/multiarch/strrchr.S b/libc/sysdeps/x86_64/multiarch/strrchr.S
index ee6af6e9d..3f92a41ef 100644
--- a/libc/sysdeps/x86_64/multiarch/strrchr.S
+++ b/libc/sysdeps/x86_64/multiarch/strrchr.S
@@ -32,6 +32,8 @@ ENTRY(strrchr)
jne 1f
call __init_cpu_features
1: leaq __strrchr_sse2(%rip), %rax
+ testl $bit_Slow_SSE4_2, __cpu_features+CPUID_OFFSET+index_Slow_SSE4_2(%rip)
+ jnz 2f
testl $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)
jz 2f
leaq __strrchr_sse42(%rip), %rax