about summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013-08-28 03:34:57 -0400
committerRich Felker <dalias@aerifal.cx>2013-08-28 03:34:57 -0400
commit90edf1cc15cec685c18ec2485ddce5b655963464 (patch)
tree97b728abcd94fbb0e41a2a1d14a7a15d70b24c36 /include
parent38e6acbf89afd3dfabb4f4d0506319c339b13663 (diff)
downloadmusl-90edf1cc15cec685c18ec2485ddce5b655963464.tar.gz
musl-90edf1cc15cec685c18ec2485ddce5b655963464.tar.xz
musl-90edf1cc15cec685c18ec2485ddce5b655963464.zip
optimized C memcpy
unlike the old C memcpy, this version handles word-at-a-time reads and
writes even for misaligned copies. it does not require that the cpu
support misaligned accesses; instead, it performs bit shifts to
realign the bytes for the destination.

essentially, this is the C version of the ARM assembly language
memcpy. the ideas are all the same, and it should perform well on any
arch with a decent number of general-purpose registers that has a
barrel shift operation. since the barrel shifter is an optional cpu
feature on microblaze, it may be desirable to provide an alternate asm
implementation on microblaze, but otherwise the C code provides a
competitive implementation for "generic risc-y" cpu archs that should
alleviate the urgent need for arch-specific memcpy asm.
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions