summaryrefslogtreecommitdiff
path: root/apps/codecs/libspeex/filters_arm4.S
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libspeex/filters_arm4.S')
-rw-r--r--apps/codecs/libspeex/filters_arm4.S15
1 files changed, 7 insertions, 8 deletions
diff --git a/apps/codecs/libspeex/filters_arm4.S b/apps/codecs/libspeex/filters_arm4.S
index dcd1691982..e652ede554 100644
--- a/apps/codecs/libspeex/filters_arm4.S
+++ b/apps/codecs/libspeex/filters_arm4.S
@@ -206,11 +206,9 @@ qmf_synth:
206 206
207 sub r0, r8, r5 @ r0 = &xx1[N2] 207 sub r0, r8, r5 @ r0 = &xx1[N2]
208 sub r1, r9, r5 @ r1 = &xx2[N2] 208 sub r1, r9, r5 @ r1 = &xx2[N2]
209 str r4, [sp, #-4] @ Stack N 209 str r4, [sp, #-4]! @ Stack N
210 mov r4, r5 210 mov r4, r5
211 str r4, [sp, #-8] @ Stack M 211 str r4, [sp, #-4]! @ Stack M
212 @ sp doesn't point to the end of the stack frame from here on, but we're not
213 @ calling anything so it shouldn't matter
214 @ Main loop, register usage: 212 @ Main loop, register usage:
215 @ r0 = xx1, r1 = xx2, r2 = a, r3 = y, r4 = M, r5 = x10, r6 = x11, r7 = x20 213 @ r0 = xx1, r1 = xx2, r2 = a, r3 = y, r4 = M, r5 = x10, r6 = x11, r7 = x20
216 @ r8 = x21, r9 = [a1, a0], r10 = acc0, r11 = acc1, r12 = acc2, r14 = acc3 214 @ r8 = x21, r9 = [a1, a0], r10 = acc0, r11 = acc1, r12 = acc2, r14 = acc3
@@ -251,7 +249,7 @@ qmf_synth:
251 subs r4, r4, #4 249 subs r4, r4, #4
252 bne 1b 250 bne 1b
253 251
254 ldr r4, [sp, #-8] @ r4 = M 252 ldr r4, [sp] @ r4 = M
255 sub r2, r2, r4, lsl #1 @ r2 = &a[0] 253 sub r2, r2, r4, lsl #1 @ r2 = &a[0]
256 sub r0, r0, r4 @ r0 = &xx1[N2 - 2 - i] 254 sub r0, r0, r4 @ r0 = &xx1[N2 - 2 - i]
257 sub r1, r1, r4 @ r1 = &xx2[N2 - 2 - i] 255 sub r1, r1, r4 @ r1 = &xx2[N2 - 2 - i]
@@ -281,13 +279,14 @@ qmf_synth:
281 strh r11, [r3], #2 279 strh r11, [r3], #2
282 strh r12, [r3], #2 280 strh r12, [r3], #2
283 strh r14, [r3], #2 281 strh r14, [r3], #2
284 ldr r10, [sp, #-4] @ Load N 282 ldr r10, [sp, #4] @ Load N
285 subs r10, r10, #4 @ Are we done? 283 subs r10, r10, #4 @ Are we done?
286 strne r10, [sp, #-4] 284 strne r10, [sp, #4] @ no ->
287 bne 0b 285 bne 0b @ do outer loop
288 286
289 @ Copy start of xx1 and xx2 back to alternate mem1 and mem2 entries 287 @ Copy start of xx1 and xx2 back to alternate mem1 and mem2 entries
290 @ r0 and r1 are &xx1[0] and &xx2[0] at this point 288 @ r0 and r1 are &xx1[0] and &xx2[0] at this point
289 add sp, sp, #8
291 ldmia sp, { r5-r6, sp } @ Fetch &mem1[1], &mem2[1], restore sp 290 ldmia sp, { r5-r6, sp } @ Fetch &mem1[1], &mem2[1], restore sp
2920: 2910:
293 ldr r7, [r0], #4 292 ldr r7, [r0], #4