From 199f36ec4a30dfc5a736a2d0c6e0840d83f7e9e7 Mon Sep 17 00:00:00 2001
From: notaz <notasas@gmail.com>
Date: Mon, 30 May 2016 03:24:11 +0300
Subject: [PATCH] tune the preloads a bit

---
 src/video/SDL_blit_A.c    | 1 +
 src/video/SDL_blit_neon.S | 8 ++++----
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/video/SDL_blit_A.c b/src/video/SDL_blit_A.c
index b013ed3..504451b 100644
--- a/src/video/SDL_blit_A.c
+++ b/src/video/SDL_blit_A.c
@@ -77,6 +77,7 @@ static void name(SDL_BlitInfo *info) \
 	int dststride = width * dstBpp + info->d_skip; \
 \
 	while ( height-- ) { \
+	    __builtin_prefetch(dst + dststride); \
 	    neon_name(dst, src, width); \
 	    src += srcstride; \
 	    dst += dststride; \
diff --git a/src/video/SDL_blit_neon.S b/src/video/SDL_blit_neon.S
index 979bb2a..dcbfd74 100644
--- a/src/video/SDL_blit_neon.S
+++ b/src/video/SDL_blit_neon.S
@@ -63,13 +63,13 @@
     vdup.i16   q12, r12
 
 0:
-    pld        [r1, #64*2]
     cmp        r2, #8
-    pld        [r0, #64*2]
     blt        3f
 1:
     vld4.8     {d4-d7}, [r1]!
+    pld        [r1, #64*2]
     vld4.8     {d0-d3}, [r0]
+    pld        [r0, #64+32]
 2:
 .if \bgr2rgb
     vswp       d4, d6		@ BGR->RGB
@@ -164,13 +164,13 @@ do_argb_finish:
 .endif
     vdup.i16   q12, r12
 0:
-    pld        [r1, #64*2]
     cmp        r2, #8
-    pld        [r0, #64*2]
     blt        3f
 1:
     vld4.8     {d4-d7}, [r1]!
+    pld        [r1, #64*2]
     vld2.8     {d1-d2}, [r0]
+    pld        [r0, #64+32]
 .if \bgr2rgb
     vswp       d4, d6		@ BGR->RGB
 .endif
-- 
2.39.5