glibc/sysdeps
Noah Goldstein a3c50bf46a x86: Prepare strrchr-evex and strrchr-evex512 for AVX10
This commit refactors `strrchr-evex` and `strrchr-evex512` to use a
common implementation: `strrchr-evex-base.S`.

The motivation is `strrchr-evex` needed to be refactored to not use
64-bit masked registers in preperation for AVX10.

Once vec-width masked register combining was removed, the EVEX and
EVEX512 implementations can easily be implemented in the same file
without any major overhead.

The net result is performance improvements (measured on TGL) for both
`strrchr-evex` and `strrchr-evex512`. Although, note there are some
regressions in the test suite and it may be many of the cases that
make the total-geomean of improvement/regression across bench-strrchr
are cold. The point of the performance measurement is to show there
are no major regressions, but the primary motivation is preperation
for AVX10.

Benchmarks where taken on TGL:
https://www.intel.com/content/www/us/en/products/sku/213799/intel-core-i711850h-processor-24m-cache-up-to-4-80-ghz/specifications.html

EVEX geometric_mean(N=5) of all benchmarks New / Original   : 0.74
EVEX512 geometric_mean(N=5) of all benchmarks New / Original: 0.87

Full check passes on x86.
2023-10-06 00:18:55 -05:00
..
aarch64 aarch64: Optimise vecmath logs 2023-10-05 16:54:16 +01:00
alpha Remove references to the defunct db2 subdir 2023-08-21 18:20:53 +02:00
arc configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
arm configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
csky configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
generic Propagate GLIBC_TUNABLES in setxid binaries 2023-10-02 15:35:05 -04:00
gnu configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
hppa configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
htl htl: move pthread_attr_setdetachstate into libc 2023-08-24 01:57:22 +02:00
hurd hurd: Fix using interposable hurd_thread_self 2023-05-19 20:45:51 +02:00
i386 i686: Fix build with --disable-multiarch 2023-08-10 10:29:29 -03:00
ia64 configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
ieee754 x86_64: Add log1p with FMA 2023-08-21 10:44:26 -07:00
loongarch Revert "LoongArch: Add glibc.cpu.hwcap support." 2023-09-21 09:10:11 +08:00
m68k m68k: Use M68K_SCALE_AVAILABLE on __mpn_lshift and __mpn_rshift 2023-08-25 10:07:24 -03:00
mach hurd: Drop REG_GSFS and REG_ESDS from x86_64's ucontext 2023-09-28 00:10:13 +02:00
microblaze configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
mips mips: dl-machine-reject-phdr: Get rid of alloca. 2023-10-02 12:55:27 +00:00
nios2 configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
nptl Fix misspellings in sysdeps/ -- BZ 25337 2023-05-30 23:02:29 +00:00
or1k configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
posix Fix leak in getaddrinfo introduced by the fix for CVE-2023-4806 [BZ #30843] 2023-09-25 01:21:51 +01:00
powerpc fegetenv_and_set_rn now uses the builtins provided by GCC. 2023-09-27 13:55:36 -03:00
pthread Exclude routines from fortification 2023-07-05 16:59:48 +02:00
riscv riscv: Add support for XTheadBb in string-fz[a,i].h 2023-09-06 09:27:43 -03:00
s390 s390x: Fix static PIE condition for toolchain bootstrapping. 2023-08-18 10:57:59 +02:00
sh configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
sparc Remove references to the defunct db2 subdir 2023-08-21 18:20:53 +02:00
unix Fix FORTIFY_SOURCE false positive 2023-10-04 08:07:43 -03:00
wordsize-32 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wordsize-64 hurd: Fix tst-writev test 2023-05-01 13:01:30 +02:00
x86 x86: Add support for AVX10 preset and vec size in cpu-features 2023-09-29 14:18:42 -05:00
x86_64 x86: Prepare strrchr-evex and strrchr-evex512 for AVX10 2023-10-06 00:18:55 -05:00