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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 650 - (view) (download)

1 : edgomez 650 # * - Forward 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: fdct_altivec.s,v 1.4 2002-11-16 23:57:26 edgomez Exp $#
51 : edgomez 473
52 : canard 76 .file "dct_vec_tmpl.c"
53 :     gcc2_compiled.:
54 :     .globl PostScale
55 :     .section ".data"
56 :     .align 4
57 :     .type PostScale,@object
58 :     .size PostScale,128
59 :     PostScale:
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 1518492290
96 :     .long 1518492290
97 :     .long 1518492290
98 :     .long 1518492290
99 :     .align 4
100 :     .LC1:
101 :     .long 889533701
102 :     .long 889533701
103 :     .long 889533701
104 :     .long 889533701
105 :     .align 4
106 :     .LC2:
107 :     .long 427170166
108 :     .long 427170166
109 :     .long 427170166
110 :     .long 427170166
111 :     .align 4
112 :     .LC3:
113 :     .long 1434932615
114 :     .long 1434932615
115 :     .long 1434932615
116 :     .long 1434932615
117 :     .align 4
118 :     .LC4:
119 :     .long -1518426754
120 :     .long -1518426754
121 :     .long -1518426754
122 :     .long -1518426754
123 :     .align 4
124 :     .LC5:
125 :     .long -1434867079
126 :     .long -1434867079
127 :     .long -1434867079
128 :     .long -1434867079
129 :     .section ".text"
130 :     .align 2
131 :     .globl fdct_altivec
132 :     .type fdct_altivec,@function
133 :     fdct_altivec:
134 :     stwu 1,-368(1)
135 :     mflr 0
136 :     stw 14,296(1)
137 :     stw 15,300(1)
138 :     stw 16,304(1)
139 :     stw 17,308(1)
140 :     stw 18,312(1)
141 :     stw 19,316(1)
142 :     stw 20,320(1)
143 :     stw 21,324(1)
144 :     stw 22,328(1)
145 :     stw 23,332(1)
146 :     stw 24,336(1)
147 :     stw 25,340(1)
148 :     stw 26,344(1)
149 :     stw 27,348(1)
150 :     stw 28,352(1)
151 :     stw 29,356(1)
152 :     stw 30,360(1)
153 :     stw 31,364(1)
154 :     stw 0,372(1)
155 :     addi 0,0,272
156 :     stvx 31,1,0
157 :     lvx 0,0,3
158 :     addi 23,1,16
159 : canard 97 vxor %v3,%v3,%v3
160 : canard 76 addi 18,3,16
161 :     stvx 0,0,23
162 :     lvx 1,0,18
163 :     addi 24,1,32
164 :     addi 17,3,32
165 :     stvx 1,0,24
166 :     lvx 0,0,17
167 :     addi 25,1,48
168 :     addi 20,3,48
169 :     stvx 0,0,25
170 :     lvx 1,0,20
171 :     addi 26,1,64
172 :     addi 19,3,64
173 :     stvx 1,0,26
174 :     lvx 0,0,19
175 :     addi 28,1,80
176 :     addi 21,3,80
177 :     stvx 0,0,28
178 :     lvx 1,0,21
179 :     addi 27,1,96
180 :     addi 22,3,96
181 :     stvx 1,0,27
182 :     lvx 0,0,22
183 :     addi 7,1,112
184 :     stvx 0,0,7
185 :     addi 16,3,112
186 :     lvx 1,0,16
187 :     addi 14,1,128
188 :     stvx 1,0,14
189 :     lvx 0,0,23
190 :     lis 11,.LC0@ha
191 :     lvx 12,0,26
192 :     la 11,.LC0@l(11)
193 :     lvx 13,0,28
194 :     lis 8,.LC1@ha
195 :     lvx 11,0,7
196 :     la 8,.LC1@l(8)
197 :     lvx 9,0,24
198 :     vaddshs 6,0,1
199 :     lis 10,.LC4@ha
200 :     vsubshs 5,0,1
201 :     lvx 10,0,25
202 :     la 10,.LC4@l(10)
203 :     lvx 0,0,27
204 :     vaddshs 7,12,13
205 :     lis 9,.LC2@ha
206 :     vsubshs 31,12,13
207 :     lvx 15,0,11
208 :     addi 29,1,144
209 :     vaddshs 13,9,11
210 :     lvx 19,0,8
211 :     la 9,.LC2@l(9)
212 :     vsubshs 9,9,11
213 :     lvx 16,0,10
214 :     addi 4,1,208
215 :     vaddshs 12,10,0
216 :     lvx 2,0,9
217 :     lis 11,.LC3@ha
218 :     vsubshs 4,6,7
219 :     la 11,.LC3@l(11)
220 :     vaddshs 11,6,7
221 :     lis 9,.LC5@ha
222 :     lvx 14,0,11
223 :     vsubshs 10,10,0
224 :     addi 6,1,176
225 :     vsubshs 6,13,12
226 :     la 9,.LC5@l(9)
227 :     vaddshs 7,13,12
228 :     lvx 17,0,9
229 :     addi 5,1,240
230 :     vaddshs 12,9,10
231 :     addi 10,1,160
232 :     vsubshs 1,11,7
233 :     addi 8,1,256
234 :     vaddshs 0,11,7
235 :     lis 9,PostScale@ha
236 :     vmhraddshs 11,12,15,5
237 :     stvx 0,0,29
238 :     vsubshs 13,9,10
239 :     stvx 1,0,4
240 :     vmhraddshs 1,4,19,3
241 :     la 9,PostScale@l(9)
242 :     vmhraddshs 10,13,15,31
243 :     addi 11,1,224
244 :     vmhraddshs 7,12,16,5
245 :     addi 15,1,192
246 :     vmhraddshs 5,11,2,3
247 :     addi 0,9,16
248 :     vmhraddshs 9,13,16,31
249 :     mtctr 0
250 :     addi 30,9,32
251 :     vmhraddshs 0,6,19,4
252 :     addi 0,9,48
253 :     vmhraddshs 13,10,2,11
254 :     addi 31,9,64
255 :     vsubshs 1,1,6
256 :     stvx 0,0,6
257 :     mtlr 31
258 :     stvx 1,0,5
259 :     vsubshs 0,5,10
260 :     stvx 13,0,10
261 :     vmhraddshs 12,7,14,9
262 :     stvx 0,0,8
263 :     vmhraddshs 6,9,17,7
264 :     lvx 18,0,9
265 :     addi 12,9,80
266 :     stvx 12,0,11
267 :     stvx 6,0,15
268 :     lvx 13,0,4
269 :     addi 31,9,96
270 :     lvx 12,0,29
271 :     addi 9,9,112
272 :     lvx 0,0,11
273 :     lvx 4,0,5
274 :     lvx 5,0,8
275 :     lvx 11,0,10
276 :     vmrghh 1,12,13
277 :     lvx 9,0,6
278 :     vmrglh 12,12,13
279 :     vmrghh 8,6,5
280 :     vmrghh 10,11,0
281 :     vmrghh 13,9,4
282 :     vmrglh 11,11,0
283 :     vmrghh 7,10,8
284 :     vmrghh 0,1,13
285 :     vmrglh 1,1,13
286 :     vmrghh 13,0,7
287 :     stvx 13,0,23
288 :     vmrglh 9,9,4
289 :     vmrglh 6,6,5
290 :     vmrglh 10,10,8
291 :     vmrglh 0,0,7
292 :     stvx 0,0,24
293 :     vmrghh 8,11,6
294 :     vmrghh 13,12,9
295 :     vmrghh 0,1,10
296 :     stvx 0,0,25
297 :     vmrglh 1,1,10
298 :     stvx 1,0,26
299 :     vmrglh 11,11,6
300 :     vmrghh 0,13,8
301 :     vmrglh 12,12,9
302 :     stvx 0,0,28
303 :     vmrglh 13,13,8
304 :     stvx 13,0,27
305 :     vmrghh 0,12,11
306 :     stvx 0,0,7
307 :     vmrglh 12,12,11
308 :     stvx 12,0,14
309 :     lvx 0,0,23
310 :     lvx 11,0,26
311 :     lvx 13,0,28
312 :     lvx 8,0,24
313 :     lvx 9,0,7
314 :     vaddshs 6,0,12
315 :     lvx 1,0,27
316 :     vsubshs 5,0,12
317 :     mfctr 7
318 :     lvx 10,0,25
319 :     vaddshs 7,11,13
320 :     vsubshs 31,11,13
321 :     vaddshs 13,8,9
322 :     vsubshs 4,6,7
323 :     vaddshs 12,10,1
324 :     vaddshs 11,6,7
325 :     vsubshs 9,8,9
326 :     vsubshs 10,10,1
327 :     vsubshs 6,13,12
328 :     vaddshs 7,13,12
329 :     vaddshs 12,9,10
330 :     vsubshs 1,11,7
331 :     vaddshs 0,11,7
332 :     vmhraddshs 11,12,15,5
333 :     stvx 0,0,29
334 :     vsubshs 13,9,10
335 :     stvx 1,0,4
336 :     vmhraddshs 1,4,19,3
337 :     vmhraddshs 10,13,15,31
338 :     vmhraddshs 7,12,16,5
339 :     vmhraddshs 9,13,16,31
340 :     vmhraddshs 5,11,2,3
341 :     vmhraddshs 19,6,19,4
342 :     vsubshs 0,1,6
343 :     stvx 19,0,6
344 :     vmhraddshs 2,10,2,11
345 :     stvx 0,0,5
346 :     vmhraddshs 14,7,14,9
347 :     stvx 2,0,10
348 :     vsubshs 0,5,10
349 :     vmhraddshs 17,9,17,7
350 :     stvx 0,0,8
351 :     stvx 14,0,11
352 :     stvx 17,0,15
353 :     lvx 0,0,29
354 :     vmhraddshs 18,18,0,3
355 :     stvx 18,0,3
356 :     lvx 1,0,7
357 :     lvx 0,0,10
358 :     mflr 7
359 :     lvx 11,0,11
360 :     lvx 13,0,6
361 :     mr 11,0
362 :     lvx 12,0,4
363 :     vmhraddshs 1,1,0,3
364 :     lvx 10,0,5
365 :     lvx 9,0,8
366 :     stvx 1,0,18
367 :     lvx 0,0,30
368 :     vmhraddshs 0,0,13,3
369 :     stvx 0,0,17
370 :     lvx 1,0,11
371 :     vmhraddshs 1,1,17,3
372 :     stvx 1,0,20
373 :     lvx 0,0,7
374 :     vmhraddshs 0,0,12,3
375 :     stvx 0,0,19
376 :     lvx 1,0,12
377 :     vmhraddshs 1,1,11,3
378 :     stvx 1,0,21
379 :     lvx 0,0,31
380 :     vmhraddshs 0,0,10,3
381 :     stvx 0,0,22
382 :     lvx 12,0,9
383 :     vmhraddshs 12,12,9,3
384 :     stvx 12,0,16
385 :     lvx 0,0,19
386 :     lvx 11,0,3
387 :     lvx 1,0,21
388 :     lvx 10,0,18
389 :     lvx 6,0,17
390 :     lvx 4,0,22
391 :     vmrghh 13,11,0
392 :     lvx 8,0,20
393 :     vmrglh 11,11,0
394 :     vmrghh 9,10,1
395 :     vmrglh 10,10,1
396 :     vmrghh 0,6,4
397 :     vmrghh 7,8,12
398 :     vmrghh 1,13,0
399 :     vmrghh 5,9,7
400 :     vmrglh 13,13,0
401 :     vmrghh 0,1,5
402 :     stvx 0,0,3
403 :     vmrglh 8,8,12
404 :     vmrglh 6,6,4
405 :     vmrglh 9,9,7
406 :     vmrglh 1,1,5
407 :     stvx 1,0,18
408 :     vmrghh 12,11,6
409 :     vmrghh 1,10,8
410 :     vmrghh 0,13,9
411 :     stvx 0,0,17
412 :     vmrglh 13,13,9
413 :     stvx 13,0,20
414 :     vmrghh 0,12,1
415 :     vmrglh 11,11,6
416 :     stvx 0,0,19
417 :     vmrglh 10,10,8
418 :     vmrglh 12,12,1
419 :     stvx 12,0,21
420 :     vmrghh 0,11,10
421 :     stvx 0,0,22
422 :     vmrglh 11,11,10
423 :     stvx 11,0,16
424 :     lwz 0,372(1)
425 :     mtlr 0
426 :     lwz 14,296(1)
427 :     lwz 15,300(1)
428 :     lwz 16,304(1)
429 :     lwz 17,308(1)
430 :     lwz 18,312(1)
431 :     lwz 19,316(1)
432 :     lwz 20,320(1)
433 :     lwz 21,324(1)
434 :     lwz 22,328(1)
435 :     lwz 23,332(1)
436 :     lwz 24,336(1)
437 :     lwz 25,340(1)
438 :     lwz 26,344(1)
439 :     lwz 27,348(1)
440 :     lwz 28,352(1)
441 :     lwz 29,356(1)
442 :     lwz 30,360(1)
443 :     lwz 31,364(1)
444 :     addi 0,0,272
445 :     lvx 31,1,0
446 :     la 1,368(1)
447 :     blr
448 :    

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