diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2022-10-03 23:46:11 +0200 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2022-10-03 23:46:11 +0200 |
commit | 3c0c78afabfed4b6fc161c159e628fbf14ff370b (patch) | |
tree | c8dafc90670cbdc7cf4061477cee1671f31f6476 /sysdeps/x86_64/multiarch/ifunc-avx2.h | |
parent | e3e7fab7fe5186d18ca2046d99ba321c27db30ad (diff) | |
download | glibc-3c0c78afabfed4b6fc161c159e628fbf14ff370b.tar.gz glibc-3c0c78afabfed4b6fc161c159e628fbf14ff370b.tar.xz glibc-3c0c78afabfed4b6fc161c159e628fbf14ff370b.zip |
x86-64: Require BMI2 and LZCNT for AVX2 memrchr implementation
The AVX2 memrchr implementation uses the 'shlxl' instruction, which belongs to the BMI2 CPU feature and uses the 'lzcnt' instruction, which belongs to the LZCNT CPU feature. Fixes: af5306a735eb ("x86: Optimize memrchr-avx2.S") Partially resolves: BZ #29611 Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
Diffstat (limited to 'sysdeps/x86_64/multiarch/ifunc-avx2.h')
-rw-r--r-- | sysdeps/x86_64/multiarch/ifunc-avx2.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sysdeps/x86_64/multiarch/ifunc-avx2.h b/sysdeps/x86_64/multiarch/ifunc-avx2.h index a57a9952f3..f1741083fd 100644 --- a/sysdeps/x86_64/multiarch/ifunc-avx2.h +++ b/sysdeps/x86_64/multiarch/ifunc-avx2.h @@ -37,6 +37,7 @@ IFUNC_SELECTOR (void) if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX2) && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2) + && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, LZCNT) && X86_ISA_CPU_FEATURES_ARCH_P (cpu_features, AVX_Fast_Unaligned_Load, )) { |