about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/riscv/Makefile
diff options
context:
space:
mode:
authorEvan Green <evan@rivosinc.com>2024-02-27 14:56:43 -0800
committerPalmer Dabbelt <palmer@rivosinc.com>2024-03-01 07:15:01 -0800
commit587a1290a1af7bee6dbb40ebadb7a4d71e698baf (patch)
tree1e01dbbb28f39cc0c24653f56d9482038fa25339 /sysdeps/unix/sysv/linux/riscv/Makefile
parenta2b47f7d4679a01d56827e1aff2a40de173fab23 (diff)
downloadglibc-587a1290a1af7bee6dbb40ebadb7a4d71e698baf.tar.gz
glibc-587a1290a1af7bee6dbb40ebadb7a4d71e698baf.tar.xz
glibc-587a1290a1af7bee6dbb40ebadb7a4d71e698baf.zip
riscv: Add and use alignment-ignorant memcpy
For CPU implementations that can perform unaligned accesses with little
or no performance penalty, create a memcpy implementation that does not
bother aligning buffers. It will use a block of integer registers, a
single integer register, and fall back to bytewise copy for the
remainder.

Signed-off-by: Evan Green <evan@rivosinc.com>
Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/riscv/Makefile')
-rw-r--r--sysdeps/unix/sysv/linux/riscv/Makefile9
1 files changed, 9 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/riscv/Makefile b/sysdeps/unix/sysv/linux/riscv/Makefile
index 04abf226ad..398ff7418b 100644
--- a/sysdeps/unix/sysv/linux/riscv/Makefile
+++ b/sysdeps/unix/sysv/linux/riscv/Makefile
@@ -15,6 +15,15 @@ ifeq ($(subdir),stdlib)
 gen-as-const-headers += ucontext_i.sym
 endif
 
+ifeq ($(subdir),string)
+sysdep_routines += \
+  memcpy \
+  memcpy-generic \
+  memcpy_noalignment \
+  # sysdep_routines
+
+endif
+
 abi-variants := ilp32 ilp32d lp64 lp64d
 
 ifeq (,$(filter $(default-abi),$(abi-variants)))