[svn] / trunk / xvidcore / src / dct / ia64_asm / idct_ia64.s Repository:
ViewVC logotype

Annotation of /trunk/xvidcore/src/dct/ia64_asm/idct_ia64.s

Parent Directory Parent Directory | Revision Log Revision Log


Revision 205 - (view) (download)

1 : ia64p 205 .file "idct.c"
2 :     .pred.safe_across_calls p1-p5,p16-p63
3 :     .sbss
4 :     .align 8
5 :     .type blk.0#,@object
6 :     .size blk.0#,8
7 :     blk.0:
8 :     .skip 8
9 :     .align 8
10 :     .type i.1#,@object
11 :     .size i.1#,8
12 :     i.1:
13 :     .skip 8
14 :     .align 8
15 :     .type X0.2#,@object
16 :     .size X0.2#,8
17 :     X0.2:
18 :     .skip 8
19 :     .align 8
20 :     .type X1.3#,@object
21 :     .size X1.3#,8
22 :     X1.3:
23 :     .skip 8
24 :     .align 8
25 :     .type X2.4#,@object
26 :     .size X2.4#,8
27 :     X2.4:
28 :     .skip 8
29 :     .align 8
30 :     .type X3.5#,@object
31 :     .size X3.5#,8
32 :     X3.5:
33 :     .skip 8
34 :     .align 8
35 :     .type X4.6#,@object
36 :     .size X4.6#,8
37 :     X4.6:
38 :     .skip 8
39 :     .align 8
40 :     .type X5.7#,@object
41 :     .size X5.7#,8
42 :     X5.7:
43 :     .skip 8
44 :     .align 8
45 :     .type X6.8#,@object
46 :     .size X6.8#,8
47 :     X6.8:
48 :     .skip 8
49 :     .align 8
50 :     .type X7.9#,@object
51 :     .size X7.9#,8
52 :     X7.9:
53 :     .skip 8
54 :     .align 8
55 :     .type X8.10#,@object
56 :     .size X8.10#,8
57 :     X8.10:
58 :     .skip 8
59 :     .text
60 :     .align 16
61 :     .global idct_ia64#
62 :     .proc idct_ia64#
63 :     idct_ia64:
64 :     .prologue
65 :     alloc r16 = ar.pfs, 1, 4, 8, 0
66 :     .body
67 :     addl r14 = @gprel(i.1#), gp
68 :     addl r33 = @gprel(blk.0#), gp
69 :     addl r11 = @gprel(X1.3#), gp
70 :     ;;
71 :     st8 [r14] = r0
72 :     mov r41 = r14
73 :     addl r10 = @gprel(X2.4#), gp
74 :     addl r14 = 565, r0
75 :     addl r9 = @gprel(X3.5#), gp
76 :     addl r8 = @gprel(X4.6#), gp
77 :     ;;
78 :     setf.sig f14 = r14
79 :     addl r44 = @gprel(X5.7#), gp
80 :     addl r43 = @gprel(X6.8#), gp
81 :     addl r14 = 2276, r0
82 :     addl r42 = @gprel(X7.9#), gp
83 :     addl r3 = @gprel(X0.2#), gp
84 :     ;;
85 :     setf.sig f15 = r14
86 :     addl r2 = @gprel(X8.10#), gp
87 :     addl r14 = 3406, r0
88 :     ;;
89 :     setf.sig f13 = r14
90 :     addl r14 = 2408, r0
91 :     ;;
92 :     setf.sig f12 = r14
93 :     addl r14 = 799, r0
94 :     ;;
95 :     setf.sig f11 = r14
96 :     addl r14 = 4017, r0
97 :     ;;
98 :     setf.sig f9 = r14
99 :     addl r14 = 1108, r0
100 :     ;;
101 :     setf.sig f10 = r14
102 :     addl r14 = 3784, r0
103 :     ;;
104 :     setf.sig f8 = r14
105 :     addl r14 = 181, r0
106 :     ;;
107 :     setf.sig f7 = r14
108 :     .L6:
109 :     ld8 r14 = [r41]
110 :     ;;
111 :     shladd r27 = r14, 4, r32
112 :     ;;
113 :     adds r40 = 12, r27
114 :     adds r39 = 8, r27
115 :     adds r31 = 2, r27
116 :     ;;
117 :     ld2 r15 = [r40]
118 :     ld2 r14 = [r39]
119 :     adds r38 = 4, r27
120 :     ;;
121 :     sxt2 r28 = r15
122 :     sxt2 r14 = r14
123 :     adds r37 = 14, r27
124 :     ld2 r15 = [r31]
125 :     ;;
126 :     shl r25 = r14, 11
127 :     ld2 r16 = [r38]
128 :     sxt2 r23 = r15
129 :     ;;
130 :     st8 [r11] = r25
131 :     sxt2 r20 = r16
132 :     ld2 r15 = [r37]
133 :     or r14 = r28, r25
134 :     adds r30 = 10, r27
135 :     ;;
136 :     sxt2 r22 = r15
137 :     st8 [r10] = r28
138 :     or r14 = r20, r14
139 :     ld2 r15 = [r30]
140 :     st8 [r9] = r20
141 :     ;;
142 :     or r14 = r23, r14
143 :     sxt2 r19 = r15
144 :     adds r29 = 6, r27
145 :     st8 [r8] = r23
146 :     ;;
147 :     or r14 = r22, r14
148 :     ld2 r15 = [r29]
149 :     st8 [r44] = r22
150 :     ;;
151 :     sxt2 r18 = r15
152 :     or r14 = r19, r14
153 :     st8 [r43] = r19
154 :     ;;
155 :     or r14 = r18, r14
156 :     st8 [r33] = r27
157 :     st8 [r42] = r18
158 :     ;;
159 :     cmp.ne p6, p7 = 0, r14
160 :     (p6) br.cond.dptk .L7
161 :     ld2 r14 = [r27]
162 :     ;;
163 :     shladd r14 = r14, 3, r0
164 :     ;;
165 :     st2 [r37] = r14
166 :     st2 [r40] = r14
167 :     st2 [r30] = r14
168 :     st2 [r39] = r14
169 :     st2 [r29] = r14
170 :     st2 [r38] = r14
171 :     st2 [r31] = r14
172 :     st2 [r27] = r14
173 :     br .L5
174 :     .L7:
175 :     add r21 = r19, r18
176 :     add r14 = r23, r22
177 :     ld2 r17 = [r27]
178 :     ;;
179 :     setf.sig f32 = r21
180 :     setf.sig f6 = r14
181 :     add r15 = r20, r28
182 :     ;;
183 :     xma.l f32 = f32, f12, f0
184 :     shladd r16 = r20, 1, r20
185 :     sxt2 r17 = r17
186 :     ;;
187 :     getf.sig r21 = f32
188 :     xma.l f6 = f6, f14, f0
189 :     shladd r16 = r16, 4, r20
190 :     setf.sig f32 = r22
191 :     ;;
192 :     getf.sig r14 = f6
193 :     dep.z r17 = r17, 11, 21
194 :     xma.l f32 = f32, f13, f0
195 :     ;;
196 :     adds r17 = 128, r17
197 :     shl r16 = r16, 5
198 :     getf.sig r22 = f32
199 :     ;;
200 :     sxt4 r17 = r17
201 :     setf.sig f32 = r19
202 :     sub r22 = r14, r22
203 :     ;;
204 :     add r24 = r17, r25
205 :     xma.l f32 = f32, f11, f0
206 :     sub r17 = r17, r25
207 :     ;;
208 :     getf.sig r19 = f32
209 :     setf.sig f32 = r18
210 :     ;;
211 :     sub r19 = r21, r19
212 :     xma.l f32 = f32, f9, f0
213 :     ;;
214 :     getf.sig r14 = f32
215 :     setf.sig f32 = r23
216 :     ;;
217 :     sub r21 = r21, r14
218 :     xma.l f32 = f32, f15, f6
219 :     ;;
220 :     sub r26 = r22, r21
221 :     getf.sig r23 = f32
222 :     setf.sig f6 = r15
223 :     add r22 = r22, r21
224 :     ;;
225 :     sub r18 = r23, r19
226 :     xma.l f6 = f6, f10, f0
227 :     setf.sig f32 = r28
228 :     ;;
229 :     getf.sig r15 = f6
230 :     add r20 = r18, r26
231 :     xma.l f32 = f32, f8, f0
232 :     ;;
233 :     setf.sig f6 = r20
234 :     add r16 = r15, r16
235 :     getf.sig r14 = f32
236 :     sub r18 = r18, r26
237 :     ;;
238 :     xma.l f6 = f6, f7, f0
239 :     add r23 = r23, r19
240 :     sub r15 = r15, r14
241 :     setf.sig f32 = r18
242 :     ;;
243 :     getf.sig r20 = f6
244 :     add r25 = r24, r16
245 :     add r19 = r17, r15
246 :     ;;
247 :     adds r20 = 128, r20
248 :     xma.l f32 = f32, f7, f0
249 :     sub r17 = r17, r15
250 :     ;;
251 :     shr r20 = r20, 8
252 :     getf.sig r18 = f32
253 :     add r14 = r25, r23
254 :     ;;
255 :     add r15 = r19, r20
256 :     shr r14 = r14, 8
257 :     adds r18 = 128, r18
258 :     st8 [r11] = r23
259 :     ;;
260 :     st2 [r27] = r14
261 :     shr r18 = r18, 8
262 :     shr r15 = r15, 8
263 :     ;;
264 :     st2 [r31] = r15
265 :     st8 [r43] = r22
266 :     sub r24 = r24, r16
267 :     add r14 = r17, r18
268 :     st8 [r44] = r26
269 :     ;;
270 :     add r15 = r24, r22
271 :     shr r14 = r14, 8
272 :     st8 [r42] = r25
273 :     ;;
274 :     shr r15 = r15, 8
275 :     st2 [r38] = r14
276 :     sub r16 = r24, r22
277 :     st8 [r2] = r24
278 :     ;;
279 :     st2 [r29] = r15
280 :     shr r16 = r16, 8
281 :     sub r14 = r17, r18
282 :     ;;
283 :     st2 [r39] = r16
284 :     st8 [r9] = r19
285 :     sub r15 = r19, r20
286 :     shr r14 = r14, 8
287 :     st8 [r3] = r17
288 :     sub r16 = r25, r23
289 :     ;;
290 :     st2 [r30] = r14
291 :     shr r15 = r15, 8
292 :     shr r16 = r16, 8
293 :     ;;
294 :     st2 [r40] = r15
295 :     st8 [r10] = r20
296 :     st2 [r37] = r16
297 :     st8 [r8] = r18
298 :     .L5:
299 :     ld8 r14 = [r41]
300 :     ;;
301 :     adds r14 = 1, r14
302 :     ;;
303 :     st8 [r41] = r14
304 :     cmp.ge p6, p7 = 7, r14
305 :     (p6) br.cond.dptk .L6
306 :     addl r14 = @gprel(i.1#), gp
307 :     addl r36 = @gprel(X8.10#), gp
308 :     addl r35 = @gprel(blk.0#), gp
309 :     ;;
310 :     st8 [r14] = r0
311 :     mov r42 = r14
312 :     addl r33 = @gprel(X1.3#), gp
313 :     addl r14 = 565, r0
314 :     addl r3 = @gprel(X2.4#), gp
315 :     addl r11 = @gprel(X3.5#), gp
316 :     ;;
317 :     setf.sig f14 = r14
318 :     addl r10 = @gprel(X4.6#), gp
319 :     addl r9 = @gprel(X5.7#), gp
320 :     addl r14 = 2276, r0
321 :     addl r8 = @gprel(X6.8#), gp
322 :     addl r44 = @gprel(X7.9#), gp
323 :     ;;
324 :     setf.sig f12 = r14
325 :     addl r43 = @gprel(iclp_ia64#), gp
326 :     addl r34 = @gprel(X0.2#), gp
327 :     addl r14 = 3406, r0
328 :     ;;
329 :     setf.sig f13 = r14
330 :     addl r14 = 2408, r0
331 :     ;;
332 :     setf.sig f10 = r14
333 :     addl r14 = 799, r0
334 :     ;;
335 :     setf.sig f11 = r14
336 :     addl r14 = 4017, r0
337 :     ;;
338 :     setf.sig f8 = r14
339 :     addl r14 = 1108, r0
340 :     ;;
341 :     setf.sig f9 = r14
342 :     addl r14 = 3784, r0
343 :     ;;
344 :     setf.sig f7 = r14
345 :     addl r14 = 181, r0
346 :     ;;
347 :     setf.sig f6 = r14
348 :     .L12:
349 :     ld8 r14 = [r42]
350 :     ;;
351 :     shladd r29 = r14, 1, r32
352 :     ;;
353 :     adds r41 = 96, r29
354 :     adds r39 = 64, r29
355 :     adds r31 = 16, r29
356 :     ;;
357 :     ld2 r15 = [r41]
358 :     ld2 r14 = [r39]
359 :     adds r37 = 32, r29
360 :     ;;
361 :     sxt2 r25 = r15
362 :     sxt2 r14 = r14
363 :     adds r40 = 112, r29
364 :     ld2 r15 = [r31]
365 :     ;;
366 :     shl r26 = r14, 8
367 :     ld2 r16 = [r37]
368 :     sxt2 r23 = r15
369 :     ;;
370 :     st8 [r33] = r26
371 :     sxt2 r16 = r16
372 :     ld2 r15 = [r40]
373 :     or r14 = r25, r26
374 :     adds r38 = 80, r29
375 :     ;;
376 :     sxt2 r24 = r15
377 :     st8 [r3] = r25
378 :     or r14 = r16, r14
379 :     ld2 r15 = [r38]
380 :     st8 [r11] = r16
381 :     ;;
382 :     or r14 = r23, r14
383 :     sxt2 r22 = r15
384 :     adds r30 = 48, r29
385 :     st8 [r10] = r23
386 :     ;;
387 :     or r14 = r24, r14
388 :     ld2 r15 = [r30]
389 :     st8 [r9] = r24
390 :     ;;
391 :     sxt2 r20 = r15
392 :     or r14 = r22, r14
393 :     st8 [r8] = r22
394 :     ;;
395 :     or r14 = r20, r14
396 :     st8 [r35] = r29
397 :     st8 [r44] = r20
398 :     ;;
399 :     cmp.ne p6, p7 = 0, r14
400 :     (p6) br.cond.dptk .L13
401 :     ld2 r14 = [r29]
402 :     ld8 r16 = [r43]
403 :     ;;
404 :     sxt2 r14 = r14
405 :     ;;
406 :     adds r14 = 32, r14
407 :     ;;
408 :     extr r14 = r14, 6, 26
409 :     ;;
410 :     shladd r14 = r14, 1, r16
411 :     ;;
412 :     ld2 r15 = [r14]
413 :     ;;
414 :     st2 [r40] = r15
415 :     st2 [r41] = r15
416 :     st2 [r38] = r15
417 :     st2 [r39] = r15
418 :     st2 [r30] = r15
419 :     st2 [r37] = r15
420 :     st2 [r31] = r15
421 :     st2 [r29] = r15
422 :     br .L11
423 :     .L13:
424 :     add r19 = r23, r24
425 :     add r21 = r22, r20
426 :     add r17 = r16, r25
427 :     ;;
428 :     setf.sig f15 = r19
429 :     setf.sig f32 = r21
430 :     ld2 r2 = [r29]
431 :     ;;
432 :     xma.l f15 = f15, f14, f0
433 :     shladd r18 = r16, 1, r16
434 :     sxt2 r2 = r2
435 :     ;;
436 :     getf.sig r19 = f15
437 :     xma.l f32 = f32, f10, f0
438 :     shladd r18 = r18, 4, r16
439 :     setf.sig f15 = r24
440 :     ;;
441 :     getf.sig r21 = f32
442 :     adds r19 = 4, r19
443 :     xma.l f15 = f15, f13, f0
444 :     setf.sig f32 = r22
445 :     ;;
446 :     adds r21 = 4, r21
447 :     getf.sig r24 = f15
448 :     xma.l f32 = f32, f11, f0
449 :     dep.z r2 = r2, 8, 24
450 :     setf.sig f15 = r20
451 :     ;;
452 :     getf.sig r15 = f32
453 :     sub r24 = r19, r24
454 :     xma.l f15 = f15, f8, f0
455 :     setf.sig f32 = r23
456 :     ;;
457 :     sub r15 = r21, r15
458 :     getf.sig r14 = f15
459 :     ;;
460 :     shr r15 = r15, 3
461 :     shr r24 = r24, 3
462 :     setf.sig f15 = r19
463 :     sub r21 = r21, r14
464 :     addl r2 = 8192, r2
465 :     ;;
466 :     xma.l f32 = f32, f12, f15
467 :     shr r21 = r21, 3
468 :     shl r18 = r18, 5
469 :     ;;
470 :     getf.sig r19 = f32
471 :     sub r28 = r24, r21
472 :     setf.sig f15 = r25
473 :     setf.sig f32 = r17
474 :     ;;
475 :     shr r19 = r19, 3
476 :     sxt4 r2 = r2
477 :     xma.l f32 = f32, f9, f0
478 :     ;;
479 :     sub r22 = r19, r15
480 :     add r25 = r2, r26
481 :     getf.sig r17 = f32
482 :     ;;
483 :     add r23 = r22, r28
484 :     xma.l f15 = f15, f7, f0
485 :     adds r17 = 4, r17
486 :     ;;
487 :     setf.sig f32 = r23
488 :     getf.sig r14 = f15
489 :     add r18 = r17, r18
490 :     sub r22 = r22, r28
491 :     ;;
492 :     xma.l f32 = f32, f6, f0
493 :     shr r18 = r18, 3
494 :     add r19 = r19, r15
495 :     sub r17 = r17, r14
496 :     ;;
497 :     add r27 = r25, r18
498 :     setf.sig f15 = r22
499 :     getf.sig r23 = f32
500 :     shr r17 = r17, 3
501 :     sub r2 = r2, r26
502 :     ;;
503 :     adds r23 = 128, r23
504 :     add r15 = r27, r19
505 :     xma.l f15 = f15, f6, f0
506 :     ld8 r20 = [r43]
507 :     add r26 = r2, r17
508 :     ;;
509 :     shr r23 = r23, 8
510 :     getf.sig r22 = f15
511 :     shr r15 = r15, 14
512 :     ;;
513 :     adds r22 = 128, r22
514 :     add r14 = r26, r23
515 :     shladd r15 = r15, 1, r20
516 :     sub r2 = r2, r17
517 :     ;;
518 :     shr r22 = r22, 8
519 :     ld2 r16 = [r15]
520 :     shr r14 = r14, 14
521 :     sub r25 = r25, r18
522 :     ;;
523 :     st2 [r29] = r16
524 :     shladd r14 = r14, 1, r20
525 :     add r15 = r2, r22
526 :     ;;
527 :     ld2 r16 = [r14]
528 :     add r24 = r24, r21
529 :     shr r15 = r15, 14
530 :     ;;
531 :     st2 [r31] = r16
532 :     shladd r15 = r15, 1, r20
533 :     add r14 = r25, r24
534 :     ;;
535 :     ld2 r16 = [r15]
536 :     shr r14 = r14, 14
537 :     st8 [r33] = r19
538 :     ;;
539 :     st2 [r37] = r16
540 :     shladd r14 = r14, 1, r20
541 :     sub r15 = r25, r24
542 :     ;;
543 :     ld2 r17 = [r14]
544 :     shr r15 = r15, 14
545 :     sub r16 = r2, r22
546 :     ;;
547 :     st2 [r30] = r17
548 :     shladd r15 = r15, 1, r20
549 :     st8 [r8] = r24
550 :     ;;
551 :     ld2 r17 = [r15]
552 :     shr r16 = r16, 14
553 :     st8 [r9] = r28
554 :     ;;
555 :     st2 [r39] = r17
556 :     sub r14 = r26, r23
557 :     shladd r16 = r16, 1, r20
558 :     st8 [r44] = r27
559 :     ;;
560 :     ld2 r15 = [r16]
561 :     shr r14 = r14, 14
562 :     ;;
563 :     st2 [r38] = r15
564 :     st8 [r36] = r25
565 :     shladd r14 = r14, 1, r20
566 :     sub r18 = r27, r19
567 :     ;;
568 :     ld2 r15 = [r14]
569 :     st8 [r11] = r26
570 :     shr r18 = r18, 14
571 :     ;;
572 :     st2 [r41] = r15
573 :     st8 [r34] = r2
574 :     shladd r18 = r18, 1, r20
575 :     st8 [r3] = r23
576 :     ;;
577 :     ld2 r14 = [r18]
578 :     st8 [r10] = r22
579 :     ;;
580 :     st2 [r40] = r14
581 :     .L11:
582 :     ld8 r14 = [r42]
583 :     ;;
584 :     adds r14 = 1, r14
585 :     ;;
586 :     st8 [r42] = r14
587 :     cmp.ge p6, p7 = 7, r14
588 :     (p6) br.cond.dptk .L12
589 :     br.ret.sptk.many b0
590 :     .endp idct_ia64#
591 :     .align 16
592 :     .global idct_ia64_init#
593 :     .proc idct_ia64_init#
594 :     idct_ia64_init:
595 :     .prologue
596 :     addl r14 = @ltoff(iclip_ia64#), gp
597 :     .save ar.lc, r2
598 :     mov r2 = ar.lc
599 :     .body
600 :     addl r15 = @gprel(iclp_ia64#), gp
601 :     ;;
602 :     ld8 r14 = [r14]
603 :     addl r16 = 255, r0
604 :     addl r17 = -512, r0
605 :     ;;
606 :     adds r14 = 1024, r14
607 :     addl r19 = -256, r0
608 :     addl r18 = 255, r0
609 :     mov ar.lc = r16
610 :     ;;
611 :     st8 [r15] = r14
612 :     mov r20 = r14
613 :     .L42:
614 :     sxt4 r14 = r17
615 :     cmp4.gt p6, p7 = r19, r17
616 :     ;;
617 :     shladd r15 = r14, 1, r20
618 :     ;;
619 :     (p6) st2 [r15] = r19
620 :     (p6) br.cond.dptk .L26
621 :     cmp4.le p6, p7 = r18, r17
622 :     ;;
623 :     (p6) mov r14 = r18
624 :     (p7) mov r14 = r17
625 :     ;;
626 :     st2 [r15] = r14
627 :     .L26:
628 :     adds r15 = 1, r17
629 :     ;;
630 :     sxt4 r14 = r15
631 :     cmp4.gt p6, p7 = r19, r15
632 :     ;;
633 :     shladd r16 = r14, 1, r20
634 :     ;;
635 :     (p6) st2 [r16] = r19
636 :     (p6) br.cond.dptk .L30
637 :     cmp4.le p6, p7 = r18, r15
638 :     ;;
639 :     (p6) mov r14 = r18
640 :     (p7) mov r14 = r15
641 :     ;;
642 :     st2 [r16] = r14
643 :     .L30:
644 :     adds r15 = 2, r17
645 :     ;;
646 :     sxt4 r14 = r15
647 :     cmp4.gt p6, p7 = r19, r15
648 :     ;;
649 :     shladd r16 = r14, 1, r20
650 :     ;;
651 :     (p6) st2 [r16] = r19
652 :     (p6) br.cond.dptk .L34
653 :     cmp4.le p6, p7 = r18, r15
654 :     ;;
655 :     (p6) mov r14 = r18
656 :     (p7) mov r14 = r15
657 :     ;;
658 :     st2 [r16] = r14
659 :     .L34:
660 :     adds r15 = 3, r17
661 :     ;;
662 :     sxt4 r14 = r15
663 :     cmp4.gt p6, p7 = r19, r15
664 :     ;;
665 :     shladd r16 = r14, 1, r20
666 :     ;;
667 :     (p6) st2 [r16] = r19
668 :     (p6) br.cond.dptk .L38
669 :     cmp4.le p6, p7 = r18, r15
670 :     ;;
671 :     (p6) mov r14 = r18
672 :     (p7) mov r14 = r15
673 :     ;;
674 :     st2 [r16] = r14
675 :     .L38:
676 :     adds r17 = 4, r17
677 :     br.cloop.sptk.few .L42
678 :     ;;
679 :     mov ar.lc = r2
680 :     br.ret.sptk.many b0
681 :     .endp idct_ia64_init#
682 :     .common idct#,8,8
683 :     .bss
684 :     .align 2
685 :     .type iclip_ia64#,@object
686 :     .size iclip_ia64#,2048
687 :     iclip_ia64:
688 :     .skip 2048
689 :     .sbss
690 :     .align 8
691 :     .type iclp_ia64#,@object
692 :     .size iclp_ia64#,8
693 :     iclp_ia64:
694 :     .skip 8
695 :     .ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-85)"

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