[PATCH v5 0/3] RISC-V: add multiarch RVV support for memcpy using FMV IFUNC
Anton Blanchard
antonb@tenstorrent.com
Sun Feb 2 06:33:32 GMT 2025
Hi,
> From: daichengrong <daichengrong@iscas.ac.cn>
>
> This patch introduces vector support for memcpy with IFUNC.
> The implementation select the RVV optimized memcpy version via dl_hwcap.
Testing this on our upcoming Ascalon CPU I measure a 3x speedup for
long lengths,
and no significant regressions on small lengths. Everything from 16
bytes onwards is a clear improvement.
Tested-by: Anton Blanchard <antonb@tenstorrent.com>
Thanks,
Anton
> daichengrong (3):
> check rvv support in asm at sysdeps/riscv
> add hwprobe support for dl_hwcap
> add riscv vector support for memcpy
>
> config.h.in | 3 ++
> sysdeps/riscv/configure | 30 ++++++++++++++++
> sysdeps/riscv/configure.ac | 20 +++++++++++
> sysdeps/riscv/multiarch/memcpy_vector.S | 35 +++++++++++++++++++
> .../unix/sysv/linux/riscv/multiarch/Makefile | 8 +++++
> .../linux/riscv/multiarch/ifunc-impl-list.c | 13 +++++++
> .../unix/sysv/linux/riscv/multiarch/memcpy.c | 7 ++++
> sysdeps/unix/sysv/linux/riscv/sys/hwprobe.h | 20 +++++++++++
> 8 files changed, 136 insertions(+)
> mode change 100644 => 100755 sysdeps/riscv/configure
> create mode 100644 sysdeps/riscv/multiarch/memcpy_vector.S
>
> --
> 2.25.1
More information about the Libc-alpha
mailing list