diff options
Diffstat (limited to 'apps/codecs')
-rw-r--r-- | apps/codecs/demac/libdemac/predictor-arm.S | 8 | ||||
-rw-r--r-- | apps/codecs/lib/mdct_arm.S | 6 | ||||
-rw-r--r-- | apps/codecs/libatrac/atrac3_arm.S | 6 | ||||
-rw-r--r-- | apps/codecs/libffmpegFLAC/arm.S | 2 | ||||
-rw-r--r-- | apps/codecs/libmad/dct32_arm.S | 2 | ||||
-rw-r--r-- | apps/codecs/libmad/imdct_l_arm.S | 5 | ||||
-rw-r--r-- | apps/codecs/libmad/synth_full_arm.S | 9 | ||||
-rw-r--r-- | apps/codecs/libmusepack/synth_filter_arm.S | 6 | ||||
-rw-r--r-- | apps/codecs/libspeex/filters_arm4.S | 10 | ||||
-rw-r--r-- | apps/codecs/libtta/filter_arm.S | 4 | ||||
-rw-r--r-- | apps/codecs/libwavpack/arm.S | 5 | ||||
-rw-r--r-- | apps/codecs/libwavpack/arml.S | 4 |
12 files changed, 43 insertions, 24 deletions
diff --git a/apps/codecs/demac/libdemac/predictor-arm.S b/apps/codecs/demac/libdemac/predictor-arm.S index 1d5587661a..92a78ed9b4 100644 --- a/apps/codecs/demac/libdemac/predictor-arm.S +++ b/apps/codecs/demac/libdemac/predictor-arm.S | |||
@@ -505,7 +505,11 @@ loop: | |||
505 | done: | 505 | done: |
506 | str r14, [r12] @ Save value of p->buf | 506 | str r14, [r12] @ Save value of p->buf |
507 | add sp, sp, #12 @ Don't bother restoring r1-r3 | 507 | add sp, sp, #12 @ Don't bother restoring r1-r3 |
508 | #ifdef ROCKBOX | ||
509 | ldmpc regs=r4-r11 | ||
510 | #else | ||
508 | ldmia sp!, {r4 - r11, pc} | 511 | ldmia sp!, {r4 - r11, pc} |
512 | #endif | ||
509 | 513 | ||
510 | move_hist: | 514 | move_hist: |
511 | @ dest = r11 (p->historybuffer) | 515 | @ dest = r11 (p->historybuffer) |
@@ -664,7 +668,11 @@ loopm: | |||
664 | donem: | 668 | donem: |
665 | str r14, [r12] @ Save value of p->buf | 669 | str r14, [r12] @ Save value of p->buf |
666 | add sp, sp, #8 @ Don't bother restoring r1, r2 | 670 | add sp, sp, #8 @ Don't bother restoring r1, r2 |
671 | #ifdef ROCKBOX | ||
672 | ldmpc regs=r4-r11 | ||
673 | #else | ||
667 | ldmia sp!, {r4 - r11, pc} | 674 | ldmia sp!, {r4 - r11, pc} |
675 | #endif | ||
668 | 676 | ||
669 | move_histm: | 677 | move_histm: |
670 | @ dest = r11 (p->historybuffer) | 678 | @ dest = r11 (p->historybuffer) |
diff --git a/apps/codecs/lib/mdct_arm.S b/apps/codecs/lib/mdct_arm.S index f2fa1d9c3e..515b859b44 100644 --- a/apps/codecs/lib/mdct_arm.S +++ b/apps/codecs/lib/mdct_arm.S | |||
@@ -127,7 +127,7 @@ mdct_butterfly_16: | |||
127 | @ mdct_butterfly_8 increments r0 by another #8*4 here | 127 | @ mdct_butterfly_8 increments r0 by another #8*4 here |
128 | @ at end, r0 has been incremented by #16*4 | 128 | @ at end, r0 has been incremented by #16*4 |
129 | 129 | ||
130 | ldr pc, [sp], #4 | 130 | ldrpc |
131 | 131 | ||
132 | mdct_butterfly_32: | 132 | mdct_butterfly_32: |
133 | stmdb sp!, {r4-r11, lr} | 133 | stmdb sp!, {r4-r11, lr} |
@@ -257,7 +257,7 @@ mdct_butterfly_32: | |||
257 | @ and we wanted to advance by #16*4 anyway, so just call again | 257 | @ and we wanted to advance by #16*4 anyway, so just call again |
258 | bl mdct_butterfly_16 | 258 | bl mdct_butterfly_16 |
259 | 259 | ||
260 | ldmia sp!, {r4-r11, pc} | 260 | ldmpc regs=r4-r11 |
261 | 261 | ||
262 | @ mdct_butterfly_generic_loop(x1, x2, T0, step, Ttop) | 262 | @ mdct_butterfly_generic_loop(x1, x2, T0, step, Ttop) |
263 | mdct_butterfly_generic_loop: | 263 | mdct_butterfly_generic_loop: |
@@ -433,5 +433,5 @@ mdct_butterfly_generic_loop: | |||
433 | cmp r2, r4 | 433 | cmp r2, r4 |
434 | bhi 1b | 434 | bhi 1b |
435 | 435 | ||
436 | ldmia sp!, {r4-r11, pc} | 436 | ldmpc regs=r4-r11 |
437 | 437 | ||
diff --git a/apps/codecs/libatrac/atrac3_arm.S b/apps/codecs/libatrac/atrac3_arm.S index 0908d582ed..80eaa7954d 100644 --- a/apps/codecs/libatrac/atrac3_arm.S +++ b/apps/codecs/libatrac/atrac3_arm.S | |||
@@ -19,6 +19,8 @@ | |||
19 | * | 19 | * |
20 | ****************************************************************************/ | 20 | ****************************************************************************/ |
21 | 21 | ||
22 | #include "config.h" | ||
23 | |||
22 | .section .text, "ax", %progbits | 24 | .section .text, "ax", %progbits |
23 | 25 | ||
24 | /**************************************************************************** | 26 | /**************************************************************************** |
@@ -63,7 +65,7 @@ atrac3_iqmf_matrixing: | |||
63 | subs r3, r3, #4 /* counter -= 4 */ | 65 | subs r3, r3, #4 /* counter -= 4 */ |
64 | bgt .iqmf_matrixing_loop | 66 | bgt .iqmf_matrixing_loop |
65 | 67 | ||
66 | ldmfd sp!, {r4-r9, pc} /* restore registers */ | 68 | ldmpc regs=r4-r9 /* restore registers */ |
67 | 69 | ||
68 | .atrac3_iqmf_matrixing_end: | 70 | .atrac3_iqmf_matrixing_end: |
69 | .size atrac3_iqmf_matrixing,.atrac3_iqmf_matrixing_end-atrac3_iqmf_matrixing | 71 | .size atrac3_iqmf_matrixing,.atrac3_iqmf_matrixing_end-atrac3_iqmf_matrixing |
@@ -218,7 +220,7 @@ atrac3_iqmf_dewindowing: | |||
218 | subs r3, r3, #1 /* outer loop -= 1 */ | 220 | subs r3, r3, #1 /* outer loop -= 1 */ |
219 | bgt .iqmf_dewindow_outer_loop | 221 | bgt .iqmf_dewindow_outer_loop |
220 | 222 | ||
221 | ldmfd sp!, {r4-r9, pc} /* restore registers */ | 223 | ldmpc regs=r4-r9 /* restore registers */ |
222 | 224 | ||
223 | .atrac3_iqmf_dewindowing_end: | 225 | .atrac3_iqmf_dewindowing_end: |
224 | .size atrac3_iqmf_dewindowing,.atrac3_iqmf_dewindowing_end-atrac3_iqmf_dewindowing | 226 | .size atrac3_iqmf_dewindowing,.atrac3_iqmf_dewindowing_end-atrac3_iqmf_dewindowing |
diff --git a/apps/codecs/libffmpegFLAC/arm.S b/apps/codecs/libffmpegFLAC/arm.S index 2a2746eefa..8adca77ce5 100644 --- a/apps/codecs/libffmpegFLAC/arm.S +++ b/apps/codecs/libffmpegFLAC/arm.S | |||
@@ -267,5 +267,5 @@ lpc_decode_arm: | |||
267 | bne .default @ no, prepare for next sample | 267 | bne .default @ no, prepare for next sample |
268 | 268 | ||
269 | .exit: | 269 | .exit: |
270 | ldmia sp!, { r4-r11, pc } | 270 | ldmpc regs=r4-r11 |
271 | 271 | ||
diff --git a/apps/codecs/libmad/dct32_arm.S b/apps/codecs/libmad/dct32_arm.S index a4eda8a087..440841bb5e 100644 --- a/apps/codecs/libmad/dct32_arm.S +++ b/apps/codecs/libmad/dct32_arm.S | |||
@@ -220,7 +220,7 @@ dct32: | |||
220 | cmp r0, #9 | 220 | cmp r0, #9 |
221 | bne .l4 | 221 | bne .l4 |
222 | add sp, sp, #144 | 222 | add sp, sp, #144 |
223 | ldmia sp!, {r4-r11, pc} | 223 | ldmpc regs=r4-r11 |
224 | bitrev: | 224 | bitrev: |
225 | .word 0x0 | 225 | .word 0x0 |
226 | .word 0x2 | 226 | .word 0x2 |
diff --git a/apps/codecs/libmad/imdct_l_arm.S b/apps/codecs/libmad/imdct_l_arm.S index b86ba1120d..b511ff169d 100644 --- a/apps/codecs/libmad/imdct_l_arm.S +++ b/apps/codecs/libmad/imdct_l_arm.S | |||
@@ -45,6 +45,7 @@ | |||
45 | * | 45 | * |
46 | ****************************************************************************/ | 46 | ****************************************************************************/ |
47 | 47 | ||
48 | #include "config.h" | ||
48 | 49 | ||
49 | /* | 50 | /* |
50 | On entry: | 51 | On entry: |
@@ -823,7 +824,7 @@ normal_block_x18_to_x35: | |||
823 | @---- | 824 | @---- |
824 | 825 | ||
825 | add sp, sp, #(21*4) @ return stack frame | 826 | add sp, sp, #(21*4) @ return stack frame |
826 | ldmia sp!, { r4 - r11, pc } @ restore callee saved regs, and return | 827 | ldmpc regs=r4-r11 @ restore callee saved regs, and return |
827 | 828 | ||
828 | @---- | 829 | @---- |
829 | 830 | ||
@@ -992,7 +993,7 @@ start_block_x18_to_x35: | |||
992 | @---- | 993 | @---- |
993 | 994 | ||
994 | add sp, sp, #(21*4) @ return stack frame | 995 | add sp, sp, #(21*4) @ return stack frame |
995 | ldmia sp!, { r4 - r11, pc } @ restore callee saved regs, and return | 996 | ldmpc regs=r4-r11 @ restore callee saved regs, and return |
996 | 997 | ||
997 | @---- | 998 | @---- |
998 | @END | 999 | @END |
diff --git a/apps/codecs/libmad/synth_full_arm.S b/apps/codecs/libmad/synth_full_arm.S index e663b8ffcb..dec437f666 100644 --- a/apps/codecs/libmad/synth_full_arm.S +++ b/apps/codecs/libmad/synth_full_arm.S | |||
@@ -19,6 +19,7 @@ | |||
19 | * | 19 | * |
20 | ****************************************************************************/ | 20 | ****************************************************************************/ |
21 | 21 | ||
22 | #include "config.h" | ||
22 | #include "mad_iram.h" | 23 | #include "mad_iram.h" |
23 | 24 | ||
24 | .section ICODE_SECTION_MPA_ARM,"ax",%progbits | 25 | .section ICODE_SECTION_MPA_ARM,"ax",%progbits |
@@ -135,7 +136,7 @@ synth_full_odd_sbsample: | |||
135 | 136 | ||
136 | ldr r5, =synth_full_sp | 137 | ldr r5, =synth_full_sp |
137 | ldr sp, [r5] | 138 | ldr sp, [r5] |
138 | ldmia sp!, {r4-r11, pc} | 139 | ldmpc regs=r4-r11 |
139 | 140 | ||
140 | synth_full_even_sbsample: | 141 | synth_full_even_sbsample: |
141 | stmdb sp!, {r4-r11, lr} | 142 | stmdb sp!, {r4-r11, lr} |
@@ -241,7 +242,7 @@ synth_full_even_sbsample: | |||
241 | 242 | ||
242 | ldr r5, =synth_full_sp | 243 | ldr r5, =synth_full_sp |
243 | ldr sp, [r5] | 244 | ldr sp, [r5] |
244 | ldmia sp!, {r4-r11, pc} | 245 | ldmpc regs=r4-r11 |
245 | 246 | ||
246 | .global III_aliasreduce | 247 | .global III_aliasreduce |
247 | 248 | ||
@@ -289,7 +290,7 @@ III_aliasreduce: | |||
289 | add r0, r0, #72 | 290 | add r0, r0, #72 |
290 | cmp r0, r1 | 291 | cmp r0, r1 |
291 | blo .arl1 | 292 | blo .arl1 |
292 | ldmia sp!, {r4-r11, pc} | 293 | ldmpc regs=r4-r11 |
293 | 294 | ||
294 | csa: | 295 | csa: |
295 | .word +0x0db84a81 | 296 | .word +0x0db84a81 |
@@ -332,7 +333,7 @@ III_overlap: | |||
332 | stmia r1!, {r4, r5, r6, r7, r12, lr} | 333 | stmia r1!, {r4, r5, r6, r7, r12, lr} |
333 | ldmia r0!, {r4, r5, r6, r7, r12, lr} | 334 | ldmia r0!, {r4, r5, r6, r7, r12, lr} |
334 | stmia r1!, {r4, r5, r6, r7, r12, lr} | 335 | stmia r1!, {r4, r5, r6, r7, r12, lr} |
335 | ldmia sp!, {r4-r7, pc} | 336 | ldmpc regs=r4-r7 |
336 | 337 | ||
337 | .section IBSS_SECTION_MPA_ARM,"aw",%nobits | 338 | .section IBSS_SECTION_MPA_ARM,"aw",%nobits |
338 | synth_full_sp: | 339 | synth_full_sp: |
diff --git a/apps/codecs/libmusepack/synth_filter_arm.S b/apps/codecs/libmusepack/synth_filter_arm.S index 3f78469948..731a21ce21 100644 --- a/apps/codecs/libmusepack/synth_filter_arm.S +++ b/apps/codecs/libmusepack/synth_filter_arm.S | |||
@@ -19,6 +19,8 @@ | |||
19 | * | 19 | * |
20 | ****************************************************************************/ | 20 | ****************************************************************************/ |
21 | 21 | ||
22 | #include "config.h" | ||
23 | |||
22 | .section .text, "ax", %progbits | 24 | .section .text, "ax", %progbits |
23 | 25 | ||
24 | /**************************************************************************** | 26 | /**************************************************************************** |
@@ -89,7 +91,7 @@ mpc_decoder_windowing_D: | |||
89 | subs lr, lr, #1 | 91 | subs lr, lr, #1 |
90 | bgt .loop32 | 92 | bgt .loop32 |
91 | 93 | ||
92 | ldmfd sp!, {r4-r8, pc} | 94 | ldmpc regs=r4-r8 |
93 | #else | 95 | #else |
94 | mpc_decoder_windowing_D: | 96 | mpc_decoder_windowing_D: |
95 | /* r0 = Data[] */ | 97 | /* r0 = Data[] */ |
@@ -287,7 +289,7 @@ mpc_decoder_windowing_D: | |||
287 | str r8, [r0], #4 /* store Data */ | 289 | str r8, [r0], #4 /* store Data */ |
288 | add r1, r1, #4 /* V++ */ | 290 | add r1, r1, #4 /* V++ */ |
289 | 291 | ||
290 | ldmfd sp!, {r4-r11, pc} | 292 | ldmpc regs=r4-r11 |
291 | #endif | 293 | #endif |
292 | .mpc_dewindowing_end: | 294 | .mpc_dewindowing_end: |
293 | .size mpc_decoder_windowing_D,.mpc_dewindowing_end-mpc_decoder_windowing_D | 295 | .size mpc_decoder_windowing_D,.mpc_dewindowing_end-mpc_decoder_windowing_D |
diff --git a/apps/codecs/libspeex/filters_arm4.S b/apps/codecs/libspeex/filters_arm4.S index 109556fa92..dcd1691982 100644 --- a/apps/codecs/libspeex/filters_arm4.S +++ b/apps/codecs/libspeex/filters_arm4.S | |||
@@ -49,7 +49,7 @@ iir_mem16: | |||
49 | beq .order_10 | 49 | beq .order_10 |
50 | cmp r5, #8 | 50 | cmp r5, #8 |
51 | beq .order_8 | 51 | beq .order_8 |
52 | ldmia sp!, { r4-r11, pc } @ Non-supported order, return | 52 | ldmpc regs=r4-r11 @ Non-supported order, return |
53 | 53 | ||
54 | @ TODO: try using direct form 1 filtering | 54 | @ TODO: try using direct form 1 filtering |
55 | .order_8: | 55 | .order_8: |
@@ -94,7 +94,7 @@ iir_mem16: | |||
94 | bne 0b | 94 | bne 0b |
95 | ldr r4, [sp, #40] @ r4 = mem | 95 | ldr r4, [sp, #40] @ r4 = mem |
96 | stmia r4, { r5-r12 } @ Save back mem[] | 96 | stmia r4, { r5-r12 } @ Save back mem[] |
97 | ldmia sp!, { r4-r11, pc } @ Exit | 97 | ldmpc regs=r4-r11 @ Exit |
98 | 98 | ||
99 | .order_10: | 99 | .order_10: |
100 | ldmia r4, { r5-r9 } @ r5-r9 = mem[0..4] | 100 | ldmia r4, { r5-r9 } @ r5-r9 = mem[0..4] |
@@ -154,7 +154,7 @@ iir_mem16: | |||
154 | sub r1, r1, #10*2 | 154 | sub r1, r1, #10*2 |
155 | subs r3, r3, #1 | 155 | subs r3, r3, #1 |
156 | bne .order_10 | 156 | bne .order_10 |
157 | ldmia sp!, { r4-r11, pc } @ Exit | 157 | ldmpc regs=r4-r11 @ Exit |
158 | 158 | ||
159 | 159 | ||
160 | /* void qmf_synth(const spx_word16_t *x1, const spx_word16_t *x2, const spx_word16_t *a, spx_word16_t *y, int N, int M, spx_word32_t *mem1, spx_word32_t *mem2, char *stack) */ | 160 | /* void qmf_synth(const spx_word16_t *x1, const spx_word16_t *x2, const spx_word16_t *a, spx_word16_t *y, int N, int M, spx_word32_t *mem1, spx_word32_t *mem2, char *stack) */ |
@@ -300,7 +300,7 @@ qmf_synth: | |||
300 | strh r8, [r6], #4 | 300 | strh r8, [r6], #4 |
301 | subs r4, r4, #4 | 301 | subs r4, r4, #4 |
302 | bne 0b | 302 | bne 0b |
303 | ldmia sp!, { r4-r11, pc } @ Exit | 303 | ldmpc regs=r4-r11 @ Exit |
304 | 304 | ||
305 | 305 | ||
306 | /* void signal_mul(const spx_sig_t *x, spx_sig_t *y, spx_word32_t scale, int len) */ | 306 | /* void signal_mul(const spx_sig_t *x, spx_sig_t *y, spx_word32_t scale, int len) */ |
@@ -325,5 +325,5 @@ signal_mul: | |||
325 | subs r3, r3, #4 @ Are we done? | 325 | subs r3, r3, #4 @ Are we done? |
326 | bne 0b | 326 | bne 0b |
327 | 327 | ||
328 | ldmia sp!, { r4-r8, pc } @ Exit | 328 | ldmpc regs=r4-r8 @ Exit |
329 | 329 | ||
diff --git a/apps/codecs/libtta/filter_arm.S b/apps/codecs/libtta/filter_arm.S index d34b182a04..f3959b83ca 100644 --- a/apps/codecs/libtta/filter_arm.S +++ b/apps/codecs/libtta/filter_arm.S | |||
@@ -167,7 +167,7 @@ hybrid_filter: | |||
167 | @ set to the memory: *pA, *(pA-1), *(pA-2), *(pA-3), *pM, *(pM-1), *(pM-2), *(pM-3) | 167 | @ set to the memory: *pA, *(pA-1), *(pA-2), *(pA-3), *pM, *(pM-1), *(pM-2), *(pM-3) |
168 | stmneda r2, {r10, r11, r12, lr} | 168 | stmneda r2, {r10, r11, r12, lr} |
169 | stmneda r3, {r5, r6, r7, r8} | 169 | stmneda r3, {r5, r6, r7, r8} |
170 | ldmnefd sp!, {r4-r12, pc} @ hybrid_filter end (when fs->index != 0) | 170 | ldmpc cond=ne regs=r4-r12 @ hybrid_filter end (when fs->index != 0) |
171 | 171 | ||
172 | .hf_memshl: | 172 | .hf_memshl: |
173 | @ memshl (fs->dl) | 173 | @ memshl (fs->dl) |
@@ -192,7 +192,7 @@ hybrid_filter: | |||
192 | ldmia r9, {r1, r2, r3, r4} | 192 | ldmia r9, {r1, r2, r3, r4} |
193 | sub r9, r9, #64 @ r9 = fs->dx | 193 | sub r9, r9, #64 @ r9 = fs->dx |
194 | stmia r9, {r1 - r8} | 194 | stmia r9, {r1 - r8} |
195 | ldmfd sp!, {r4 - r12, pc} @ hybrid_filter end (when fs->index == 0) | 195 | ldmpc regs=r4-r12 @ hybrid_filter end (when fs->index == 0) |
196 | 196 | ||
197 | hybrid_filter_end: | 197 | hybrid_filter_end: |
198 | .size hybrid_filter, hybrid_filter_end - hybrid_filter | 198 | .size hybrid_filter, hybrid_filter_end - hybrid_filter |
diff --git a/apps/codecs/libwavpack/arm.S b/apps/codecs/libwavpack/arm.S index 90dfd46c6e..32de1df7de 100644 --- a/apps/codecs/libwavpack/arm.S +++ b/apps/codecs/libwavpack/arm.S | |||
@@ -35,6 +35,9 @@ | |||
35 | * 32-bit multiply-accumulate instruction and so will overflow with 24-bit | 35 | * 32-bit multiply-accumulate instruction and so will overflow with 24-bit |
36 | * WavPack files. | 36 | * WavPack files. |
37 | */ | 37 | */ |
38 | |||
39 | #include "config.h" | ||
40 | |||
38 | .text | 41 | .text |
39 | .align | 42 | .align |
40 | .global decorr_stereo_pass_cont_arm | 43 | .global decorr_stereo_pass_cont_arm |
@@ -470,5 +473,5 @@ term_minus_3_loop: | |||
470 | common_exit: | 473 | common_exit: |
471 | strh r4, [r5, #4] | 474 | strh r4, [r5, #4] |
472 | strh r0, [r5, #6] | 475 | strh r0, [r5, #6] |
473 | ldmfd sp!, {r4 - r8, r10, r11, pc} | 476 | ldmpc regs="r4-r8, r10-r11" |
474 | 477 | ||
diff --git a/apps/codecs/libwavpack/arml.S b/apps/codecs/libwavpack/arml.S index 5745c81ed0..60818aa1e6 100644 --- a/apps/codecs/libwavpack/arml.S +++ b/apps/codecs/libwavpack/arml.S | |||
@@ -38,6 +38,8 @@ | |||
38 | * instruction. | 38 | * instruction. |
39 | */ | 39 | */ |
40 | 40 | ||
41 | #include "config.h" | ||
42 | |||
41 | .text | 43 | .text |
42 | .align | 44 | .align |
43 | .global decorr_stereo_pass_cont_arml | 45 | .global decorr_stereo_pass_cont_arml |
@@ -500,5 +502,5 @@ common_exit: | |||
500 | mov r4, r4, asr #18 | 502 | mov r4, r4, asr #18 |
501 | strh r4, [r5, #4] | 503 | strh r4, [r5, #4] |
502 | strh r0, [r5, #6] | 504 | strh r0, [r5, #6] |
503 | ldmfd sp!, {r4 - r8, r10, r11, pc} | 505 | ldmpc regs="r4-r8, r10-r11" |
504 | 506 | ||