1d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ ------------------------------------------------------------------
2d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ Copyright (C) 1998-2009 PacketVideo
3d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@
4d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ Licensed under the Apache License, Version 2.0 (the "License");
5d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ you may not use this file except in compliance with the License.
6d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ You may obtain a copy of the License at
7d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@
8d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@      http://www.apache.org/licenses/LICENSE-2.0
9d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@
10d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ Unless required by applicable law or agreed to in writing, software
11d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ distributed under the License is distributed on an "AS IS" BASIS,
12d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ express or implied.
14d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ See the License for the specific language governing permissions
15d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ and limitations under the License.
16d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ -------------------------------------------------------------------
17d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
18d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@
19d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@
20d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@   Filename: pvmp3_dct_16_gcc.s
21d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@
22d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@
23d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@------------------------------------------------------------------------------
24d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ REVISION HISTORY
25d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@
26d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@
27d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ Who:                                   Date: MM/DD/YYYY
28d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@ Description:
29d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@
30d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@------------------------------------------------------------------------------
31d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
32d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber.arm
33d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
34d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber.align 4
35d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
36d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber.text
37d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
38d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber.extern  pvmp3_dct_16
39d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber.extern  pvmp3_merge_in_place_N32
40d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber.extern  pvmp3_split
41d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
42d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
43d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
44d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@------------------------------------------------------------------------------
45d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
46d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber.global pvmp3_dct_16
47d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
48d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberpvmp3_dct_16:
49d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        stmfd    sp!,{r0,r1,r4-r11,lr}
50d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,[r0]
51d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r3,[r0,#0x3c]
52d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,constant1
53d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r2,r1,r3
54d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    lr,r2,r12,r2
55d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      sp,sp,#0x1c
56d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r2,[sp,#0x14]
57d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r2,[r0,#0x1c]
58d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0x20]
59d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r1,r3
60d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r3,r2,r12
61d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,constant2
62d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r3,r3,lsl #3
63d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r4,r3,lr,r3
64d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,constant5
65d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r3,[sp]
66d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r2,r12
67d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r2,r1,r3
68d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,constant3
69d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r1,r3
70d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    lr,r2,r12,r2
71d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0x38]
72d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,[r0,#4]
73d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,constant4
74d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r4,r1,r12
75d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r1,r12
76d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0x18]
77d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r4,r5,lr,r4
78d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,[r0,#0x24]
79d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r10,constant10
80d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r4,r12,lr
81d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r4,r4,lsl #1
82d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r7,r4,r6,r4
83d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,r12,lr
84d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r7,r1,r12
85d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r12,r1,r12
86d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,constant6
87d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r4,[sp,#4]
88d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r12,r4,r1,r12
89d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,[r0,#8]
90d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0x34]
91d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,constant7
92d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      lr,r1,r12
93d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r8,lr,r6,lr
94d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r1,r12
95d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      lr,[sp,#0x10]
96d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0x14]
97d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,[r0,#0x28]
98d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r8,constant8
99d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r6,r12,lr
100d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r6,r6,lsl #1
101d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r9,r6,r8,r6
102d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,r12,lr
103d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r9,constant9
104d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r8,r1,r12
105d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r12,r1,r12
106d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r12,lr,r9,r12
107d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0x30]
108d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,[r0,#0xc]
109d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r9,r1,r12
110d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r11,r9,r10,r9
111d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,r1,r12
112d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r9,[sp,#0xc]
113d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r9,[r0,#0x10]
114d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r10,constant11
115d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r9,[sp,#0x18]
116d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,[r0,#0x2c]
117d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r9,r9,r1
118d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r11,r9,r10,r9
119d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r10,constant12
120d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r9,[sp,#8]
121d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r9,[sp,#0x18]
122d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r11,constant14
123d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r9,r9,r1
124d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r12,r9
125d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r12,r12,r9
126d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r12,r12,lsl #2
127d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r9,r12,r10,r12
128d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r10,constant13
129d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r9,r3,r1
130d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r1,r3,r1
131d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r1,r3,r10,r1
132d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r1,r7,r8
133d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r1,r1,lsl #1
134d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r1,r10,r11,r1
135d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r7,r8
136d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r8,r9,r1
137d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r7,r9,r1
138d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r8,r8,asr #1
139d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,constant15
140d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r8,[r0]
141d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r7,r8,r1,r7
142d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r7,r3,r10
143d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r8,[r0,#0x20]
144d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r7,r7,lsl #1
145d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r8,r7,r1,r7
146d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r3,r10
147d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r3,r7
148d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r3,[r0,#0x10]
149d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r3,r2,r12
150d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r7,[r0,#0x30]
151d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r2,r2,r12
152d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r7,constant13
153d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r12,r4,lr
154d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r3,r3,lsl #1
155d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r8,r3,r7,r3
156d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      lr,r4,lr
157d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r4,r2,lr
158d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r12,r12,lsl #2
159d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r7,r12,r11,r12
160d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      lr,lr,r2
161d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r2,r3,r12
162d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r2,r2,lsl #1
163d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r7,r2,r1,r2
164d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r4,r4,lsl #1
165d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,r12,r2
166d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r12,r3
167d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r7,r4,r1,r4
168d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,r3,lr
169d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r3,r4
170d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r3,[r0,#0x18]
171d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r2,r4
172d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r2,[r0,#0x38]
173d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r3,[r0,#0x28]
174d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0,#8]
175d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r2,[sp,#0x14]
176d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r3,[sp,#0]
177d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,[sp,#4]
178d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r2,r2,r3
179d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r3,constant3
180d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r2,r2,lsl #1
181d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r12,r2,r3,r2
182d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r3,[sp,#0x14]
183d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[sp,#0]
184d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r4,constant6
185d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,r3,r12
186d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r3,[sp,#4]
187d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      lr,r5,lr
188d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      lr,lr,lsl #1
189d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r5,r3
190d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r5,lr,r4,lr
191d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r4,[sp,#0x10]
192d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r5,[sp,#0x10]
193d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r4,r4,r6
194d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r5,r5,r6
195d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,constant9
196d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r5,r5,lsl #1
197d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r7,r5,r6,r5
198d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,[sp,#8]
199d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r9,[sp,#0xc]
200d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r10,constant12
201d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r6,r9,r6
202d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r6,r6,lsl #3
203d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r7,r6,r10,r6
204d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r8,[sp,#0x20]
205d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r7,[sp,#8]
206d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        cmp      r8,#0
207d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r7,r9,r7
208d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
209d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        bne      no_flag_proc
210d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        rsb      r12,r12,#0
211d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        rsb      r2,r2,#0
212d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        rsb      r3,r3,#0
213d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        rsb      lr,lr,#0
214d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        rsb      r4,r4,#0
215d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        rsb      r5,r5,#0
216d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        rsb      r7,r7,#0
217d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        rsb      r6,r6,#0
218d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberno_flag_proc:
219d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
220d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r8,r2,r6
221d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r2,r6,r2
222d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r6,r12,r7
223d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r9,constant13
224d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,r12,r7
225d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r7,r3,r4
226d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r6,r6,lsl #1
227d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r8,r8,lsl #1
228d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r10,r8,r9,r8
229d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r3,r4
230d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r10,r6,r9,r6
231d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r4,lr,r5
232d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r7,r7,lsl #2
233d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r9,r7,r11,r7
234d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      lr,lr,r5
235d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r5,r6,r7
236d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r6,r6,r7
237d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r7,r12,r3
238d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r12,r3
239d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r12,r2,lr
240d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r4,r4,lsl #2
241d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r9,r4,r11,r4
242d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      lr,r2,lr
243d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r2,r8,r4
244d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r2,r2,lsl #1
245d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r5,r5,lsl #1
246d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r12,r12,lsl #1
247d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r7,r7,lsl #1
248d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r9,r5,r1,r5
249d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r9,r2,r1,r2
250d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r6,r6,r5
251d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r9,r7,r1,r7
252d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r9,r12,r1,r12
253d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r4,r2
254d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r1,r8
255d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      lr,lr,r1
256d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r3,lr
257d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r3,[r0,#4]
258d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r6,lr
259d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r3,[r0,#0xc]
260d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r1,r12
261d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r6,r1
262d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r7,r1
263d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r1,[r0,#0x1c]
264d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r3,[r0,#0x14]
265d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r12,r2
266d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r7,r1
267d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r5,r1
268d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r1,[r0,#0x2c]
269d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r3,[r0,#0x24]!
270d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r5,r2
271d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r1,[r0,#0x10]
272d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r2,[r0,#0x18]
273d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      sp,sp,#0x24
274d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldmfd    sp!,{r4-r11,pc}
275d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
276d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
277d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
278d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@------------------------------------------------------------------------------
279d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
280d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber.global pvmp3_merge_in_place_N32
281d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
282d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
283d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
284d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberpvmp3_merge_in_place_N32:
285d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        stmfd    sp!,{r4,lr}
286d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,[r0,#0x1c]
287d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r2,[r0,#0x38]
288d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r1,[r0,#0x38]
289d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,[r0,#0x18]
290d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r3,[r0,#0x30]
291d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r1,[r0,#0x30]
292d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0x14]
293d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,[r0,#0x28]
294d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0,#0x28]
295d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0x10]
296d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,[r0,#0x20]
297d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0,#0x20]
298d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0xc]
299d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0,#0x18]
300d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#8]
301d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0,#0x10]
302d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#4]
303d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0,#8]
304d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r4,[r0,#0x40]
305d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0x44]
306d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r4,r4,r12
307d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r4,[r0,#4]
308d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      lr,[r0,#0x40]
309d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,[r0,#0x48]
310d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,lr,r12
311d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0,#0xc]
312d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0x4c]
313d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      lr,r12,lr
314d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      lr,[r0,#0x14]
315d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,[r0,#0x24]
316d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      lr,[r0,#0x48]
317d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,[r0,#0x50]
318d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,lr,r12
319d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0,#0x1c]
320d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0x54]
321d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r1,[r0,#0x50]
322d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      lr,r12,lr
323d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      lr,[r0,#0x24]
324d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,[r0,#0x58]
325d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r4,[r0,#0x2c]
326d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,[r0,#0x34]
327d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,r1,r12
328d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0,#0x2c]
329d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0x5c]
330d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r12,r1
331d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r1,[r0,#0x34]
332d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r4,[r0,#0x58]
333d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,[r0,#0x60]
334d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r4,[r0,#0x3c]
335d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,r1,r12
336d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0,#0x3c]
337d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0x64]
338d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r12,r1
339d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r1,[r0,#0x44]
340d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,[r0,#0x68]
341d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,r1,r12
342d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0,#0x4c]
343d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0,#0x6c]
344d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r12,r1
345d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r1,[r0,#0x54]
346d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,[r0,#0x70]
347d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r3,[r0,#0x60]
348d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,r1,r12
349d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0,#0x5c]
350d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r3,[r0,#0x74]
351d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r3,r1
352d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r1,[r0,#0x64]
353d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      lr,[r0,#0x68]
354d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,[r0,#0x78]
355d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r2,[r0,#0x70]
356d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r1,r3
357d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r3,[r0,#0x6c]
358d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r2,[r0,#0x7c]
359d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r1,r2
360d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r1,[r0,#0x74]
361d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r4,[r0,#0x78]
362d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldmfd    sp!,{r4,pc}
363d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
364d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
365d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber@------------------------------------------------------------------------------
366d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
367d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber.global pvmp3_split
368d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
369d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
370d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberpvmp3_split:
371d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        stmfd    sp!,{r4,r5,lr}
3729a2c14b2c96625d5be73e1a7627f5d2a3091c4a2Ard Biesheuvel        adr      r1,constant16
3739a2c14b2c96625d5be73e1a7627f5d2a3091c4a2Ard Biesheuvel        ldr      r2,[r1]
3749a2c14b2c96625d5be73e1a7627f5d2a3091c4a2Ard Biesheuvel        add      r2,r1
375d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r1,r0,#4
376d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r3,#3
377d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberloop1:
378d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0]
379d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,[r1]
380d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r4,[r2],#-4
381d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r5,lr,r12
382d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r12,lr,r12
383d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r12,lr,r4,r12
384d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r5,[r1],#-4
385d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r12,r12,lsr #27
386d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,r12,lr,lsl #5
387d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0],#4
388d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0]
389d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,[r1]
390d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r4,[r2],#-4
391d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r5,lr,r12
392d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r12,lr,r12
393d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r12,lr,r4,r12
394d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r5,[r1],#-4
395d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r12,r12,lsr #27
396d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,r12,lr,lsl #5
397d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0],#4
398d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        subs     r3,r3,#1
399d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        bne      loop1
400d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r3,#5
401d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberloop2:
402d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0]
403d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,[r1]
404d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r4,[r2],#-4
405d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r5,lr,r12
406d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r12,lr,r12
407d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r12,r12,lsl #1
408d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    lr,r12,r4,r12
409d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r5,[r1],#-4
410d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0],#4
411d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r0]
412d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,[r1]
413d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r4,[r2],#-4
414d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r5,lr,r12
415d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r12,lr,r12
416d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r12,r12,lsl #1
417d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    lr,r12,r4,r12
418d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r5,[r1],#-4
419d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r12,[r0],#4
420d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        subs     r3,r3,#1
421d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        bne      loop2
422d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldmfd    sp!,{r4,r5,pc}
423d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant1:
424d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x404f4680
425d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant2:
426d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x519e4e00
427d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant3:
428d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x4140fb80
429d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant4:
430d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x42e13c00
431d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant5:
432d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x6e3c9300
433d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant6:
434d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x4cf8de80
435d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant7:
436d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x48919f80
437d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant8:
438d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x43e22480
439d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant9:
440d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x73326b80
441d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant10:
442d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x52cb0e80
443d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant11:
444d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x64e24000
445d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant12:
446d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x52036780
447d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant13:
448d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x4545ea00
449d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant14:
450d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x539eba80
451d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant15:
452d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x5a827980
453d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberconstant16:
4549a2c14b2c96625d5be73e1a7627f5d2a3091c4a2Ard Biesheuvel        .word      (CosTable_dct32 + 60)-constant16
455d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
456d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
457d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
458d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HuberCosTable_dct32:
459d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x4013c280
460d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x40b34580
461d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x41fa2d80
462d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x43f93400
463d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x46cc1c00
464d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x4a9d9d00
465d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x4fae3700
466d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x56601e80
467d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x5f4cf700
468d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x6b6fcf00
469d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x07c7d1d8
470d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x095b0350
471d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x0bdf91b0
472d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x107655e0
473d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x1b42c840
474d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        .word      0x51852300
475d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
476d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
477