summaryrefslogtreecommitdiff
path: root/apps/dsp_arm.S
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 /apps/dsp_arm.S
parentefb702dc9b84242da815e303590dfc16020fe0d3 (diff)
Use r12 to save 1 register.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25597 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/dsp_arm.S')
-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:
.type dsp_apply_gain, %function
dsp_apply_gain:
@ input: r0 = count, r1 = data, r2 = buf[]
- stmfd sp!, {r4-r8, lr}
+ stmfd sp!, {r4-r7, lr}
ldr r3, [r1, #4] @ r3 = data->num_channels
ldr r4, [r1, #32] @ r5 = data->gain
.dag_outerloop:
ldr r1, [r2], #4 @ r1 = buf[0] and increment index of buf[]
- mov lr, r0 @ lr = r0 = count
+ mov r12, r0 @ r12 = r0 = count
.dag_innerloop:
ldmia r1, {r5, r6} @ load r5, r6 from r1
- smull r7, r8, r5, r4 @ r5 = FRACMUL_SHL(r5, r4, 8)
- mov r8, r8, asl #9
- orr r5, r8, r7, lsr #23
- smull r7, r8, r6, r4 @ r6 = FRACMUL_SHL(r6, r4, 8)
- mov r8, r8, asl #9
- orr r6, r8, r7, lsr #23
+ smull r7, lr, r5, r4 @ r5 = FRACMUL_SHL(r5, r4, 8)
+ mov lr, lr, asl #9
+ orr r5, lr, r7, lsr #23
+ smull r7, lr, r6, r4 @ r6 = FRACMUL_SHL(r6, r4, 8)
+ mov lr, lr, asl #9
+ orr r6, lr, r7, lsr #23
stmia r1!, {r5, r6} @ save r5, r6 to r1 and increment r1
- subs lr, lr, #2
+ subs r12, r12, #2
bgt .dag_innerloop @ end of inner loop
subs r3, r3, #1
bgt .dag_outerloop @ end of outer loop
- ldmfd sp!, {r4-r8, pc}
+ ldmfd sp!, {r4-r7, pc}
.dagend:
.size dsp_apply_gain,.dagend-dsp_apply_gain