[PATCH 0/4] newlib: riscv: Optimize string functions

Eric Salem <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
This patch series optimizes a few string functions for the RISC-V port.
The original implementations were added several years ago, and in the
time since there have been many extensions ratified that can be used for
faster performance.

The updated implementations take advantage of a few intrinsic functions
that use the bit manipulation extension. An implementation of stpcpy()
for the port was missing, so one was added.

These changes are part of a three-month mentorship to optimize the
Newlib RISC-V port for both speed and size, and more will follow.

The final commit in this series is for regenerating configuration files.
As described elsewhere,[1][2] these files don't need to be part of the
series. They're included only to aid in testing the changes without
having to manually regenerate the files.

Eric Salem (4):
  newlib: riscv: Add XLEN typedef and clean up types
  newlib: riscv: Optimize strlen()
  newlib: riscv: Add stpcpy() port
  newlib: Regenerate configuration files

 newlib/Makefile.in                     |  22 ++++-
 newlib/configure                       |  14 +---
 newlib/libc/machine/riscv/Makefile.inc |   2 +-
 newlib/libc/machine/riscv/stpcpy.c     |   7 ++
 newlib/libc/machine/riscv/strcpy.c     |  52 +-----------
 newlib/libc/machine/riscv/strlen.c     |  48 ++++++-----
 newlib/libc/machine/riscv/sys/asm.h    |   4 +
 newlib/libc/machine/riscv/sys/string.h | 107 ++++++++++++++++++++++++-
 8 files changed, 169 insertions(+), 87 deletions(-)
 create mode 100644 newlib/libc/machine/riscv/stpcpy.c

-- 
2.49.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.