diff options
author | Noah Goldstein <goldstein.w.n@gmail.com> | 2021-09-30 15:37:09 -0500 |
---|---|---|
committer | Noah Goldstein <goldstein.w.n@gmail.com> | 2021-10-27 13:03:46 -0500 |
commit | b4ed69ba16ad5f5cfee2009ed86f10c06dce74e0 (patch) | |
tree | e3161d753ea51483ba7ccdf73e56bfe7d6ff3f07 /sysdeps/x86_64/multiarch/ifunc-impl-list.c | |
parent | fa7f63d8d6a081d59dadcb9986efaafb8093735d (diff) | |
download | glibc-b4ed69ba16ad5f5cfee2009ed86f10c06dce74e0.tar.gz glibc-b4ed69ba16ad5f5cfee2009ed86f10c06dce74e0.tar.xz glibc-b4ed69ba16ad5f5cfee2009ed86f10c06dce74e0.zip |
x86_64: Add avx2 optimized __memcmpeq in memcmpeq-avx2.S
No bug. This commit adds new optimized __memcmpeq implementation for avx2. The primary optimizations are: 1) skipping the logic to find the difference of the first mismatched byte. 2) not updating src/dst addresses as the non-equals logic does not need to be reused by different areas.
Diffstat (limited to 'sysdeps/x86_64/multiarch/ifunc-impl-list.c')
-rw-r--r-- | sysdeps/x86_64/multiarch/ifunc-impl-list.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c b/sysdeps/x86_64/multiarch/ifunc-impl-list.c index f7f3806d1d..535450f52c 100644 --- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c +++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c @@ -42,13 +42,11 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, IFUNC_IMPL (i, name, __memcmpeq, IFUNC_IMPL_ADD (array, i, __memcmpeq, (CPU_FEATURE_USABLE (AVX2) - && CPU_FEATURE_USABLE (MOVBE) && CPU_FEATURE_USABLE (BMI2)), __memcmpeq_avx2) IFUNC_IMPL_ADD (array, i, __memcmpeq, (CPU_FEATURE_USABLE (AVX2) && CPU_FEATURE_USABLE (BMI2) - && CPU_FEATURE_USABLE (MOVBE) && CPU_FEATURE_USABLE (RTM)), __memcmpeq_avx2_rtm) IFUNC_IMPL_ADD (array, i, __memcmpeq, |