xref: /aosp_15_r20/external/libxaac/decoder/armv7/ixheaacd_shiftrountine_with_round_hq.s (revision 15dc779a375ca8b5125643b829a8aa4b70d7f451)
1        .code 32
2       .eabi_attribute 24, 1            @Tag_ABI_align_needed
3       .eabi_attribute 25, 1            @Tag_ABI_align_preserved
4.text
5.p2align 2
6    .global ixheaacd_shiftrountine_with_rnd_hq
7    .type ixheaacd_shiftrountine_with_rnd_hq, %function
8ixheaacd_shiftrountine_with_rnd_hq:
9
10    STMFD           sp!, {r4-r12, r14}
11    ADD             r12, r2, r3, LSL #2
12    MOV             r9, #0x8000
13    SUBS            r3, r3, #1
14    BMI             S_WITH_R_L6
15
16S_WITH_R_L5:
17    LDR             r5, [r1, r3, LSL #2]
18    LDR             r7, [r0, r3, LSL #2]
19    LDR             r14, [r0], #4
20    LDR             r10, [r1], #4
21
22    ADD             r6, r5, r7
23    SUB             r5, r5, r7
24    ADD             r7, r10, r14
25    SUB             r4, r10, r14
26
27
28
29
30
31
32
33
34
35
36
37    MOVS            r10, r4, ASR #0x19
38    CMNLT           r10, #1
39
40    MOVLT           r4, #0x80000000
41    MVNGT           r4, #0x80000000
42    MOVEQ           r4, r4, LSL #6
43
44    MOVS            r10, r5, ASR #0x19
45    CMNLT           r10, #1
46    MOVLT           r5, #0x80000000
47    MVNGT           r5, #0x80000000
48    MOVEQ           r5, r5, LSL #6
49    MOV             r14, r3, lsl #2
50
51
52    MOVS            r10, r6, ASR #0x19
53    CMNLT           r10, #1
54    MOVLT           r6, #0x80000000
55
56    STR             r5, [r2, r14]
57    MVNGT           r6, #0x80000000
58    MOVEQ           r6, r6, LSL #6
59
60    MOVS            r10, r7, ASR #0x19
61    CMNLT           r10, #1
62
63    MOVLT           r7, #0x80000000
64    MVNGT           r7, #0x80000000
65    MOVEQ           r7, r7, LSL #6
66
67    STR             r4, [r2], #4
68
69
70
71    STR             r7, [r12, r14]
72    SUBS            r3, r3, #2
73    STR             r6, [r12], #4
74    BGE             S_WITH_R_L5
75S_WITH_R_L6:
76    LDMFD           sp!, {r4-r12, r15}
77