[PATCH v6 0/3] RISC-V: add multiarch RVV support for memcpy using FMV IFUNC

daichengrong@iscas.ac.cn daichengrong@iscas.ac.cn
Fri Feb 14 08:51:27 GMT 2025


From: daichengrong <daichengrong@iscas.ac.cn>

Change in v6:
  Optimize the RVV memcpy for small lengths less than VLEN/8 bytes

This patch introduces vector support for memcpy with IFUNC.
The implementation selects the RVV optimized memcpy version via dl_hwcap.

daichengrong (3):
  check rvv support in asm at sysdeps/riscv
  add MACRO support for dl_hwcap to check ISA
  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       | 43 +++++++++++++++++++
 .../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, 144 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