[v8,00/17] Improve generic string routines

Message ID 20230113182733.1268668-1-richard.henderson@linaro.org
Headers
Series Improve generic string routines |

Message

Richard Henderson Jan. 13, 2023, 6:27 p.m. UTC
  Changes since v7:
  - Split string-fzc.h out of string-fzi.h, with all of the
    routines that are combinations of fza and fzi routines.
  - Fix missing find_t and shift_find() from alpha, arm, powerpc.
  - Use compiler builtins for arm and powerpc.
  - Define sh4 has_zero() via has_eq(), rather than reverse.


r~


Adhemerval Zanella Netto (11):
  Parameterize op_t from memcopy.h
  Add string-maskoff.h generic header
  Add string vectorized find and detection functions
  string: Improve generic strlen
  string: Improve generic strnlen
  string: Improve generic strchr
  string: Improve generic strchrnul
  string: Improve generic strcmp
  string: Improve generic memchr
  string: Improve generic memrchr
  sh: Add string-fzb.h

Richard Henderson (6):
  Parameterize OP_T_THRES from memcopy.h
  hppa: Add memcopy.h
  hppa: Add string-fzb.h and string-fzi.h
  alpha: Add string-fzb.h and string-fzi.h
  arm: Add string-fza.h
  powerpc: Add string-fza.h

 sysdeps/alpha/string-fza.h                    |  72 +++++++
 sysdeps/alpha/string-fzb.h                    |  52 +++++
 sysdeps/alpha/string-fzi.h                    |  62 ++++++
 sysdeps/arm/armv6t2/string-fza.h              |  85 ++++++++
 sysdeps/generic/memcopy.h                     |  10 +-
 sysdeps/generic/string-extbyte.h              |  37 ++++
 sysdeps/generic/string-fza.h                  | 116 +++++++++++
 sysdeps/generic/string-fzb.h                  |  49 +++++
 sysdeps/generic/string-fzc.h                  |  91 +++++++++
 sysdeps/generic/string-fzi.h                  |  71 +++++++
 sysdeps/generic/string-maskoff.h              |  73 +++++++
 sysdeps/generic/string-opthr.h                |  25 +++
 sysdeps/generic/string-optype.h               |  24 +++
 sysdeps/hppa/memcopy.h                        |  42 ++++
 sysdeps/hppa/string-fzb.h                     |  70 +++++++
 sysdeps/hppa/string-fzc.h                     | 124 ++++++++++++
 sysdeps/hppa/string-fzi.h                     |  63 ++++++
 sysdeps/i386/memcopy.h                        |   3 -
 sysdeps/i386/string-opthr.h                   |  25 +++
 sysdeps/m68k/memcopy.h                        |   3 -
 sysdeps/powerpc/power6/string-fza.h           |  82 ++++++++
 sysdeps/powerpc/powerpc32/power4/memcopy.h    |   5 -
 sysdeps/powerpc/powerpc32/power6/string-fza.h |   1 +
 sysdeps/powerpc/powerpc64/power6/string-fza.h |   1 +
 sysdeps/sh/string-fzb.h                       |  59 ++++++
 sysdeps/x86_64/x32/string-optype.h            |  24 +++
 string/memchr.c                               | 177 +++++-----------
 string/memcmp.c                               |   4 -
 string/memrchr.c                              | 190 +++---------------
 string/strchr.c                               | 159 +--------------
 string/strchrnul.c                            | 154 +++-----------
 string/strcmp.c                               | 118 +++++++++--
 string/strlen.c                               |  87 ++------
 string/strnlen.c                              | 137 +------------
 sysdeps/i386/i686/multiarch/strnlen-c.c       |  16 +-
 .../powerpc32/power4/multiarch/memchr-ppc32.c |  16 +-
 .../power4/multiarch/strchrnul-ppc32.c        |   4 -
 .../power4/multiarch/strnlen-ppc32.c          |  16 +-
 .../powerpc64/multiarch/memchr-ppc64.c        |   9 +-
 sysdeps/s390/strchr-c.c                       |  13 +-
 sysdeps/s390/strchrnul-c.c                    |   2 -
 sysdeps/s390/strlen-c.c                       |  12 +-
 sysdeps/s390/strnlen-c.c                      |  16 +-
 43 files changed, 1538 insertions(+), 861 deletions(-)
 create mode 100644 sysdeps/alpha/string-fza.h
 create mode 100644 sysdeps/alpha/string-fzb.h
 create mode 100644 sysdeps/alpha/string-fzi.h
 create mode 100644 sysdeps/arm/armv6t2/string-fza.h
 create mode 100644 sysdeps/generic/string-extbyte.h
 create mode 100644 sysdeps/generic/string-fza.h
 create mode 100644 sysdeps/generic/string-fzb.h
 create mode 100644 sysdeps/generic/string-fzc.h
 create mode 100644 sysdeps/generic/string-fzi.h
 create mode 100644 sysdeps/generic/string-maskoff.h
 create mode 100644 sysdeps/generic/string-opthr.h
 create mode 100644 sysdeps/generic/string-optype.h
 create mode 100644 sysdeps/hppa/memcopy.h
 create mode 100644 sysdeps/hppa/string-fzb.h
 create mode 100644 sysdeps/hppa/string-fzc.h
 create mode 100644 sysdeps/hppa/string-fzi.h
 create mode 100644 sysdeps/i386/string-opthr.h
 create mode 100644 sysdeps/powerpc/power6/string-fza.h
 create mode 100644 sysdeps/powerpc/powerpc32/power6/string-fza.h
 create mode 100644 sysdeps/powerpc/powerpc64/power6/string-fza.h
 create mode 100644 sysdeps/sh/string-fzb.h
 create mode 100644 sysdeps/x86_64/x32/string-optype.h