diff options
author | Noah Goldstein <goldstein.w.n@gmail.com> | 2022-03-23 16:57:46 -0500 |
---|---|---|
committer | Noah Goldstein <goldstein.w.n@gmail.com> | 2022-03-25 13:16:51 -0500 |
commit | 305769b2a15c2e96f9e1b5195d3c4e0d6f0f4b68 (patch) | |
tree | 8e50dbbcc10a3ce3b4a460b53d8a363c125b03d1 /sysdeps/x86_64/multiarch/ifunc-strcasecmp.h | |
parent | 84e7c46df4086873eae28a1fb87d2cf5388b1e16 (diff) | |
download | glibc-305769b2a15c2e96f9e1b5195d3c4e0d6f0f4b68.tar.gz glibc-305769b2a15c2e96f9e1b5195d3c4e0d6f0f4b68.tar.xz glibc-305769b2a15c2e96f9e1b5195d3c4e0d6f0f4b68.zip |
x86: Remove AVX str{n}casecmp
The rational is: 1. SSE42 has nearly identical logic so any benefit is minimal (3.4% regression on Tigerlake using SSE42 versus AVX across the benchtest suite). 2. AVX2 version covers the majority of targets that previously prefered it. 3. The targets where AVX would still be best (SnB and IVB) are becoming outdated. All in all the saving the code size is worth it. All string/memory tests pass. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
Diffstat (limited to 'sysdeps/x86_64/multiarch/ifunc-strcasecmp.h')
-rw-r--r-- | sysdeps/x86_64/multiarch/ifunc-strcasecmp.h | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/sysdeps/x86_64/multiarch/ifunc-strcasecmp.h b/sysdeps/x86_64/multiarch/ifunc-strcasecmp.h index bf0d146e7f..766539c241 100644 --- a/sysdeps/x86_64/multiarch/ifunc-strcasecmp.h +++ b/sysdeps/x86_64/multiarch/ifunc-strcasecmp.h @@ -22,7 +22,6 @@ extern __typeof (REDIRECT_NAME) OPTIMIZE (sse2) attribute_hidden; extern __typeof (REDIRECT_NAME) OPTIMIZE (ssse3) attribute_hidden; extern __typeof (REDIRECT_NAME) OPTIMIZE (sse42) attribute_hidden; -extern __typeof (REDIRECT_NAME) OPTIMIZE (avx) attribute_hidden; extern __typeof (REDIRECT_NAME) OPTIMIZE (avx2) attribute_hidden; extern __typeof (REDIRECT_NAME) OPTIMIZE (avx2_rtm) attribute_hidden; extern __typeof (REDIRECT_NAME) OPTIMIZE (evex) attribute_hidden; @@ -46,9 +45,6 @@ IFUNC_SELECTOR (void) return OPTIMIZE (avx2); } - if (CPU_FEATURE_USABLE_P (cpu_features, AVX)) - return OPTIMIZE (avx); - if (CPU_FEATURE_USABLE_P (cpu_features, SSE4_2) && !CPU_FEATURES_ARCH_P (cpu_features, Slow_SSE4_2)) return OPTIMIZE (sse42); |