[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 251 - (view) (download)

1 : ia64p 251 addreg1 = r14
2 :     addreg2 = r15
3 :     c0 = f32
4 :     c1 = f33
5 :     c2 = f34
6 :     c3 = f35
7 :     c4 = f36
8 :     c5 = f37
9 :     c6 = f38
10 :     c7 = f39
11 :     c8 = f40
12 :     c9 = f41
13 :     c10 = f42
14 :     c11 = f43
15 :     c12 = f44
16 :     c13 = f45
17 :     c14 = f46
18 :     c15 = f47
19 :    
20 :     .sdata
21 :     .align 16
22 :     .data_c0:
23 :     .single 0.353553390593273730857504233427, 0.353553390593273730857504233427
24 :     .data_c1:
25 :     .single -2.414213562373094923430016933708, -2.414213562373094923430016933708
26 :     .align 16
27 :     .data_c2:
28 :     .single -0.414213562373095034452319396223, -0.414213562373095034452319396223
29 :     .data_c3:
30 :     .single 0.198912367379658006072418174881, 0.198912367379658006072418174881
31 :     .align 16
32 :     .data_c4:
33 :     .single 5.027339492125848074977056967327, 5.027339492125848074977056967327
34 :     .data_c5:
35 :     .single 0.668178637919298878955487452913, 0.668178637919298878955487452913
36 :     .align 16
37 :     .data_c6:
38 :     .single 1.496605762665489169904731170391, 1.496605762665489169904731170391
39 :     .data_c7:
40 :     .single 0.461939766255643369241568052530, 0.461939766255643369241568052530
41 :     .align 16
42 :     .data_c8:
43 :     .single 0.191341716182544890889616340246, 0.191341716182544890889616340246
44 :     .data_c9:
45 :     .single 0.847759065022573476966272210120, 0.847759065022573476966272210120
46 :     .align 16
47 :     .data_c10:
48 :     .single 2.847759065022573476966272210120, 2.847759065022573476966272210120
49 :     .data_c11:
50 :     .single 5.027339492125848074977056967327, 5.027339492125848074977056967327
51 :     .align 16
52 :     .data_c12:
53 :     .single 0.490392640201615215289621119155, 0.490392640201615215289621119155
54 :     .data_c13:
55 :     .single 0.068974844820735750627882509889, 0.068974844820735750627882509889
56 :     .align 16
57 :     .data_c14:
58 :     .single 0.097545161008064124041894160655, 0.097545161008064124041894160655
59 :     .data_c15:
60 :     .single 1.000000000000000000000000000000, 1.000000000000000000000000000000
61 :    
62 : ia64p 205 .text
63 : ia64p 251 .global idct_ia64, idct_ia64_init
64 :    
65 :     .align 16
66 :     .proc idct_ia64_init
67 :     idct_ia64_init:
68 :     br.ret.sptk.few b0
69 :     .endp
70 :    
71 :     .align 16
72 :     .proc idct_ia64
73 : ia64p 205 idct_ia64:
74 : ia64p 251
75 :     addreg3 = r20
76 :     addreg4 = r21
77 :     addreg5 = r22
78 :     addreg6 = r23
79 :    
80 :     one = f30
81 :     alloc r16 = ar.pfs, 1, 71, 0, 0
82 :     addl addreg1 = @gprel(.data_c0#), gp
83 :     addl addreg2 = @gprel(.data_c2#), gp
84 : ia64p 205 ;;
85 : ia64p 251 add addreg3 = 32, addreg1
86 :     add addreg4 = 32, addreg2
87 :     add addreg5 = 64, addreg1
88 :     add addreg6 = 64, addreg2
89 :     ;;
90 :     ldfp8 c0, c1 = [addreg1]
91 :     ldfp8 c2, c3 = [addreg2]
92 :     ;;
93 :     ldfp8 c4, c5 = [addreg3], 16
94 :     ldfp8 c6, c7 = [addreg4], 16
95 :     add addreg1 = 96, addreg1
96 :     add addreg2 = 96, addreg2
97 : ia64p 205 ;;
98 : ia64p 251 ldfp8 c8, c9 = [addreg5], 16
99 :     ldfp8 c10, c11 = [addreg6], 16
100 :     ;;
101 :     ldfp8 c12, c13 = [addreg1]
102 :     ldfp8 c14, c15 = [addreg2]
103 : ia64p 205 ;;
104 : ia64p 251 mov addreg1 = in0
105 :     fpack one = f1, f1
106 :     add addreg2 = 2, in0
107 :     ;;
108 :    
109 :     ld2 r33 = [addreg1], 4
110 :     ld2 r34 = [addreg2], 4
111 : ia64p 205 ;;
112 : ia64p 251 ld2 r35 = [addreg1], 4
113 :     ld2 r36 = [addreg2], 4
114 : ia64p 205 ;;
115 : ia64p 251 ld2 r37 = [addreg1], 4
116 :     ld2 r38 = [addreg2], 4
117 : ia64p 205 ;;
118 : ia64p 251 ld2 r39 = [addreg1], 4
119 :     ld2 r40 = [addreg2], 4
120 : ia64p 205 ;;
121 : ia64p 251 ld2 r41 = [addreg1], 4
122 :     ld2 r42 = [addreg2], 4
123 : ia64p 205 ;;
124 : ia64p 251 ld2 r43 = [addreg1], 4
125 :     ld2 r44 = [addreg2], 4
126 : ia64p 205 ;;
127 : ia64p 251 ld2 r45 = [addreg1], 4
128 :     ld2 r46 = [addreg2], 4
129 : ia64p 205 ;;
130 : ia64p 251 ld2 r47 = [addreg1], 4
131 :     ld2 r48 = [addreg2], 4
132 : ia64p 205 ;;
133 : ia64p 251 ld2 r49 = [addreg1], 4
134 :     ld2 r50 = [addreg2], 4
135 : ia64p 205 ;;
136 : ia64p 251 ld2 r51 = [addreg1], 4
137 :     ld2 r52 = [addreg2], 4
138 : ia64p 205 ;;
139 : ia64p 251 ld2 r53 = [addreg1], 4
140 :     ld2 r54 = [addreg2], 4
141 : ia64p 205 ;;
142 : ia64p 251 ld2 r55 = [addreg1], 4
143 :     ld2 r56 = [addreg2], 4
144 : ia64p 205 ;;
145 : ia64p 251 ld2 r57 = [addreg1], 4
146 :     ld2 r58 = [addreg2], 4
147 : ia64p 205 ;;
148 : ia64p 251 ld2 r59 = [addreg1], 4
149 :     ld2 r60 = [addreg2], 4
150 : ia64p 205 ;;
151 : ia64p 251 ld2 r61 = [addreg1], 4
152 :     ld2 r62 = [addreg2], 4
153 : ia64p 205 ;;
154 : ia64p 251 ld2 r63 = [addreg1], 4
155 :     ld2 r64 = [addreg2], 4
156 : ia64p 205 ;;
157 : ia64p 251 ld2 r65 = [addreg1], 4
158 :     ld2 r66 = [addreg2], 4
159 : ia64p 205 ;;
160 : ia64p 251 ld2 r67 = [addreg1], 4
161 :     ld2 r68 = [addreg2], 4
162 : ia64p 205 ;;
163 : ia64p 251 ld2 r69 = [addreg1], 4
164 :     ld2 r70 = [addreg2], 4
165 : ia64p 205 ;;
166 : ia64p 251 ld2 r71 = [addreg1], 4
167 :     ld2 r72 = [addreg2], 4
168 : ia64p 205 ;;
169 : ia64p 251 ld2 r73 = [addreg1], 4
170 :     ld2 r74 = [addreg2], 4
171 : ia64p 205 ;;
172 : ia64p 251 ld2 r75 = [addreg1], 4
173 :     ld2 r76 = [addreg2], 4
174 : ia64p 205 ;;
175 : ia64p 251 ld2 r77 = [addreg1], 4
176 :     ld2 r78 = [addreg2], 4
177 : ia64p 205 ;;
178 : ia64p 251 ld2 r79 = [addreg1], 4
179 :     ld2 r80 = [addreg2], 4
180 : ia64p 205 ;;
181 : ia64p 251 ld2 r81 = [addreg1], 4
182 :     ld2 r82 = [addreg2], 4
183 : ia64p 205 ;;
184 : ia64p 251 ld2 r83 = [addreg1], 4
185 :     ld2 r84 = [addreg2], 4
186 : ia64p 205 ;;
187 : ia64p 251 ld2 r85 = [addreg1], 4
188 :     ld2 r86 = [addreg2], 4
189 : ia64p 205 ;;
190 : ia64p 251 ld2 r87 = [addreg1], 4
191 :     ld2 r88 = [addreg2], 4
192 : ia64p 205 ;;
193 : ia64p 251 ld2 r89 = [addreg1], 4
194 :     ld2 r90 = [addreg2], 4
195 : ia64p 205 ;;
196 : ia64p 251 ld2 r91 = [addreg1], 4
197 :     ld2 r92 = [addreg2], 4
198 : ia64p 205 ;;
199 : ia64p 251 ld2 r93 = [addreg1], 4
200 :     ld2 r94 = [addreg2], 4
201 : ia64p 205 ;;
202 : ia64p 251 ld2 r95 = [addreg1], 4
203 :     ld2 r96 = [addreg2], 4
204 : ia64p 205 ;;
205 : ia64p 251 sxt2 r33 = r33
206 :     sxt2 r34 = r34
207 :     sxt2 r35 = r35
208 :     sxt2 r36 = r36
209 :     sxt2 r37 = r37
210 :     sxt2 r38 = r38
211 :     sxt2 r39 = r39
212 :     sxt2 r40 = r40
213 :     sxt2 r41 = r41
214 :     sxt2 r42 = r42
215 :     sxt2 r43 = r43
216 :     sxt2 r44 = r44
217 :     sxt2 r45 = r45
218 :     sxt2 r46 = r46
219 :     sxt2 r47 = r47
220 :     sxt2 r48 = r48
221 :     sxt2 r49 = r49
222 :     sxt2 r50 = r50
223 :     sxt2 r51 = r51
224 :     sxt2 r52 = r52
225 :     sxt2 r53 = r53
226 :     sxt2 r54 = r54
227 :     sxt2 r55 = r55
228 :     sxt2 r56 = r56
229 :     sxt2 r57 = r57
230 :     sxt2 r58 = r58
231 :     sxt2 r59 = r59
232 :     sxt2 r60 = r60
233 :     sxt2 r61 = r61
234 :     sxt2 r62 = r62
235 :     sxt2 r63 = r63
236 :     sxt2 r64 = r64
237 :     sxt2 r65 = r65
238 :     sxt2 r66 = r66
239 :     sxt2 r67 = r67
240 :     sxt2 r68 = r68
241 :     sxt2 r69 = r69
242 :     sxt2 r70 = r70
243 :     sxt2 r71 = r71
244 :     sxt2 r72 = r72
245 :     sxt2 r73 = r73
246 :     sxt2 r74 = r74
247 :     sxt2 r75 = r75
248 :     sxt2 r76 = r76
249 :     sxt2 r77 = r77
250 :     sxt2 r78 = r78
251 :     sxt2 r79 = r79
252 :     sxt2 r80 = r80
253 :     sxt2 r81 = r81
254 :     sxt2 r82 = r82
255 :     sxt2 r83 = r83
256 :     sxt2 r84 = r84
257 :     sxt2 r85 = r85
258 :     sxt2 r86 = r86
259 :     sxt2 r87 = r87
260 :     sxt2 r88 = r88
261 :     sxt2 r89 = r89
262 :     sxt2 r90 = r90
263 :     sxt2 r91 = r91
264 :     sxt2 r92 = r92
265 :     sxt2 r93 = r93
266 :     sxt2 r94 = r94
267 :     sxt2 r95 = r95
268 :     sxt2 r96 = r96
269 : ia64p 205 ;;
270 : ia64p 251 setf.sig f48 = r33
271 :     setf.sig f49 = r34
272 :     setf.sig f50 = r35
273 :     setf.sig f51 = r36
274 :     setf.sig f52 = r37
275 :     setf.sig f53 = r38
276 :     setf.sig f54 = r39
277 :     setf.sig f55 = r40
278 :     setf.sig f56 = r41
279 :     setf.sig f57 = r42
280 :     setf.sig f58 = r43
281 :     setf.sig f59 = r44
282 :     setf.sig f60 = r45
283 :     setf.sig f61 = r46
284 :     setf.sig f62 = r47
285 :     setf.sig f63 = r48
286 :     setf.sig f64 = r49
287 :     setf.sig f65 = r50
288 :     setf.sig f66 = r51
289 :     setf.sig f67 = r52
290 :     setf.sig f68 = r53
291 :     setf.sig f69 = r54
292 :     setf.sig f70 = r55
293 :     setf.sig f71 = r56
294 :     setf.sig f72 = r57
295 :     setf.sig f73 = r58
296 :     setf.sig f74 = r59
297 :     setf.sig f75 = r60
298 :     setf.sig f76 = r61
299 :     setf.sig f77 = r62
300 :     setf.sig f78 = r63
301 :     setf.sig f79 = r64
302 :     setf.sig f80 = r65
303 :     setf.sig f81 = r66
304 :     setf.sig f82 = r67
305 :     setf.sig f83 = r68
306 :     setf.sig f84 = r69
307 :     setf.sig f85 = r70
308 :     setf.sig f86 = r71
309 :     setf.sig f87 = r72
310 :     setf.sig f88 = r73
311 :     setf.sig f89 = r74
312 :     setf.sig f90 = r75
313 :     setf.sig f91 = r76
314 :     setf.sig f92 = r77
315 :     setf.sig f93 = r78
316 :     setf.sig f94 = r79
317 :     setf.sig f95 = r80
318 :     setf.sig f96 = r81
319 :     setf.sig f97 = r82
320 :     setf.sig f98 = r83
321 :     setf.sig f99 = r84
322 :     setf.sig f100 = r85
323 :     setf.sig f101 = r86
324 :     setf.sig f102 = r87
325 :     setf.sig f103 = r88
326 :     setf.sig f104 = r89
327 :     setf.sig f105 = r90
328 :     setf.sig f106 = r91
329 :     setf.sig f107 = r92
330 :     setf.sig f108 = r93
331 :     setf.sig f109 = r94
332 :     setf.sig f110 = r95
333 :     setf.sig f111 = r96
334 : ia64p 205 ;;
335 : ia64p 251 fcvt.xf f48 = f48
336 :     fcvt.xf f49 = f49
337 :     fcvt.xf f50 = f50
338 :     fcvt.xf f51 = f51
339 :     fcvt.xf f52 = f52
340 :     fcvt.xf f53 = f53
341 :     fcvt.xf f54 = f54
342 :     fcvt.xf f55 = f55
343 :     fcvt.xf f56 = f56
344 :     fcvt.xf f57 = f57
345 :     fcvt.xf f58 = f58
346 :     fcvt.xf f59 = f59
347 :     fcvt.xf f60 = f60
348 :     fcvt.xf f61 = f61
349 :     fcvt.xf f62 = f62
350 :     fcvt.xf f63 = f63
351 :     fcvt.xf f64 = f64
352 :     fcvt.xf f65 = f65
353 :     fcvt.xf f66 = f66
354 :     fcvt.xf f67 = f67
355 :     fcvt.xf f68 = f68
356 :     fcvt.xf f69 = f69
357 :     fcvt.xf f70 = f70
358 :     fcvt.xf f71 = f71
359 :     fcvt.xf f72 = f72
360 :     fcvt.xf f73 = f73
361 :     fcvt.xf f74 = f74
362 :     fcvt.xf f75 = f75
363 :     fcvt.xf f76 = f76
364 :     fcvt.xf f77 = f77
365 :     fcvt.xf f78 = f78
366 :     fcvt.xf f79 = f79
367 :     fcvt.xf f80 = f80
368 :     fcvt.xf f81 = f81
369 :     fcvt.xf f82 = f82
370 :     fcvt.xf f83 = f83
371 :     fcvt.xf f84 = f84
372 :     fcvt.xf f85 = f85
373 :     fcvt.xf f86 = f86
374 :     fcvt.xf f87 = f87
375 :     fcvt.xf f88 = f88
376 :     fcvt.xf f89 = f89
377 :     fcvt.xf f90 = f90
378 :     fcvt.xf f91 = f91
379 :     fcvt.xf f92 = f92
380 :     fcvt.xf f93 = f93
381 :     fcvt.xf f94 = f94
382 :     fcvt.xf f95 = f95
383 :     fcvt.xf f96 = f96
384 :     fcvt.xf f97 = f97
385 :     fcvt.xf f98 = f98
386 :     fcvt.xf f99 = f99
387 :     fcvt.xf f100 = f100
388 :     fcvt.xf f101 = f101
389 :     fcvt.xf f102 = f102
390 :     fcvt.xf f103 = f103
391 :     fcvt.xf f104 = f104
392 :     fcvt.xf f105 = f105
393 :     fcvt.xf f106 = f106
394 :     fcvt.xf f107 = f107
395 :     fcvt.xf f108 = f108
396 :     fcvt.xf f109 = f109
397 :     fcvt.xf f110 = f110
398 :     fcvt.xf f111 = f111
399 : ia64p 205 ;;
400 : ia64p 251 fpack f48 = f48, f49
401 : ia64p 205 ;;
402 : ia64p 251 fpack f49 = f50, f51
403 : ia64p 205 ;;
404 : ia64p 251 fpack f50 = f52, f53
405 : ia64p 205 ;;
406 : ia64p 251 fpack f51 = f54, f55
407 : ia64p 205 ;;
408 : ia64p 251 fpack f52 = f56, f57
409 : ia64p 205 ;;
410 : ia64p 251 fpack f53 = f58, f59
411 : ia64p 205 ;;
412 : ia64p 251 fpack f54 = f60, f61
413 : ia64p 205 ;;
414 : ia64p 251 fpack f55 = f62, f63
415 : ia64p 205 ;;
416 : ia64p 251 fpack f56 = f64, f65
417 : ia64p 205 ;;
418 : ia64p 251 fpack f57 = f66, f67
419 : ia64p 205 ;;
420 : ia64p 251 fpack f58 = f68, f69
421 : ia64p 205 ;;
422 : ia64p 251 fpack f59 = f70, f71
423 : ia64p 205 ;;
424 : ia64p 251 fpack f60 = f72, f73
425 : ia64p 205 ;;
426 : ia64p 251 fpack f61 = f74, f75
427 : ia64p 205 ;;
428 : ia64p 251 fpack f62 = f76, f77
429 : ia64p 205 ;;
430 : ia64p 251 fpack f63 = f78, f79
431 : ia64p 205 ;;
432 : ia64p 251 fpack f64 = f80, f81
433 : ia64p 205 ;;
434 : ia64p 251 fpack f65 = f82, f83
435 : ia64p 205 ;;
436 : ia64p 251 fpack f66 = f84, f85
437 : ia64p 205 ;;
438 : ia64p 251 fpack f67 = f86, f87
439 : ia64p 205 ;;
440 : ia64p 251 fpack f68 = f88, f89
441 : ia64p 205 ;;
442 : ia64p 251 fpack f69 = f90, f91
443 : ia64p 205 ;;
444 : ia64p 251 fpack f70 = f92, f93
445 : ia64p 205 ;;
446 : ia64p 251 fpack f71 = f94, f95
447 : ia64p 205 ;;
448 : ia64p 251 fpack f72 = f96, f97
449 : ia64p 205 ;;
450 : ia64p 251 fpack f73 = f98, f99
451 : ia64p 205 ;;
452 : ia64p 251 fpack f74 = f100, f101
453 : ia64p 205 ;;
454 : ia64p 251 fpack f75 = f102, f103
455 : ia64p 205 ;;
456 : ia64p 251 fpack f76 = f104, f105
457 : ia64p 205 ;;
458 : ia64p 251 fpack f77 = f106, f107
459 : ia64p 205 ;;
460 : ia64p 251 fpack f78 = f108, f109
461 : ia64p 205 ;;
462 : ia64p 251 fpack f79 = f110, f111
463 : ia64p 205 ;;
464 : ia64p 251 fpma f48 = f48, c0, f0
465 :     fpma f49 = f49, c0, f0
466 :     fpma f50 = f50, c0, f0
467 :     fpma f51 = f51, c0, f0
468 : ia64p 205 ;;
469 : ia64p 251
470 :     // before pre shuffle
471 :     // 48 49 50 51
472 :     // 52 53 54 55
473 :     // 56 57 58 59
474 :     // 60 61 62 63
475 :     // 64 65 66 67
476 :     // 68 69 70 71
477 :     // 72 73 74 75
478 :     // 76 77 78 79
479 :    
480 :     // after pre shuffle
481 :     // 48 49 50 51
482 :     // 64 53 54 55
483 :     // 56 57 58 59
484 :     // 72 61 62 63
485 :     // 52 65 66 67
486 :     // 76 69 70 71
487 :     // 60 73 74 75
488 :     // 68 77 78 79
489 :     // (f80, f64) = (f48, f64) $ (c0, c0), (line 0, 1)
490 :     fpma f80 = f64, c0, f48
491 :     fpnma f64 = f64, c0, f48
492 : ia64p 205 ;;
493 : ia64p 251 // (f48, f72) = (f56, f72) $ (c1, c2), (line 2, 3)
494 :     fpma f48 = f72, c1, f56
495 :     fpnma f72 = f72, c2, f56
496 : ia64p 205 ;;
497 : ia64p 251 // (f56, f76) = (f52, f76) $ (c3, c4), (line 4, 5)
498 :     fpma f56 = f76, c3, f52
499 :     fpnma f76 = f76, c4, f52
500 : ia64p 205 ;;
501 : ia64p 251 // (f52, f68) = (f60, f68) $ (c5, c6), (line 6, 7)
502 :     fpma f52 = f68, c5, f60
503 :     fpnma f68 = f68, c6, f60
504 : ia64p 205 ;;
505 :     ;;
506 : ia64p 251 // (f60, f72) = (f80, f72) $ (c7, c7), (line 0, 3)
507 :     fpma f60 = f72, c7, f80
508 :     fpnma f72 = f72, c7, f80
509 : ia64p 205 ;;
510 : ia64p 251 // (f80, f48) = (f64, f48) $ (c8, c8), (line 1, 2)
511 :     fpma f80 = f48, c8, f64
512 :     fpnma f48 = f48, c8, f64
513 : ia64p 205 ;;
514 : ia64p 251 // (f64, f52) = (f56, f52) $ (c9, c9), (line 4, 6)
515 :     fpma f64 = f52, c9, f56
516 :     fpnma f52 = f52, c9, f56
517 : ia64p 205 ;;
518 : ia64p 251 // (f56, f68) = (f76, f68) $ (c10, c10), (line 5, 7)
519 :     fpma f56 = f68, c10, f76
520 :     fpnma f68 = f68, c10, f76
521 : ia64p 205 ;;
522 :     ;;
523 : ia64p 251 // (f76, f52) = (f56, f52) $ (c11, c11), (line 5, 6)
524 :     fpma f76 = f52, c11, f56
525 :     fpnma f52 = f52, c11, f56
526 : ia64p 205 ;;
527 : ia64p 251 // (f56, f64) = (f60, f64) $ (c12, c12), (line 0, 4)
528 :     fpma f56 = f64, c12, f60
529 :     fpnma f64 = f64, c12, f60
530 : ia64p 205 ;;
531 : ia64p 251 // (f60, f68) = (f72, f68) $ (c14, c14), (line 3, 7)
532 :     fpma f60 = f68, c14, f72
533 :     fpnma f68 = f68, c14, f72
534 : ia64p 205 ;;
535 :     ;;
536 : ia64p 251 // (f72, f76) = (f80, f76) $ (c13, c13), (line 1, 5)
537 :     fpma f72 = f76, c13, f80
538 :     fpnma f76 = f76, c13, f80
539 : ia64p 205 ;;
540 : ia64p 251 // (f80, f52) = (f48, f52) $ (c13, c13), (line 2, 6)
541 :     fpma f80 = f52, c13, f48
542 :     fpnma f52 = f52, c13, f48
543 : ia64p 205 ;;
544 : ia64p 251
545 :     // before post shuffle
546 :     // 56 49 50 51
547 :     // 72 53 54 55
548 :     // 80 57 58 59
549 :     // 60 61 62 63
550 :     // 64 65 66 67
551 :     // 76 69 70 71
552 :     // 52 73 74 75
553 :     // 68 77 78 79
554 :    
555 :     // after post shuffle
556 :     // 56 49 50 51
557 :     // 72 53 54 55
558 :     // 52 57 58 59
559 :     // 60 61 62 63
560 :     // 68 65 66 67
561 :     // 80 69 70 71
562 :     // 76 73 74 75
563 :     // 64 77 78 79
564 :    
565 :     // before pre shuffle
566 :     // 56 49 50 51
567 :     // 72 53 54 55
568 :     // 52 57 58 59
569 :     // 60 61 62 63
570 :     // 68 65 66 67
571 :     // 80 69 70 71
572 :     // 76 73 74 75
573 :     // 64 77 78 79
574 :    
575 :     // after pre shuffle
576 :     // 56 49 50 51
577 :     // 72 65 54 55
578 :     // 52 57 58 59
579 :     // 60 73 62 63
580 :     // 68 53 66 67
581 :     // 80 77 70 71
582 :     // 76 61 74 75
583 :     // 64 69 78 79
584 :     // (f48, f65) = (f49, f65) $ (c0, c0), (line 0, 1)
585 :     fpma f48 = f65, c0, f49
586 :     fpnma f65 = f65, c0, f49
587 : ia64p 205 ;;
588 : ia64p 251 // (f49, f73) = (f57, f73) $ (c1, c2), (line 2, 3)
589 :     fpma f49 = f73, c1, f57
590 :     fpnma f73 = f73, c2, f57
591 : ia64p 205 ;;
592 : ia64p 251 // (f57, f77) = (f53, f77) $ (c3, c4), (line 4, 5)
593 :     fpma f57 = f77, c3, f53
594 :     fpnma f77 = f77, c4, f53
595 : ia64p 205 ;;
596 : ia64p 251 // (f53, f69) = (f61, f69) $ (c5, c6), (line 6, 7)
597 :     fpma f53 = f69, c5, f61
598 :     fpnma f69 = f69, c6, f61
599 : ia64p 205 ;;
600 :     ;;
601 : ia64p 251 // (f61, f73) = (f48, f73) $ (c7, c7), (line 0, 3)
602 :     fpma f61 = f73, c7, f48
603 :     fpnma f73 = f73, c7, f48
604 : ia64p 205 ;;
605 : ia64p 251 // (f48, f49) = (f65, f49) $ (c8, c8), (line 1, 2)
606 :     fpma f48 = f49, c8, f65
607 :     fpnma f49 = f49, c8, f65
608 : ia64p 205 ;;
609 : ia64p 251 // (f65, f53) = (f57, f53) $ (c9, c9), (line 4, 6)
610 :     fpma f65 = f53, c9, f57
611 :     fpnma f53 = f53, c9, f57
612 : ia64p 205 ;;
613 : ia64p 251 // (f57, f69) = (f77, f69) $ (c10, c10), (line 5, 7)
614 :     fpma f57 = f69, c10, f77
615 :     fpnma f69 = f69, c10, f77
616 : ia64p 205 ;;
617 :     ;;
618 : ia64p 251 // (f77, f53) = (f57, f53) $ (c11, c11), (line 5, 6)
619 :     fpma f77 = f53, c11, f57
620 :     fpnma f53 = f53, c11, f57
621 : ia64p 205 ;;
622 : ia64p 251 // (f57, f65) = (f61, f65) $ (c12, c12), (line 0, 4)
623 :     fpma f57 = f65, c12, f61
624 :     fpnma f65 = f65, c12, f61
625 : ia64p 205 ;;
626 : ia64p 251 // (f61, f69) = (f73, f69) $ (c14, c14), (line 3, 7)
627 :     fpma f61 = f69, c14, f73
628 :     fpnma f69 = f69, c14, f73
629 : ia64p 205 ;;
630 :     ;;
631 : ia64p 251 // (f73, f77) = (f48, f77) $ (c13, c13), (line 1, 5)
632 :     fpma f73 = f77, c13, f48
633 :     fpnma f77 = f77, c13, f48
634 : ia64p 205 ;;
635 : ia64p 251 // (f48, f53) = (f49, f53) $ (c13, c13), (line 2, 6)
636 :     fpma f48 = f53, c13, f49
637 :     fpnma f53 = f53, c13, f49
638 : ia64p 205 ;;
639 : ia64p 251
640 :     // before post shuffle
641 :     // 56 57 50 51
642 :     // 72 73 54 55
643 :     // 52 48 58 59
644 :     // 60 61 62 63
645 :     // 68 65 66 67
646 :     // 80 77 70 71
647 :     // 76 53 74 75
648 :     // 64 69 78 79
649 :    
650 :     // after post shuffle
651 :     // 56 57 50 51
652 :     // 72 73 54 55
653 :     // 52 53 58 59
654 :     // 60 61 62 63
655 :     // 68 69 66 67
656 :     // 80 48 70 71
657 :     // 76 77 74 75
658 :     // 64 65 78 79
659 :    
660 :     // before pre shuffle
661 :     // 56 57 50 51
662 :     // 72 73 54 55
663 :     // 52 53 58 59
664 :     // 60 61 62 63
665 :     // 68 69 66 67
666 :     // 80 48 70 71
667 :     // 76 77 74 75
668 :     // 64 65 78 79
669 :    
670 :     // after pre shuffle
671 :     // 56 57 50 51
672 :     // 72 73 66 55
673 :     // 52 53 58 59
674 :     // 60 61 74 63
675 :     // 68 69 54 67
676 :     // 80 48 78 71
677 :     // 76 77 62 75
678 :     // 64 65 70 79
679 :     // (f49, f66) = (f50, f66) $ (c0, c0), (line 0, 1)
680 :     fpma f49 = f66, c0, f50
681 :     fpnma f66 = f66, c0, f50
682 : ia64p 205 ;;
683 : ia64p 251 // (f50, f74) = (f58, f74) $ (c1, c2), (line 2, 3)
684 :     fpma f50 = f74, c1, f58
685 :     fpnma f74 = f74, c2, f58
686 : ia64p 205 ;;
687 : ia64p 251 // (f58, f78) = (f54, f78) $ (c3, c4), (line 4, 5)
688 :     fpma f58 = f78, c3, f54
689 :     fpnma f78 = f78, c4, f54
690 : ia64p 205 ;;
691 : ia64p 251 // (f54, f70) = (f62, f70) $ (c5, c6), (line 6, 7)
692 :     fpma f54 = f70, c5, f62
693 :     fpnma f70 = f70, c6, f62
694 : ia64p 205 ;;
695 :     ;;
696 : ia64p 251 // (f62, f74) = (f49, f74) $ (c7, c7), (line 0, 3)
697 :     fpma f62 = f74, c7, f49
698 :     fpnma f74 = f74, c7, f49
699 : ia64p 205 ;;
700 : ia64p 251 // (f49, f50) = (f66, f50) $ (c8, c8), (line 1, 2)
701 :     fpma f49 = f50, c8, f66
702 :     fpnma f50 = f50, c8, f66
703 : ia64p 205 ;;
704 : ia64p 251 // (f66, f54) = (f58, f54) $ (c9, c9), (line 4, 6)
705 :     fpma f66 = f54, c9, f58
706 :     fpnma f54 = f54, c9, f58
707 : ia64p 205 ;;
708 : ia64p 251 // (f58, f70) = (f78, f70) $ (c10, c10), (line 5, 7)
709 :     fpma f58 = f70, c10, f78
710 :     fpnma f70 = f70, c10, f78
711 : ia64p 205 ;;
712 :     ;;
713 : ia64p 251 // (f78, f54) = (f58, f54) $ (c11, c11), (line 5, 6)
714 :     fpma f78 = f54, c11, f58
715 :     fpnma f54 = f54, c11, f58
716 : ia64p 205 ;;
717 : ia64p 251 // (f58, f66) = (f62, f66) $ (c12, c12), (line 0, 4)
718 :     fpma f58 = f66, c12, f62
719 :     fpnma f66 = f66, c12, f62
720 : ia64p 205 ;;
721 : ia64p 251 // (f62, f70) = (f74, f70) $ (c14, c14), (line 3, 7)
722 :     fpma f62 = f70, c14, f74
723 :     fpnma f70 = f70, c14, f74
724 : ia64p 205 ;;
725 :     ;;
726 : ia64p 251 // (f74, f78) = (f49, f78) $ (c13, c13), (line 1, 5)
727 :     fpma f74 = f78, c13, f49
728 :     fpnma f78 = f78, c13, f49
729 : ia64p 205 ;;
730 : ia64p 251 // (f49, f54) = (f50, f54) $ (c13, c13), (line 2, 6)
731 :     fpma f49 = f54, c13, f50
732 :     fpnma f54 = f54, c13, f50
733 : ia64p 205 ;;
734 : ia64p 251
735 :     // before post shuffle
736 :     // 56 57 58 51
737 :     // 72 73 74 55
738 :     // 52 53 49 59
739 :     // 60 61 62 63
740 :     // 68 69 66 67
741 :     // 80 48 78 71
742 :     // 76 77 54 75
743 :     // 64 65 70 79
744 :    
745 :     // after post shuffle
746 :     // 56 57 58 51
747 :     // 72 73 74 55
748 :     // 52 53 54 59
749 :     // 60 61 62 63
750 :     // 68 69 70 67
751 :     // 80 48 49 71
752 :     // 76 77 78 75
753 :     // 64 65 66 79
754 :    
755 :     // before pre shuffle
756 :     // 56 57 58 51
757 :     // 72 73 74 55
758 :     // 52 53 54 59
759 :     // 60 61 62 63
760 :     // 68 69 70 67
761 :     // 80 48 49 71
762 :     // 76 77 78 75
763 :     // 64 65 66 79
764 :    
765 :     // after pre shuffle
766 :     // 56 57 58 51
767 :     // 72 73 74 67
768 :     // 52 53 54 59
769 :     // 60 61 62 75
770 :     // 68 69 70 55
771 :     // 80 48 49 79
772 :     // 76 77 78 63
773 :     // 64 65 66 71
774 :     // (f50, f67) = (f51, f67) $ (c0, c0), (line 0, 1)
775 :     fpma f50 = f67, c0, f51
776 :     fpnma f67 = f67, c0, f51
777 : ia64p 205 ;;
778 : ia64p 251 // (f51, f75) = (f59, f75) $ (c1, c2), (line 2, 3)
779 :     fpma f51 = f75, c1, f59
780 :     fpnma f75 = f75, c2, f59
781 : ia64p 205 ;;
782 : ia64p 251 // (f59, f79) = (f55, f79) $ (c3, c4), (line 4, 5)
783 :     fpma f59 = f79, c3, f55
784 :     fpnma f79 = f79, c4, f55
785 : ia64p 205 ;;
786 : ia64p 251 // (f55, f71) = (f63, f71) $ (c5, c6), (line 6, 7)
787 :     fpma f55 = f71, c5, f63
788 :     fpnma f71 = f71, c6, f63
789 : ia64p 205 ;;
790 :     ;;
791 : ia64p 251 // (f63, f75) = (f50, f75) $ (c7, c7), (line 0, 3)
792 :     fpma f63 = f75, c7, f50
793 :     fpnma f75 = f75, c7, f50
794 : ia64p 205 ;;
795 : ia64p 251 // (f50, f51) = (f67, f51) $ (c8, c8), (line 1, 2)
796 :     fpma f50 = f51, c8, f67
797 :     fpnma f51 = f51, c8, f67
798 : ia64p 205 ;;
799 : ia64p 251 // (f67, f55) = (f59, f55) $ (c9, c9), (line 4, 6)
800 :     fpma f67 = f55, c9, f59
801 :     fpnma f55 = f55, c9, f59
802 : ia64p 205 ;;
803 : ia64p 251 // (f59, f71) = (f79, f71) $ (c10, c10), (line 5, 7)
804 :     fpma f59 = f71, c10, f79
805 :     fpnma f71 = f71, c10, f79
806 : ia64p 205 ;;
807 :     ;;
808 : ia64p 251 // (f79, f55) = (f59, f55) $ (c11, c11), (line 5, 6)
809 :     fpma f79 = f55, c11, f59
810 :     fpnma f55 = f55, c11, f59
811 : ia64p 205 ;;
812 : ia64p 251 // (f59, f67) = (f63, f67) $ (c12, c12), (line 0, 4)
813 :     fpma f59 = f67, c12, f63
814 :     fpnma f67 = f67, c12, f63
815 : ia64p 205 ;;
816 : ia64p 251 // (f63, f71) = (f75, f71) $ (c14, c14), (line 3, 7)
817 :     fpma f63 = f71, c14, f75
818 :     fpnma f71 = f71, c14, f75
819 : ia64p 205 ;;
820 :     ;;
821 : ia64p 251 // (f75, f79) = (f50, f79) $ (c13, c13), (line 1, 5)
822 :     fpma f75 = f79, c13, f50
823 :     fpnma f79 = f79, c13, f50
824 : ia64p 205 ;;
825 : ia64p 251 // (f50, f55) = (f51, f55) $ (c13, c13), (line 2, 6)
826 :     fpma f50 = f55, c13, f51
827 :     fpnma f55 = f55, c13, f51
828 : ia64p 205 ;;
829 : ia64p 251
830 :     // before post shuffle
831 :     // 56 57 58 59
832 :     // 72 73 74 75
833 :     // 52 53 54 50
834 :     // 60 61 62 63
835 :     // 68 69 70 67
836 :     // 80 48 49 79
837 :     // 76 77 78 55
838 :     // 64 65 66 71
839 :    
840 :     // after post shuffle
841 :     // 56 57 58 59
842 :     // 72 73 74 75
843 :     // 52 53 54 55
844 :     // 60 61 62 63
845 :     // 68 69 70 71
846 :     // 80 48 49 50
847 :     // 76 77 78 79
848 :     // 64 65 66 67
849 : ia64p 205 ;;
850 : ia64p 251 fmix.r f51 = f56, f72
851 :     fmix.r f81 = f57, f73
852 :     fmix.r f82 = f58, f74
853 :     fmix.r f83 = f59, f75
854 :     fmix.r f84 = f52, f60
855 :     fmix.r f85 = f53, f61
856 :     fmix.r f86 = f54, f62
857 :     fmix.r f87 = f55, f63
858 :     fmix.r f88 = f68, f80
859 :     fmix.r f89 = f69, f48
860 :     fmix.r f90 = f70, f49
861 :     fmix.r f91 = f71, f50
862 :     fmix.r f92 = f76, f64
863 :     fmix.r f93 = f77, f65
864 :     fmix.r f94 = f78, f66
865 :     fmix.r f95 = f79, f67
866 : ia64p 205 ;;
867 : ia64p 251 fmix.l f56 = f56, f72
868 :     fmix.l f57 = f57, f73
869 :     fmix.l f58 = f58, f74
870 :     fmix.l f59 = f59, f75
871 :     fmix.l f52 = f52, f60
872 :     fmix.l f53 = f53, f61
873 :     fmix.l f54 = f54, f62
874 :     fmix.l f55 = f55, f63
875 :     fmix.l f68 = f68, f80
876 :     fmix.l f69 = f69, f48
877 :     fmix.l f70 = f70, f49
878 :     fmix.l f71 = f71, f50
879 :     fmix.l f76 = f76, f64
880 :     fmix.l f77 = f77, f65
881 :     fmix.l f78 = f78, f66
882 :     fmix.l f79 = f79, f67
883 : ia64p 205 ;;
884 : ia64p 251 fpma f56 = f56, c0, f0
885 :     fpma f52 = f52, c0, f0
886 :     fpma f68 = f68, c0, f0
887 :     fpma f76 = f76, c0, f0
888 : ia64p 205 ;;
889 : ia64p 251
890 :     // before pre shuffle
891 :     // 56 52 68 76
892 :     // 51 84 88 92
893 :     // 57 53 69 77
894 :     // 81 85 89 93
895 :     // 58 54 70 78
896 :     // 82 86 90 94
897 :     // 59 55 71 79
898 :     // 83 87 91 95
899 :    
900 :     // after pre shuffle
901 :     // 56 52 68 76
902 :     // 58 84 88 92
903 :     // 57 53 69 77
904 :     // 59 85 89 93
905 :     // 51 54 70 78
906 :     // 83 86 90 94
907 :     // 81 55 71 79
908 :     // 82 87 91 95
909 :     // (f48, f58) = (f56, f58) $ (c0, c0), (line 0, 1)
910 :     fpma f48 = f58, c0, f56
911 :     fpnma f58 = f58, c0, f56
912 : ia64p 205 ;;
913 : ia64p 251 // (f49, f59) = (f57, f59) $ (c1, c2), (line 2, 3)
914 :     fpma f49 = f59, c1, f57
915 :     fpnma f59 = f59, c2, f57
916 : ia64p 205 ;;
917 : ia64p 251 // (f50, f83) = (f51, f83) $ (c3, c4), (line 4, 5)
918 :     fpma f50 = f83, c3, f51
919 :     fpnma f83 = f83, c4, f51
920 : ia64p 205 ;;
921 : ia64p 251 // (f51, f82) = (f81, f82) $ (c5, c6), (line 6, 7)
922 :     fpma f51 = f82, c5, f81
923 :     fpnma f82 = f82, c6, f81
924 :     ;;
925 :     ;;
926 :     // (f56, f59) = (f48, f59) $ (c7, c7), (line 0, 3)
927 :     fpma f56 = f59, c7, f48
928 :     fpnma f59 = f59, c7, f48
929 :     ;;
930 :     // (f48, f49) = (f58, f49) $ (c8, c8), (line 1, 2)
931 :     fpma f48 = f49, c8, f58
932 :     fpnma f49 = f49, c8, f58
933 :     ;;
934 :     // (f57, f51) = (f50, f51) $ (c9, c9), (line 4, 6)
935 :     fpma f57 = f51, c9, f50
936 :     fpnma f51 = f51, c9, f50
937 :     ;;
938 :     // (f50, f82) = (f83, f82) $ (c10, c10), (line 5, 7)
939 :     fpma f50 = f82, c10, f83
940 :     fpnma f82 = f82, c10, f83
941 :     ;;
942 :     ;;
943 :     // (f58, f51) = (f50, f51) $ (c11, c11), (line 5, 6)
944 :     fpma f58 = f51, c11, f50
945 :     fpnma f51 = f51, c11, f50
946 :     ;;
947 :     // (f50, f57) = (f56, f57) $ (c12, c12), (line 0, 4)
948 :     fpma f50 = f57, c12, f56
949 :     fpnma f57 = f57, c12, f56
950 :     ;;
951 :     // (f56, f82) = (f59, f82) $ (c14, c14), (line 3, 7)
952 :     fpma f56 = f82, c14, f59
953 :     fpnma f82 = f82, c14, f59
954 :     ;;
955 :     ;;
956 :     // (f59, f58) = (f48, f58) $ (c13, c13), (line 1, 5)
957 :     fpma f59 = f58, c13, f48
958 :     fpnma f58 = f58, c13, f48
959 :     ;;
960 :     // (f48, f51) = (f49, f51) $ (c13, c13), (line 2, 6)
961 :     fpma f48 = f51, c13, f49
962 :     fpnma f51 = f51, c13, f49
963 :     ;;
964 :    
965 :     // before post shuffle
966 :     // 50 52 68 76
967 :     // 59 84 88 92
968 :     // 48 53 69 77
969 :     // 56 85 89 93
970 :     // 57 54 70 78
971 :     // 58 86 90 94
972 :     // 51 55 71 79
973 :     // 82 87 91 95
974 :    
975 :     // after post shuffle
976 :     // 50 52 68 76
977 :     // 59 84 88 92
978 :     // 51 53 69 77
979 :     // 56 85 89 93
980 :     // 82 54 70 78
981 :     // 48 86 90 94
982 :     // 58 55 71 79
983 :     // 57 87 91 95
984 :    
985 :     // before pre shuffle
986 :     // 50 52 68 76
987 :     // 59 84 88 92
988 :     // 51 53 69 77
989 :     // 56 85 89 93
990 :     // 82 54 70 78
991 :     // 48 86 90 94
992 :     // 58 55 71 79
993 :     // 57 87 91 95
994 :    
995 :     // after pre shuffle
996 :     // 50 52 68 76
997 :     // 59 54 88 92
998 :     // 51 53 69 77
999 :     // 56 55 89 93
1000 :     // 82 84 70 78
1001 :     // 48 87 90 94
1002 :     // 58 85 71 79
1003 :     // 57 86 91 95
1004 :     // (f49, f54) = (f52, f54) $ (c0, c0), (line 0, 1)
1005 :     fpma f49 = f54, c0, f52
1006 :     fpnma f54 = f54, c0, f52
1007 :     ;;
1008 :     // (f52, f55) = (f53, f55) $ (c1, c2), (line 2, 3)
1009 :     fpma f52 = f55, c1, f53
1010 :     fpnma f55 = f55, c2, f53
1011 :     ;;
1012 :     // (f53, f87) = (f84, f87) $ (c3, c4), (line 4, 5)
1013 :     fpma f53 = f87, c3, f84
1014 :     fpnma f87 = f87, c4, f84
1015 :     ;;
1016 :     // (f60, f86) = (f85, f86) $ (c5, c6), (line 6, 7)
1017 :     fpma f60 = f86, c5, f85
1018 :     fpnma f86 = f86, c6, f85
1019 :     ;;
1020 :     ;;
1021 :     // (f61, f55) = (f49, f55) $ (c7, c7), (line 0, 3)
1022 :     fpma f61 = f55, c7, f49
1023 :     fpnma f55 = f55, c7, f49
1024 :     ;;
1025 :     // (f49, f52) = (f54, f52) $ (c8, c8), (line 1, 2)
1026 :     fpma f49 = f52, c8, f54
1027 :     fpnma f52 = f52, c8, f54
1028 :     ;;
1029 :     // (f54, f60) = (f53, f60) $ (c9, c9), (line 4, 6)
1030 :     fpma f54 = f60, c9, f53
1031 :     fpnma f60 = f60, c9, f53
1032 :     ;;
1033 :     // (f53, f86) = (f87, f86) $ (c10, c10), (line 5, 7)
1034 :     fpma f53 = f86, c10, f87
1035 :     fpnma f86 = f86, c10, f87
1036 :     ;;
1037 :     ;;
1038 :     // (f62, f60) = (f53, f60) $ (c11, c11), (line 5, 6)
1039 :     fpma f62 = f60, c11, f53
1040 :     fpnma f60 = f60, c11, f53
1041 :     ;;
1042 :     // (f53, f54) = (f61, f54) $ (c12, c12), (line 0, 4)
1043 :     fpma f53 = f54, c12, f61
1044 :     fpnma f54 = f54, c12, f61
1045 :     ;;
1046 :     // (f61, f86) = (f55, f86) $ (c14, c14), (line 3, 7)
1047 :     fpma f61 = f86, c14, f55
1048 :     fpnma f86 = f86, c14, f55
1049 :     ;;
1050 :     ;;
1051 :     // (f55, f62) = (f49, f62) $ (c13, c13), (line 1, 5)
1052 :     fpma f55 = f62, c13, f49
1053 :     fpnma f62 = f62, c13, f49
1054 :     ;;
1055 :     // (f49, f60) = (f52, f60) $ (c13, c13), (line 2, 6)
1056 :     fpma f49 = f60, c13, f52
1057 :     fpnma f60 = f60, c13, f52
1058 :     ;;
1059 :    
1060 :     // before post shuffle
1061 :     // 50 53 68 76
1062 :     // 59 55 88 92
1063 :     // 51 49 69 77
1064 :     // 56 61 89 93
1065 :     // 82 54 70 78
1066 :     // 48 62 90 94
1067 :     // 58 60 71 79
1068 :     // 57 86 91 95
1069 :    
1070 :     // after post shuffle
1071 :     // 50 53 68 76
1072 :     // 59 55 88 92
1073 :     // 51 60 69 77
1074 :     // 56 61 89 93
1075 :     // 82 86 70 78
1076 :     // 48 49 90 94
1077 :     // 58 62 71 79
1078 :     // 57 54 91 95
1079 :    
1080 :     // before pre shuffle
1081 :     // 50 53 68 76
1082 :     // 59 55 88 92
1083 :     // 51 60 69 77
1084 :     // 56 61 89 93
1085 :     // 82 86 70 78
1086 :     // 48 49 90 94
1087 :     // 58 62 71 79
1088 :     // 57 54 91 95
1089 :    
1090 :     // after pre shuffle
1091 :     // 50 53 68 76
1092 :     // 59 55 70 92
1093 :     // 51 60 69 77
1094 :     // 56 61 71 93
1095 :     // 82 86 88 78
1096 :     // 48 49 91 94
1097 :     // 58 62 89 79
1098 :     // 57 54 90 95
1099 :     // (f52, f70) = (f68, f70) $ (c0, c0), (line 0, 1)
1100 :     fpma f52 = f70, c0, f68
1101 :     fpnma f70 = f70, c0, f68
1102 :     ;;
1103 :     // (f63, f71) = (f69, f71) $ (c1, c2), (line 2, 3)
1104 :     fpma f63 = f71, c1, f69
1105 :     fpnma f71 = f71, c2, f69
1106 :     ;;
1107 :     // (f64, f91) = (f88, f91) $ (c3, c4), (line 4, 5)
1108 :     fpma f64 = f91, c3, f88
1109 :     fpnma f91 = f91, c4, f88
1110 :     ;;
1111 :     // (f65, f90) = (f89, f90) $ (c5, c6), (line 6, 7)
1112 :     fpma f65 = f90, c5, f89
1113 :     fpnma f90 = f90, c6, f89
1114 :     ;;
1115 :     ;;
1116 :     // (f66, f71) = (f52, f71) $ (c7, c7), (line 0, 3)
1117 :     fpma f66 = f71, c7, f52
1118 :     fpnma f71 = f71, c7, f52
1119 :     ;;
1120 :     // (f52, f63) = (f70, f63) $ (c8, c8), (line 1, 2)
1121 :     fpma f52 = f63, c8, f70
1122 :     fpnma f63 = f63, c8, f70
1123 :     ;;
1124 :     // (f67, f65) = (f64, f65) $ (c9, c9), (line 4, 6)
1125 :     fpma f67 = f65, c9, f64
1126 :     fpnma f65 = f65, c9, f64
1127 :     ;;
1128 :     // (f64, f90) = (f91, f90) $ (c10, c10), (line 5, 7)
1129 :     fpma f64 = f90, c10, f91
1130 :     fpnma f90 = f90, c10, f91
1131 :     ;;
1132 :     ;;
1133 :     // (f68, f65) = (f64, f65) $ (c11, c11), (line 5, 6)
1134 :     fpma f68 = f65, c11, f64
1135 :     fpnma f65 = f65, c11, f64
1136 :     ;;
1137 :     // (f64, f67) = (f66, f67) $ (c12, c12), (line 0, 4)
1138 :     fpma f64 = f67, c12, f66
1139 :     fpnma f67 = f67, c12, f66
1140 :     ;;
1141 :     // (f66, f90) = (f71, f90) $ (c14, c14), (line 3, 7)
1142 :     fpma f66 = f90, c14, f71
1143 :     fpnma f90 = f90, c14, f71
1144 :     ;;
1145 :     ;;
1146 :     // (f69, f68) = (f52, f68) $ (c13, c13), (line 1, 5)
1147 :     fpma f69 = f68, c13, f52
1148 :     fpnma f68 = f68, c13, f52
1149 :     ;;
1150 :     // (f52, f65) = (f63, f65) $ (c13, c13), (line 2, 6)
1151 :     fpma f52 = f65, c13, f63
1152 :     fpnma f65 = f65, c13, f63
1153 :     ;;
1154 :    
1155 :     // before post shuffle
1156 :     // 50 53 64 76
1157 :     // 59 55 69 92
1158 :     // 51 60 52 77
1159 :     // 56 61 66 93
1160 :     // 82 86 67 78
1161 :     // 48 49 68 94
1162 :     // 58 62 65 79
1163 :     // 57 54 90 95
1164 :    
1165 :     // after post shuffle
1166 :     // 50 53 64 76
1167 :     // 59 55 69 92
1168 :     // 51 60 65 77
1169 :     // 56 61 66 93
1170 :     // 82 86 90 78
1171 :     // 48 49 52 94
1172 :     // 58 62 68 79
1173 :     // 57 54 67 95
1174 :    
1175 :     // before pre shuffle
1176 :     // 50 53 64 76
1177 :     // 59 55 69 92
1178 :     // 51 60 65 77
1179 :     // 56 61 66 93
1180 :     // 82 86 90 78
1181 :     // 48 49 52 94
1182 :     // 58 62 68 79
1183 :     // 57 54 67 95
1184 :    
1185 :     // after pre shuffle
1186 :     // 50 53 64 76
1187 :     // 59 55 69 78
1188 :     // 51 60 65 77
1189 :     // 56 61 66 79
1190 :     // 82 86 90 92
1191 :     // 48 49 52 95
1192 :     // 58 62 68 93
1193 :     // 57 54 67 94
1194 :     // (f63, f78) = (f76, f78) $ (c0, c0), (line 0, 1)
1195 :     fpma f63 = f78, c0, f76
1196 :     fpnma f78 = f78, c0, f76
1197 :     ;;
1198 :     // (f70, f79) = (f77, f79) $ (c1, c2), (line 2, 3)
1199 :     fpma f70 = f79, c1, f77
1200 :     fpnma f79 = f79, c2, f77
1201 :     ;;
1202 :     // (f71, f95) = (f92, f95) $ (c3, c4), (line 4, 5)
1203 :     fpma f71 = f95, c3, f92
1204 :     fpnma f95 = f95, c4, f92
1205 :     ;;
1206 :     // (f72, f94) = (f93, f94) $ (c5, c6), (line 6, 7)
1207 :     fpma f72 = f94, c5, f93
1208 :     fpnma f94 = f94, c6, f93
1209 :     ;;
1210 :     ;;
1211 :     // (f73, f79) = (f63, f79) $ (c7, c7), (line 0, 3)
1212 :     fpma f73 = f79, c7, f63
1213 :     fpnma f79 = f79, c7, f63
1214 :     ;;
1215 :     // (f63, f70) = (f78, f70) $ (c8, c8), (line 1, 2)
1216 :     fpma f63 = f70, c8, f78
1217 :     fpnma f70 = f70, c8, f78
1218 :     ;;
1219 :     // (f74, f72) = (f71, f72) $ (c9, c9), (line 4, 6)
1220 :     fpma f74 = f72, c9, f71
1221 :     fpnma f72 = f72, c9, f71
1222 :     ;;
1223 :     // (f71, f94) = (f95, f94) $ (c10, c10), (line 5, 7)
1224 :     fpma f71 = f94, c10, f95
1225 :     fpnma f94 = f94, c10, f95
1226 :     ;;
1227 :     ;;
1228 :     // (f75, f72) = (f71, f72) $ (c11, c11), (line 5, 6)
1229 :     fpma f75 = f72, c11, f71
1230 :     fpnma f72 = f72, c11, f71
1231 :     ;;
1232 :     // (f71, f74) = (f73, f74) $ (c12, c12), (line 0, 4)
1233 :     fpma f71 = f74, c12, f73
1234 :     fpnma f74 = f74, c12, f73
1235 :     ;;
1236 :     // (f73, f94) = (f79, f94) $ (c14, c14), (line 3, 7)
1237 :     fpma f73 = f94, c14, f79
1238 :     fpnma f94 = f94, c14, f79
1239 :     ;;
1240 :     ;;
1241 :     // (f76, f75) = (f63, f75) $ (c13, c13), (line 1, 5)
1242 :     fpma f76 = f75, c13, f63
1243 :     fpnma f75 = f75, c13, f63
1244 :     ;;
1245 :     // (f63, f72) = (f70, f72) $ (c13, c13), (line 2, 6)
1246 :     fpma f63 = f72, c13, f70
1247 :     fpnma f72 = f72, c13, f70
1248 :     ;;
1249 :    
1250 :     // before post shuffle
1251 :     // 50 53 64 71
1252 :     // 59 55 69 76
1253 :     // 51 60 65 63
1254 :     // 56 61 66 73
1255 :     // 82 86 90 74
1256 :     // 48 49 52 75
1257 :     // 58 62 68 72
1258 :     // 57 54 67 94
1259 :    
1260 :     // after post shuffle
1261 :     // 50 53 64 71
1262 :     // 59 55 69 76
1263 :     // 51 60 65 72
1264 :     // 56 61 66 73
1265 :     // 82 86 90 94
1266 :     // 48 49 52 63
1267 :     // 58 62 68 75
1268 :     // 57 54 67 74
1269 :     ;;
1270 :     fmix.r f70 = f50, f59
1271 :     fmix.r f77 = f53, f55
1272 :     fmix.r f78 = f64, f69
1273 :     fmix.r f79 = f71, f76
1274 :     fmix.r f80 = f51, f56
1275 :     fmix.r f81 = f60, f61
1276 :     fmix.r f83 = f65, f66
1277 :     fmix.r f84 = f72, f73
1278 :     fmix.r f85 = f82, f48
1279 :     fmix.r f87 = f86, f49
1280 :     fmix.r f88 = f90, f52
1281 :     fmix.r f89 = f94, f63
1282 :     fmix.r f91 = f58, f57
1283 :     fmix.r f92 = f62, f54
1284 :     fmix.r f93 = f68, f67
1285 :     fmix.r f95 = f75, f74
1286 :     ;;
1287 :     fmix.l f50 = f50, f59
1288 :     fmix.l f53 = f53, f55
1289 :     fmix.l f64 = f64, f69
1290 :     fmix.l f71 = f71, f76
1291 :     fmix.l f51 = f51, f56
1292 :     fmix.l f60 = f60, f61
1293 :     fmix.l f65 = f65, f66
1294 :     fmix.l f72 = f72, f73
1295 :     fmix.l f82 = f82, f48
1296 :     fmix.l f86 = f86, f49
1297 :     fmix.l f90 = f90, f52
1298 :     fmix.l f94 = f94, f63
1299 :     fmix.l f58 = f58, f57
1300 :     fmix.l f62 = f62, f54
1301 :     fmix.l f68 = f68, f67
1302 :     fmix.l f75 = f75, f74
1303 :     ;;
1304 :     // 50 51 82 58
1305 :     // 70 80 85 91
1306 :     // 53 60 86 62
1307 :     // 77 81 87 92
1308 :     // 64 65 90 68
1309 :     // 78 83 88 93
1310 :     // 71 72 94 75
1311 :     // 79 84 89 95
1312 :     mov addreg1 = in0
1313 :     add addreg2 = 4, in0
1314 :     ;;
1315 :     fpcvt.fx f50 = f50
1316 :     fpcvt.fx f51 = f51
1317 :     fpcvt.fx f82 = f82
1318 :     fpcvt.fx f58 = f58
1319 :     fpcvt.fx f70 = f70
1320 :     fpcvt.fx f80 = f80
1321 :     fpcvt.fx f85 = f85
1322 :     fpcvt.fx f91 = f91
1323 :     fpcvt.fx f53 = f53
1324 :     fpcvt.fx f60 = f60
1325 :     fpcvt.fx f86 = f86
1326 :     fpcvt.fx f62 = f62
1327 :     fpcvt.fx f77 = f77
1328 :     fpcvt.fx f81 = f81
1329 :     fpcvt.fx f87 = f87
1330 :     fpcvt.fx f92 = f92
1331 :     fpcvt.fx f64 = f64
1332 :     fpcvt.fx f65 = f65
1333 :     fpcvt.fx f90 = f90
1334 :     fpcvt.fx f68 = f68
1335 :     fpcvt.fx f78 = f78
1336 :     fpcvt.fx f83 = f83
1337 :     fpcvt.fx f88 = f88
1338 :     fpcvt.fx f93 = f93
1339 :     fpcvt.fx f71 = f71
1340 :     fpcvt.fx f72 = f72
1341 :     fpcvt.fx f94 = f94
1342 :     fpcvt.fx f75 = f75
1343 :     fpcvt.fx f79 = f79
1344 :     fpcvt.fx f84 = f84
1345 :     fpcvt.fx f89 = f89
1346 :     fpcvt.fx f95 = f95
1347 :     ;;
1348 :     getf.sig r33 = f50
1349 :     getf.sig r34 = f51
1350 :     getf.sig r35 = f82
1351 :     getf.sig r36 = f58
1352 :     getf.sig r37 = f70
1353 :     getf.sig r38 = f80
1354 :     getf.sig r39 = f85
1355 :     getf.sig r40 = f91
1356 :     getf.sig r41 = f53
1357 :     getf.sig r42 = f60
1358 :     getf.sig r43 = f86
1359 :     getf.sig r44 = f62
1360 :     getf.sig r45 = f77
1361 :     getf.sig r46 = f81
1362 :     getf.sig r47 = f87
1363 :     getf.sig r48 = f92
1364 :     getf.sig r49 = f64
1365 :     getf.sig r50 = f65
1366 :     getf.sig r51 = f90
1367 :     getf.sig r52 = f68
1368 :     getf.sig r53 = f78
1369 :     getf.sig r54 = f83
1370 :     getf.sig r55 = f88
1371 :     getf.sig r56 = f93
1372 :     getf.sig r57 = f71
1373 :     getf.sig r58 = f72
1374 :     getf.sig r59 = f94
1375 :     getf.sig r60 = f75
1376 :     getf.sig r61 = f79
1377 :     getf.sig r62 = f84
1378 :     getf.sig r63 = f89
1379 :     getf.sig r64 = f95
1380 :     ;;
1381 :     shl r33 = r33, 7
1382 :     shl r34 = r34, 7
1383 :     shl r35 = r35, 7
1384 :     shl r36 = r36, 7
1385 :     shl r37 = r37, 7
1386 :     shl r38 = r38, 7
1387 :     shl r39 = r39, 7
1388 :     shl r40 = r40, 7
1389 :     shl r41 = r41, 7
1390 :     shl r42 = r42, 7
1391 :     shl r43 = r43, 7
1392 :     shl r44 = r44, 7
1393 :     shl r45 = r45, 7
1394 :     shl r46 = r46, 7
1395 :     shl r47 = r47, 7
1396 :     shl r48 = r48, 7
1397 :     shl r49 = r49, 7
1398 :     shl r50 = r50, 7
1399 :     shl r51 = r51, 7
1400 :     shl r52 = r52, 7
1401 :     shl r53 = r53, 7
1402 :     shl r54 = r54, 7
1403 :     shl r55 = r55, 7
1404 :     shl r56 = r56, 7
1405 :     shl r57 = r57, 7
1406 :     shl r58 = r58, 7
1407 :     shl r59 = r59, 7
1408 :     shl r60 = r60, 7
1409 :     shl r61 = r61, 7
1410 :     shl r62 = r62, 7
1411 :     shl r63 = r63, 7
1412 :     shl r64 = r64, 7
1413 :     ;;
1414 :     pack4.sss r33 = r33, r0
1415 :     pack4.sss r34 = r34, r0
1416 :     pack4.sss r35 = r35, r0
1417 :     pack4.sss r36 = r36, r0
1418 :     pack4.sss r37 = r37, r0
1419 :     pack4.sss r38 = r38, r0
1420 :     pack4.sss r39 = r39, r0
1421 :     pack4.sss r40 = r40, r0
1422 :     pack4.sss r41 = r41, r0
1423 :     pack4.sss r42 = r42, r0
1424 :     pack4.sss r43 = r43, r0
1425 :     pack4.sss r44 = r44, r0
1426 :     pack4.sss r45 = r45, r0
1427 :     pack4.sss r46 = r46, r0
1428 :     pack4.sss r47 = r47, r0
1429 :     pack4.sss r48 = r48, r0
1430 :     pack4.sss r49 = r49, r0
1431 :     pack4.sss r50 = r50, r0
1432 :     pack4.sss r51 = r51, r0
1433 :     pack4.sss r52 = r52, r0
1434 :     pack4.sss r53 = r53, r0
1435 :     pack4.sss r54 = r54, r0
1436 :     pack4.sss r55 = r55, r0
1437 :     pack4.sss r56 = r56, r0
1438 :     pack4.sss r57 = r57, r0
1439 :     pack4.sss r58 = r58, r0
1440 :     pack4.sss r59 = r59, r0
1441 :     pack4.sss r60 = r60, r0
1442 :     pack4.sss r61 = r61, r0
1443 :     pack4.sss r62 = r62, r0
1444 :     pack4.sss r63 = r63, r0
1445 :     pack4.sss r64 = r64, r0
1446 :     ;;
1447 :     pshr2 r33 = r33, 7
1448 :     pshr2 r34 = r34, 7
1449 :     pshr2 r35 = r35, 7
1450 :     pshr2 r36 = r36, 7
1451 :     pshr2 r37 = r37, 7
1452 :     pshr2 r38 = r38, 7
1453 :     pshr2 r39 = r39, 7
1454 :     pshr2 r40 = r40, 7
1455 :     pshr2 r41 = r41, 7
1456 :     pshr2 r42 = r42, 7
1457 :     pshr2 r43 = r43, 7
1458 :     pshr2 r44 = r44, 7
1459 :     pshr2 r45 = r45, 7
1460 :     pshr2 r46 = r46, 7
1461 :     pshr2 r47 = r47, 7
1462 :     pshr2 r48 = r48, 7
1463 :     pshr2 r49 = r49, 7
1464 :     pshr2 r50 = r50, 7
1465 :     pshr2 r51 = r51, 7
1466 :     pshr2 r52 = r52, 7
1467 :     pshr2 r53 = r53, 7
1468 :     pshr2 r54 = r54, 7
1469 :     pshr2 r55 = r55, 7
1470 :     pshr2 r56 = r56, 7
1471 :     pshr2 r57 = r57, 7
1472 :     pshr2 r58 = r58, 7
1473 :     pshr2 r59 = r59, 7
1474 :     pshr2 r60 = r60, 7
1475 :     pshr2 r61 = r61, 7
1476 :     pshr2 r62 = r62, 7
1477 :     pshr2 r63 = r63, 7
1478 :     pshr2 r64 = r64, 7
1479 :     ;;
1480 :     mux2 r33 = r33, 0xe1
1481 :     mux2 r34 = r34, 0xe1
1482 :     mux2 r35 = r35, 0xe1
1483 :     mux2 r36 = r36, 0xe1
1484 :     mux2 r37 = r37, 0xe1
1485 :     mux2 r38 = r38, 0xe1
1486 :     mux2 r39 = r39, 0xe1
1487 :     mux2 r40 = r40, 0xe1
1488 :     mux2 r41 = r41, 0xe1
1489 :     mux2 r42 = r42, 0xe1
1490 :     mux2 r43 = r43, 0xe1
1491 :     mux2 r44 = r44, 0xe1
1492 :     mux2 r45 = r45, 0xe1
1493 :     mux2 r46 = r46, 0xe1
1494 :     mux2 r47 = r47, 0xe1
1495 :     mux2 r48 = r48, 0xe1
1496 :     mux2 r49 = r49, 0xe1
1497 :     mux2 r50 = r50, 0xe1
1498 :     mux2 r51 = r51, 0xe1
1499 :     mux2 r52 = r52, 0xe1
1500 :     mux2 r53 = r53, 0xe1
1501 :     mux2 r54 = r54, 0xe1
1502 :     mux2 r55 = r55, 0xe1
1503 :     mux2 r56 = r56, 0xe1
1504 :     mux2 r57 = r57, 0xe1
1505 :     mux2 r58 = r58, 0xe1
1506 :     mux2 r59 = r59, 0xe1
1507 :     mux2 r60 = r60, 0xe1
1508 :     mux2 r61 = r61, 0xe1
1509 :     mux2 r62 = r62, 0xe1
1510 :     mux2 r63 = r63, 0xe1
1511 :     mux2 r64 = r64, 0xe1
1512 :     ;;
1513 :     st4 [addreg1] = r33, 8
1514 :     st4 [addreg2] = r34, 8
1515 :     st4 [addreg1] = r35, 8
1516 :     st4 [addreg2] = r36, 8
1517 :     st4 [addreg1] = r37, 8
1518 :     st4 [addreg2] = r38, 8
1519 :     st4 [addreg1] = r39, 8
1520 :     st4 [addreg2] = r40, 8
1521 :     st4 [addreg1] = r41, 8
1522 :     st4 [addreg2] = r42, 8
1523 :     st4 [addreg1] = r43, 8
1524 :     st4 [addreg2] = r44, 8
1525 :     st4 [addreg1] = r45, 8
1526 :     st4 [addreg2] = r46, 8
1527 :     st4 [addreg1] = r47, 8
1528 :     st4 [addreg2] = r48, 8
1529 :     st4 [addreg1] = r49, 8
1530 :     st4 [addreg2] = r50, 8
1531 :     st4 [addreg1] = r51, 8
1532 :     st4 [addreg2] = r52, 8
1533 :     st4 [addreg1] = r53, 8
1534 :     st4 [addreg2] = r54, 8
1535 :     st4 [addreg1] = r55, 8
1536 :     st4 [addreg2] = r56, 8
1537 :     st4 [addreg1] = r57, 8
1538 :     st4 [addreg2] = r58, 8
1539 :     st4 [addreg1] = r59, 8
1540 :     st4 [addreg2] = r60, 8
1541 :     st4 [addreg1] = r61, 8
1542 :     st4 [addreg2] = r62, 8
1543 :     st4 [addreg1] = r63, 8
1544 :     st4 [addreg2] = r64, 8
1545 :    
1546 :     mov ar.pfs = r16
1547 :     br.ret.sptk.few b0
1548 :    
1549 :     .endp

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