This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository glibc.
from 934d88d862 add workload traces for missing functions (double format) new 1da50d4bda x86: Set Prefer_No_VZEROUPPER and add Prefer_AVX2_STRCMP new 1fd8c163a8 x86-64: Add ifunc-avx2.h functions with 256-bit EVEX new 525bc2a32c x86-64: Add strcpy family functions with 256-bit EVEX new 63ad43566f x86-64: Add memmove family functions with 256-bit EVEX new 1b968b6b9b x86-64: Add memset family functions with 256-bit EVEX new 91264fe357 x86-64: Add memcmp family functions with 256-bit EVEX new 7ebba91361 x86-64: Add AVX optimized string/memory functions for RTM new 4bd660be40 x86: Add string/memory function tests in RTM region new 4e2d8f3527 x86-64: Use ZMM16-ZMM31 in AVX512 memset family functions new e4fda46310 x86-64: Use ZMM16-ZMM31 in AVX512 memmove family functions
The 10 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-tunables.c | 2 + .../cpu-features-preferred_feature_index_1.def | 1 + 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 +++ ...ferred_feature_index_1.def => tst-memset-rtm.c} | 47 ++- 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 | 28 +- sysdeps/x86_64/multiarch/strchr-evex.S | 335 +++++++++++++++ sysdeps/x86_64/multiarch/strchr.c | 17 +- 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} | 469 ++++++++++++++------- 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, 3164 insertions(+), 1160 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/{include/cpu-features-preferred_feature_index_1.def => tst-memset [...] 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