On Tue, Jun 22, 2021 at 9:09 AM Nick Kossifidis <mick@xxxxxxxxxxxx> wrote: > > Hello Matteo, > > Στις 2021-06-17 18:27, Matteo Croce έγραψε: > > From: Matteo Croce <mcroce@xxxxxxxxxxxxx> > > > > 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/. Yes, I've tried to copy the Glibc version into arch/csky/abiv1, and Arnd suggested putting them into generic. ref: https://lore.kernel.org/linux-arch/20190629053641.3iBfk9-I_D29cDp9yJnIdIg7oMtHNZlDmhLQPTumhEc@z/#t > > > -- Best Regards Guo Ren ML: https://lore.kernel.org/linux-csky/