x86-64: Require BMI2 for AVX2 str(n)casecmp implementations
authorAurelien Jarno <aurelien@aurel32.net>
Mon, 3 Oct 2022 21:46:11 +0000 (23:46 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Mon, 3 Oct 2022 21:46:11 +0000 (23:46 +0200)
commit10f79d3670b036925da63dc532b122d27ce65ff8
treed75602ba126717f5ba747f1a6e9d4ed31338d891
parentb80f16adbd979831bf25ea491e1261e81885c2b6
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>
sysdeps/x86_64/multiarch/ifunc-impl-list.c
sysdeps/x86_64/multiarch/ifunc-strcasecmp.h