diff --git a/vp8/common/arm/neon/mbloopfilterverticaledge_uv_neon.asm b/vp8/common/arm/neon/mbloopfilterverticaledge_uv_neon.asm index 33cd55e1c95948026294eea262a378df220c887c..044b3a3a8fe326b64b84d685a64a38f26a373f43 100644 --- a/vp8/common/arm/neon/mbloopfilterverticaledge_uv_neon.asm +++ b/vp8/common/arm/neon/mbloopfilterverticaledge_uv_neon.asm @@ -67,9 +67,10 @@ sub sp, sp, #32 vld1.s8 {d4[], d5[]}, [r12] ; thresh - vst1.u8 {q3}, [sp]! + mov r12, sp + vst1.u8 {q3}, [r12]! + vst1.u8 {q10}, [r12]! ldr r12, _mbvlfuv_coeff_ - vst1.u8 {q10}, [sp]! ; vp8_filter_mask vabd.u8 q11, q3, q4 ; abs(p3 - p2) @@ -165,8 +166,6 @@ vld1.u8 {d5}, [r12]! ;#27 - sub sp, sp, #32 - vqadd.s8 q6, q6, q13 ; ps0 = vp8_signed_char_clamp(ps0 + Filter2) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/vp8/common/arm/neon/mbloopfilterverticaledge_y_neon.asm b/vp8/common/arm/neon/mbloopfilterverticaledge_y_neon.asm index f51fd0bd4a01f36d8fde65c7374c9a65b1b56cb4..e0716625ce555b01137eb817b2337d2c989a6a63 100644 --- a/vp8/common/arm/neon/mbloopfilterverticaledge_y_neon.asm +++ b/vp8/common/arm/neon/mbloopfilterverticaledge_y_neon.asm @@ -63,11 +63,12 @@ vtrn.8 q7, q8 vtrn.8 q9, q10 - vld1.s8 {d2[], d3[]}, [r3] ; limit - vst1.u8 {q3}, [sp]! vld1.s8 {d4[], d5[]}, [r12] ; thresh + vld1.s8 {d2[], d3[]}, [r3] ; limit + mov r12, sp + vst1.u8 {q3}, [r12]! + vst1.u8 {q10}, [r12]! ldr r12, _mbvlfy_coeff_ - vst1.u8 {q10}, [sp]! ; vp8_filter_mask vabd.u8 q11, q3, q4 ; abs(p3 - p2) @@ -150,7 +151,6 @@ vld1.u8 {d6}, [r12]! ;#18 sub r0, r0, r1, lsl #4 - sub sp, sp, #32 add r2, r0, r1