| @ r1: srcL | @ r1: srcL | ||||
| @ r2: srcR | @ r2: srcR | ||||
| push {r4-r12,r14} | |||||
| push {r4-r11,r14} | |||||
| add r14,r0,#256 // TODO: 256 = AUDIO_BLOCK_SAMPLES*2 | add r14,r0,#256 // TODO: 256 = AUDIO_BLOCK_SAMPLES*2 | ||||
| .align 2 | .align 2 | ||||
| .loopLR: | .loopLR: | ||||
| cmp r14, r0 | cmp r14, r0 | ||||
| bne .loopLR | bne .loopLR | ||||
| pop {r4-r12,r14} | |||||
| pop {r4-r11,r14} | |||||
| BX lr | BX lr | ||||
| @ r0: dst | @ r0: dst | ||||
| @ r1: srcL | @ r1: srcL | ||||
| push {r4-r12} | |||||
| push {r4-r11} | |||||
| mov r2, #0 | mov r2, #0 | ||||
| add r12,r0,#256 // TODO: 256 = AUDIO_BLOCK_SAMPLES*2 | add r12,r0,#256 // TODO: 256 = AUDIO_BLOCK_SAMPLES*2 | ||||
| .align 2 | .align 2 | ||||
| cmp r12, r0 | cmp r12, r0 | ||||
| bne .loopL | bne .loopL | ||||
| pop {r4-r12} | |||||
| pop {r4-r11} | |||||
| BX lr | BX lr | ||||
| /* void memcpy_tointerleaveL(short *dst, short *srcR); */ | /* void memcpy_tointerleaveL(short *dst, short *srcR); */ | ||||
| @ r0: dst | @ r0: dst | ||||
| @ r1: srcR | @ r1: srcR | ||||
| push {r4-r12} | |||||
| push {r4-r11} | |||||
| mov r2, #0 | mov r2, #0 | ||||
| add r12,r0,#256 // TODO: 256 = AUDIO_BLOCK_SAMPLES*2 | add r12,r0,#256 // TODO: 256 = AUDIO_BLOCK_SAMPLES*2 | ||||
| .align 2 | .align 2 | ||||
| cmp r12, r0 | cmp r12, r0 | ||||
| bne .loopR | bne .loopR | ||||
| pop {r4-r12} | |||||
| pop {r4-r11} | |||||
| BX lr | BX lr | ||||