diff options
author | Christopher Ferris <cferris@google.com> | 2013-10-15 12:10:06 -0700 |
---|---|---|
committer | Christopher Ferris <cferris@google.com> | 2013-10-15 15:44:00 -0700 |
commit | fbefb252b09634114977dbd1b48dd42bb2629b83 (patch) | |
tree | 478bcb7ce1c824034b05624de125c57d32148de5 /libc | |
parent | ac6bc31942e58c8893c0695d9766d0f3e39335fe (diff) | |
download | bionic-fbefb252b09634114977dbd1b48dd42bb2629b83.zip bionic-fbefb252b09634114977dbd1b48dd42bb2629b83.tar.gz bionic-fbefb252b09634114977dbd1b48dd42bb2629b83.tar.bz2 |
Modify prefetch for krait memcpy.
I originally modified the krait mainloop prefetch from cacheline * 8 to * 2.
This causes a perf degradation for copies bigger than will fit in the cache.
Fixing this back to the original * 8. I tried other multiples, but * 8 is th
sweet spot on krait.
Bug: 11221806
(cherry picked from commit c3c58fb560fcf1225d4bfb533ba41add8de910e4)
Change-Id: I369f81d91ba97a3fcecac84ac57dec921b4758c8
Diffstat (limited to 'libc')
-rw-r--r-- | libc/arch-arm/krait/bionic/memcpy_base.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libc/arch-arm/krait/bionic/memcpy_base.S b/libc/arch-arm/krait/bionic/memcpy_base.S index d87a542..009c8f9 100644 --- a/libc/arch-arm/krait/bionic/memcpy_base.S +++ b/libc/arch-arm/krait/bionic/memcpy_base.S @@ -79,7 +79,7 @@ ENTRY(MEMCPY_BASE) 1: /* The main loop copies 64 bytes at a time */ vld1.8 {d0 - d3}, [r1]! vld1.8 {d4 - d7}, [r1]! - pld [r1, #(32*2)] + pld [r1, #(32*8)] subs r2, r2, #64 vst1.8 {d0 - d3}, [r0, :128]! vst1.8 {d4 - d7}, [r0, :128]! |