]> git.ipfire.org Git - thirdparty/glibc.git/commit
x86-64: Require BMI2 for AVX2 str(n)casecmp implementations
authorAurelien Jarno <aurelien@aurel32.net>
Mon, 3 Oct 2022 21:16:46 +0000 (23:16 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Mon, 3 Oct 2022 22:03:19 +0000 (00:03 +0200)
commit007581a1cc79f51bc02debf04fc3e4ad62fad1df
treeb6451dda9a6f9d8694716d68b17ac298fcd0ca27
parent1480535aa3dd801449644a84a60d015e3cf860fb
x86-64: Require BMI2 for AVX2 str(n)casecmp implementations

The AVX2 str(n)casecmp implementations use the 'bzhi' instruction, which
belongs to the BMI2 CPU feature.

NB: It also uses the 'tzcnt' BMI1 instruction, but it is executed as BSF
as BSF if the CPU doesn't support TZCNT, and produces the same result
for non-zero input.

Partially fixes: b77b06e0e296 ("x86: Optimize strcmp-avx2.S")
Partially resolves: BZ #29611

Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
(cherry picked from commit 10f79d3670b036925da63dc532b122d27ce65ff8)
sysdeps/x86_64/multiarch/ifunc-impl-list.c
sysdeps/x86_64/multiarch/ifunc-strcasecmp.h