This is an automated email from the git hooks/post-receive script.
tcwg-buildslave pushed a change to branch linaro-local/ci/tcwg_gnu_native_build/release-aarch64 in repository toolchain/ci/glibc.
from 5abb1c32c2 gconv: Do not emit spurious NUL character in ISO-2022-JP-3 ( [...] new 3a5f4c4010 x86: Fix __wcsncmp_avx2 in strcmp-avx2.S [BZ# 28755] new 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 new 05751d1c5c NEWS: Add a bug fix entry for BZ #27457 new e218418d49 test-strnlen.c: Initialize wchar_t string with wmemset [BZ #27655] new 33046deb96 test-strnlen.c: Check that strnlen won't go beyond the maxim [...] new ca7d6c8d7f x86: Optimize memchr-avx2.S new 30b429c2bf x86: Fix overflow bug with wmemchr-sse2 and wmemchr-avx2 [BZ [...] new 72c0787561 x86: Optimize strlen-avx2.S new ae98c17a1d x86: Optimize memchr-evex.S new f73bf74102 x86-64: Fix an unknown vector operation in memchr-evex.S new 5d8687bfb7 x86-64: Move strlen.S to multiarch/strlen-vec.S new ad711f9eee x86-64: Add wcslen optimize for sse4.1 new 04b9cc156d x86: Fix overflow bug in wcsnlen-sse4_1 and wcsnlen-avx2 [BZ [...] new 7dbd7af692 x86: Optimize strlen-evex.S new 63c84a82a3 String: Add overflow tests for strnlen, memchr, and strncat [...] new bee0b69a58 NEWS: Add a bug fix entry for BZ #27974 new f996f678b9 x86-64: Require BMI2 for __strlen_evex and __strnlen_evex
The 28 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 | 3 + string/test-memchr.c | 39 +- string/test-strncat.c | 61 ++ string/test-strnlen.c | 67 ++- 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 ++ .../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 | 52 ++ sysdeps/x86/tst-strrchr-rtm.c | 53 ++ 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 | 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/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-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 + 108 files changed, 4836 insertions(+), 1704 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/{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