shithub: libvpx

Download patch

ref: b6012029050ee7c5da7f571f10fd4d9fe9bf09bc
parent: 275c102787e493fbf9b45341c29864b04c27de05
parent: b337c54cc41cc4ca8cb12f027c395089adddd0d5
author: James Zern <[email protected]>
date: Mon Jun 1 16:01:37 EDT 2015

Merge "vp9_reconintra_neon_asm/tm: simplify above_left load"

--- a/vp9/common/arm/neon/vp9_reconintra_neon_asm.asm
+++ b/vp9/common/arm/neon/vp9_reconintra_neon_asm.asm
@@ -345,8 +345,7 @@
 |vp9_tm_predictor_8x8_neon| PROC
     ; Load ytop_left = above[-1];
     sub                 r12, r2, #1
-    ldrb                r12, [r12]
-    vdup.u8             d0, r12
+    vld1.8              {d0[]}, [r12]
 
     ; preload 8 left
     vld1.8              {d30}, [r3]
@@ -418,8 +417,7 @@
 |vp9_tm_predictor_16x16_neon| PROC
     ; Load ytop_left = above[-1];
     sub                 r12, r2, #1
-    ldrb                r12, [r12]
-    vdup.u8             q0, r12
+    vld1.8              {d0[]}, [r12]
 
     ; Load above 8 pixels
     vld1.8              {q1}, [r2]
@@ -429,7 +427,7 @@
 
     ; Compute above - ytop_left
     vsubl.u8            q2, d2, d0
-    vsubl.u8            q3, d3, d1
+    vsubl.u8            q3, d3, d0
 
     vmovl.u8            q10, d18
 
@@ -512,8 +510,7 @@
 |vp9_tm_predictor_32x32_neon| PROC
     ; Load ytop_left = above[-1];
     sub                 r12, r2, #1
-    ldrb                r12, [r12]
-    vdup.u8             q0, r12
+    vld1.8              {d0[]}, [r12]
 
     ; Load above 32 pixels
     vld1.8              {q1}, [r2]!
@@ -524,9 +521,9 @@
 
     ; Compute above - ytop_left
     vsubl.u8            q8, d2, d0
-    vsubl.u8            q9, d3, d1
+    vsubl.u8            q9, d3, d0
     vsubl.u8            q10, d4, d0
-    vsubl.u8            q11, d5, d1
+    vsubl.u8            q11, d5, d0
 
     vmovl.u8            q3, d26