[PATCH v3 0/3] riscv: optimized mem* functions

Nick Kossifidis mick at ics.forth.gr
Mon Jun 21 18:09:14 PDT 2021

Hello Matteo,

Στις 2021-06-17 18:27, Matteo Croce έγραψε:
> From: Matteo Croce <mcroce at microsoft.com>
> Replace the assembly mem{cpy,move,set} with C equivalent.
> Try to access RAM with the largest bit width possible, but without
> doing unaligned accesses.
> Tested on a BeagleV Starlight with a SiFive U74 core, where the
> improvement is noticeable.

There are already generic C implementations for memcpy/memmove/memset at 
https://elixir.bootlin.com/linux/v5.13-rc7/source/lib/string.c#L871 but 
are doing one byte at a time, I suggest you update them to do 
word-by-word copy instead of introducing yet another memcpy/memmove C 
implementation on arch/riscv/.

More information about the linux-riscv mailing list