Skip to content
Snippets Groups Projects
Commit a465076e authored by Timothy B. Terriberry's avatar Timothy B. Terriberry
Browse files

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
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment