[PATCH v5 06/18] riscv: Add RVV memmove for multiarch and non-multiarch
Peter Bergner
bergner@oss.tenstorrent.com
Sun Jun 21 04:07:29 GMT 2026
On 6/9/26 8:46 AM, Zihong Yao wrote:
> For memmove, the overlap handling is being updated in v6 to use the algorithm
> you suggested. The updated version has shown better overall bench-memmove results.
So the soft freeze for the upcoming release is today and I didn't want
memmove to miss the release, so I rewrote the overlap handling myself,
simplified some of the register use (ie, got rid of the {src,dst}_backward_ptr
regs), tested it and pushed it.
Please don't feel that what I pushed is "final". If your v6 memove changes
are better, them I'm all for using them, I just wanted something in before
the soft freeze. Post patches against the new upstream code to bring it
into alignment with your code if your code is better.
> The symbol export style is also being reworked for the following routines:
> memmove, strnlen, __memcmpeq, memrchr, strncat
The same goes for this, if your v6 is better, then make a patch on
the currently upstream rvv memmove code.
> In addition, a set of new routines is queued for testing and further
> optimization, and is planned to be sent as part of v6.
Depending on the hardness of the soft-freeze and the number of functions,
these may need to wait until after the release.
> With those changes, stpncpy and strncpy seem to be the only remaining routines
> in the current v5 thread that still need review.
...so let's get the rest of the missing v5 functions handled first before
we start on any new functions not already posted.
Peter
More information about the Libc-alpha
mailing list