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_check_gcc/release-arm in repository toolchain/ci/glibc.
from 5abb1c32c2 gconv: Do not emit spurious NUL character in ISO-2022-JP-3 ( [...] 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 adds 04b9cc156d x86: Fix overflow bug in wcsnlen-sse4_1 and wcsnlen-avx2 [BZ [...] 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
No new revisions were added by this update.
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