Fix vf_tcdump's compilation
[mplayer/kovensky.git] / mp3lib / dct64_mmx.c
blob817913a0169b491dad00d53409b7909030113bdb
1 /*
2 * This code was taken from http://www.mpg123.org
3 * See ChangeLog of mpg123-0.59s-pre.1 for detail
4 * Applied to mplayer by Nick Kurshev <nickols_k@mail.ru>
5 */
6 #include "config.h"
7 #include "mangle.h"
8 #include "mpg123.h"
10 void dct64_MMX(short *a,short *b,real *c)
12 char tmp[256];
13 __asm__ volatile(
14 " movl %2,%%eax\n\t"
15 /* Phase 1*/
16 " flds (%%eax)\n\t"
17 " leal 128+%3,%%edx\n\t"
18 " fadds 124(%%eax)\n\t"
19 " movl %0,%%esi\n\t"
20 " fstps (%%edx)\n\t"
21 " movl %1,%%edi\n\t"
23 " flds 4(%%eax)\n\t"
24 " movl $"MANGLE(costab_mmx)",%%ebx\n\t"
25 " fadds 120(%%eax)\n\t"
26 " orl %%ecx,%%ecx\n\t"
27 " fstps 4(%%edx)\n\t"
29 " flds (%%eax)\n\t"
30 " leal %3,%%ecx\n\t"
31 " fsubs 124(%%eax)\n\t"
32 " fmuls (%%ebx)\n\t"
33 " fstps 124(%%edx)\n\t"
35 " flds 4(%%eax)\n\t"
36 " fsubs 120(%%eax)\n\t"
37 " fmuls 4(%%ebx)\n\t"
38 " fstps 120(%%edx)\n\t"
40 " flds 8(%%eax)\n\t"
41 " fadds 116(%%eax)\n\t"
42 " fstps 8(%%edx)\n\t"
44 " flds 12(%%eax)\n\t"
45 " fadds 112(%%eax)\n\t"
46 " fstps 12(%%edx)\n\t"
48 " flds 8(%%eax)\n\t"
49 " fsubs 116(%%eax)\n\t"
50 " fmuls 8(%%ebx)\n\t"
51 " fstps 116(%%edx)\n\t"
53 " flds 12(%%eax)\n\t"
54 " fsubs 112(%%eax)\n\t"
55 " fmuls 12(%%ebx)\n\t"
56 " fstps 112(%%edx)\n\t"
58 " flds 16(%%eax)\n\t"
59 " fadds 108(%%eax)\n\t"
60 " fstps 16(%%edx)\n\t"
62 " flds 20(%%eax)\n\t"
63 " fadds 104(%%eax)\n\t"
64 " fstps 20(%%edx)\n\t"
66 " flds 16(%%eax)\n\t"
67 " fsubs 108(%%eax)\n\t"
68 " fmuls 16(%%ebx)\n\t"
69 " fstps 108(%%edx)\n\t"
71 " flds 20(%%eax)\n\t"
72 " fsubs 104(%%eax)\n\t"
73 " fmuls 20(%%ebx)\n\t"
74 " fstps 104(%%edx)\n\t"
76 " flds 24(%%eax)\n\t"
77 " fadds 100(%%eax)\n\t"
78 " fstps 24(%%edx)\n\t"
80 " flds 28(%%eax)\n\t"
81 " fadds 96(%%eax)\n\t"
82 " fstps 28(%%edx)\n\t"
84 " flds 24(%%eax)\n\t"
85 " fsubs 100(%%eax)\n\t"
86 " fmuls 24(%%ebx)\n\t"
87 " fstps 100(%%edx)\n\t"
89 " flds 28(%%eax)\n\t"
90 " fsubs 96(%%eax)\n\t"
91 " fmuls 28(%%ebx)\n\t"
92 " fstps 96(%%edx)\n\t"
94 " flds 32(%%eax)\n\t"
95 " fadds 92(%%eax)\n\t"
96 " fstps 32(%%edx)\n\t"
98 " flds 36(%%eax)\n\t"
99 " fadds 88(%%eax)\n\t"
100 " fstps 36(%%edx)\n\t"
102 " flds 32(%%eax)\n\t"
103 " fsubs 92(%%eax)\n\t"
104 " fmuls 32(%%ebx)\n\t"
105 " fstps 92(%%edx)\n\t"
107 " flds 36(%%eax)\n\t"
108 " fsubs 88(%%eax)\n\t"
109 " fmuls 36(%%ebx)\n\t"
110 " fstps 88(%%edx)\n\t"
112 " flds 40(%%eax)\n\t"
113 " fadds 84(%%eax)\n\t"
114 " fstps 40(%%edx)\n\t"
116 " flds 44(%%eax)\n\t"
117 " fadds 80(%%eax)\n\t"
118 " fstps 44(%%edx)\n\t"
120 " flds 40(%%eax)\n\t"
121 " fsubs 84(%%eax)\n\t"
122 " fmuls 40(%%ebx)\n\t"
123 " fstps 84(%%edx)\n\t"
125 " flds 44(%%eax)\n\t"
126 " fsubs 80(%%eax)\n\t"
127 " fmuls 44(%%ebx)\n\t"
128 " fstps 80(%%edx)\n\t"
130 " flds 48(%%eax)\n\t"
131 " fadds 76(%%eax)\n\t"
132 " fstps 48(%%edx)\n\t"
134 " flds 52(%%eax)\n\t"
135 " fadds 72(%%eax)\n\t"
136 " fstps 52(%%edx)\n\t"
138 " flds 48(%%eax)\n\t"
139 " fsubs 76(%%eax)\n\t"
140 " fmuls 48(%%ebx)\n\t"
141 " fstps 76(%%edx)\n\t"
143 " flds 52(%%eax)\n\t"
144 " fsubs 72(%%eax)\n\t"
145 " fmuls 52(%%ebx)\n\t"
146 " fstps 72(%%edx)\n\t"
148 " flds 56(%%eax)\n\t"
149 " fadds 68(%%eax)\n\t"
150 " fstps 56(%%edx)\n\t"
152 " flds 60(%%eax)\n\t"
153 " fadds 64(%%eax)\n\t"
154 " fstps 60(%%edx)\n\t"
156 " flds 56(%%eax)\n\t"
157 " fsubs 68(%%eax)\n\t"
158 " fmuls 56(%%ebx)\n\t"
159 " fstps 68(%%edx)\n\t"
161 " flds 60(%%eax)\n\t"
162 " fsubs 64(%%eax)\n\t"
163 " fmuls 60(%%ebx)\n\t"
164 " fstps 64(%%edx)\n\t"
166 /* Phase 2*/
168 " flds (%%edx)\n\t"
169 " fadds 60(%%edx)\n\t"
170 " fstps (%%ecx)\n\t"
172 " flds 4(%%edx)\n\t"
173 " fadds 56(%%edx)\n\t"
174 " fstps 4(%%ecx)\n\t"
176 " flds (%%edx)\n\t"
177 " fsubs 60(%%edx)\n\t"
178 " fmuls 64(%%ebx)\n\t"
179 " fstps 60(%%ecx)\n\t"
181 " flds 4(%%edx)\n\t"
182 " fsubs 56(%%edx)\n\t"
183 " fmuls 68(%%ebx)\n\t"
184 " fstps 56(%%ecx)\n\t"
186 " flds 8(%%edx)\n\t"
187 " fadds 52(%%edx)\n\t"
188 " fstps 8(%%ecx)\n\t"
190 " flds 12(%%edx)\n\t"
191 " fadds 48(%%edx)\n\t"
192 " fstps 12(%%ecx)\n\t"
194 " flds 8(%%edx)\n\t"
195 " fsubs 52(%%edx)\n\t"
196 " fmuls 72(%%ebx)\n\t"
197 " fstps 52(%%ecx)\n\t"
199 " flds 12(%%edx)\n\t"
200 " fsubs 48(%%edx)\n\t"
201 " fmuls 76(%%ebx)\n\t"
202 " fstps 48(%%ecx)\n\t"
204 " flds 16(%%edx)\n\t"
205 " fadds 44(%%edx)\n\t"
206 " fstps 16(%%ecx)\n\t"
208 " flds 20(%%edx)\n\t"
209 " fadds 40(%%edx)\n\t"
210 " fstps 20(%%ecx)\n\t"
212 " flds 16(%%edx)\n\t"
213 " fsubs 44(%%edx)\n\t"
214 " fmuls 80(%%ebx)\n\t"
215 " fstps 44(%%ecx)\n\t"
217 " flds 20(%%edx)\n\t"
218 " fsubs 40(%%edx)\n\t"
219 " fmuls 84(%%ebx)\n\t"
220 " fstps 40(%%ecx)\n\t"
222 " flds 24(%%edx)\n\t"
223 " fadds 36(%%edx)\n\t"
224 " fstps 24(%%ecx)\n\t"
226 " flds 28(%%edx)\n\t"
227 " fadds 32(%%edx)\n\t"
228 " fstps 28(%%ecx)\n\t"
230 " flds 24(%%edx)\n\t"
231 " fsubs 36(%%edx)\n\t"
232 " fmuls 88(%%ebx)\n\t"
233 " fstps 36(%%ecx)\n\t"
235 " flds 28(%%edx)\n\t"
236 " fsubs 32(%%edx)\n\t"
237 " fmuls 92(%%ebx)\n\t"
238 " fstps 32(%%ecx)\n\t"
240 /* Phase 3*/
242 " flds 64(%%edx)\n\t"
243 " fadds 124(%%edx)\n\t"
244 " fstps 64(%%ecx)\n\t"
246 " flds 68(%%edx)\n\t"
247 " fadds 120(%%edx)\n\t"
248 " fstps 68(%%ecx)\n\t"
250 " flds 124(%%edx)\n\t"
251 " fsubs 64(%%edx)\n\t"
252 " fmuls 64(%%ebx)\n\t"
253 " fstps 124(%%ecx)\n\t"
255 " flds 120(%%edx)\n\t"
256 " fsubs 68(%%edx)\n\t"
257 " fmuls 68(%%ebx)\n\t"
258 " fstps 120(%%ecx)\n\t"
260 " flds 72(%%edx)\n\t"
261 " fadds 116(%%edx)\n\t"
262 " fstps 72(%%ecx)\n\t"
264 " flds 76(%%edx)\n\t"
265 " fadds 112(%%edx)\n\t"
266 " fstps 76(%%ecx)\n\t"
268 " flds 116(%%edx)\n\t"
269 " fsubs 72(%%edx)\n\t"
270 " fmuls 72(%%ebx)\n\t"
271 " fstps 116(%%ecx)\n\t"
273 " flds 112(%%edx)\n\t"
274 " fsubs 76(%%edx)\n\t"
275 " fmuls 76(%%ebx)\n\t"
276 " fstps 112(%%ecx)\n\t"
278 " flds 80(%%edx)\n\t"
279 " fadds 108(%%edx)\n\t"
280 " fstps 80(%%ecx)\n\t"
282 " flds 84(%%edx)\n\t"
283 " fadds 104(%%edx)\n\t"
284 " fstps 84(%%ecx)\n\t"
286 " flds 108(%%edx)\n\t"
287 " fsubs 80(%%edx)\n\t"
288 " fmuls 80(%%ebx)\n\t"
289 " fstps 108(%%ecx)\n\t"
291 " flds 104(%%edx)\n\t"
292 " fsubs 84(%%edx)\n\t"
293 " fmuls 84(%%ebx)\n\t"
294 " fstps 104(%%ecx)\n\t"
296 " flds 88(%%edx)\n\t"
297 " fadds 100(%%edx)\n\t"
298 " fstps 88(%%ecx)\n\t"
300 " flds 92(%%edx)\n\t"
301 " fadds 96(%%edx)\n\t"
302 " fstps 92(%%ecx)\n\t"
304 " flds 100(%%edx)\n\t"
305 " fsubs 88(%%edx)\n\t"
306 " fmuls 88(%%ebx)\n\t"
307 " fstps 100(%%ecx)\n\t"
309 " flds 96(%%edx)\n\t"
310 " fsubs 92(%%edx)\n\t"
311 " fmuls 92(%%ebx)\n\t"
312 " fstps 96(%%ecx)\n\t"
314 /* Phase 4*/
316 " flds (%%ecx)\n\t"
317 " fadds 28(%%ecx)\n\t"
318 " fstps (%%edx)\n\t"
320 " flds (%%ecx)\n\t"
321 " fsubs 28(%%ecx)\n\t"
322 " fmuls 96(%%ebx)\n\t"
323 " fstps 28(%%edx)\n\t"
325 " flds 4(%%ecx)\n\t"
326 " fadds 24(%%ecx)\n\t"
327 " fstps 4(%%edx)\n\t"
329 " flds 4(%%ecx)\n\t"
330 " fsubs 24(%%ecx)\n\t"
331 " fmuls 100(%%ebx)\n\t"
332 " fstps 24(%%edx)\n\t"
334 " flds 8(%%ecx)\n\t"
335 " fadds 20(%%ecx)\n\t"
336 " fstps 8(%%edx)\n\t"
338 " flds 8(%%ecx)\n\t"
339 " fsubs 20(%%ecx)\n\t"
340 " fmuls 104(%%ebx)\n\t"
341 " fstps 20(%%edx)\n\t"
343 " flds 12(%%ecx)\n\t"
344 " fadds 16(%%ecx)\n\t"
345 " fstps 12(%%edx)\n\t"
347 " flds 12(%%ecx)\n\t"
348 " fsubs 16(%%ecx)\n\t"
349 " fmuls 108(%%ebx)\n\t"
350 " fstps 16(%%edx)\n\t"
352 " flds 32(%%ecx)\n\t"
353 " fadds 60(%%ecx)\n\t"
354 " fstps 32(%%edx)\n\t"
356 " flds 60(%%ecx)\n\t"
357 " fsubs 32(%%ecx)\n\t"
358 " fmuls 96(%%ebx)\n\t"
359 " fstps 60(%%edx)\n\t"
361 " flds 36(%%ecx)\n\t"
362 " fadds 56(%%ecx)\n\t"
363 " fstps 36(%%edx)\n\t"
365 " flds 56(%%ecx)\n\t"
366 " fsubs 36(%%ecx)\n\t"
367 " fmuls 100(%%ebx)\n\t"
368 " fstps 56(%%edx)\n\t"
370 " flds 40(%%ecx)\n\t"
371 " fadds 52(%%ecx)\n\t"
372 " fstps 40(%%edx)\n\t"
374 " flds 52(%%ecx)\n\t"
375 " fsubs 40(%%ecx)\n\t"
376 " fmuls 104(%%ebx)\n\t"
377 " fstps 52(%%edx)\n\t"
379 " flds 44(%%ecx)\n\t"
380 " fadds 48(%%ecx)\n\t"
381 " fstps 44(%%edx)\n\t"
383 " flds 48(%%ecx)\n\t"
384 " fsubs 44(%%ecx)\n\t"
385 " fmuls 108(%%ebx)\n\t"
386 " fstps 48(%%edx)\n\t"
388 " flds 64(%%ecx)\n\t"
389 " fadds 92(%%ecx)\n\t"
390 " fstps 64(%%edx)\n\t"
392 " flds 64(%%ecx)\n\t"
393 " fsubs 92(%%ecx)\n\t"
394 " fmuls 96(%%ebx)\n\t"
395 " fstps 92(%%edx)\n\t"
397 " flds 68(%%ecx)\n\t"
398 " fadds 88(%%ecx)\n\t"
399 " fstps 68(%%edx)\n\t"
401 " flds 68(%%ecx)\n\t"
402 " fsubs 88(%%ecx)\n\t"
403 " fmuls 100(%%ebx)\n\t"
404 " fstps 88(%%edx)\n\t"
406 " flds 72(%%ecx)\n\t"
407 " fadds 84(%%ecx)\n\t"
408 " fstps 72(%%edx)\n\t"
410 " flds 72(%%ecx)\n\t"
411 " fsubs 84(%%ecx)\n\t"
412 " fmuls 104(%%ebx)\n\t"
413 " fstps 84(%%edx)\n\t"
415 " flds 76(%%ecx)\n\t"
416 " fadds 80(%%ecx)\n\t"
417 " fstps 76(%%edx)\n\t"
419 " flds 76(%%ecx)\n\t"
420 " fsubs 80(%%ecx)\n\t"
421 " fmuls 108(%%ebx)\n\t"
422 " fstps 80(%%edx)\n\t"
424 " flds 96(%%ecx)\n\t"
425 " fadds 124(%%ecx)\n\t"
426 " fstps 96(%%edx)\n\t"
428 " flds 124(%%ecx)\n\t"
429 " fsubs 96(%%ecx)\n\t"
430 " fmuls 96(%%ebx)\n\t"
431 " fstps 124(%%edx)\n\t"
433 " flds 100(%%ecx)\n\t"
434 " fadds 120(%%ecx)\n\t"
435 " fstps 100(%%edx)\n\t"
437 " flds 120(%%ecx)\n\t"
438 " fsubs 100(%%ecx)\n\t"
439 " fmuls 100(%%ebx)\n\t"
440 " fstps 120(%%edx)\n\t"
442 " flds 104(%%ecx)\n\t"
443 " fadds 116(%%ecx)\n\t"
444 " fstps 104(%%edx)\n\t"
446 " flds 116(%%ecx)\n\t"
447 " fsubs 104(%%ecx)\n\t"
448 " fmuls 104(%%ebx)\n\t"
449 " fstps 116(%%edx)\n\t"
451 " flds 108(%%ecx)\n\t"
452 " fadds 112(%%ecx)\n\t"
453 " fstps 108(%%edx)\n\t"
455 " flds 112(%%ecx)\n\t"
456 " fsubs 108(%%ecx)\n\t"
457 " fmuls 108(%%ebx)\n\t"
458 " fstps 112(%%edx)\n\t"
460 " flds (%%edx)\n\t"
461 " fadds 12(%%edx)\n\t"
462 " fstps (%%ecx)\n\t"
464 " flds (%%edx)\n\t"
465 " fsubs 12(%%edx)\n\t"
466 " fmuls 112(%%ebx)\n\t"
467 " fstps 12(%%ecx)\n\t"
469 " flds 4(%%edx)\n\t"
470 " fadds 8(%%edx)\n\t"
471 " fstps 4(%%ecx)\n\t"
473 " flds 4(%%edx)\n\t"
474 " fsubs 8(%%edx)\n\t"
475 " fmuls 116(%%ebx)\n\t"
476 " fstps 8(%%ecx)\n\t"
478 " flds 16(%%edx)\n\t"
479 " fadds 28(%%edx)\n\t"
480 " fstps 16(%%ecx)\n\t"
482 " flds 28(%%edx)\n\t"
483 " fsubs 16(%%edx)\n\t"
484 " fmuls 112(%%ebx)\n\t"
485 " fstps 28(%%ecx)\n\t"
487 " flds 20(%%edx)\n\t"
488 " fadds 24(%%edx)\n\t"
489 " fstps 20(%%ecx)\n\t"
491 " flds 24(%%edx)\n\t"
492 " fsubs 20(%%edx)\n\t"
493 " fmuls 116(%%ebx)\n\t"
494 " fstps 24(%%ecx)\n\t"
496 " flds 32(%%edx)\n\t"
497 " fadds 44(%%edx)\n\t"
498 " fstps 32(%%ecx)\n\t"
500 " flds 32(%%edx)\n\t"
501 " fsubs 44(%%edx)\n\t"
502 " fmuls 112(%%ebx)\n\t"
503 " fstps 44(%%ecx)\n\t"
505 " flds 36(%%edx)\n\t"
506 " fadds 40(%%edx)\n\t"
507 " fstps 36(%%ecx)\n\t"
509 " flds 36(%%edx)\n\t"
510 " fsubs 40(%%edx)\n\t"
511 " fmuls 116(%%ebx)\n\t"
512 " fstps 40(%%ecx)\n\t"
514 " flds 48(%%edx)\n\t"
515 " fadds 60(%%edx)\n\t"
516 " fstps 48(%%ecx)\n\t"
518 " flds 60(%%edx)\n\t"
519 " fsubs 48(%%edx)\n\t"
520 " fmuls 112(%%ebx)\n\t"
521 " fstps 60(%%ecx)\n\t"
523 " flds 52(%%edx)\n\t"
524 " fadds 56(%%edx)\n\t"
525 " fstps 52(%%ecx)\n\t"
527 " flds 56(%%edx)\n\t"
528 " fsubs 52(%%edx)\n\t"
529 " fmuls 116(%%ebx)\n\t"
530 " fstps 56(%%ecx)\n\t"
532 " flds 64(%%edx)\n\t"
533 " fadds 76(%%edx)\n\t"
534 " fstps 64(%%ecx)\n\t"
536 " flds 64(%%edx)\n\t"
537 " fsubs 76(%%edx)\n\t"
538 " fmuls 112(%%ebx)\n\t"
539 " fstps 76(%%ecx)\n\t"
541 " flds 68(%%edx)\n\t"
542 " fadds 72(%%edx)\n\t"
543 " fstps 68(%%ecx)\n\t"
545 " flds 68(%%edx)\n\t"
546 " fsubs 72(%%edx)\n\t"
547 " fmuls 116(%%ebx)\n\t"
548 " fstps 72(%%ecx)\n\t"
550 " flds 80(%%edx)\n\t"
551 " fadds 92(%%edx)\n\t"
552 " fstps 80(%%ecx)\n\t"
554 " flds 92(%%edx)\n\t"
555 " fsubs 80(%%edx)\n\t"
556 " fmuls 112(%%ebx)\n\t"
557 " fstps 92(%%ecx)\n\t"
559 " flds 84(%%edx)\n\t"
560 " fadds 88(%%edx)\n\t"
561 " fstps 84(%%ecx)\n\t"
563 " flds 88(%%edx)\n\t"
564 " fsubs 84(%%edx)\n\t"
565 " fmuls 116(%%ebx)\n\t"
566 " fstps 88(%%ecx)\n\t"
568 " flds 96(%%edx)\n\t"
569 " fadds 108(%%edx)\n\t"
570 " fstps 96(%%ecx)\n\t"
572 " flds 96(%%edx)\n\t"
573 " fsubs 108(%%edx)\n\t"
574 " fmuls 112(%%ebx)\n\t"
575 " fstps 108(%%ecx)\n\t"
577 " flds 100(%%edx)\n\t"
578 " fadds 104(%%edx)\n\t"
579 " fstps 100(%%ecx)\n\t"
581 " flds 100(%%edx)\n\t"
582 " fsubs 104(%%edx)\n\t"
583 " fmuls 116(%%ebx)\n\t"
584 " fstps 104(%%ecx)\n\t"
586 " flds 112(%%edx)\n\t"
587 " fadds 124(%%edx)\n\t"
588 " fstps 112(%%ecx)\n\t"
590 " flds 124(%%edx)\n\t"
591 " fsubs 112(%%edx)\n\t"
592 " fmuls 112(%%ebx)\n\t"
593 " fstps 124(%%ecx)\n\t"
595 " flds 116(%%edx)\n\t"
596 " fadds 120(%%edx)\n\t"
597 " fstps 116(%%ecx)\n\t"
599 " flds 120(%%edx)\n\t"
600 " fsubs 116(%%edx)\n\t"
601 " fmuls 116(%%ebx)\n\t"
602 " fstps 120(%%ecx)\n\t"
604 /* Phase 5*/
606 " flds 32(%%ecx)\n\t"
607 " fadds 36(%%ecx)\n\t"
608 " fstps 32(%%edx)\n\t"
610 " flds 32(%%ecx)\n\t"
611 " fsubs 36(%%ecx)\n\t"
612 " fmuls 120(%%ebx)\n\t"
613 " fstps 36(%%edx)\n\t"
615 " flds 44(%%ecx)\n\t"
616 " fsubs 40(%%ecx)\n\t"
617 " fmuls 120(%%ebx)\n\t"
618 " fsts 44(%%edx)\n\t"
619 " fadds 40(%%ecx)\n\t"
620 " fadds 44(%%ecx)\n\t"
621 " fstps 40(%%edx)\n\t"
623 " flds 48(%%ecx)\n\t"
624 " fsubs 52(%%ecx)\n\t"
625 " fmuls 120(%%ebx)\n\t"
627 " flds 60(%%ecx)\n\t"
628 " fsubs 56(%%ecx)\n\t"
629 " fmuls 120(%%ebx)\n\t"
630 " fld %%st(0)\n\t"
631 " fadds 56(%%ecx)\n\t"
632 " fadds 60(%%ecx)\n\t"
633 " fld %%st(0)\n\t"
634 " fadds 48(%%ecx)\n\t"
635 " fadds 52(%%ecx)\n\t"
636 " fstps 48(%%edx)\n\t"
637 " fadd %%st(2)\n\t"
638 " fstps 56(%%edx)\n\t"
639 " fsts 60(%%edx)\n\t"
640 " faddp %%st(1)\n\t"
641 " fstps 52(%%edx)\n\t"
643 " flds 64(%%ecx)\n\t"
644 " fadds 68(%%ecx)\n\t"
645 " fstps 64(%%edx)\n\t"
647 " flds 64(%%ecx)\n\t"
648 " fsubs 68(%%ecx)\n\t"
649 " fmuls 120(%%ebx)\n\t"
650 " fstps 68(%%edx)\n\t"
652 " flds 76(%%ecx)\n\t"
653 " fsubs 72(%%ecx)\n\t"
654 " fmuls 120(%%ebx)\n\t"
655 " fsts 76(%%edx)\n\t"
656 " fadds 72(%%ecx)\n\t"
657 " fadds 76(%%ecx)\n\t"
658 " fstps 72(%%edx)\n\t"
660 " flds 92(%%ecx)\n\t"
661 " fsubs 88(%%ecx)\n\t"
662 " fmuls 120(%%ebx)\n\t"
663 " fsts 92(%%edx)\n\t"
664 " fadds 92(%%ecx)\n\t"
665 " fadds 88(%%ecx)\n\t"
666 " fld %%st(0)\n\t"
667 " fadds 80(%%ecx)\n\t"
668 " fadds 84(%%ecx)\n\t"
669 " fstps 80(%%edx)\n\t"
671 " flds 80(%%ecx)\n\t"
672 " fsubs 84(%%ecx)\n\t"
673 " fmuls 120(%%ebx)\n\t"
674 " fadd %%st(0), %%st(1)\n\t"
675 " fadds 92(%%edx)\n\t"
676 " fstps 84(%%edx)\n\t"
677 " fstps 88(%%edx)\n\t"
679 " flds 96(%%ecx)\n\t"
680 " fadds 100(%%ecx)\n\t"
681 " fstps 96(%%edx)\n\t"
683 " flds 96(%%ecx)\n\t"
684 " fsubs 100(%%ecx)\n\t"
685 " fmuls 120(%%ebx)\n\t"
686 " fstps 100(%%edx)\n\t"
688 " flds 108(%%ecx)\n\t"
689 " fsubs 104(%%ecx)\n\t"
690 " fmuls 120(%%ebx)\n\t"
691 " fsts 108(%%edx)\n\t"
692 " fadds 104(%%ecx)\n\t"
693 " fadds 108(%%ecx)\n\t"
694 " fstps 104(%%edx)\n\t"
696 " flds 124(%%ecx)\n\t"
697 " fsubs 120(%%ecx)\n\t"
698 " fmuls 120(%%ebx)\n\t"
699 " fsts 124(%%edx)\n\t"
700 " fadds 120(%%ecx)\n\t"
701 " fadds 124(%%ecx)\n\t"
702 " fld %%st(0)\n\t"
703 " fadds 112(%%ecx)\n\t"
704 " fadds 116(%%ecx)\n\t"
705 " fstps 112(%%edx)\n\t"
707 " flds 112(%%ecx)\n\t"
708 " fsubs 116(%%ecx)\n\t"
709 " fmuls 120(%%ebx)\n\t"
710 " fadd %%st(0),%%st(1)\n\t"
711 " fadds 124(%%edx)\n\t"
712 " fstps 116(%%edx)\n\t"
713 " fstps 120(%%edx)\n\t"
714 " jnz .L01\n\t"
716 /* Phase 6*/
718 " flds (%%ecx)\n\t"
719 " fadds 4(%%ecx)\n\t"
720 " fstps 1024(%%esi)\n\t"
722 " flds (%%ecx)\n\t"
723 " fsubs 4(%%ecx)\n\t"
724 " fmuls 120(%%ebx)\n\t"
725 " fsts (%%esi)\n\t"
726 " fstps (%%edi)\n\t"
728 " flds 12(%%ecx)\n\t"
729 " fsubs 8(%%ecx)\n\t"
730 " fmuls 120(%%ebx)\n\t"
731 " fsts 512(%%edi)\n\t"
732 " fadds 12(%%ecx)\n\t"
733 " fadds 8(%%ecx)\n\t"
734 " fstps 512(%%esi)\n\t"
736 " flds 16(%%ecx)\n\t"
737 " fsubs 20(%%ecx)\n\t"
738 " fmuls 120(%%ebx)\n\t"
740 " flds 28(%%ecx)\n\t"
741 " fsubs 24(%%ecx)\n\t"
742 " fmuls 120(%%ebx)\n\t"
743 " fsts 768(%%edi)\n\t"
744 " fld %%st(0)\n\t"
745 " fadds 24(%%ecx)\n\t"
746 " fadds 28(%%ecx)\n\t"
747 " fld %%st(0)\n\t"
748 " fadds 16(%%ecx)\n\t"
749 " fadds 20(%%ecx)\n\t"
750 " fstps 768(%%esi)\n\t"
751 " fadd %%st(2)\n\t"
752 " fstps 256(%%esi)\n\t"
753 " faddp %%st(1)\n\t"
754 " fstps 256(%%edi)\n\t"
756 /* Phase 7*/
758 " flds 32(%%edx)\n\t"
759 " fadds 48(%%edx)\n\t"
760 " fstps 896(%%esi)\n\t"
762 " flds 48(%%edx)\n\t"
763 " fadds 40(%%edx)\n\t"
764 " fstps 640(%%esi)\n\t"
766 " flds 40(%%edx)\n\t"
767 " fadds 56(%%edx)\n\t"
768 " fstps 384(%%esi)\n\t"
770 " flds 56(%%edx)\n\t"
771 " fadds 36(%%edx)\n\t"
772 " fstps 128(%%esi)\n\t"
774 " flds 36(%%edx)\n\t"
775 " fadds 52(%%edx)\n\t"
776 " fstps 128(%%edi)\n\t"
778 " flds 52(%%edx)\n\t"
779 " fadds 44(%%edx)\n\t"
780 " fstps 384(%%edi)\n\t"
782 " flds 60(%%edx)\n\t"
783 " fsts 896(%%edi)\n\t"
784 " fadds 44(%%edx)\n\t"
785 " fstps 640(%%edi)\n\t"
787 " flds 96(%%edx)\n\t"
788 " fadds 112(%%edx)\n\t"
789 " fld %%st(0)\n\t"
790 " fadds 64(%%edx)\n\t"
791 " fstps 960(%%esi)\n\t"
792 " fadds 80(%%edx)\n\t"
793 " fstps 832(%%esi)\n\t"
795 " flds 112(%%edx)\n\t"
796 " fadds 104(%%edx)\n\t"
797 " fld %%st(0)\n\t"
798 " fadds 80(%%edx)\n\t"
799 " fstps 704(%%esi)\n\t"
800 " fadds 72(%%edx)\n\t"
801 " fstps 576(%%esi)\n\t"
803 " flds 104(%%edx)\n\t"
804 " fadds 120(%%edx)\n\t"
805 " fld %%st(0)\n\t"
806 " fadds 72(%%edx)\n\t"
807 " fstps 448(%%esi)\n\t"
808 " fadds 88(%%edx)\n\t"
809 " fstps 320(%%esi)\n\t"
811 " flds 120(%%edx)\n\t"
812 " fadds 100(%%edx)\n\t"
813 " fld %%st(0)\n\t"
814 " fadds 88(%%edx)\n\t"
815 " fstps 192(%%esi)\n\t"
816 " fadds 68(%%edx)\n\t"
817 " fstps 64(%%esi)\n\t"
819 " flds 100(%%edx)\n\t"
820 " fadds 116(%%edx)\n\t"
821 " fld %%st(0)\n\t"
822 " fadds 68(%%edx)\n\t"
823 " fstps 64(%%edi)\n\t"
824 " fadds 84(%%edx)\n\t"
825 " fstps 192(%%edi)\n\t"
827 " flds 116(%%edx)\n\t"
828 " fadds 108(%%edx)\n\t"
829 " fld %%st(0)\n\t"
830 " fadds 84(%%edx)\n\t"
831 " fstps 320(%%edi)\n\t"
832 " fadds 76(%%edx)\n\t"
833 " fstps 448(%%edi)\n\t"
835 " flds 108(%%edx)\n\t"
836 " fadds 124(%%edx)\n\t"
837 " fld %%st(0)\n\t"
838 " fadds 76(%%edx)\n\t"
839 " fstps 576(%%edi)\n\t"
840 " fadds 92(%%edx)\n\t"
841 " fstps 704(%%edi)\n\t"
843 " flds 124(%%edx)\n\t"
844 " fsts 960(%%edi)\n\t"
845 " fadds 92(%%edx)\n\t"
846 " fstps 832(%%edi)\n\t"
847 " jmp .L_bye\n\t"
848 ".L01:\n\t"
849 /* Phase 8*/
851 " flds (%%ecx)\n\t"
852 " fadds 4(%%ecx)\n\t"
853 " fistp 512(%%esi)\n\t"
855 " flds (%%ecx)\n\t"
856 " fsubs 4(%%ecx)\n\t"
857 " fmuls 120(%%ebx)\n\t"
859 " fistp (%%esi)\n\t"
862 " flds 12(%%ecx)\n\t"
863 " fsubs 8(%%ecx)\n\t"
864 " fmuls 120(%%ebx)\n\t"
865 " fist 256(%%edi)\n\t"
866 " fadds 12(%%ecx)\n\t"
867 " fadds 8(%%ecx)\n\t"
868 " fistp 256(%%esi)\n\t"
870 " flds 16(%%ecx)\n\t"
871 " fsubs 20(%%ecx)\n\t"
872 " fmuls 120(%%ebx)\n\t"
874 " flds 28(%%ecx)\n\t"
875 " fsubs 24(%%ecx)\n\t"
876 " fmuls 120(%%ebx)\n\t"
877 " fist 384(%%edi)\n\t"
878 " fld %%st(0)\n\t"
879 " fadds 24(%%ecx)\n\t"
880 " fadds 28(%%ecx)\n\t"
881 " fld %%st(0)\n\t"
882 " fadds 16(%%ecx)\n\t"
883 " fadds 20(%%ecx)\n\t"
884 " fistp 384(%%esi)\n\t"
885 " fadd %%st(2)\n\t"
886 " fistp 128(%%esi)\n\t"
887 " faddp %%st(1)\n\t"
888 " fistp 128(%%edi)\n\t"
890 /* Phase 9*/
892 " flds 32(%%edx)\n\t"
893 " fadds 48(%%edx)\n\t"
894 " fistp 448(%%esi)\n\t"
896 " flds 48(%%edx)\n\t"
897 " fadds 40(%%edx)\n\t"
898 " fistp 320(%%esi)\n\t"
900 " flds 40(%%edx)\n\t"
901 " fadds 56(%%edx)\n\t"
902 " fistp 192(%%esi)\n\t"
904 " flds 56(%%edx)\n\t"
905 " fadds 36(%%edx)\n\t"
906 " fistp 64(%%esi)\n\t"
908 " flds 36(%%edx)\n\t"
909 " fadds 52(%%edx)\n\t"
910 " fistp 64(%%edi)\n\t"
912 " flds 52(%%edx)\n\t"
913 " fadds 44(%%edx)\n\t"
914 " fistp 192(%%edi)\n\t"
916 " flds 60(%%edx)\n\t"
917 " fist 448(%%edi)\n\t"
918 " fadds 44(%%edx)\n\t"
919 " fistp 320(%%edi)\n\t"
921 " flds 96(%%edx)\n\t"
922 " fadds 112(%%edx)\n\t"
923 " fld %%st(0)\n\t"
924 " fadds 64(%%edx)\n\t"
925 " fistp 480(%%esi)\n\t"
926 " fadds 80(%%edx)\n\t"
927 " fistp 416(%%esi)\n\t"
929 " flds 112(%%edx)\n\t"
930 " fadds 104(%%edx)\n\t"
931 " fld %%st(0)\n\t"
932 " fadds 80(%%edx)\n\t"
933 " fistp 352(%%esi)\n\t"
934 " fadds 72(%%edx)\n\t"
935 " fistp 288(%%esi)\n\t"
937 " flds 104(%%edx)\n\t"
938 " fadds 120(%%edx)\n\t"
939 " fld %%st(0)\n\t"
940 " fadds 72(%%edx)\n\t"
941 " fistp 224(%%esi)\n\t"
942 " fadds 88(%%edx)\n\t"
943 " fistp 160(%%esi)\n\t"
945 " flds 120(%%edx)\n\t"
946 " fadds 100(%%edx)\n\t"
947 " fld %%st(0)\n\t"
948 " fadds 88(%%edx)\n\t"
949 " fistp 96(%%esi)\n\t"
950 " fadds 68(%%edx)\n\t"
951 " fistp 32(%%esi)\n\t"
953 " flds 100(%%edx)\n\t"
954 " fadds 116(%%edx)\n\t"
955 " fld %%st(0)\n\t"
956 " fadds 68(%%edx)\n\t"
957 " fistp 32(%%edi)\n\t"
958 " fadds 84(%%edx)\n\t"
959 " fistp 96(%%edi)\n\t"
961 " flds 116(%%edx)\n\t"
962 " fadds 108(%%edx)\n\t"
963 " fld %%st(0)\n\t"
964 " fadds 84(%%edx)\n\t"
965 " fistp 160(%%edi)\n\t"
966 " fadds 76(%%edx)\n\t"
967 " fistp 224(%%edi)\n\t"
969 " flds 108(%%edx)\n\t"
970 " fadds 124(%%edx)\n\t"
971 " fld %%st(0)\n\t"
972 " fadds 76(%%edx)\n\t"
973 " fistp 288(%%edi)\n\t"
974 " fadds 92(%%edx)\n\t"
975 " fistp 352(%%edi)\n\t"
977 " flds 124(%%edx)\n\t"
978 " fist 480(%%edi)\n\t"
979 " fadds 92(%%edx)\n\t"
980 " fistp 416(%%edi)\n\t"
981 " movsw\n\t"
982 ".L_bye:"
984 :"m"(a),"m"(b),"m"(c),"m"(tmp[0])
985 :"memory","%eax","%ebx","%ecx","%edx","%esi","%edi");