This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch ibm/2.32/master in repository glibc.
from bd407fd374 Merge branch release/2.32/master into ibm/2.32/master adds 3a5f4c4010 x86: Fix __wcsncmp_avx2 in strcmp-avx2.S [BZ# 28755] adds 40eebb02cc NEWS: Add a bug fix entry for BZ #28755 adds 3bb13e9149 x86: Set Prefer_No_VZEROUPPER and add Prefer_AVX2_STRCMP adds a1999f6ad9 x86-64: Add ifunc-avx2.h functions with 256-bit EVEX adds 6b5d4f31ed x86-64: Add strcpy family functions with 256-bit EVEX adds 0b5c3ed5e3 x86-64: Add memmove family functions with 256-bit EVEX adds 04e991f22e x86-64: Add memset family functions with 256-bit EVEX adds 43e3ba09ec x86-64: Add memcmp family functions with 256-bit EVEX adds 2a7cef79d5 x86-64: Add AVX optimized string/memory functions for RTM adds c42821ec05 x86: Add string/memory function tests in RTM region adds 90496a2f5d x86-64: Use ZMM16-ZMM31 in AVX512 memset family functions adds f82385fcce x86-64: Use ZMM16-ZMM31 in AVX512 memmove family functions adds 6479c904df x86-64: Fix ifdef indentation in strlen-evex.S adds 05751d1c5c NEWS: Add a bug fix entry for BZ #27457 adds e218418d49 test-strnlen.c: Initialize wchar_t string with wmemset [BZ #27655] adds 33046deb96 test-strnlen.c: Check that strnlen won't go beyond the maxim [...] adds ca7d6c8d7f x86: Optimize memchr-avx2.S adds 30b429c2bf x86: Fix overflow bug with wmemchr-sse2 and wmemchr-avx2 [BZ [...] adds 72c0787561 x86: Optimize strlen-avx2.S adds ae98c17a1d x86: Optimize memchr-evex.S adds f73bf74102 x86-64: Fix an unknown vector operation in memchr-evex.S adds 5d8687bfb7 x86-64: Move strlen.S to multiarch/strlen-vec.S adds ad711f9eee x86-64: Add wcslen optimize for sse4.1 new 6d9b09a8aa Merge branch release/2.32/master into ibm/2.32/master adds 04b9cc156d x86: Fix overflow bug in wcsnlen-sse4_1 and wcsnlen-avx2 [BZ [...] new d7cb3e1086 Merge branch release/2.32/master into ibm/2.32/master adds 7dbd7af692 x86: Optimize strlen-evex.S adds 63c84a82a3 String: Add overflow tests for strnlen, memchr, and strncat [...] adds bee0b69a58 NEWS: Add a bug fix entry for BZ #27974 adds f996f678b9 x86-64: Require BMI2 for __strlen_evex and __strnlen_evex adds 77317b3b0d x86: Check RTM_ALWAYS_ABORT for RTM [BZ #28033] adds b1fcaf14fe x86: Black list more Intel CPUs for TSX [BZ #27398] adds d528cb5165 x86: Remove wcsnlen-sse4_1 from wcslen ifunc-impl-list [BZ #28064] adds 9d1cd8bd7a x86-64: Test strlen and wcslen with 0 in the RSI register [B [...] adds 0f8a239000 string: Add a testcase for wcsncmp with SIZE_MAX [BZ #28755] adds e6251366b6 x86: Fallback {str|wcs}cmp RTM in the ncmp overflow case [BZ [...] adds 720263fcb8 x86: Test wcscmp RTM in the wcsncmp overflow case [BZ #28896] adds 7bbad8e3cf x86: Fix TEST_NAME to make it a string in tst-strncmp-rtm.c adds 443e146ce7 NEWS: Add a bug fix entry for BZ #28896 new b81d2ac6b4 Merge branch release/2.32/master into ibm/2.32/master
The 3 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: NEWS | 5 + string/test-memchr.c | 39 +- string/test-strncat.c | 61 ++ string/test-strncmp.c | 13 + string/test-strnlen.c | 67 ++- sysdeps/x86/Makefile | 26 + sysdeps/x86/cpu-features.c | 58 +- sysdeps/x86/cpu-features.h | 8 +- sysdeps/x86/cpu-tunables.c | 2 + sysdeps/x86/tst-get-cpu-features.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 ++ .../multiarch/wcslen.c => x86/tst-memset-rtm.c} | 40 +- 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 | 81 +++ sysdeps/x86/tst-strrchr-rtm.c | 53 ++ .../strlen-sse2.S => x86/tst-wcsncmp-rtm.c} | 12 +- sysdeps/x86_64/Makefile | 7 + sysdeps/x86_64/memchr.S | 77 ++- sysdeps/x86_64/multiarch/Makefile | 60 +- sysdeps/x86_64/multiarch/ifunc-avx2.h | 18 +- sysdeps/x86_64/multiarch/ifunc-impl-list.c | 402 +++++++++++++- 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 +- .../x86_64/multiarch/{wcsnlen.c => ifunc-wcslen.h} | 35 +- sysdeps/x86_64/multiarch/ifunc-wmemset.h | 22 +- sysdeps/x86_64/multiarch/memchr-avx2-rtm.S | 12 + sysdeps/x86_64/multiarch/memchr-avx2.S | 494 ++++++++++------- sysdeps/x86_64/multiarch/memchr-evex.S | 478 ++++++++++++++++ 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 | 65 ++- .../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 | 613 +++++++++++++-------- sysdeps/x86_64/multiarch/strlen-evex.S | 489 ++++++++++++++++ sysdeps/x86_64/multiarch/strlen-sse2.S | 2 +- .../x86_64/{strlen.S => multiarch/strlen-vec.S} | 20 +- 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 | 4 + sysdeps/x86_64/multiarch/strncmp-avx2.S | 1 + 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/wcslen-sse4_1.S | 4 + sysdeps/x86_64/multiarch/wcslen.c | 2 +- sysdeps/x86_64/multiarch/wcsncmp-avx2-rtm.S | 5 + sysdeps/x86_64/multiarch/wcsncmp-avx2.S | 2 +- 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-sse4_1.S | 2 +- sysdeps/x86_64/multiarch/wcsnlen.c | 22 +- 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/strlen.S | 243 +------- sysdeps/x86_64/sysdep.h | 22 + sysdeps/x86_64/tst-rsi-strlen.c | 81 +++ .../{multiarch/strlen-sse2.S => tst-rsi-wcslen.c} | 11 +- 116 files changed, 5022 insertions(+), 1726 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/wcslen.c => x86/tst-memset-rtm.c} (57%) 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 copy sysdeps/{x86_64/multiarch/strlen-sse2.S => x86/tst-wcsncmp-rtm.c} (79%) copy sysdeps/x86_64/multiarch/{wcsnlen.c => ifunc-wcslen.h} (64%) create mode 100644 sysdeps/x86_64/multiarch/memchr-avx2-rtm.S create mode 100644 sysdeps/x86_64/multiarch/memchr-evex.S 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 create mode 100644 sysdeps/x86_64/multiarch/strlen-evex.S copy sysdeps/x86_64/{strlen.S => multiarch/strlen-vec.S} (89%) 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/wcslen-sse4_1.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 create mode 100644 sysdeps/x86_64/tst-rsi-strlen.c copy sysdeps/x86_64/{multiarch/strlen-sse2.S => tst-rsi-wcslen.c} (81%)