This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch release/2.32/master in repository glibc.
from 40eebb02cc NEWS: Add a bug fix entry for BZ #28755 new 3bb13e9149 x86: Set Prefer_No_VZEROUPPER and add Prefer_AVX2_STRCMP new a1999f6ad9 x86-64: Add ifunc-avx2.h functions with 256-bit EVEX new 6b5d4f31ed x86-64: Add strcpy family functions with 256-bit EVEX new 0b5c3ed5e3 x86-64: Add memmove family functions with 256-bit EVEX new 04e991f22e x86-64: Add memset family functions with 256-bit EVEX new 43e3ba09ec x86-64: Add memcmp family functions with 256-bit EVEX new 2a7cef79d5 x86-64: Add AVX optimized string/memory functions for RTM new c42821ec05 x86: Add string/memory function tests in RTM region new 90496a2f5d x86-64: Use ZMM16-ZMM31 in AVX512 memset family functions new f82385fcce x86-64: Use ZMM16-ZMM31 in AVX512 memmove family functions new 6479c904df x86-64: Fix ifdef indentation in strlen-evex.S
The 11 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: sysdeps/x86/Makefile | 23 + sysdeps/x86/cpu-features.c | 20 +- sysdeps/x86/cpu-features.h | 2 + sysdeps/x86/cpu-tunables.c | 2 + sysdeps/x86/tst-memchr-rtm.c | 54 +++ .../ifunc-avx2.h => x86/tst-memcmp-rtm.c} | 44 +- sysdeps/x86/tst-memmove-rtm.c | 53 +++ sysdeps/x86/tst-memrchr-rtm.c | 54 +++ .../ifunc-avx2.h => x86/tst-memset-rtm.c} | 37 +- sysdeps/x86/tst-strchr-rtm.c | 54 +++ sysdeps/x86/tst-strcpy-rtm.c | 53 +++ sysdeps/x86/tst-string-rtm.h | 72 ++++ .../ifunc-avx2.h => x86/tst-strlen-rtm.c} | 45 +- sysdeps/x86/tst-strncmp-rtm.c | 52 +++ sysdeps/x86/tst-strrchr-rtm.c | 53 +++ sysdeps/x86_64/multiarch/Makefile | 58 ++- sysdeps/x86_64/multiarch/ifunc-avx2.h | 18 +- sysdeps/x86_64/multiarch/ifunc-impl-list.c | 381 +++++++++++++++- sysdeps/x86_64/multiarch/ifunc-memcmp.h | 17 +- sysdeps/x86_64/multiarch/ifunc-memmove.h | 45 +- sysdeps/x86_64/multiarch/ifunc-memset.h | 49 ++- sysdeps/x86_64/multiarch/ifunc-strcpy.h | 17 +- sysdeps/x86_64/multiarch/ifunc-wmemset.h | 22 +- sysdeps/x86_64/multiarch/memchr-avx2-rtm.S | 12 + sysdeps/x86_64/multiarch/memchr-avx2.S | 45 +- .../multiarch/{memchr-avx2.S => memchr-evex.S} | 171 +++++--- sysdeps/x86_64/multiarch/memcmp-avx2-movbe-rtm.S | 12 + sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S | 28 +- .../{memcmp-avx2-movbe.S => memcmp-evex-movbe.S} | 226 +++++----- .../multiarch/memmove-avx-unaligned-erms-rtm.S | 17 + .../multiarch/memmove-avx512-unaligned-erms.S | 25 +- .../x86_64/multiarch/memmove-evex-unaligned-erms.S | 33 ++ .../x86_64/multiarch/memmove-vec-unaligned-erms.S | 57 +-- sysdeps/x86_64/multiarch/memrchr-avx2-rtm.S | 12 + sysdeps/x86_64/multiarch/memrchr-avx2.S | 53 +-- .../multiarch/{memrchr-avx2.S => memrchr-evex.S} | 126 +++--- .../multiarch/memset-avx2-unaligned-erms-rtm.S | 10 + .../x86_64/multiarch/memset-avx2-unaligned-erms.S | 12 +- .../multiarch/memset-avx512-unaligned-erms.S | 16 +- .../x86_64/multiarch/memset-evex-unaligned-erms.S | 24 ++ .../x86_64/multiarch/memset-vec-unaligned-erms.S | 61 ++- sysdeps/x86_64/multiarch/rawmemchr-avx2-rtm.S | 4 + sysdeps/x86_64/multiarch/rawmemchr-evex.S | 4 + sysdeps/x86_64/multiarch/stpcpy-avx2-rtm.S | 3 + sysdeps/x86_64/multiarch/stpcpy-evex.S | 3 + sysdeps/x86_64/multiarch/stpncpy-avx2-rtm.S | 4 + sysdeps/x86_64/multiarch/stpncpy-evex.S | 4 + sysdeps/x86_64/multiarch/strcat-avx2-rtm.S | 12 + sysdeps/x86_64/multiarch/strcat-avx2.S | 6 +- .../multiarch/{strcat-avx2.S => strcat-evex.S} | 146 ++++--- sysdeps/x86_64/multiarch/strchr-avx2-rtm.S | 12 + sysdeps/x86_64/multiarch/strchr-avx2.S | 22 +- sysdeps/x86_64/multiarch/strchr-evex.S | 335 ++++++++++++++ sysdeps/x86_64/multiarch/strchr.c | 18 +- sysdeps/x86_64/multiarch/strchrnul-avx2-rtm.S | 3 + sysdeps/x86_64/multiarch/strchrnul-evex.S | 3 + sysdeps/x86_64/multiarch/strcmp-avx2-rtm.S | 12 + sysdeps/x86_64/multiarch/strcmp-avx2.S | 55 +-- .../multiarch/{strcmp-avx2.S => strcmp-evex.S} | 479 ++++++++++++++------- sysdeps/x86_64/multiarch/strcmp.c | 19 +- sysdeps/x86_64/multiarch/strcpy-avx2-rtm.S | 12 + sysdeps/x86_64/multiarch/strcpy-avx2.S | 85 ++-- .../multiarch/{strcpy-avx2.S => strcpy-evex.S} | 325 +++++++------- sysdeps/x86_64/multiarch/strlen-avx2-rtm.S | 12 + sysdeps/x86_64/multiarch/strlen-avx2.S | 43 +- .../multiarch/{strlen-avx2.S => strlen-evex.S} | 180 +++++--- sysdeps/x86_64/multiarch/strncat-avx2-rtm.S | 3 + sysdeps/x86_64/multiarch/strncat-evex.S | 3 + sysdeps/x86_64/multiarch/strncmp-avx2-rtm.S | 3 + sysdeps/x86_64/multiarch/strncmp-evex.S | 3 + sysdeps/x86_64/multiarch/strncmp.c | 19 +- sysdeps/x86_64/multiarch/strncpy-avx2-rtm.S | 3 + sysdeps/x86_64/multiarch/strncpy-evex.S | 3 + sysdeps/x86_64/multiarch/strnlen-avx2-rtm.S | 4 + sysdeps/x86_64/multiarch/strnlen-evex.S | 4 + sysdeps/x86_64/multiarch/strrchr-avx2-rtm.S | 12 + sysdeps/x86_64/multiarch/strrchr-avx2.S | 19 +- .../multiarch/{strrchr-avx2.S => strrchr-evex.S} | 174 ++++---- sysdeps/x86_64/multiarch/wcschr-avx2-rtm.S | 3 + sysdeps/x86_64/multiarch/wcschr-evex.S | 3 + sysdeps/x86_64/multiarch/wcscmp-avx2-rtm.S | 4 + sysdeps/x86_64/multiarch/wcscmp-evex.S | 4 + sysdeps/x86_64/multiarch/wcslen-avx2-rtm.S | 4 + sysdeps/x86_64/multiarch/wcslen-evex.S | 4 + sysdeps/x86_64/multiarch/wcsncmp-avx2-rtm.S | 5 + sysdeps/x86_64/multiarch/wcsncmp-evex.S | 5 + sysdeps/x86_64/multiarch/wcsnlen-avx2-rtm.S | 5 + sysdeps/x86_64/multiarch/wcsnlen-evex.S | 5 + sysdeps/x86_64/multiarch/wcsnlen.c | 18 +- sysdeps/x86_64/multiarch/wcsrchr-avx2-rtm.S | 3 + sysdeps/x86_64/multiarch/wcsrchr-evex.S | 3 + sysdeps/x86_64/multiarch/wmemchr-avx2-rtm.S | 4 + sysdeps/x86_64/multiarch/wmemchr-evex.S | 4 + sysdeps/x86_64/multiarch/wmemcmp-avx2-movbe-rtm.S | 4 + sysdeps/x86_64/multiarch/wmemcmp-evex-movbe.S | 4 + sysdeps/x86_64/sysdep.h | 22 + 96 files changed, 3158 insertions(+), 1162 deletions(-) create mode 100644 sysdeps/x86/tst-memchr-rtm.c copy sysdeps/{x86_64/multiarch/ifunc-avx2.h => x86/tst-memcmp-rtm.c} (50%) create mode 100644 sysdeps/x86/tst-memmove-rtm.c create mode 100644 sysdeps/x86/tst-memrchr-rtm.c copy sysdeps/{x86_64/multiarch/ifunc-avx2.h => x86/tst-memset-rtm.c} (51%) create mode 100644 sysdeps/x86/tst-strchr-rtm.c create mode 100644 sysdeps/x86/tst-strcpy-rtm.c create mode 100644 sysdeps/x86/tst-string-rtm.h copy sysdeps/{x86_64/multiarch/ifunc-avx2.h => x86/tst-strlen-rtm.c} (50%) create mode 100644 sysdeps/x86/tst-strncmp-rtm.c create mode 100644 sysdeps/x86/tst-strrchr-rtm.c create mode 100644 sysdeps/x86_64/multiarch/memchr-avx2-rtm.S copy sysdeps/x86_64/multiarch/{memchr-avx2.S => memchr-evex.S} (63%) create mode 100644 sysdeps/x86_64/multiarch/memcmp-avx2-movbe-rtm.S copy sysdeps/x86_64/multiarch/{memcmp-avx2-movbe.S => memcmp-evex-movbe.S} (69%) create mode 100644 sysdeps/x86_64/multiarch/memmove-avx-unaligned-erms-rtm.S create mode 100644 sysdeps/x86_64/multiarch/memmove-evex-unaligned-erms.S create mode 100644 sysdeps/x86_64/multiarch/memrchr-avx2-rtm.S copy sysdeps/x86_64/multiarch/{memrchr-avx2.S => memrchr-evex.S} (72%) create mode 100644 sysdeps/x86_64/multiarch/memset-avx2-unaligned-erms-rtm.S create mode 100644 sysdeps/x86_64/multiarch/memset-evex-unaligned-erms.S create mode 100644 sysdeps/x86_64/multiarch/rawmemchr-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/rawmemchr-evex.S create mode 100644 sysdeps/x86_64/multiarch/stpcpy-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/stpcpy-evex.S create mode 100644 sysdeps/x86_64/multiarch/stpncpy-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/stpncpy-evex.S create mode 100644 sysdeps/x86_64/multiarch/strcat-avx2-rtm.S copy sysdeps/x86_64/multiarch/{strcat-avx2.S => strcat-evex.S} (62%) create mode 100644 sysdeps/x86_64/multiarch/strchr-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/strchr-evex.S create mode 100644 sysdeps/x86_64/multiarch/strchrnul-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/strchrnul-evex.S create mode 100644 sysdeps/x86_64/multiarch/strcmp-avx2-rtm.S copy sysdeps/x86_64/multiarch/{strcmp-avx2.S => strcmp-evex.S} (63%) create mode 100644 sysdeps/x86_64/multiarch/strcpy-avx2-rtm.S copy sysdeps/x86_64/multiarch/{strcpy-avx2.S => strcpy-evex.S} (78%) create mode 100644 sysdeps/x86_64/multiarch/strlen-avx2-rtm.S copy sysdeps/x86_64/multiarch/{strlen-avx2.S => strlen-evex.S} (66%) create mode 100644 sysdeps/x86_64/multiarch/strncat-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/strncat-evex.S create mode 100644 sysdeps/x86_64/multiarch/strncmp-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/strncmp-evex.S create mode 100644 sysdeps/x86_64/multiarch/strncpy-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/strncpy-evex.S create mode 100644 sysdeps/x86_64/multiarch/strnlen-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/strnlen-evex.S create mode 100644 sysdeps/x86_64/multiarch/strrchr-avx2-rtm.S copy sysdeps/x86_64/multiarch/{strrchr-avx2.S => strrchr-evex.S} (53%) create mode 100644 sysdeps/x86_64/multiarch/wcschr-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/wcschr-evex.S create mode 100644 sysdeps/x86_64/multiarch/wcscmp-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/wcscmp-evex.S create mode 100644 sysdeps/x86_64/multiarch/wcslen-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/wcslen-evex.S create mode 100644 sysdeps/x86_64/multiarch/wcsncmp-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/wcsncmp-evex.S create mode 100644 sysdeps/x86_64/multiarch/wcsnlen-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/wcsnlen-evex.S create mode 100644 sysdeps/x86_64/multiarch/wcsrchr-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/wcsrchr-evex.S create mode 100644 sysdeps/x86_64/multiarch/wmemchr-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/wmemchr-evex.S create mode 100644 sysdeps/x86_64/multiarch/wmemcmp-avx2-movbe-rtm.S create mode 100644 sysdeps/x86_64/multiarch/wmemcmp-evex-movbe.S