Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2015-07-13 15:09:02 +0300
committerMarcus Shawcroft <marcus.shawcroft@arm.com>2015-07-13 15:09:02 +0300
commitb295f6ba44b0c543fd345eeea08241df7260a79f (patch)
tree2871788fe132679f820601a12b62e16da996de55 /newlib/ChangeLog
parent9503c7f27566e1aaa739e8d5856db81795188030 (diff)
[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.
Diffstat (limited to 'newlib/ChangeLog')
-rw-r--r--newlib/ChangeLog5
1 files changed, 5 insertions, 0 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index bbb5597fc..f845b744b 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,5 +1,10 @@
2015-07-13 Wilco Dijkstra <wdijkstr@arm.com>
+ * newlib/libc/machine/aarch64/memcpy.S (memcpy):
+ Rewrite of optimized memcpy.
+
+2015-07-13 Wilco Dijkstra <wdijkstr@arm.com>
+
* newlib/libc/machine/aarch64/memove.S (memmove):
Rewrite of optimized memmove.