]> sourceware.org Git - newlib-cygwin.git/commit
[AArch64] Optimized memcpy.
authorWilco Dijkstra <wdijkstr@arm.com>
Mon, 13 Jul 2015 12:09:02 +0000 (13:09 +0100)
committerMarcus Shawcroft <marcus.shawcroft@arm.com>
Mon, 13 Jul 2015 12:09:02 +0000 (13:09 +0100)
commitb295f6ba44b0c543fd345eeea08241df7260a79f
tree2871788fe132679f820601a12b62e16da996de55
parent9503c7f27566e1aaa739e8d5856db81795188030
[AArch64] Optimized memcpy.

This is an optimized memcpy 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.  On
a random copy test memcpy is 40.8% faster on A57 and 28.4% on A53.
newlib/ChangeLog
newlib/libc/machine/aarch64/memcpy.S
This page took 0.03049 seconds and 5 git commands to generate.