diff options
Diffstat (limited to 'apps/dsp_arm.S')
-rw-r--r-- | apps/dsp_arm.S | 20 |
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 |
394 | dsp_apply_gain: | 394 | dsp_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 |