x86-64: Require BMI2 for AVX2 strcmp implementation
commit4d64c6445735e9b34e2ac8e369312cbfc2f88e17
authorAurelien Jarno <aurelien@aurel32.net>
Mon, 3 Oct 2022 21:46:11 +0000 (3 23:46 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Mon, 3 Oct 2022 21:46:11 +0000 (3 23:46 +0200)
treeb7a3a4be592c3e14f661db4f209e337c6185f9ee
parent10f79d3670b036925da63dc532b122d27ce65ff8
x86-64: Require BMI2 for AVX2 strcmp implementation

The AVX2 strcmp implementation uses 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>
sysdeps/x86_64/multiarch/ifunc-impl-list.c
sysdeps/x86_64/multiarch/strcmp.c