summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: f87684e)
raw | patch | inline | side by side (parent: f87684e)
author | Christopher Ferris <cferris@google.com> | |
Tue, 15 Oct 2013 21:54:02 +0000 (14:54 -0700) | ||
committer | Christopher Ferris <cferris@google.com> | |
Tue, 15 Oct 2013 21:54:02 +0000 (14:54 -0700) |
For some reason the new cortex-a15 memcpy code from ARM is really bad
for really large copies. This change forces us to go down the old path
for all copies.
All of my benchmarks show the new version is faster for large copies, but
something is going on that I don't understand.
Bug: 10838353
Change-Id: I01c16d4a2575e76f4c69862c6f78fd9024eb3fb8
for really large copies. This change forces us to go down the old path
for all copies.
All of my benchmarks show the new version is faster for large copies, but
something is going on that I don't understand.
Bug: 10838353
Change-Id: I01c16d4a2575e76f4c69862c6f78fd9024eb3fb8
libc/arch-arm/cortex-a15/bionic/memcpy_base.S | patch | blob | history |
diff --git a/libc/arch-arm/cortex-a15/bionic/memcpy_base.S b/libc/arch-arm/cortex-a15/bionic/memcpy_base.S
index 0154676077854ab967bcf4a78a5e1f6a0f1fcb99..de9e33b64f189f2494dd53f21b687ba977aa39fe 100644 (file)
cmp r2, #16
blo .L_copy_less_than_16_unknown_align
- cmp r2, #832
- bge .L_check_alignment
+ // TODO: The aligned copy code is extremely slow copying some large
+ // buffers so always go through the unaligned path for now.
+ //cmp r2, #832
+ //bge .L_check_alignment
.L_copy_unknown_alignment:
// Unknown alignment of src and dst.