ref: c0043f7053bdd53d982b529f70240f9af0cf64f7
parent: f1502c26e3b81da17655dd4209e1851061db1849
author: Martin Storsjö <[email protected]>
date: Wed Mar 5 06:55:23 EST 2014
Use the three-operand form of add/sub with shift When using unified syntax, the two operand form with a shift isn't allowed.
--- a/codec/common/deblocking_neon.S
+++ b/codec/common/deblocking_neon.S
@@ -910,7 +910,7 @@
beq bs_nzc_check_jump0
sub r6, \arg0, \arg2, lsl #4
- sub r6, \arg2, lsl #3
+ sub r6, r6, \arg2, lsl #3
add r6, #12
vld1.32 d3[1], [r6]
--- a/codec/decoder/core/arm/mc_neon.S
+++ b/codec/decoder/core/arm/mc_neon.S
@@ -499,7 +499,7 @@
push {r4}
ldr r4, [sp, #4]
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -581,7 +581,7 @@
push {r4}
ldr r4, [sp, #4]
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -633,7 +633,7 @@
WELS_ASM_FUNC_BEGIN McHorVer01WidthEq4_neon
push {r4, r5, r6, r7}
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -694,7 +694,7 @@
push {r4}
ldr r4, [sp, #4]
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -776,7 +776,7 @@
push {r4}
ldr r4, [sp, #4]
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -828,7 +828,7 @@
WELS_ASM_FUNC_BEGIN McHorVer03WidthEq4_neon
push {r4, r5, r6, r7}
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -889,7 +889,7 @@
push {r4}
ldr r4, [sp, #4]
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -971,7 +971,7 @@
push {r4}
ldr r4, [sp, #4]
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -1023,7 +1023,7 @@
WELS_ASM_FUNC_BEGIN McHorVer02WidthEq4_neon
push {r4, r5, r6, r7}
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -1085,7 +1085,7 @@
ldr r4, [sp, #4]
sub r0, #2 //src[-2]
- sub r0, r1, lsl #1 //src[-2*src_stride-2]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride-2]
pld [r0]
pld [r0, r1]
@@ -1197,7 +1197,7 @@
ldr r4, [sp, #4]
sub r0, #2 //src[-2]
- sub r0, r1, lsl #1 //src[-2*src_stride-2]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride-2]
pld [r0]
pld [r0, r1]
@@ -1279,7 +1279,7 @@
ldr r6, [sp, #12]
sub r0, #2 //src[-2]
- sub r0, r1, lsl #1 //src[-2*src_stride-2]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride-2]
pld [r0]
pld [r0, r1]
--- a/codec/encoder/core/arm/intra_pred_sad_3_opt_neon.S
+++ b/codec/encoder/core/arm/intra_pred_sad_3_opt_neon.S
@@ -272,7 +272,7 @@
vpaddl.u16 d16, d16
vpaddl.u32 d16, d16
vmov.u32 r1, d16[0]
- add r1, r6, lsl #1
+ add r1, r1, r6, lsl #1
//vadd.u16 d20, d21
vrshr.u16 d17, #1
@@ -279,7 +279,7 @@
vpaddl.u16 d17, d17
vpaddl.u32 d17, d17
vmov.u32 r2, d17[0]
- add r2, r6, lsl #1
+ add r2, r2, r6, lsl #1
mov r4, #0
cmp r1, r0
@@ -362,13 +362,13 @@
vpaddl.u16 d22, d22
vpaddl.u32 d22, d22
vmov.u32 r1, d22[0]
- add r1, r6, lsl #1
+ add r1, r1, r6, lsl #1
vadd.u16 d20, d21
vpaddl.u16 d20, d20
vpaddl.u32 d20, d20
vmov.u32 r2, d20[0]
- add r2, r6, lsl #1
+ add r2, r2, r6, lsl #1
mov r4, #0
cmp r1, r0
@@ -506,13 +506,13 @@
vpaddl.u16 d22, d22
vpaddl.u32 d22, d22
vmov.u32 r0, d22[0]
- add r0, r6, lsl #1
+ add r0, r0, r6, lsl #1
vadd.u16 d20, d21
vpaddl.u16 d20, d20
vpaddl.u32 d20, d20
vmov.u32 r1, d20[0]
- add r1, r6, lsl #1
+ add r1, r1, r6, lsl #1
vadd.u16 d18, d19
vpaddl.u16 d18, d18
@@ -644,13 +644,13 @@
vpaddl.u16 d11, d11
vpaddl.u32 d11, d11
vmov.u32 lr, d11[0]
- add lr, r6, lsl #1
+ add lr, lr, r6, lsl #1
vrshr.u16 d10, #1
vpaddl.u16 d10, d10
vpaddl.u32 d10, d10
vmov.u32 r3, d10[0]
- add r3, r6, lsl #1
+ add r3, r3, r6, lsl #1
vrshr.u16 d28, #1
vpaddl.u16 d28, d28
--- a/codec/encoder/core/arm/mc_neon.S
+++ b/codec/encoder/core/arm/mc_neon.S
@@ -612,7 +612,7 @@
push {r4}
ldr r4, [sp, #4]
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -694,7 +694,7 @@
push {r4}
ldr r4, [sp, #4]
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -746,7 +746,7 @@
WELS_ASM_FUNC_BEGIN enc_mc_luma_w4_xy_01_neon
push {r4, r5, r6, r7}
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -806,7 +806,7 @@
push {r4}
ldr r4, [sp, #4]
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -888,7 +888,7 @@
push {r4}
ldr r4, [sp, #4]
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -939,7 +939,7 @@
WELS_ASM_FUNC_BEGIN enc_mc_luma_w4_xy_03_neon
push {r4, r5, r6, r7}
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -999,7 +999,7 @@
push {r4}
ldr r4, [sp, #4]
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -1080,7 +1080,7 @@
push {r4}
ldr r4, [sp, #4]
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -1168,7 +1168,7 @@
push {r4}
ldr r4, [sp, #4]
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -1223,7 +1223,7 @@
WELS_ASM_FUNC_BEGIN enc_mc_luma_w4_v_neon
push {r4, r5, r6, r7}
- sub r0, r1, lsl #1 //src[-2*src_stride]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride]
pld [r0]
pld [r0, r1]
vmov.u16 q14, #0x0014 // 20
@@ -1285,7 +1285,7 @@
ldr r4, [sp, #4]
sub r0, #2 //src[-2]
- sub r0, r1, lsl #1 //src[-2*src_stride-2]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride-2]
pld [r0]
pld [r0, r1]
@@ -1393,7 +1393,7 @@
ldr r4, [sp, #4]
sub r0, #2 //src[-2]
- sub r0, r1, lsl #1 //src[-2*src_stride-2]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride-2]
pld [r0]
pld [r0, r1]
@@ -1526,7 +1526,7 @@
ldr r4, [sp, #4]
sub r0, #2 //src[-2]
- sub r0, r1, lsl #1 //src[-2*src_stride-2]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride-2]
pld [r0]
pld [r0, r1]
@@ -1628,7 +1628,7 @@
ldr r6, [sp, #12]
sub r0, #2 //src[-2]
- sub r0, r1, lsl #1 //src[-2*src_stride-2]
+ sub r0, r0, r1, lsl #1 //src[-2*src_stride-2]
pld [r0]
pld [r0, r1]
--- a/codec/processing/src/arm/down_sample_neon.S
+++ b/codec/processing/src/arm/down_sample_neon.S
@@ -75,7 +75,7 @@
cmp lr, r4
movcs lr, #0
- addcs r6, r3, lsl #1
+ addcs r6, r6, r3, lsl #1
movcs r2, r6
addcs r7, r2, r3
addcs r8, r1