summaryrefslogtreecommitdiff
path: root/libc/sysdeps/x86_64/multiarch/strchr.S
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/x86_64/multiarch/strchr.S')
-rw-r--r--libc/sysdeps/x86_64/multiarch/strchr.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/libc/sysdeps/x86_64/multiarch/strchr.S b/libc/sysdeps/x86_64/multiarch/strchr.S
index 686032944..f170238b5 100644
--- a/libc/sysdeps/x86_64/multiarch/strchr.S
+++ b/libc/sysdeps/x86_64/multiarch/strchr.S
@@ -29,6 +29,8 @@ ENTRY(strchr)
jne 1f
call __init_cpu_features
1: leaq __strchr_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 __strchr_sse42(%rip), %rax