[svn] / trunk / xvidcore / src / dct / ppc_asm / idct_altivec.s Repository:
ViewVC logotype

Annotation of /trunk/xvidcore/src/dct/ppc_asm/idct_altivec.s

Parent Directory Parent Directory | Revision Log Revision Log


Revision 650 - (view) (download)

1 : edgomez 650 # * - Inverse Discrete Cosine Transformation - PPC port
2 :     # *
3 :     # * Copyright (C) 2002 Guillaume Morin <guillaume@morinfr.org>, Alcôve
4 :     # *
5 :     # * This file is part of XviD, a free MPEG-4 video encoder/decoder
6 :     # *
7 :     # * XviD is free software; you can redistribute it and/or modify it
8 :     # * under the terms of the GNU General Public License as published by
9 :     # * the Free Software Foundation; either version 2 of the License, or
10 :     # * (at your option) any later version.
11 :     # *
12 :     # * This program is distributed in the hope that it will be useful,
13 :     # * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 :     # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 :     # * GNU General Public License for more details.
16 :     # *
17 :     # * You should have received a copy of the GNU General Public License
18 :     # * along with this program; if not, write to the Free Software
19 :     # * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 :     # *
21 :     # * Under section 8 of the GNU General Public License, the copyright
22 :     # * holders of XVID explicitly forbid distribution in the following
23 :     # * countries:
24 :     # *
25 :     # * - Japan
26 :     # * - United States of America
27 :     # *
28 :     # * Linking XviD statically or dynamically with other modules is making a
29 :     # * combined work based on XviD. Thus, the terms and conditions of the
30 :     # * GNU General Public License cover the whole combination.
31 :     # *
32 :     # * As a special exception, the copyright holders of XviD give you
33 :     # * permission to link XviD with independent modules that communicate with
34 :     # * XviD solely through the VFW1.1 and DShow interfaces, regardless of the
35 :     # * license terms of these independent modules, and to copy and distribute
36 :     # * the resulting combined work under terms of your choice, provided that
37 :     # * every copy of the combined work is accompanied by a complete copy of
38 :     # * the source code of XviD (the version of XviD used to produce the
39 :     # * combined work), being distributed under the terms of the GNU General
40 :     # * Public License plus this exception. An independent module is a module
41 :     # * which is not derived from or based on XviD.
42 :     # *
43 :     # * Note that people who make modified versions of XviD are not obligated
44 :     # * to grant this special exception for their modified versions; it is
45 :     # * their choice whether to do so. The GNU General Public License gives
46 :     # * permission to release a modified version without this exception; this
47 :     # * exception also makes it possible to release a modified version which
48 :     # * carries forward this exception.
49 :     # *
50 :     # * $Id: idct_altivec.s,v 1.5 2002-11-16 23:57:26 edgomez Exp $#
51 :    
52 : edgomez 472
53 : canard 76 .file "idct_vec_tmpl.c"
54 :     gcc2_compiled.:
55 :     .section ".data"
56 :     .align 4
57 :     .type PreScale,@object
58 :     .size PreScale,128
59 :     PreScale:
60 :     .long 268375601
61 :     .long 350687952
62 :     .long 268374736
63 :     .long 350688817
64 :     .long 372317896
65 :     .long 486414872
66 :     .long 372316696
67 :     .long 486416072
68 :     .long 350690558
69 :     .long 458234004
70 :     .long 350689428
71 :     .long 458235134
72 :     .long 315628056
73 :     .long 412358175
74 :     .long 315627039
75 :     .long 412359192
76 :     .long 268375601
77 :     .long 350687952
78 :     .long 268374736
79 :     .long 350688817
80 :     .long 315628056
81 :     .long 412358175
82 :     .long 315627039
83 :     .long 412359192
84 :     .long 350690558
85 :     .long 458234004
86 :     .long 350689428
87 :     .long 458235134
88 :     .long 372317896
89 :     .long 486414872
90 :     .long 372316696
91 :     .long 486416072
92 :     .section ".rodata"
93 :     .align 4
94 :     .LC0:
95 :     .long 1518482693
96 :     .long 427185543
97 :     .long -1518425479
98 :     .long 0
99 :     .section ".text"
100 :     .align 2
101 :     .globl idct_altivec
102 :     .type idct_altivec,@function
103 :     idct_altivec:
104 :     stwu 1,-368(1)
105 :     stw 15,300(1)
106 :     stw 16,304(1)
107 :     stw 17,308(1)
108 :     stw 18,312(1)
109 :     stw 19,316(1)
110 :     stw 20,320(1)
111 :     stw 21,324(1)
112 :     stw 22,328(1)
113 :     stw 23,332(1)
114 :     stw 24,336(1)
115 :     stw 25,340(1)
116 :     stw 26,344(1)
117 :     stw 27,348(1)
118 :     stw 28,352(1)
119 :     stw 29,356(1)
120 :     stw 30,360(1)
121 :     stw 31,364(1)
122 :     addi 0,0,272
123 :     stvx 31,1,0
124 :     lis 11,PreScale@ha
125 :     lvx 12,0,3
126 : canard 97 vxor %v3,%v3,%v3
127 : canard 76 la 11,PreScale@l(11)
128 :     lvx 0,0,11
129 :     addi 9,11,16
130 :     lvx 1,0,9
131 :     addi 17,3,32
132 :     addi 9,11,32
133 :     lvx 8,0,17
134 :     lvx 7,0,9
135 :     addi 15,3,16
136 :     vmhraddshs 12,12,0,3
137 :     addi 9,11,48
138 :     lvx 9,0,15
139 :     addi 16,3,48
140 :     lvx 0,0,9
141 :     lvx 11,0,16
142 :     addi 9,11,64
143 :     addi 18,3,64
144 :     lvx 10,0,9
145 :     vmhraddshs 8,8,7,3
146 :     lvx 13,0,18
147 :     addi 9,11,80
148 :     vmhraddshs 9,9,1,3
149 :     lvx 7,0,9
150 :     addi 19,3,80
151 :     vmhraddshs 11,11,0,3
152 :     addi 20,3,96
153 :     lvx 1,0,19
154 :     lvx 0,0,20
155 :     addi 4,1,16
156 :     addi 9,11,96
157 :     vmhraddshs 13,13,10,3
158 :     stvx 12,0,4
159 :     addi 11,11,112
160 :     lvx 10,0,9
161 :     vmhraddshs 1,1,7,3
162 :     lvx 12,0,11
163 :     addi 5,1,32
164 :     stvx 9,0,5
165 :     addi 21,3,112
166 :     lvx 5,0,21
167 :     addi 7,1,48
168 :     vmhraddshs 0,0,10,3
169 :     stvx 8,0,7
170 :     addi 8,1,64
171 :     stvx 11,0,8
172 :     addi 6,1,80
173 :     vmhraddshs 5,5,12,3
174 :     stvx 13,0,6
175 :     addi 11,1,96
176 :     stvx 1,0,11
177 :     addi 10,1,112
178 :     stvx 0,0,10
179 :     addi 27,1,128
180 :     stvx 5,0,27
181 :     lvx 1,0,11
182 :     lis 9,.LC0@ha
183 :     lvx 12,0,5
184 :     la 9,.LC0@l(9)
185 :     lvx 0,0,6
186 :     addi 25,1,144
187 :     lvx 2,0,10
188 :     addi 23,1,256
189 :     lvx 11,0,4
190 :     addi 26,1,160
191 :     lvx 6,0,7
192 :     vmrghh 10,12,1
193 :     addi 24,1,240
194 :     lvx 7,0,8
195 :     vmrglh 12,12,1
196 :     addi 29,1,176
197 :     lvx 4,0,9
198 :     addi 28,1,224
199 :     vmrghh 13,11,0
200 :     addi 9,1,192
201 :     vmrghh 1,6,2
202 :     addi 22,1,208
203 :     vmrghh 9,7,5
204 :     vmrglh 11,11,0
205 :     vmrghh 8,10,9
206 :     vmrghh 0,13,1
207 :     vmrglh 13,13,1
208 :     vmrghh 1,0,8
209 :     vmrglh 6,6,2
210 :     stvx 1,0,4
211 :     vmrglh 7,7,5
212 :     vmrglh 10,10,9
213 :     vmrglh 0,0,8
214 :     stvx 0,0,5
215 :     vmrghh 9,12,7
216 :     vmrghh 1,11,6
217 :     vmrghh 0,13,10
218 :     stvx 0,0,7
219 :     vmrglh 13,13,10
220 :     stvx 13,0,8
221 :     vmrglh 12,12,7
222 :     vmrghh 0,1,9
223 :     vmrglh 11,11,6
224 :     stvx 0,0,6
225 :     vmrglh 1,1,9
226 :     stvx 1,0,11
227 :     vmrghh 0,11,12
228 :     stvx 0,0,10
229 :     vmrglh 11,11,12
230 :     stvx 11,0,27
231 :     vsplth 19,4,2
232 :     lvx 0,0,5
233 :     vsplth 17,4,5
234 :     lvx 10,0,11
235 :     vsplth 16,4,3
236 :     lvx 1,0,8
237 :     vsplth 18,4,1
238 :     lvx 13,0,7
239 :     vsplth 2,4,0
240 :     vmhraddshs 15,19,0,3
241 :     lvx 9,0,10
242 :     vsplth 4,4,4
243 :     vmhraddshs 5,19,11,0
244 :     lvx 12,0,4
245 :     vmhraddshs 8,17,1,10
246 :     lvx 0,0,6
247 :     vmhraddshs 6,16,10,1
248 :     vmhraddshs 14,18,9,13
249 :     vsubshs 1,15,11
250 :     vmhraddshs 15,18,13,3
251 :     vaddshs 31,1,8
252 :     vsubshs 8,1,8
253 :     vsubshs 1,5,6
254 :     vaddshs 7,12,0
255 :     vaddshs 5,5,6
256 :     vaddshs 6,7,14
257 :     vsubshs 11,15,9
258 :     vsubshs 10,12,0
259 :     vsubshs 14,7,14
260 :     vaddshs 7,10,11
261 :     vsubshs 10,10,11
262 :     vsubshs 11,1,8
263 :     vaddshs 8,1,8
264 :     vaddshs 0,6,5
265 :     stvx 0,0,25
266 :     vmhraddshs 13,2,8,7
267 :     vsubshs 1,6,5
268 :     stvx 1,0,23
269 :     vmhraddshs 12,4,8,7
270 :     stvx 13,0,26
271 :     vmhraddshs 0,2,11,10
272 :     stvx 12,0,24
273 :     vmhraddshs 13,4,11,10
274 :     stvx 0,0,29
275 :     vaddshs 1,14,31
276 :     stvx 13,0,28
277 :     vsubshs 0,14,31
278 :     stvx 1,0,9
279 :     stvx 0,0,22
280 :     lvx 9,0,28
281 :     lvx 12,0,26
282 :     lvx 8,0,24
283 :     lvx 5,0,23
284 :     lvx 11,0,25
285 :     lvx 6,0,29
286 :     vmrghh 10,12,9
287 :     lvx 7,0,9
288 :     vmrglh 12,12,9
289 :     vmrghh 1,11,0
290 :     vmrghh 13,6,8
291 :     vmrghh 9,7,5
292 :     vmrglh 6,6,8
293 :     vmrglh 11,11,0
294 :     vmrghh 8,10,9
295 :     vmrghh 0,1,13
296 :     vmrglh 1,1,13
297 :     vmrghh 13,0,8
298 :     stvx 13,0,4
299 :     vmrglh 7,7,5
300 :     vmrglh 10,10,9
301 :     vmrglh 0,0,8
302 :     stvx 0,0,5
303 :     vmrghh 9,12,7
304 :     vmrghh 13,11,6
305 :     vmrghh 0,1,10
306 :     stvx 0,0,7
307 :     vmrglh 1,1,10
308 :     vmrglh 12,12,7
309 :     stvx 1,0,8
310 :     vmrghh 0,13,9
311 :     vmrglh 11,11,6
312 :     stvx 0,0,6
313 :     vmrglh 13,13,9
314 :     stvx 13,0,11
315 :     vmrghh 0,11,12
316 :     stvx 0,0,10
317 :     vmrglh 11,11,12
318 :     stvx 11,0,27
319 :     lvx 0,0,5
320 :     lvx 13,0,11
321 :     lvx 1,0,8
322 :     lvx 12,0,7
323 :     vmhraddshs 15,19,0,3
324 :     lvx 9,0,10
325 :     vmhraddshs 5,19,11,0
326 :     lvx 10,0,4
327 :     vmhraddshs 8,17,1,13
328 :     lvx 0,0,6
329 :     vmhraddshs 6,16,13,1
330 :     vmhraddshs 14,18,9,12
331 :     vsubshs 1,15,11
332 :     vmhraddshs 15,18,12,3
333 :     vaddshs 31,1,8
334 :     vsubshs 8,1,8
335 :     vsubshs 1,5,6
336 :     vaddshs 7,10,0
337 :     vaddshs 5,5,6
338 :     vaddshs 6,7,14
339 :     vsubshs 10,10,0
340 :     vsubshs 11,15,9
341 :     vsubshs 14,7,14
342 :     vaddshs 7,10,11
343 :     vsubshs 10,10,11
344 :     vsubshs 11,1,8
345 :     vaddshs 8,1,8
346 :     vaddshs 0,6,5
347 :     stvx 0,0,25
348 :     vmhraddshs 13,2,8,7
349 :     vsubshs 1,6,5
350 :     stvx 1,0,23
351 :     vmhraddshs 0,4,8,7
352 :     stvx 13,0,26
353 :     vmhraddshs 2,2,11,10
354 :     stvx 0,0,24
355 :     vmhraddshs 4,4,11,10
356 :     stvx 2,0,29
357 :     vaddshs 0,14,31
358 :     stvx 4,0,28
359 :     vsubshs 12,14,31
360 :     stvx 0,0,9
361 :     stvx 12,0,22
362 :     lvx 0,0,25
363 :     stvx 0,0,3
364 :     lvx 1,0,26
365 :     stvx 1,0,15
366 :     lvx 0,0,29
367 :     stvx 0,0,17
368 :     lvx 13,0,28
369 :     lvx 1,0,9
370 :     stvx 1,0,16
371 :     lvx 0,0,23
372 :     stvx 12,0,18
373 :     lvx 1,0,24
374 :     stvx 13,0,19
375 :     stvx 1,0,20
376 :     stvx 0,0,21
377 :     lwz 15,300(1)
378 :     lwz 16,304(1)
379 :     lwz 17,308(1)
380 :     lwz 18,312(1)
381 :     lwz 19,316(1)
382 :     lwz 20,320(1)
383 :     lwz 21,324(1)
384 :     lwz 22,328(1)
385 :     lwz 23,332(1)
386 :     lwz 24,336(1)
387 :     lwz 25,340(1)
388 :     lwz 26,344(1)
389 :     lwz 27,348(1)
390 :     lwz 28,352(1)
391 :     lwz 29,356(1)
392 :     lwz 30,360(1)
393 :     lwz 31,364(1)
394 :     addi 0,0,272
395 :     lvx 31,1,0
396 :     la 1,368(1)
397 :     blr
398 :     .Lfe1:
399 : canard 92 .size idct_altivec,.Lfe1-idct_altivec
400 : canard 76 .ident "GCC: (GNU) 2.95.3 20010111 (BLL/AltiVec prerelease/franzo/20010111)"

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4