summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2010-04-11 19:08:44 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2010-04-11 19:08:44 +0000
commit6999e5debef57f89439da3a42d7b5b7e89d559b5 (patch)
treeafeb9ab4ec621b33805367a5b295cb4e7f965df7
parentefb702dc9b84242da815e303590dfc16020fe0d3 (diff)
downloadrockbox-6999e5debef57f89439da3a42d7b5b7e89d559b5.tar.gz
rockbox-6999e5debef57f89439da3a42d7b5b7e89d559b5.zip
Use r12 to save 1 register.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25597 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/dsp_arm.S20
1 files changed, 10 insertions, 10 deletions
diff --git a/apps/dsp_arm.S b/apps/dsp_arm.S
index 75e28e21e9..b90e632782 100644
--- a/apps/dsp_arm.S
+++ b/apps/dsp_arm.S
@@ -393,30 +393,30 @@ dsp_upsample:
393 .type dsp_apply_gain, %function 393 .type dsp_apply_gain, %function
394dsp_apply_gain: 394dsp_apply_gain:
395 @ input: r0 = count, r1 = data, r2 = buf[] 395 @ input: r0 = count, r1 = data, r2 = buf[]
396 stmfd sp!, {r4-r8, lr} 396 stmfd sp!, {r4-r7, lr}
397 397
398 ldr r3, [r1, #4] @ r3 = data->num_channels 398 ldr r3, [r1, #4] @ r3 = data->num_channels
399 ldr r4, [r1, #32] @ r5 = data->gain 399 ldr r4, [r1, #32] @ r5 = data->gain
400 400
401.dag_outerloop: 401.dag_outerloop:
402 ldr r1, [r2], #4 @ r1 = buf[0] and increment index of buf[] 402 ldr r1, [r2], #4 @ r1 = buf[0] and increment index of buf[]
403 mov lr, r0 @ lr = r0 = count 403 mov r12, r0 @ r12 = r0 = count
404 404
405.dag_innerloop: 405.dag_innerloop:
406 ldmia r1, {r5, r6} @ load r5, r6 from r1 406 ldmia r1, {r5, r6} @ load r5, r6 from r1
407 smull r7, r8, r5, r4 @ r5 = FRACMUL_SHL(r5, r4, 8) 407 smull r7, lr, r5, r4 @ r5 = FRACMUL_SHL(r5, r4, 8)
408 mov r8, r8, asl #9 408 mov lr, lr, asl #9
409 orr r5, r8, r7, lsr #23 409 orr r5, lr, r7, lsr #23
410 smull r7, r8, r6, r4 @ r6 = FRACMUL_SHL(r6, r4, 8) 410 smull r7, lr, r6, r4 @ r6 = FRACMUL_SHL(r6, r4, 8)
411 mov r8, r8, asl #9 411 mov lr, lr, asl #9
412 orr r6, r8, r7, lsr #23 412 orr r6, lr, r7, lsr #23
413 stmia r1!, {r5, r6} @ save r5, r6 to r1 and increment r1 413 stmia r1!, {r5, r6} @ save r5, r6 to r1 and increment r1
414 subs lr, lr, #2 414 subs r12, r12, #2
415 bgt .dag_innerloop @ end of inner loop 415 bgt .dag_innerloop @ end of inner loop
416 416
417 subs r3, r3, #1 417 subs r3, r3, #1
418 bgt .dag_outerloop @ end of outer loop 418 bgt .dag_outerloop @ end of outer loop
419 419
420 ldmfd sp!, {r4-r8, pc} 420 ldmfd sp!, {r4-r7, pc}
421.dagend: 421.dagend:
422 .size dsp_apply_gain,.dagend-dsp_apply_gain 422 .size dsp_apply_gain,.dagend-dsp_apply_gain