Index: source/libvpx/vp9/common/arm/neon/vp9_reconintra_neon_asm.asm |
diff --git a/source/libvpx/vp9/common/arm/neon/vp9_reconintra_neon_asm.asm b/source/libvpx/vp9/common/arm/neon/vp9_reconintra_neon_asm.asm |
index dc9856fa88721c6d64339f243dfdfe6e3655cf87..d4f6d9b488b6d1c9ea97c1cc636f1f101c6758cf 100644 |
--- a/source/libvpx/vp9/common/arm/neon/vp9_reconintra_neon_asm.asm |
+++ b/source/libvpx/vp9/common/arm/neon/vp9_reconintra_neon_asm.asm |
@@ -345,8 +345,7 @@ loop_h |
|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 @@ loop_h |
|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 @@ loop_h |
; 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 @@ loop_16x16_neon |
|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 @@ loop_16x16_neon |
; 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 |