1.text 2.p2align 2 3.global ia_aac_ld_dec_rearrange_armv7 4 5ia_aac_ld_dec_rearrange_armv7: 6 STMFD r13!, {r4 - r12, r14} 7 @ASR r2,r2,#3 @ 8 MOV R2, R2, ASR #3 9 10 11LOOP_REARRANGE: 12 LDRB r4, [r3], #1 @ idx = mdct_tables_ptr->re_arr_tab[n] 13 LDRB r5, [r3], #1 @ idx = mdct_tables_ptr->re_arr_tab[n] 14 LDRB r6, [r3], #1 @ idx = mdct_tables_ptr->re_arr_tab[n] 15 LDRB r7, [r3], #1 @ idx = mdct_tables_ptr->re_arr_tab[n] 16 LDRB r8, [r3], #1 @ idx = mdct_tables_ptr->re_arr_tab[n] 17 LDRB r9, [r3], #1 @ idx = mdct_tables_ptr->re_arr_tab[n] 18 LDRB r10, [r3], #1 @ idx = mdct_tables_ptr->re_arr_tab[n] 19 LDRB r11, [r3], #1 @ idx = mdct_tables_ptr->re_arr_tab[n] 20 ADD r4, r0, r4, lsl #3 21 ADD r5, r0, r5, lsl #3 22 ADD r6, r0, r6, lsl #3 23 ADD r7, r0, r7, lsl #3 24 ADD r8, r0, r8, lsl #3 25 ADD r9, r0, r9, lsl #3 26 ADD r10, r0, r10, lsl #3 27 ADD r11, r0, r11, lsl #3 28 LDMIA r4, {r12, r14} @ r12 = inp[idx] and r14 = inp[idx+1] 29 STMIA r1!, {r12, r14} @ *buf1++ = inp[idx] and *buf1++ = inp[idx+1] 30 LDMIA r5, {r12, r14} @ r12 = inp[idx] and r14 = inp[idx+1] 31 STMIA r1!, {r12, r14} @ *buf1++ = inp[idx] and *buf1++ = inp[idx+1] 32 LDMIA r6, {r12, r14} @ r12 = inp[idx] and r14 = inp[idx+1] 33 STMIA r1!, {r12, r14} @ *buf1++ = inp[idx] and *buf1++ = inp[idx+1] 34 LDMIA r7, {r12, r14} @ r12 = inp[idx] and r14 = inp[idx+1] 35 STMIA r1!, {r12, r14} @ *buf1++ = inp[idx] and *buf1++ = inp[idx+1] 36 LDMIA r8, {r12, r14} @ r12 = inp[idx] and r14 = inp[idx+1] 37 STMIA r1!, {r12, r14} @ *buf1++ = inp[idx] and *buf1++ = inp[idx+1] 38 LDMIA r9, {r12, r14} @ r12 = inp[idx] and r14 = inp[idx+1] 39 STMIA r1!, {r12, r14} @ *buf1++ = inp[idx] and *buf1++ = inp[idx+1] 40 LDMIA r10, {r12, r14} @ r12 = inp[idx] and r14 = inp[idx+1] 41 STMIA r1!, {r12, r14} @ *buf1++ = inp[idx] and *buf1++ = inp[idx+1] 42 LDMIA r11, {r12, r14} @ r12 = inp[idx] and r14 = inp[idx+1] 43 STMIA r1!, {r12, r14} @ *buf1++ = inp[idx] and *buf1++ = inp[idx+1] 44 45 SUBS r2, r2, #1 46 BGT LOOP_REARRANGE 47 48 LDMFD r13!, {r4 - r12, r15} 49 50 51