This website requires JavaScript.
ReeceSX
Explore
Aurora
Register
Sign In
AuroraMiddleware
/
glibc
Watch
1
Star
0
Fork
0
You've already forked glibc
mirror of
https://sourceware.org/git/glibc.git
synced
2024-11-26 06:50:07 +00:00
Code
Issues
Packages
Projects
Releases
Wiki
Activity
12b2fd0ef9
glibc
/
sysdeps
/
aarch64
/
memmove.c
2 lines
36 B
C
Raw
Normal View
History
Unescape
Escape
This is an optimized memcpy/memmove for AArch64. Copies are split into 3 main cases: small copies of up to 16 bytes, medium copies of 17..96 bytes which are fully unrolled. Large copies of more than 96 bytes align the destination and use an unrolled loop processing 64 bytes per iteration. In order to share code with memmove, small and medium copies read all data before writing, allowing any kind of overlap. All memmoves except for the large backwards case fall into memcpy for optimal performance. On a random copy test memcpy/memmove are 40% faster on Cortex-A57 and 28% on Cortex-A53. * sysdeps/aarch64/memcpy.S (memcpy): Rewrite of optimized memcpy and memmove. * sysdeps/aarch64/memmove.S (memmove): Remove memmove code (merged into memcpy.S).
2016-06-20 16:38:13 +00:00
/* memmove is part of memcpy.S. */
Reference in New Issue
Copy Permalink