This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 00/27] S390: Optimize string, wcsmbs and memory functions.


Hi,

this patch supersedes the previous one, which can be found here:
https://www.sourceware.org/ml/libc-alpha/2015-06/msg00868.html

I rewrote the most optimized functions in order to load the first 16 bytes
of the string unaligned via vlbb - vector load to block boundary (e.g. 4k).
This instruction loads 16 bytes if possible. In case of a page cross,
it only loads the last bytes of the current page without a segmentation fault.
Afterwards these first part of string is processed. If e.g. for strlen the end
of string is reached within this first part, the function returns. Otherwise
the pointer is aligned to 16 byte, so i can load a full vector register with vl
without checking for a page cross.

For strnlen function and others with a given maxlen, maxlen is only checked
once per 64 bytes in order to process in a 64 byte loop.

For str-/wcsrchr I'm now searching for c in 16byte blocks and mark the last
block with an found c. After reaching end of string, I check once for further
occurrences of c in the marked block by shifting right the bytes in the marked
vector register to mask out the garbage after a possible zero, reversing the
bytes in vector-register and searching for "the first" c again. The result is
the last occurrence of c in the marked 16byte block and the whole string.
For memrchr, the check for the last c is done in the same way.

Stefan Liebler (27):
  [BZ #18610] S390: Fix handling of DXC-byte in FPC-register.
  S390: Refactor ifunc implementations and enable ifunc-test-framework.
  S390: Add hwcaps value for vector facility.
  S390: Add new s390 platform.
  S390: configure check for vector instruction support in assembler.
  S390: Ifunc resolver macro for vector instructions.
  S390: Optimize strlen and wcslen.
  S390: Optimize strnlen and wcsnlen.
  S390: Optimize strcpy and wcscpy.
  S390: Optimize stpcpy and wcpcpy.
  S390: Optimize strncpy and wcsncpy.
  S390: Optimize stpncpy and wcpncpy.
  S390: Optimize strcat and wcscat.
  S390: Optimize strncat wcsncat.
  S390: Optimize strcmp and wcscmp.
  S390: Optimize strncmp and wcsncmp.
  S390: Optimize strchr and wcschr.
  S390: Optimize strchrnul and wcschrnul.
  S390: Optimize strrchr and wcsrchr.
  S390: Optimize strspn and wcsspn.
  S390: Optimize strpbrk and wcspbrk.
  S390: Optimize strcspn and wcscspn.
  S390: Optimize memchr, rawmemchr and wmemchr.
  S390: Optimize memccpy.
  S390: Optimize wmemset.
  S390: Optimize wmemcmp.
  S390: Optimize memrchr.

 benchtests/Makefile                            |   5 +-
 benchtests/bench-memchr.c                      |  69 ++++--
 benchtests/bench-memset.c                      |  63 +++--
 benchtests/bench-stpcpy.c                      |  33 ++-
 benchtests/bench-stpncpy.c                     |  41 +++-
 benchtests/bench-strcat.c                      |  88 ++++---
 benchtests/bench-strchr.c                      |  24 +-
 benchtests/bench-strcspn.c                     |  45 +++-
 benchtests/bench-strncat.c                     |  97 +++++---
 benchtests/bench-strncmp.c                     | 110 +++++++--
 benchtests/bench-strncpy.c                     | 110 ++++++---
 benchtests/bench-strnlen.c                     |  71 ++++--
 benchtests/bench-strpbrk.c                     | 100 +++++---
 benchtests/bench-strspn.c                      |  73 ++++--
 benchtests/bench-wcpcpy.c                      |  20 ++
 benchtests/bench-wcpncpy.c                     |  20 ++
 benchtests/bench-wcscat.c                      |  20 ++
 benchtests/bench-wcschr.c                      |  20 ++
 benchtests/bench-wcschrnul.c                   |  20 ++
 benchtests/bench-wcscmp.c                      |  20 ++
 benchtests/bench-wcscpy.c                      |  20 ++
 benchtests/bench-wcscspn.c                     |  20 ++
 benchtests/bench-wcslen.c                      |  20 ++
 benchtests/bench-wcsncat.c                     |  20 ++
 benchtests/bench-wcsncmp.c                     |  20 ++
 benchtests/bench-wcsncpy.c                     |  20 ++
 benchtests/bench-wcsnlen.c                     |  20 ++
 benchtests/bench-wcspbrk.c                     |  20 ++
 benchtests/bench-wcsrchr.c                     |  20 ++
 benchtests/bench-wcsspn.c                      |  20 ++
 benchtests/bench-wmemchr.c                     |  20 ++
 benchtests/bench-wmemcmp.c                     |  20 ++
 benchtests/bench-wmemset.c                     |  20 ++
 config.h.in                                    |   3 +
 string/memccpy.c                               |   4 +
 string/stpcpy.c                                |   6 +
 string/strcat.c                                |   6 +-
 string/strchr.c                                |   8 +-
 string/strcmp.c                                |   6 +-
 string/strlen.c                                |   6 +-
 string/test-memchr.c                           |  91 ++++---
 string/test-memset.c                           |  90 ++++---
 string/test-stpcpy.c                           |  35 ++-
 string/test-stpncpy.c                          |  41 +++-
 string/test-strcat.c                           | 126 ++++++----
 string/test-strchr.c                           |  26 +-
 string/test-strcspn.c                          |  47 +++-
 string/test-strncat.c                          | 138 +++++++----
 string/test-strncpy.c                          | 131 ++++++----
 string/test-strnlen.c                          |  87 ++++---
 string/test-strpbrk.c                          | 130 ++++++----
 string/test-strspn.c                           |  99 +++++---
 sysdeps/s390/bits/string.h                     |   4 +-
 sysdeps/s390/configure                         |  40 ++++
 sysdeps/s390/configure.ac                      |  28 +++
 sysdeps/s390/dl-procinfo.c                     |   8 +-
 sysdeps/s390/dl-procinfo.h                     |   5 +-
 sysdeps/s390/fpu/bits/fenv.h                   |   6 +-
 sysdeps/s390/fpu/fclrexcpt.c                   |   7 +-
 sysdeps/s390/fpu/fesetenv.c                    |   2 -
 sysdeps/s390/fpu/fgetexcptflg.c                |   8 +-
 sysdeps/s390/fpu/fpu_control.h                 |   6 +-
 sysdeps/s390/fpu/fsetexcptflg.c                |  15 +-
 sysdeps/s390/fpu/ftestexcept.c                 |  12 +-
 sysdeps/s390/multiarch/Makefile                |  44 ++++
 sysdeps/s390/multiarch/ifunc-impl-list.c       | 145 ++++++++++++
 sysdeps/s390/multiarch/ifunc-resolve.h         |  94 ++++++++
 sysdeps/s390/multiarch/memccpy-c.c             |  25 ++
 sysdeps/s390/multiarch/memccpy-vx.S            | 156 ++++++++++++
 sysdeps/s390/multiarch/memccpy.c               |  28 +++
 sysdeps/s390/multiarch/memchr-vx.S             | 159 +++++++++++++
 sysdeps/s390/multiarch/memchr.c                |  24 ++
 sysdeps/s390/multiarch/memrchr-c.c             |  25 ++
 sysdeps/s390/multiarch/memrchr-vx.S            | 160 +++++++++++++
 sysdeps/s390/multiarch/memrchr.c               |  28 +++
 sysdeps/s390/multiarch/rawmemchr-c.c           |  34 +++
 sysdeps/s390/multiarch/rawmemchr-vx.S          |  92 ++++++++
 sysdeps/s390/multiarch/rawmemchr.c             |  28 +++
 sysdeps/s390/multiarch/stpcpy-c.c              |  34 +++
 sysdeps/s390/multiarch/stpcpy-vx.S             | 100 ++++++++
 sysdeps/s390/multiarch/stpcpy.c                |  30 +++
 sysdeps/s390/multiarch/stpncpy-c.c             |  28 +++
 sysdeps/s390/multiarch/stpncpy-vx.S            | 176 ++++++++++++++
 sysdeps/s390/multiarch/stpncpy.c               |  28 +++
 sysdeps/s390/multiarch/strcat-c.c              |  28 +++
 sysdeps/s390/multiarch/strcat-vx.S             | 156 ++++++++++++
 sysdeps/s390/multiarch/strcat.c                |  27 +++
 sysdeps/s390/multiarch/strchr-c.c              |  29 +++
 sysdeps/s390/multiarch/strchr-vx.S             | 100 ++++++++
 sysdeps/s390/multiarch/strchr.c                |  28 +++
 sysdeps/s390/multiarch/strchrnul-c.c           |  26 ++
 sysdeps/s390/multiarch/strchrnul-vx.S          |  93 ++++++++
 sysdeps/s390/multiarch/strchrnul.c             |  28 +++
 sysdeps/s390/multiarch/strcmp-vx.S             | 116 +++++++++
 sysdeps/s390/multiarch/strcmp.c                |  26 ++
 sysdeps/s390/multiarch/strcpy-vx.S             | 105 +++++++++
 sysdeps/s390/multiarch/strcpy.c                |  24 ++
 sysdeps/s390/multiarch/strcspn-c.c             |  28 +++
 sysdeps/s390/multiarch/strcspn-vx.S            | 281 ++++++++++++++++++++++
 sysdeps/s390/multiarch/strcspn.c               |  27 +++
 sysdeps/s390/multiarch/strlen-c.c              |  28 +++
 sysdeps/s390/multiarch/strlen-vx.S             |  84 +++++++
 sysdeps/s390/multiarch/strlen.c                |  27 +++
 sysdeps/s390/multiarch/strncat-c.c             |  23 ++
 sysdeps/s390/multiarch/strncat-vx.S            | 215 +++++++++++++++++
 sysdeps/s390/multiarch/strncat.c               |  27 +++
 sysdeps/s390/multiarch/strncmp-c.c             |  28 +++
 sysdeps/s390/multiarch/strncmp-vx.S            | 137 +++++++++++
 sysdeps/s390/multiarch/strncmp.c               |  30 +++
 sysdeps/s390/multiarch/strncpy-vx.S            | 181 ++++++++++++++
 sysdeps/s390/multiarch/strncpy.c               |  24 ++
 sysdeps/s390/multiarch/strnlen-c.c             |  30 +++
 sysdeps/s390/multiarch/strnlen-vx.S            | 134 +++++++++++
 sysdeps/s390/multiarch/strnlen.c               |  29 +++
 sysdeps/s390/multiarch/strpbrk-c.c             |  28 +++
 sysdeps/s390/multiarch/strpbrk-vx.S            | 302 ++++++++++++++++++++++++
 sysdeps/s390/multiarch/strpbrk.c               |  27 +++
 sysdeps/s390/multiarch/strrchr-c.c             |  29 +++
 sysdeps/s390/multiarch/strrchr-vx.S            | 180 ++++++++++++++
 sysdeps/s390/multiarch/strrchr.c               |  28 +++
 sysdeps/s390/multiarch/strspn-c.c              |  28 +++
 sysdeps/s390/multiarch/strspn-vx.S             | 256 ++++++++++++++++++++
 sysdeps/s390/multiarch/strspn.c                |  27 +++
 sysdeps/s390/multiarch/wcpcpy-c.c              |  25 ++
 sysdeps/s390/multiarch/wcpcpy-vx.S             | 108 +++++++++
 sysdeps/s390/multiarch/wcpcpy.c                |  28 +++
 sysdeps/s390/multiarch/wcpncpy-c.c             |  25 ++
 sysdeps/s390/multiarch/wcpncpy-vx.S            | 195 +++++++++++++++
 sysdeps/s390/multiarch/wcpncpy.c               |  28 +++
 sysdeps/s390/multiarch/wcscat-c.c              |  25 ++
 sysdeps/s390/multiarch/wcscat-vx.S             | 169 +++++++++++++
 sysdeps/s390/multiarch/wcscat.c                |  28 +++
 sysdeps/s390/multiarch/wcschr-c.c              |  37 +++
 sysdeps/s390/multiarch/wcschr-vx.S             | 103 ++++++++
 sysdeps/s390/multiarch/wcschr.c                |  29 +++
 sysdeps/s390/multiarch/wcschrnul-c.c           |  25 ++
 sysdeps/s390/multiarch/wcschrnul-vx.S          |  97 ++++++++
 sysdeps/s390/multiarch/wcschrnul.c             |  28 +++
 sysdeps/s390/multiarch/wcscmp-c.c              |  32 +++
 sysdeps/s390/multiarch/wcscmp-vx.S             | 131 ++++++++++
 sysdeps/s390/multiarch/wcscmp.c                |  28 +++
 sysdeps/s390/multiarch/wcscpy-c.c              |  25 ++
 sysdeps/s390/multiarch/wcscpy-vx.S             | 105 +++++++++
 sysdeps/s390/multiarch/wcscpy.c                |  27 +++
 sysdeps/s390/multiarch/wcscspn-c.c             |  26 ++
 sysdeps/s390/multiarch/wcscspn-vx.S            | 293 +++++++++++++++++++++++
 sysdeps/s390/multiarch/wcscspn.c               |  27 +++
 sysdeps/s390/multiarch/wcslen-c.c              |  25 ++
 sysdeps/s390/multiarch/wcslen-vx.S             |  91 +++++++
 sysdeps/s390/multiarch/wcslen.c                |  28 +++
 sysdeps/s390/multiarch/wcsncat-c.c             |  25 ++
 sysdeps/s390/multiarch/wcsncat-vx.S            | 234 ++++++++++++++++++
 sysdeps/s390/multiarch/wcsncat.c               |  27 +++
 sysdeps/s390/multiarch/wcsncmp-c.c             |  25 ++
 sysdeps/s390/multiarch/wcsncmp-vx.S            | 177 ++++++++++++++
 sysdeps/s390/multiarch/wcsncmp.c               |  27 +++
 sysdeps/s390/multiarch/wcsncpy-c.c             |  25 ++
 sysdeps/s390/multiarch/wcsncpy-vx.S            | 196 +++++++++++++++
 sysdeps/s390/multiarch/wcsncpy.c               |  28 +++
 sysdeps/s390/multiarch/wcsnlen-c.c             |  25 ++
 sysdeps/s390/multiarch/wcsnlen-vx.S            | 151 ++++++++++++
 sysdeps/s390/multiarch/wcsnlen.c               |  28 +++
 sysdeps/s390/multiarch/wcspbrk-c.c             |  31 +++
 sysdeps/s390/multiarch/wcspbrk-vx.S            | 315 +++++++++++++++++++++++++
 sysdeps/s390/multiarch/wcspbrk.c               |  27 +++
 sysdeps/s390/multiarch/wcsrchr-c.c             |  25 ++
 sysdeps/s390/multiarch/wcsrchr-vx.S            | 190 +++++++++++++++
 sysdeps/s390/multiarch/wcsrchr.c               |  27 +++
 sysdeps/s390/multiarch/wcsspn-c.c              |  31 +++
 sysdeps/s390/multiarch/wcsspn-vx.S             | 270 +++++++++++++++++++++
 sysdeps/s390/multiarch/wcsspn.c                |  27 +++
 sysdeps/s390/multiarch/wmemchr-c.c             |  37 +++
 sysdeps/s390/multiarch/wmemchr-vx.S            | 166 +++++++++++++
 sysdeps/s390/multiarch/wmemchr.c               |  29 +++
 sysdeps/s390/multiarch/wmemcmp-c.c             |  26 ++
 sysdeps/s390/multiarch/wmemcmp-vx.S            | 149 ++++++++++++
 sysdeps/s390/multiarch/wmemcmp.c               |  27 +++
 sysdeps/s390/multiarch/wmemset-c.c             |  37 +++
 sysdeps/s390/multiarch/wmemset-vx.S            | 142 +++++++++++
 sysdeps/s390/multiarch/wmemset.c               |  29 +++
 sysdeps/s390/s390-32/memcmp.S                  |  46 ++--
 sysdeps/s390/s390-32/memcpy.S                  |  50 ++--
 sysdeps/s390/s390-32/memset.S                  |  44 ++--
 sysdeps/s390/s390-32/multiarch/Makefile        |   3 +-
 sysdeps/s390/s390-32/multiarch/ifunc-resolve.c |  72 ------
 sysdeps/s390/s390-32/multiarch/memchr.c        |  21 ++
 sysdeps/s390/s390-32/multiarch/memcmp-s390.S   | 104 ++++++++
 sysdeps/s390/s390-32/multiarch/memcmp.S        | 104 --------
 sysdeps/s390/s390-32/multiarch/memcmp.c        |  24 ++
 sysdeps/s390/s390-32/multiarch/memcpy-s390.S   |  98 ++++++++
 sysdeps/s390/s390-32/multiarch/memcpy.S        |  98 --------
 sysdeps/s390/s390-32/multiarch/memcpy.c        |  24 ++
 sysdeps/s390/s390-32/multiarch/memset-s390.S   | 113 +++++++++
 sysdeps/s390/s390-32/multiarch/memset.S        | 113 ---------
 sysdeps/s390/s390-32/multiarch/memset.c        |  23 ++
 sysdeps/s390/s390-32/multiarch/strcmp.c        |  21 ++
 sysdeps/s390/s390-32/multiarch/strcpy.c        |  21 ++
 sysdeps/s390/s390-32/multiarch/strncpy.c       |  21 ++
 sysdeps/s390/s390-64/memcmp.S                  |  42 ++--
 sysdeps/s390/s390-64/memcpy.S                  |  40 ++--
 sysdeps/s390/s390-64/memset.S                  |  40 ++--
 sysdeps/s390/s390-64/multiarch/Makefile        |   3 +-
 sysdeps/s390/s390-64/multiarch/ifunc-resolve.c |  76 ------
 sysdeps/s390/s390-64/multiarch/memchr.c        |  21 ++
 sysdeps/s390/s390-64/multiarch/memcmp-s390x.S  | 101 ++++++++
 sysdeps/s390/s390-64/multiarch/memcmp.S        | 101 --------
 sysdeps/s390/s390-64/multiarch/memcmp.c        |  24 ++
 sysdeps/s390/s390-64/multiarch/memcpy-s390x.S  |  94 ++++++++
 sysdeps/s390/s390-64/multiarch/memcpy.S        |  94 --------
 sysdeps/s390/s390-64/multiarch/memcpy.c        |  24 ++
 sysdeps/s390/s390-64/multiarch/memset-s390x.S  | 109 +++++++++
 sysdeps/s390/s390-64/multiarch/memset.S        | 109 ---------
 sysdeps/s390/s390-64/multiarch/memset.c        |  23 ++
 sysdeps/s390/s390-64/multiarch/strcmp.c        |  21 ++
 sysdeps/s390/s390-64/multiarch/strcpy.c        |  21 ++
 sysdeps/s390/s390-64/multiarch/strncpy.c       |  21 ++
 sysdeps/unix/sysv/linux/s390/bits/hwcap.h      |   1 +
 wcsmbs/Makefile                                |   4 +-
 wcsmbs/test-wcpcpy.c                           |  20 ++
 wcsmbs/test-wcpncpy.c                          |  20 ++
 wcsmbs/test-wcscat.c                           |  20 ++
 wcsmbs/test-wcschrnul.c                        |  20 ++
 wcsmbs/test-wcscspn.c                          |  20 ++
 wcsmbs/test-wcsncat.c                          |  20 ++
 wcsmbs/test-wcsncpy.c                          |  20 ++
 wcsmbs/test-wcsnlen.c                          |  20 ++
 wcsmbs/test-wcspbrk.c                          |  20 ++
 wcsmbs/test-wcsspn.c                           |  20 ++
 wcsmbs/test-wmemchr.c                          |  20 ++
 wcsmbs/test-wmemset.c                          |  20 ++
 wcsmbs/wcpcpy.c                                |   6 +-
 wcsmbs/wcpncpy.c                               |   5 +
 wcsmbs/wcscat.c                                |   5 +
 wcsmbs/wcschrnul.c                             |   5 +
 wcsmbs/wcscspn.c                               |   3 +
 wcsmbs/wcsncat.c                               |   5 +-
 wcsmbs/wcsncmp.c                               |   5 +-
 wcsmbs/wcsncpy.c                               |   5 +
 wcsmbs/wcsnlen.c                               |   7 +-
 wcsmbs/wcspbrk.c                               |   3 +
 wcsmbs/wcsspn.c                                |   3 +
 wcsmbs/wmemchr.c                               |   4 +
 wcsmbs/wmemset.c                               |   3 +
 243 files changed, 12001 insertions(+), 1600 deletions(-)
 create mode 100644 benchtests/bench-wcpcpy.c
 create mode 100644 benchtests/bench-wcpncpy.c
 create mode 100644 benchtests/bench-wcscat.c
 create mode 100644 benchtests/bench-wcschr.c
 create mode 100644 benchtests/bench-wcschrnul.c
 create mode 100644 benchtests/bench-wcscmp.c
 create mode 100644 benchtests/bench-wcscpy.c
 create mode 100644 benchtests/bench-wcscspn.c
 create mode 100644 benchtests/bench-wcslen.c
 create mode 100644 benchtests/bench-wcsncat.c
 create mode 100644 benchtests/bench-wcsncmp.c
 create mode 100644 benchtests/bench-wcsncpy.c
 create mode 100644 benchtests/bench-wcsnlen.c
 create mode 100644 benchtests/bench-wcspbrk.c
 create mode 100644 benchtests/bench-wcsrchr.c
 create mode 100644 benchtests/bench-wcsspn.c
 create mode 100644 benchtests/bench-wmemchr.c
 create mode 100644 benchtests/bench-wmemcmp.c
 create mode 100644 benchtests/bench-wmemset.c
 create mode 100644 sysdeps/s390/multiarch/Makefile
 create mode 100644 sysdeps/s390/multiarch/ifunc-impl-list.c
 create mode 100644 sysdeps/s390/multiarch/ifunc-resolve.h
 create mode 100644 sysdeps/s390/multiarch/memccpy-c.c
 create mode 100644 sysdeps/s390/multiarch/memccpy-vx.S
 create mode 100644 sysdeps/s390/multiarch/memccpy.c
 create mode 100644 sysdeps/s390/multiarch/memchr-vx.S
 create mode 100644 sysdeps/s390/multiarch/memchr.c
 create mode 100644 sysdeps/s390/multiarch/memrchr-c.c
 create mode 100644 sysdeps/s390/multiarch/memrchr-vx.S
 create mode 100644 sysdeps/s390/multiarch/memrchr.c
 create mode 100644 sysdeps/s390/multiarch/rawmemchr-c.c
 create mode 100644 sysdeps/s390/multiarch/rawmemchr-vx.S
 create mode 100644 sysdeps/s390/multiarch/rawmemchr.c
 create mode 100644 sysdeps/s390/multiarch/stpcpy-c.c
 create mode 100644 sysdeps/s390/multiarch/stpcpy-vx.S
 create mode 100644 sysdeps/s390/multiarch/stpcpy.c
 create mode 100644 sysdeps/s390/multiarch/stpncpy-c.c
 create mode 100644 sysdeps/s390/multiarch/stpncpy-vx.S
 create mode 100644 sysdeps/s390/multiarch/stpncpy.c
 create mode 100644 sysdeps/s390/multiarch/strcat-c.c
 create mode 100644 sysdeps/s390/multiarch/strcat-vx.S
 create mode 100644 sysdeps/s390/multiarch/strcat.c
 create mode 100644 sysdeps/s390/multiarch/strchr-c.c
 create mode 100644 sysdeps/s390/multiarch/strchr-vx.S
 create mode 100644 sysdeps/s390/multiarch/strchr.c
 create mode 100644 sysdeps/s390/multiarch/strchrnul-c.c
 create mode 100644 sysdeps/s390/multiarch/strchrnul-vx.S
 create mode 100644 sysdeps/s390/multiarch/strchrnul.c
 create mode 100644 sysdeps/s390/multiarch/strcmp-vx.S
 create mode 100644 sysdeps/s390/multiarch/strcmp.c
 create mode 100644 sysdeps/s390/multiarch/strcpy-vx.S
 create mode 100644 sysdeps/s390/multiarch/strcpy.c
 create mode 100644 sysdeps/s390/multiarch/strcspn-c.c
 create mode 100644 sysdeps/s390/multiarch/strcspn-vx.S
 create mode 100644 sysdeps/s390/multiarch/strcspn.c
 create mode 100644 sysdeps/s390/multiarch/strlen-c.c
 create mode 100644 sysdeps/s390/multiarch/strlen-vx.S
 create mode 100644 sysdeps/s390/multiarch/strlen.c
 create mode 100644 sysdeps/s390/multiarch/strncat-c.c
 create mode 100644 sysdeps/s390/multiarch/strncat-vx.S
 create mode 100644 sysdeps/s390/multiarch/strncat.c
 create mode 100644 sysdeps/s390/multiarch/strncmp-c.c
 create mode 100644 sysdeps/s390/multiarch/strncmp-vx.S
 create mode 100644 sysdeps/s390/multiarch/strncmp.c
 create mode 100644 sysdeps/s390/multiarch/strncpy-vx.S
 create mode 100644 sysdeps/s390/multiarch/strncpy.c
 create mode 100644 sysdeps/s390/multiarch/strnlen-c.c
 create mode 100644 sysdeps/s390/multiarch/strnlen-vx.S
 create mode 100644 sysdeps/s390/multiarch/strnlen.c
 create mode 100644 sysdeps/s390/multiarch/strpbrk-c.c
 create mode 100644 sysdeps/s390/multiarch/strpbrk-vx.S
 create mode 100644 sysdeps/s390/multiarch/strpbrk.c
 create mode 100644 sysdeps/s390/multiarch/strrchr-c.c
 create mode 100644 sysdeps/s390/multiarch/strrchr-vx.S
 create mode 100644 sysdeps/s390/multiarch/strrchr.c
 create mode 100644 sysdeps/s390/multiarch/strspn-c.c
 create mode 100644 sysdeps/s390/multiarch/strspn-vx.S
 create mode 100644 sysdeps/s390/multiarch/strspn.c
 create mode 100644 sysdeps/s390/multiarch/wcpcpy-c.c
 create mode 100644 sysdeps/s390/multiarch/wcpcpy-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcpcpy.c
 create mode 100644 sysdeps/s390/multiarch/wcpncpy-c.c
 create mode 100644 sysdeps/s390/multiarch/wcpncpy-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcpncpy.c
 create mode 100644 sysdeps/s390/multiarch/wcscat-c.c
 create mode 100644 sysdeps/s390/multiarch/wcscat-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcscat.c
 create mode 100644 sysdeps/s390/multiarch/wcschr-c.c
 create mode 100644 sysdeps/s390/multiarch/wcschr-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcschr.c
 create mode 100644 sysdeps/s390/multiarch/wcschrnul-c.c
 create mode 100644 sysdeps/s390/multiarch/wcschrnul-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcschrnul.c
 create mode 100644 sysdeps/s390/multiarch/wcscmp-c.c
 create mode 100644 sysdeps/s390/multiarch/wcscmp-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcscmp.c
 create mode 100644 sysdeps/s390/multiarch/wcscpy-c.c
 create mode 100644 sysdeps/s390/multiarch/wcscpy-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcscpy.c
 create mode 100644 sysdeps/s390/multiarch/wcscspn-c.c
 create mode 100644 sysdeps/s390/multiarch/wcscspn-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcscspn.c
 create mode 100644 sysdeps/s390/multiarch/wcslen-c.c
 create mode 100644 sysdeps/s390/multiarch/wcslen-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcslen.c
 create mode 100644 sysdeps/s390/multiarch/wcsncat-c.c
 create mode 100644 sysdeps/s390/multiarch/wcsncat-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcsncat.c
 create mode 100644 sysdeps/s390/multiarch/wcsncmp-c.c
 create mode 100644 sysdeps/s390/multiarch/wcsncmp-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcsncmp.c
 create mode 100644 sysdeps/s390/multiarch/wcsncpy-c.c
 create mode 100644 sysdeps/s390/multiarch/wcsncpy-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcsncpy.c
 create mode 100644 sysdeps/s390/multiarch/wcsnlen-c.c
 create mode 100644 sysdeps/s390/multiarch/wcsnlen-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcsnlen.c
 create mode 100644 sysdeps/s390/multiarch/wcspbrk-c.c
 create mode 100644 sysdeps/s390/multiarch/wcspbrk-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcspbrk.c
 create mode 100644 sysdeps/s390/multiarch/wcsrchr-c.c
 create mode 100644 sysdeps/s390/multiarch/wcsrchr-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcsrchr.c
 create mode 100644 sysdeps/s390/multiarch/wcsspn-c.c
 create mode 100644 sysdeps/s390/multiarch/wcsspn-vx.S
 create mode 100644 sysdeps/s390/multiarch/wcsspn.c
 create mode 100644 sysdeps/s390/multiarch/wmemchr-c.c
 create mode 100644 sysdeps/s390/multiarch/wmemchr-vx.S
 create mode 100644 sysdeps/s390/multiarch/wmemchr.c
 create mode 100644 sysdeps/s390/multiarch/wmemcmp-c.c
 create mode 100644 sysdeps/s390/multiarch/wmemcmp-vx.S
 create mode 100644 sysdeps/s390/multiarch/wmemcmp.c
 create mode 100644 sysdeps/s390/multiarch/wmemset-c.c
 create mode 100644 sysdeps/s390/multiarch/wmemset-vx.S
 create mode 100644 sysdeps/s390/multiarch/wmemset.c
 delete mode 100644 sysdeps/s390/s390-32/multiarch/ifunc-resolve.c
 create mode 100644 sysdeps/s390/s390-32/multiarch/memchr.c
 create mode 100644 sysdeps/s390/s390-32/multiarch/memcmp-s390.S
 delete mode 100644 sysdeps/s390/s390-32/multiarch/memcmp.S
 create mode 100644 sysdeps/s390/s390-32/multiarch/memcmp.c
 create mode 100644 sysdeps/s390/s390-32/multiarch/memcpy-s390.S
 delete mode 100644 sysdeps/s390/s390-32/multiarch/memcpy.S
 create mode 100644 sysdeps/s390/s390-32/multiarch/memcpy.c
 create mode 100644 sysdeps/s390/s390-32/multiarch/memset-s390.S
 delete mode 100644 sysdeps/s390/s390-32/multiarch/memset.S
 create mode 100644 sysdeps/s390/s390-32/multiarch/memset.c
 create mode 100644 sysdeps/s390/s390-32/multiarch/strcmp.c
 create mode 100644 sysdeps/s390/s390-32/multiarch/strcpy.c
 create mode 100644 sysdeps/s390/s390-32/multiarch/strncpy.c
 delete mode 100644 sysdeps/s390/s390-64/multiarch/ifunc-resolve.c
 create mode 100644 sysdeps/s390/s390-64/multiarch/memchr.c
 create mode 100644 sysdeps/s390/s390-64/multiarch/memcmp-s390x.S
 delete mode 100644 sysdeps/s390/s390-64/multiarch/memcmp.S
 create mode 100644 sysdeps/s390/s390-64/multiarch/memcmp.c
 create mode 100644 sysdeps/s390/s390-64/multiarch/memcpy-s390x.S
 delete mode 100644 sysdeps/s390/s390-64/multiarch/memcpy.S
 create mode 100644 sysdeps/s390/s390-64/multiarch/memcpy.c
 create mode 100644 sysdeps/s390/s390-64/multiarch/memset-s390x.S
 delete mode 100644 sysdeps/s390/s390-64/multiarch/memset.S
 create mode 100644 sysdeps/s390/s390-64/multiarch/memset.c
 create mode 100644 sysdeps/s390/s390-64/multiarch/strcmp.c
 create mode 100644 sysdeps/s390/s390-64/multiarch/strcpy.c
 create mode 100644 sysdeps/s390/s390-64/multiarch/strncpy.c
 create mode 100644 wcsmbs/test-wcpcpy.c
 create mode 100644 wcsmbs/test-wcpncpy.c
 create mode 100644 wcsmbs/test-wcscat.c
 create mode 100644 wcsmbs/test-wcschrnul.c
 create mode 100644 wcsmbs/test-wcscspn.c
 create mode 100644 wcsmbs/test-wcsncat.c
 create mode 100644 wcsmbs/test-wcsncpy.c
 create mode 100644 wcsmbs/test-wcsnlen.c
 create mode 100644 wcsmbs/test-wcspbrk.c
 create mode 100644 wcsmbs/test-wcsspn.c
 create mode 100644 wcsmbs/test-wmemchr.c
 create mode 100644 wcsmbs/test-wmemset.c

-- 
1.8.4.2


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]