diff options
author | Jens Arnold <amiconn@rockbox.org> | 2009-07-12 13:14:35 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2009-07-12 13:14:35 +0000 |
commit | 02c031709c931da6f1ee9db0c6aadda2b37ae0aa (patch) | |
tree | 8bbe5490c0a5fe3c40b18d599e36103ac3eb72fa /apps/codecs/libmad/synth_full_arm.S | |
parent | e12c1c0a62a9ffd3456146f16a497ee3e9d5e089 (diff) | |
download | rockbox-02c031709c931da6f1ee9db0c6aadda2b37ae0aa.tar.gz rockbox-02c031709c931da6f1ee9db0c6aadda2b37ae0aa.zip |
* ARM asm DSP and codec/plugin functions: Use r12 scratch register properly
* Fix saving another unused reg in dsp code
* Use less regs in the generic ARM mpegplayer adding idct pure DC case
* Fix ARMv6 mpegplayer adding idct using an unsaved register in pure DC case
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21803 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libmad/synth_full_arm.S')
-rw-r--r-- | apps/codecs/libmad/synth_full_arm.S | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/apps/codecs/libmad/synth_full_arm.S b/apps/codecs/libmad/synth_full_arm.S index 99a223e784..419bf2b96e 100644 --- a/apps/codecs/libmad/synth_full_arm.S +++ b/apps/codecs/libmad/synth_full_arm.S | |||
@@ -32,8 +32,8 @@ | |||
32 | ;; r3 = D0ptr | 32 | ;; r3 = D0ptr |
33 | ;; r4 = D1ptr | 33 | ;; r4 = D1ptr |
34 | synth_full1: | 34 | synth_full1: |
35 | stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, r12, lr} | 35 | stmdb sp!, {r4-r11, lr} |
36 | ldr r4, [sp, #40] | 36 | ldr r4, [sp, #36] |
37 | ldr r5, =synth_full_sp | 37 | ldr r5, =synth_full_sp |
38 | str sp, [r5] | 38 | str sp, [r5] |
39 | mov r5, #15 | 39 | mov r5, #15 |
@@ -135,11 +135,11 @@ synth_full1: | |||
135 | 135 | ||
136 | ldr r5, =synth_full_sp | 136 | ldr r5, =synth_full_sp |
137 | ldr sp, [r5] | 137 | ldr sp, [r5] |
138 | ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, r12, pc} | 138 | ldmia sp!, {r4-r11, pc} |
139 | 139 | ||
140 | synth_full2: | 140 | synth_full2: |
141 | stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, r12, lr} | 141 | stmdb sp!, {r4-r11, lr} |
142 | ldr r4, [sp, #40] | 142 | ldr r4, [sp, #36] |
143 | ldr r5, =synth_full_sp | 143 | ldr r5, =synth_full_sp |
144 | str sp, [r5] | 144 | str sp, [r5] |
145 | mov r5, #15 | 145 | mov r5, #15 |
@@ -241,12 +241,12 @@ synth_full2: | |||
241 | 241 | ||
242 | ldr r5, =synth_full_sp | 242 | ldr r5, =synth_full_sp |
243 | ldr sp, [r5] | 243 | ldr sp, [r5] |
244 | ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, r12, pc} | 244 | ldmia sp!, {r4-r11, pc} |
245 | 245 | ||
246 | .global III_aliasreduce | 246 | .global III_aliasreduce |
247 | 247 | ||
248 | III_aliasreduce: | 248 | III_aliasreduce: |
249 | stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, r12, lr} | 249 | stmdb sp!, {r4-r11, lr} |
250 | add r1, r0, r1, lsl #2 | 250 | add r1, r0, r1, lsl #2 |
251 | add r0, r0, #72 | 251 | add r0, r0, #72 |
252 | .arl1: | 252 | .arl1: |
@@ -289,7 +289,7 @@ III_aliasreduce: | |||
289 | add r0, r0, #72 | 289 | add r0, r0, #72 |
290 | cmp r0, r1 | 290 | cmp r0, r1 |
291 | blo .arl1 | 291 | blo .arl1 |
292 | ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, r12, pc} | 292 | ldmia sp!, {r4-r11, pc} |
293 | 293 | ||
294 | csa: | 294 | csa: |
295 | .word +0x0db84a81 | 295 | .word +0x0db84a81 |
@@ -311,14 +311,14 @@ csa: | |||
311 | 311 | ||
312 | .global III_overlap | 312 | .global III_overlap |
313 | III_overlap: | 313 | III_overlap: |
314 | stmdb sp!, {r4, r5, r6, r7, r8, lr} | 314 | stmdb sp!, {r4-r7, lr} |
315 | add r2, r2, r3, lsl #2 | 315 | add r2, r2, r3, lsl #2 |
316 | mov r3, #6 | 316 | mov r3, #6 |
317 | .ol: | 317 | .ol: |
318 | ldmia r0!, {r4, r5, r6} | 318 | ldmia r0!, {r4, r5, r6} |
319 | ldmia r1!, {r7, r8, lr} | 319 | ldmia r1!, {r7, r12, lr} |
320 | add r4, r4, r7 | 320 | add r4, r4, r7 |
321 | add r5, r5, r8 | 321 | add r5, r5, r12 |
322 | add r6, r6, lr | 322 | add r6, r6, lr |
323 | str r4, [r2], #128 | 323 | str r4, [r2], #128 |
324 | str r5, [r2], #128 | 324 | str r5, [r2], #128 |
@@ -326,13 +326,13 @@ III_overlap: | |||
326 | subs r3, r3, #1 | 326 | subs r3, r3, #1 |
327 | bne .ol | 327 | bne .ol |
328 | sub r1, r1, #72 | 328 | sub r1, r1, #72 |
329 | ldmia r0!, {r4, r5, r6, r7, r8, lr} | 329 | ldmia r0!, {r4, r5, r6, r7, r12, lr} |
330 | stmia r1!, {r4, r5, r6, r7, r8, lr} | 330 | stmia r1!, {r4, r5, r6, r7, r12, lr} |
331 | ldmia r0!, {r4, r5, r6, r7, r8, lr} | 331 | ldmia r0!, {r4, r5, r6, r7, r12, lr} |
332 | stmia r1!, {r4, r5, r6, r7, r8, lr} | 332 | stmia r1!, {r4, r5, r6, r7, r12, lr} |
333 | ldmia r0!, {r4, r5, r6, r7, r8, lr} | 333 | ldmia r0!, {r4, r5, r6, r7, r12, lr} |
334 | stmia r1!, {r4, r5, r6, r7, r8, lr} | 334 | stmia r1!, {r4, r5, r6, r7, r12, lr} |
335 | ldmia sp!, {r4, r5, r6, r7, r8, pc} | 335 | ldmia sp!, {r4-r7, pc} |
336 | 336 | ||
337 | .section IBSS_SECTION_MPA_ARM,"aw",%nobits | 337 | .section IBSS_SECTION_MPA_ARM,"aw",%nobits |
338 | synth_full_sp: | 338 | synth_full_sp: |