Commit a465076e authored by Timothy B. Terriberry's avatar Timothy B. Terriberry

Fix valgrind errors in the NEON loop filters.

Like the ARMv6 code, these functions were accessing values below
 the stack pointer, which can be corrupted by signal delivery at
 any time.
parent 439b2ecd
......@@ -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)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
......
......@@ -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
......
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