Commit e486488c authored by James Yu's avatar James Yu Committed by Johann

Replace vqshrun by vqmovun if shift #0 bit

Change-Id: Ifabb8c7ec0c327fea9d6739cab10addb060ff435
Signed-off-by: default avatarJames Yu <james.yu@linaro.org>
parent 43785036
...@@ -315,8 +315,8 @@ loop_h ...@@ -315,8 +315,8 @@ loop_h
vdup.u16 q2, r2 vdup.u16 q2, r2
vadd.s16 q1, q1, q3 vadd.s16 q1, q1, q3
vadd.s16 q2, q2, q3 vadd.s16 q2, q2, q3
vqshrun.s16 d0, q1, #0 vqmovun.s16 d0, q1
vqshrun.s16 d1, q2, #0 vqmovun.s16 d1, q2
vst1.32 {d0[0]}, [r0], r1 vst1.32 {d0[0]}, [r0], r1
vst1.32 {d1[0]}, [r0], r1 vst1.32 {d1[0]}, [r0], r1
...@@ -327,8 +327,8 @@ loop_h ...@@ -327,8 +327,8 @@ loop_h
vdup.u16 q2, r2 vdup.u16 q2, r2
vadd.s16 q1, q1, q3 vadd.s16 q1, q1, q3
vadd.s16 q2, q2, q3 vadd.s16 q2, q2, q3
vqshrun.s16 d0, q1, #0 vqmovun.s16 d0, q1
vqshrun.s16 d1, q2, #0 vqmovun.s16 d1, q2
vst1.32 {d0[0]}, [r0], r1 vst1.32 {d0[0]}, [r0], r1
vst1.32 {d1[0]}, [r0], r1 vst1.32 {d1[0]}, [r0], r1
bx lr bx lr
...@@ -372,10 +372,10 @@ loop_h ...@@ -372,10 +372,10 @@ loop_h
vadd.s16 q8, q3, q8 vadd.s16 q8, q3, q8
vadd.s16 q9, q3, q9 vadd.s16 q9, q3, q9
vqshrun.s16 d0, q0, #0 vqmovun.s16 d0, q0
vqshrun.s16 d1, q1, #0 vqmovun.s16 d1, q1
vqshrun.s16 d2, q8, #0 vqmovun.s16 d2, q8
vqshrun.s16 d3, q9, #0 vqmovun.s16 d3, q9
vst1.64 {d0}, [r0], r1 vst1.64 {d0}, [r0], r1
vst1.64 {d1}, [r0], r1 vst1.64 {d1}, [r0], r1
...@@ -394,10 +394,10 @@ loop_h ...@@ -394,10 +394,10 @@ loop_h
vadd.s16 q8, q3, q8 vadd.s16 q8, q3, q8
vadd.s16 q9, q3, q9 vadd.s16 q9, q3, q9
vqshrun.s16 d0, q0, #0 vqmovun.s16 d0, q0
vqshrun.s16 d1, q1, #0 vqmovun.s16 d1, q1
vqshrun.s16 d2, q8, #0 vqmovun.s16 d2, q8
vqshrun.s16 d3, q9, #0 vqmovun.s16 d3, q9
vst1.64 {d0}, [r0], r1 vst1.64 {d0}, [r0], r1
vst1.64 {d1}, [r0], r1 vst1.64 {d1}, [r0], r1
...@@ -445,10 +445,10 @@ loop_16x16_neon ...@@ -445,10 +445,10 @@ loop_16x16_neon
vadd.s16 q0, q0, q3 vadd.s16 q0, q0, q3
vadd.s16 q11, q8, q2 vadd.s16 q11, q8, q2
vadd.s16 q8, q8, q3 vadd.s16 q8, q8, q3
vqshrun.s16 d2, q1, #0 vqmovun.s16 d2, q1
vqshrun.s16 d3, q0, #0 vqmovun.s16 d3, q0
vqshrun.s16 d22, q11, #0 vqmovun.s16 d22, q11
vqshrun.s16 d23, q8, #0 vqmovun.s16 d23, q8
vdup.16 q0, d20[2] ; proload next 2 rows data vdup.16 q0, d20[2] ; proload next 2 rows data
vdup.16 q8, d20[3] vdup.16 q8, d20[3]
vst1.64 {d2,d3}, [r0], r1 vst1.64 {d2,d3}, [r0], r1
...@@ -459,10 +459,10 @@ loop_16x16_neon ...@@ -459,10 +459,10 @@ loop_16x16_neon
vadd.s16 q0, q0, q3 vadd.s16 q0, q0, q3
vadd.s16 q11, q8, q2 vadd.s16 q11, q8, q2
vadd.s16 q8, q8, q3 vadd.s16 q8, q8, q3
vqshrun.s16 d2, q1, #0 vqmovun.s16 d2, q1
vqshrun.s16 d3, q0, #0 vqmovun.s16 d3, q0
vqshrun.s16 d22, q11, #0 vqmovun.s16 d22, q11
vqshrun.s16 d23, q8, #0 vqmovun.s16 d23, q8
vdup.16 q0, d21[0] ; proload next 2 rows data vdup.16 q0, d21[0] ; proload next 2 rows data
vdup.16 q8, d21[1] vdup.16 q8, d21[1]
vst1.64 {d2,d3}, [r0], r1 vst1.64 {d2,d3}, [r0], r1
...@@ -472,10 +472,10 @@ loop_16x16_neon ...@@ -472,10 +472,10 @@ loop_16x16_neon
vadd.s16 q0, q0, q3 vadd.s16 q0, q0, q3
vadd.s16 q11, q8, q2 vadd.s16 q11, q8, q2
vadd.s16 q8, q8, q3 vadd.s16 q8, q8, q3
vqshrun.s16 d2, q1, #0 vqmovun.s16 d2, q1
vqshrun.s16 d3, q0, #0 vqmovun.s16 d3, q0
vqshrun.s16 d22, q11, #0 vqmovun.s16 d22, q11
vqshrun.s16 d23, q8, #0 vqmovun.s16 d23, q8
vdup.16 q0, d21[2] ; proload next 2 rows data vdup.16 q0, d21[2] ; proload next 2 rows data
vdup.16 q8, d21[3] vdup.16 q8, d21[3]
vst1.64 {d2,d3}, [r0], r1 vst1.64 {d2,d3}, [r0], r1
...@@ -486,10 +486,10 @@ loop_16x16_neon ...@@ -486,10 +486,10 @@ loop_16x16_neon
vadd.s16 q0, q0, q3 vadd.s16 q0, q0, q3
vadd.s16 q11, q8, q2 vadd.s16 q11, q8, q2
vadd.s16 q8, q8, q3 vadd.s16 q8, q8, q3
vqshrun.s16 d2, q1, #0 vqmovun.s16 d2, q1
vqshrun.s16 d3, q0, #0 vqmovun.s16 d3, q0
vqshrun.s16 d22, q11, #0 vqmovun.s16 d22, q11
vqshrun.s16 d23, q8, #0 vqmovun.s16 d23, q8
vld1.8 {d18}, [r3]! ; preload 8 left into r12 vld1.8 {d18}, [r3]! ; preload 8 left into r12
vmovl.u8 q10, d18 vmovl.u8 q10, d18
vst1.64 {d2,d3}, [r0], r1 vst1.64 {d2,d3}, [r0], r1
...@@ -542,19 +542,19 @@ loop_32x32_neon ...@@ -542,19 +542,19 @@ loop_32x32_neon
vadd.s16 q13, q0, q9 vadd.s16 q13, q0, q9
vadd.s16 q14, q0, q10 vadd.s16 q14, q0, q10
vadd.s16 q15, q0, q11 vadd.s16 q15, q0, q11
vqshrun.s16 d0, q12, #0 vqmovun.s16 d0, q12
vqshrun.s16 d1, q13, #0 vqmovun.s16 d1, q13
vadd.s16 q12, q2, q8 vadd.s16 q12, q2, q8
vadd.s16 q13, q2, q9 vadd.s16 q13, q2, q9
vqshrun.s16 d2, q14, #0 vqmovun.s16 d2, q14
vqshrun.s16 d3, q15, #0 vqmovun.s16 d3, q15
vadd.s16 q14, q2, q10 vadd.s16 q14, q2, q10
vadd.s16 q15, q2, q11 vadd.s16 q15, q2, q11
vst1.64 {d0-d3}, [r0], r1 vst1.64 {d0-d3}, [r0], r1
vqshrun.s16 d24, q12, #0 vqmovun.s16 d24, q12
vqshrun.s16 d25, q13, #0 vqmovun.s16 d25, q13
vqshrun.s16 d26, q14, #0 vqmovun.s16 d26, q14
vqshrun.s16 d27, q15, #0 vqmovun.s16 d27, q15
vdup.16 q1, d6[2] vdup.16 q1, d6[2]
vdup.16 q2, d6[3] vdup.16 q2, d6[3]
vst1.64 {d24-d27}, [r0], r1 vst1.64 {d24-d27}, [r0], r1
...@@ -564,19 +564,19 @@ loop_32x32_neon ...@@ -564,19 +564,19 @@ loop_32x32_neon
vadd.s16 q13, q1, q9 vadd.s16 q13, q1, q9
vadd.s16 q14, q1, q10 vadd.s16 q14, q1, q10
vadd.s16 q15, q1, q11 vadd.s16 q15, q1, q11
vqshrun.s16 d0, q12, #0 vqmovun.s16 d0, q12
vqshrun.s16 d1, q13, #0 vqmovun.s16 d1, q13
vadd.s16 q12, q2, q8 vadd.s16 q12, q2, q8
vadd.s16 q13, q2, q9 vadd.s16 q13, q2, q9
vqshrun.s16 d2, q14, #0 vqmovun.s16 d2, q14
vqshrun.s16 d3, q15, #0 vqmovun.s16 d3, q15
vadd.s16 q14, q2, q10 vadd.s16 q14, q2, q10
vadd.s16 q15, q2, q11 vadd.s16 q15, q2, q11
vst1.64 {d0-d3}, [r0], r1 vst1.64 {d0-d3}, [r0], r1
vqshrun.s16 d24, q12, #0 vqmovun.s16 d24, q12
vqshrun.s16 d25, q13, #0 vqmovun.s16 d25, q13
vqshrun.s16 d26, q14, #0 vqmovun.s16 d26, q14
vqshrun.s16 d27, q15, #0 vqmovun.s16 d27, q15
vdup.16 q0, d7[0] vdup.16 q0, d7[0]
vdup.16 q2, d7[1] vdup.16 q2, d7[1]
vst1.64 {d24-d27}, [r0], r1 vst1.64 {d24-d27}, [r0], r1
...@@ -586,19 +586,19 @@ loop_32x32_neon ...@@ -586,19 +586,19 @@ loop_32x32_neon
vadd.s16 q13, q0, q9 vadd.s16 q13, q0, q9
vadd.s16 q14, q0, q10 vadd.s16 q14, q0, q10
vadd.s16 q15, q0, q11 vadd.s16 q15, q0, q11
vqshrun.s16 d0, q12, #0 vqmovun.s16 d0, q12
vqshrun.s16 d1, q13, #0 vqmovun.s16 d1, q13
vadd.s16 q12, q2, q8 vadd.s16 q12, q2, q8
vadd.s16 q13, q2, q9 vadd.s16 q13, q2, q9
vqshrun.s16 d2, q14, #0 vqmovun.s16 d2, q14
vqshrun.s16 d3, q15, #0 vqmovun.s16 d3, q15
vadd.s16 q14, q2, q10 vadd.s16 q14, q2, q10
vadd.s16 q15, q2, q11 vadd.s16 q15, q2, q11
vst1.64 {d0-d3}, [r0], r1 vst1.64 {d0-d3}, [r0], r1
vqshrun.s16 d24, q12, #0 vqmovun.s16 d24, q12
vqshrun.s16 d25, q13, #0 vqmovun.s16 d25, q13
vqshrun.s16 d26, q14, #0 vqmovun.s16 d26, q14
vqshrun.s16 d27, q15, #0 vqmovun.s16 d27, q15
vdup.16 q0, d7[2] vdup.16 q0, d7[2]
vdup.16 q2, d7[3] vdup.16 q2, d7[3]
vst1.64 {d24-d27}, [r0], r1 vst1.64 {d24-d27}, [r0], r1
...@@ -608,20 +608,20 @@ loop_32x32_neon ...@@ -608,20 +608,20 @@ loop_32x32_neon
vadd.s16 q13, q0, q9 vadd.s16 q13, q0, q9
vadd.s16 q14, q0, q10 vadd.s16 q14, q0, q10
vadd.s16 q15, q0, q11 vadd.s16 q15, q0, q11
vqshrun.s16 d0, q12, #0 vqmovun.s16 d0, q12
vqshrun.s16 d1, q13, #0 vqmovun.s16 d1, q13
vadd.s16 q12, q2, q8 vadd.s16 q12, q2, q8
vadd.s16 q13, q2, q9 vadd.s16 q13, q2, q9
vqshrun.s16 d2, q14, #0 vqmovun.s16 d2, q14
vqshrun.s16 d3, q15, #0 vqmovun.s16 d3, q15
vadd.s16 q14, q2, q10 vadd.s16 q14, q2, q10
vadd.s16 q15, q2, q11 vadd.s16 q15, q2, q11
vst1.64 {d0-d3}, [r0], r1 vst1.64 {d0-d3}, [r0], r1
vqshrun.s16 d24, q12, #0 vqmovun.s16 d24, q12
vqshrun.s16 d25, q13, #0 vqmovun.s16 d25, q13
vld1.8 {d0}, [r3]! ; preload 8 left pixels vld1.8 {d0}, [r3]! ; preload 8 left pixels
vqshrun.s16 d26, q14, #0 vqmovun.s16 d26, q14
vqshrun.s16 d27, q15, #0 vqmovun.s16 d27, q15
vmovl.u8 q3, d0 vmovl.u8 q3, d0
vst1.64 {d24-d27}, [r0], r1 vst1.64 {d24-d27}, [r0], r1
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment