From fbefb252b09634114977dbd1b48dd42bb2629b83 Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Tue, 15 Oct 2013 12:10:06 -0700 Subject: [PATCH] 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 --- libc/arch-arm/krait/bionic/memcpy_base.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libc/arch-arm/krait/bionic/memcpy_base.S b/libc/arch-arm/krait/bionic/memcpy_base.S index d87a5423b..009c8f92f 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]!