• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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