comparison mp3lib/dct64_MMX.s @ 1245:03b7e2955a20

Added newest MMX-optimized decore which speedups decoding at least on 13% for any cpu.
author nick
date Fri, 29 Jun 2001 17:55:35 +0000
parents
children 2864e32cd267
comparison
equal deleted inserted replaced
1244:a2c71bf9a7d3 1245:03b7e2955a20
1 # This code was taken from http://www.mpg123.org
2 # See ChangeLog of mpg123-0.59s-pre.1 for detail
3 # Applied to mplayer by Nick Kurshev <nickols_k@mail.ru>
4
5 .data
6 .align 4
7 costab:
8 .long 1056974725
9 .long 1057056395
10 .long 1057223771
11 .long 1057485416
12 .long 1057855544
13 .long 1058356026
14 .long 1059019886
15 .long 1059897405
16 .long 1061067246
17 .long 1062657950
18 .long 1064892987
19 .long 1066774581
20 .long 1069414683
21 .long 1073984175
22 .long 1079645762
23 .long 1092815430
24 .long 1057005197
25 .long 1057342072
26 .long 1058087743
27 .long 1059427869
28 .long 1061799040
29 .long 1065862217
30 .long 1071413542
31 .long 1084439708
32 .long 1057128951
33 .long 1058664893
34 .long 1063675095
35 .long 1076102863
36 .long 1057655764
37 .long 1067924853
38 .long 1060439283
39
40 .text
41
42 .align 16
43
44 .globl dct64_MMX
45 dct64_MMX:
46 pushl %ebx
47 pushl %esi
48 pushl %edi
49 subl $256,%esp
50 movl 280(%esp),%eax
51 /* Phase 1*/
52 flds (%eax)
53 leal 128(%esp),%edx
54 fadds 124(%eax)
55 movl 272(%esp),%esi
56 fstps (%edx)
57 movl 276(%esp),%edi
58
59 flds 4(%eax)
60 movl $costab,%ebx
61 fadds 120(%eax)
62 orl %ecx,%ecx
63 fstps 4(%edx)
64
65 flds (%eax)
66 movl %esp,%ecx
67 fsubs 124(%eax)
68 fmuls (%ebx)
69 fstps 124(%edx)
70
71 flds 4(%eax)
72 fsubs 120(%eax)
73 fmuls 4(%ebx)
74 fstps 120(%edx)
75
76 flds 8(%eax)
77 fadds 116(%eax)
78 fstps 8(%edx)
79
80 flds 12(%eax)
81 fadds 112(%eax)
82 fstps 12(%edx)
83
84 flds 8(%eax)
85 fsubs 116(%eax)
86 fmuls 8(%ebx)
87 fstps 116(%edx)
88
89 flds 12(%eax)
90 fsubs 112(%eax)
91 fmuls 12(%ebx)
92 fstps 112(%edx)
93
94 flds 16(%eax)
95 fadds 108(%eax)
96 fstps 16(%edx)
97
98 flds 20(%eax)
99 fadds 104(%eax)
100 fstps 20(%edx)
101
102 flds 16(%eax)
103 fsubs 108(%eax)
104 fmuls 16(%ebx)
105 fstps 108(%edx)
106
107 flds 20(%eax)
108 fsubs 104(%eax)
109 fmuls 20(%ebx)
110 fstps 104(%edx)
111
112 flds 24(%eax)
113 fadds 100(%eax)
114 fstps 24(%edx)
115
116 flds 28(%eax)
117 fadds 96(%eax)
118 fstps 28(%edx)
119
120 flds 24(%eax)
121 fsubs 100(%eax)
122 fmuls 24(%ebx)
123 fstps 100(%edx)
124
125 flds 28(%eax)
126 fsubs 96(%eax)
127 fmuls 28(%ebx)
128 fstps 96(%edx)
129
130 flds 32(%eax)
131 fadds 92(%eax)
132 fstps 32(%edx)
133
134 flds 36(%eax)
135 fadds 88(%eax)
136 fstps 36(%edx)
137
138 flds 32(%eax)
139 fsubs 92(%eax)
140 fmuls 32(%ebx)
141 fstps 92(%edx)
142
143 flds 36(%eax)
144 fsubs 88(%eax)
145 fmuls 36(%ebx)
146 fstps 88(%edx)
147
148 flds 40(%eax)
149 fadds 84(%eax)
150 fstps 40(%edx)
151
152 flds 44(%eax)
153 fadds 80(%eax)
154 fstps 44(%edx)
155
156 flds 40(%eax)
157 fsubs 84(%eax)
158 fmuls 40(%ebx)
159 fstps 84(%edx)
160
161 flds 44(%eax)
162 fsubs 80(%eax)
163 fmuls 44(%ebx)
164 fstps 80(%edx)
165
166 flds 48(%eax)
167 fadds 76(%eax)
168 fstps 48(%edx)
169
170 flds 52(%eax)
171 fadds 72(%eax)
172 fstps 52(%edx)
173
174 flds 48(%eax)
175 fsubs 76(%eax)
176 fmuls 48(%ebx)
177 fstps 76(%edx)
178
179 flds 52(%eax)
180 fsubs 72(%eax)
181 fmuls 52(%ebx)
182 fstps 72(%edx)
183
184 flds 56(%eax)
185 fadds 68(%eax)
186 fstps 56(%edx)
187
188 flds 60(%eax)
189 fadds 64(%eax)
190 fstps 60(%edx)
191
192 flds 56(%eax)
193 fsubs 68(%eax)
194 fmuls 56(%ebx)
195 fstps 68(%edx)
196
197 flds 60(%eax)
198 fsubs 64(%eax)
199 fmuls 60(%ebx)
200 fstps 64(%edx)
201
202 /* Phase 2*/
203
204 flds (%edx)
205 fadds 60(%edx)
206 fstps (%ecx)
207
208 flds 4(%edx)
209 fadds 56(%edx)
210 fstps 4(%ecx)
211
212 flds (%edx)
213 fsubs 60(%edx)
214 fmuls 64(%ebx)
215 fstps 60(%ecx)
216
217 flds 4(%edx)
218 fsubs 56(%edx)
219 fmuls 68(%ebx)
220 fstps 56(%ecx)
221
222 flds 8(%edx)
223 fadds 52(%edx)
224 fstps 8(%ecx)
225
226 flds 12(%edx)
227 fadds 48(%edx)
228 fstps 12(%ecx)
229
230 flds 8(%edx)
231 fsubs 52(%edx)
232 fmuls 72(%ebx)
233 fstps 52(%ecx)
234
235 flds 12(%edx)
236 fsubs 48(%edx)
237 fmuls 76(%ebx)
238 fstps 48(%ecx)
239
240 flds 16(%edx)
241 fadds 44(%edx)
242 fstps 16(%ecx)
243
244 flds 20(%edx)
245 fadds 40(%edx)
246 fstps 20(%ecx)
247
248 flds 16(%edx)
249 fsubs 44(%edx)
250 fmuls 80(%ebx)
251 fstps 44(%ecx)
252
253 flds 20(%edx)
254 fsubs 40(%edx)
255 fmuls 84(%ebx)
256 fstps 40(%ecx)
257
258 flds 24(%edx)
259 fadds 36(%edx)
260 fstps 24(%ecx)
261
262 flds 28(%edx)
263 fadds 32(%edx)
264 fstps 28(%ecx)
265
266 flds 24(%edx)
267 fsubs 36(%edx)
268 fmuls 88(%ebx)
269 fstps 36(%ecx)
270
271 flds 28(%edx)
272 fsubs 32(%edx)
273 fmuls 92(%ebx)
274 fstps 32(%ecx)
275
276 /* Phase 3*/
277
278 flds 64(%edx)
279 fadds 124(%edx)
280 fstps 64(%ecx)
281
282 flds 68(%edx)
283 fadds 120(%edx)
284 fstps 68(%ecx)
285
286 flds 124(%edx)
287 fsubs 64(%edx)
288 fmuls 64(%ebx)
289 fstps 124(%ecx)
290
291 flds 120(%edx)
292 fsubs 68(%edx)
293 fmuls 68(%ebx)
294 fstps 120(%ecx)
295
296 flds 72(%edx)
297 fadds 116(%edx)
298 fstps 72(%ecx)
299
300 flds 76(%edx)
301 fadds 112(%edx)
302 fstps 76(%ecx)
303
304 flds 116(%edx)
305 fsubs 72(%edx)
306 fmuls 72(%ebx)
307 fstps 116(%ecx)
308
309 flds 112(%edx)
310 fsubs 76(%edx)
311 fmuls 76(%ebx)
312 fstps 112(%ecx)
313
314 flds 80(%edx)
315 fadds 108(%edx)
316 fstps 80(%ecx)
317
318 flds 84(%edx)
319 fadds 104(%edx)
320 fstps 84(%ecx)
321
322 flds 108(%edx)
323 fsubs 80(%edx)
324 fmuls 80(%ebx)
325 fstps 108(%ecx)
326
327 flds 104(%edx)
328 fsubs 84(%edx)
329 fmuls 84(%ebx)
330 fstps 104(%ecx)
331
332 flds 88(%edx)
333 fadds 100(%edx)
334 fstps 88(%ecx)
335
336 flds 92(%edx)
337 fadds 96(%edx)
338 fstps 92(%ecx)
339
340 flds 100(%edx)
341 fsubs 88(%edx)
342 fmuls 88(%ebx)
343 fstps 100(%ecx)
344
345 flds 96(%edx)
346 fsubs 92(%edx)
347 fmuls 92(%ebx)
348 fstps 96(%ecx)
349
350 /* Phase 4*/
351
352 flds (%ecx)
353 fadds 28(%ecx)
354 fstps (%edx)
355
356 flds (%ecx)
357 fsubs 28(%ecx)
358 fmuls 96(%ebx)
359 fstps 28(%edx)
360
361 flds 4(%ecx)
362 fadds 24(%ecx)
363 fstps 4(%edx)
364
365 flds 4(%ecx)
366 fsubs 24(%ecx)
367 fmuls 100(%ebx)
368 fstps 24(%edx)
369
370 flds 8(%ecx)
371 fadds 20(%ecx)
372 fstps 8(%edx)
373
374 flds 8(%ecx)
375 fsubs 20(%ecx)
376 fmuls 104(%ebx)
377 fstps 20(%edx)
378
379 flds 12(%ecx)
380 fadds 16(%ecx)
381 fstps 12(%edx)
382
383 flds 12(%ecx)
384 fsubs 16(%ecx)
385 fmuls 108(%ebx)
386 fstps 16(%edx)
387
388 flds 32(%ecx)
389 fadds 60(%ecx)
390 fstps 32(%edx)
391
392 flds 60(%ecx)
393 fsubs 32(%ecx)
394 fmuls 96(%ebx)
395 fstps 60(%edx)
396
397 flds 36(%ecx)
398 fadds 56(%ecx)
399 fstps 36(%edx)
400
401 flds 56(%ecx)
402 fsubs 36(%ecx)
403 fmuls 100(%ebx)
404 fstps 56(%edx)
405
406 flds 40(%ecx)
407 fadds 52(%ecx)
408 fstps 40(%edx)
409
410 flds 52(%ecx)
411 fsubs 40(%ecx)
412 fmuls 104(%ebx)
413 fstps 52(%edx)
414
415 flds 44(%ecx)
416 fadds 48(%ecx)
417 fstps 44(%edx)
418
419 flds 48(%ecx)
420 fsubs 44(%ecx)
421 fmuls 108(%ebx)
422 fstps 48(%edx)
423
424 flds 64(%ecx)
425 fadds 92(%ecx)
426 fstps 64(%edx)
427
428 flds 64(%ecx)
429 fsubs 92(%ecx)
430 fmuls 96(%ebx)
431 fstps 92(%edx)
432
433 flds 68(%ecx)
434 fadds 88(%ecx)
435 fstps 68(%edx)
436
437 flds 68(%ecx)
438 fsubs 88(%ecx)
439 fmuls 100(%ebx)
440 fstps 88(%edx)
441
442 flds 72(%ecx)
443 fadds 84(%ecx)
444 fstps 72(%edx)
445
446 flds 72(%ecx)
447 fsubs 84(%ecx)
448 fmuls 104(%ebx)
449 fstps 84(%edx)
450
451 flds 76(%ecx)
452 fadds 80(%ecx)
453 fstps 76(%edx)
454
455 flds 76(%ecx)
456 fsubs 80(%ecx)
457 fmuls 108(%ebx)
458 fstps 80(%edx)
459
460 flds 96(%ecx)
461 fadds 124(%ecx)
462 fstps 96(%edx)
463
464 flds 124(%ecx)
465 fsubs 96(%ecx)
466 fmuls 96(%ebx)
467 fstps 124(%edx)
468
469 flds 100(%ecx)
470 fadds 120(%ecx)
471 fstps 100(%edx)
472
473 flds 120(%ecx)
474 fsubs 100(%ecx)
475 fmuls 100(%ebx)
476 fstps 120(%edx)
477
478 flds 104(%ecx)
479 fadds 116(%ecx)
480 fstps 104(%edx)
481
482 flds 116(%ecx)
483 fsubs 104(%ecx)
484 fmuls 104(%ebx)
485 fstps 116(%edx)
486
487 flds 108(%ecx)
488 fadds 112(%ecx)
489 fstps 108(%edx)
490
491 flds 112(%ecx)
492 fsubs 108(%ecx)
493 fmuls 108(%ebx)
494 fstps 112(%edx)
495
496 flds (%edx)
497 fadds 12(%edx)
498 fstps (%ecx)
499
500 flds (%edx)
501 fsubs 12(%edx)
502 fmuls 112(%ebx)
503 fstps 12(%ecx)
504
505 flds 4(%edx)
506 fadds 8(%edx)
507 fstps 4(%ecx)
508
509 flds 4(%edx)
510 fsubs 8(%edx)
511 fmuls 116(%ebx)
512 fstps 8(%ecx)
513
514 flds 16(%edx)
515 fadds 28(%edx)
516 fstps 16(%ecx)
517
518 flds 28(%edx)
519 fsubs 16(%edx)
520 fmuls 112(%ebx)
521 fstps 28(%ecx)
522
523 flds 20(%edx)
524 fadds 24(%edx)
525 fstps 20(%ecx)
526
527 flds 24(%edx)
528 fsubs 20(%edx)
529 fmuls 116(%ebx)
530 fstps 24(%ecx)
531
532 flds 32(%edx)
533 fadds 44(%edx)
534 fstps 32(%ecx)
535
536 flds 32(%edx)
537 fsubs 44(%edx)
538 fmuls 112(%ebx)
539 fstps 44(%ecx)
540
541 flds 36(%edx)
542 fadds 40(%edx)
543 fstps 36(%ecx)
544
545 flds 36(%edx)
546 fsubs 40(%edx)
547 fmuls 116(%ebx)
548 fstps 40(%ecx)
549
550 flds 48(%edx)
551 fadds 60(%edx)
552 fstps 48(%ecx)
553
554 flds 60(%edx)
555 fsubs 48(%edx)
556 fmuls 112(%ebx)
557 fstps 60(%ecx)
558
559 flds 52(%edx)
560 fadds 56(%edx)
561 fstps 52(%ecx)
562
563 flds 56(%edx)
564 fsubs 52(%edx)
565 fmuls 116(%ebx)
566 fstps 56(%ecx)
567
568 flds 64(%edx)
569 fadds 76(%edx)
570 fstps 64(%ecx)
571
572 flds 64(%edx)
573 fsubs 76(%edx)
574 fmuls 112(%ebx)
575 fstps 76(%ecx)
576
577 flds 68(%edx)
578 fadds 72(%edx)
579 fstps 68(%ecx)
580
581 flds 68(%edx)
582 fsubs 72(%edx)
583 fmuls 116(%ebx)
584 fstps 72(%ecx)
585
586 flds 80(%edx)
587 fadds 92(%edx)
588 fstps 80(%ecx)
589
590 flds 92(%edx)
591 fsubs 80(%edx)
592 fmuls 112(%ebx)
593 fstps 92(%ecx)
594
595 flds 84(%edx)
596 fadds 88(%edx)
597 fstps 84(%ecx)
598
599 flds 88(%edx)
600 fsubs 84(%edx)
601 fmuls 116(%ebx)
602 fstps 88(%ecx)
603
604 flds 96(%edx)
605 fadds 108(%edx)
606 fstps 96(%ecx)
607
608 flds 96(%edx)
609 fsubs 108(%edx)
610 fmuls 112(%ebx)
611 fstps 108(%ecx)
612
613 flds 100(%edx)
614 fadds 104(%edx)
615 fstps 100(%ecx)
616
617 flds 100(%edx)
618 fsubs 104(%edx)
619 fmuls 116(%ebx)
620 fstps 104(%ecx)
621
622 flds 112(%edx)
623 fadds 124(%edx)
624 fstps 112(%ecx)
625
626 flds 124(%edx)
627 fsubs 112(%edx)
628 fmuls 112(%ebx)
629 fstps 124(%ecx)
630
631 flds 116(%edx)
632 fadds 120(%edx)
633 fstps 116(%ecx)
634
635 flds 120(%edx)
636 fsubs 116(%edx)
637 fmuls 116(%ebx)
638 fstps 120(%ecx)
639
640 /* Phase 5*/
641
642 flds 32(%ecx)
643 fadds 36(%ecx)
644 fstps 32(%edx)
645
646 flds 32(%ecx)
647 fsubs 36(%ecx)
648 fmuls 120(%ebx)
649 fstps 36(%edx)
650
651 flds 44(%ecx)
652 fsubs 40(%ecx)
653 fmuls 120(%ebx)
654 fsts 44(%edx)
655 fadds 40(%ecx)
656 fadds 44(%ecx)
657 fstps 40(%edx)
658
659 flds 48(%ecx)
660 fsubs 52(%ecx)
661 fmuls 120(%ebx)
662
663 flds 60(%ecx)
664 fsubs 56(%ecx)
665 fmuls 120(%ebx)
666 fld %st(0)
667 fadds 56(%ecx)
668 fadds 60(%ecx)
669 fld %st(0)
670 fadds 48(%ecx)
671 fadds 52(%ecx)
672 fstps 48(%edx)
673 fadd %st(2)
674 fstps 56(%edx)
675 fsts 60(%edx)
676 faddp %st(1)
677 fstps 52(%edx)
678
679 flds 64(%ecx)
680 fadds 68(%ecx)
681 fstps 64(%edx)
682
683 flds 64(%ecx)
684 fsubs 68(%ecx)
685 fmuls 120(%ebx)
686 fstps 68(%edx)
687
688 flds 76(%ecx)
689 fsubs 72(%ecx)
690 fmuls 120(%ebx)
691 fsts 76(%edx)
692 fadds 72(%ecx)
693 fadds 76(%ecx)
694 fstps 72(%edx)
695
696 flds 92(%ecx)
697 fsubs 88(%ecx)
698 fmuls 120(%ebx)
699 fsts 92(%edx)
700 fadds 92(%ecx)
701 fadds 88(%ecx)
702 fld %st(0)
703 fadds 80(%ecx)
704 fadds 84(%ecx)
705 fstps 80(%edx)
706
707 flds 80(%ecx)
708 fsubs 84(%ecx)
709 fmuls 120(%ebx)
710 fadd %st(0), %st(1)
711 fadds 92(%edx)
712 fstps 84(%edx)
713 fstps 88(%edx)
714
715 flds 96(%ecx)
716 fadds 100(%ecx)
717 fstps 96(%edx)
718
719 flds 96(%ecx)
720 fsubs 100(%ecx)
721 fmuls 120(%ebx)
722 fstps 100(%edx)
723
724 flds 108(%ecx)
725 fsubs 104(%ecx)
726 fmuls 120(%ebx)
727 fsts 108(%edx)
728 fadds 104(%ecx)
729 fadds 108(%ecx)
730 fstps 104(%edx)
731
732 flds 124(%ecx)
733 fsubs 120(%ecx)
734 fmuls 120(%ebx)
735 fsts 124(%edx)
736 fadds 120(%ecx)
737 fadds 124(%ecx)
738 fld %st(0)
739 fadds 112(%ecx)
740 fadds 116(%ecx)
741 fstps 112(%edx)
742
743 flds 112(%ecx)
744 fsubs 116(%ecx)
745 fmuls 120(%ebx)
746 fadd %st(0),%st(1)
747 fadds 124(%edx)
748 fstps 116(%edx)
749 fstps 120(%edx)
750 jnz .L01
751
752 /* Phase 6*/
753
754 flds (%ecx)
755 fadds 4(%ecx)
756 fstps 1024(%esi)
757
758 flds (%ecx)
759 fsubs 4(%ecx)
760 fmuls 120(%ebx)
761 fsts (%esi)
762 fstps (%edi)
763
764 flds 12(%ecx)
765 fsubs 8(%ecx)
766 fmuls 120(%ebx)
767 fsts 512(%edi)
768 fadds 12(%ecx)
769 fadds 8(%ecx)
770 fstps 512(%esi)
771
772 flds 16(%ecx)
773 fsubs 20(%ecx)
774 fmuls 120(%ebx)
775
776 flds 28(%ecx)
777 fsubs 24(%ecx)
778 fmuls 120(%ebx)
779 fsts 768(%edi)
780 fld %st(0)
781 fadds 24(%ecx)
782 fadds 28(%ecx)
783 fld %st(0)
784 fadds 16(%ecx)
785 fadds 20(%ecx)
786 fstps 768(%esi)
787 fadd %st(2)
788 fstps 256(%esi)
789 faddp %st(1)
790 fstps 256(%edi)
791
792 /* Phase 7*/
793
794 flds 32(%edx)
795 fadds 48(%edx)
796 fstps 896(%esi)
797
798 flds 48(%edx)
799 fadds 40(%edx)
800 fstps 640(%esi)
801
802 flds 40(%edx)
803 fadds 56(%edx)
804 fstps 384(%esi)
805
806 flds 56(%edx)
807 fadds 36(%edx)
808 fstps 128(%esi)
809
810 flds 36(%edx)
811 fadds 52(%edx)
812 fstps 128(%edi)
813
814 flds 52(%edx)
815 fadds 44(%edx)
816 fstps 384(%edi)
817
818 flds 60(%edx)
819 fsts 896(%edi)
820 fadds 44(%edx)
821 fstps 640(%edi)
822
823 flds 96(%edx)
824 fadds 112(%edx)
825 fld %st(0)
826 fadds 64(%edx)
827 fstps 960(%esi)
828 fadds 80(%edx)
829 fstps 832(%esi)
830
831 flds 112(%edx)
832 fadds 104(%edx)
833 fld %st(0)
834 fadds 80(%edx)
835 fstps 704(%esi)
836 fadds 72(%edx)
837 fstps 576(%esi)
838
839 flds 104(%edx)
840 fadds 120(%edx)
841 fld %st(0)
842 fadds 72(%edx)
843 fstps 448(%esi)
844 fadds 88(%edx)
845 fstps 320(%esi)
846
847 flds 120(%edx)
848 fadds 100(%edx)
849 fld %st(0)
850 fadds 88(%edx)
851 fstps 192(%esi)
852 fadds 68(%edx)
853 fstps 64(%esi)
854
855 flds 100(%edx)
856 fadds 116(%edx)
857 fld %st(0)
858 fadds 68(%edx)
859 fstps 64(%edi)
860 fadds 84(%edx)
861 fstps 192(%edi)
862
863 flds 116(%edx)
864 fadds 108(%edx)
865 fld %st(0)
866 fadds 84(%edx)
867 fstps 320(%edi)
868 fadds 76(%edx)
869 fstps 448(%edi)
870
871 flds 108(%edx)
872 fadds 124(%edx)
873 fld %st(0)
874 fadds 76(%edx)
875 fstps 576(%edi)
876 fadds 92(%edx)
877 fstps 704(%edi)
878
879 flds 124(%edx)
880 fsts 960(%edi)
881 fadds 92(%edx)
882 fstps 832(%edi)
883 addl $256,%esp
884 popl %edi
885 popl %esi
886 popl %ebx
887 ret
888 .L01:
889 /* Phase 8*/
890
891 flds (%ecx)
892 fadds 4(%ecx)
893 fistp 512(%esi)
894
895 flds (%ecx)
896 fsubs 4(%ecx)
897 fmuls 120(%ebx)
898
899 fistp (%esi)
900
901
902 flds 12(%ecx)
903 fsubs 8(%ecx)
904 fmuls 120(%ebx)
905 fist 256(%edi)
906 fadds 12(%ecx)
907 fadds 8(%ecx)
908 fistp 256(%esi)
909
910 flds 16(%ecx)
911 fsubs 20(%ecx)
912 fmuls 120(%ebx)
913
914 flds 28(%ecx)
915 fsubs 24(%ecx)
916 fmuls 120(%ebx)
917 fist 384(%edi)
918 fld %st(0)
919 fadds 24(%ecx)
920 fadds 28(%ecx)
921 fld %st(0)
922 fadds 16(%ecx)
923 fadds 20(%ecx)
924 fistp 384(%esi)
925 fadd %st(2)
926 fistp 128(%esi)
927 faddp %st(1)
928 fistp 128(%edi)
929
930 /* Phase 9*/
931
932 flds 32(%edx)
933 fadds 48(%edx)
934 fistp 448(%esi)
935
936 flds 48(%edx)
937 fadds 40(%edx)
938 fistp 320(%esi)
939
940 flds 40(%edx)
941 fadds 56(%edx)
942 fistp 192(%esi)
943
944 flds 56(%edx)
945 fadds 36(%edx)
946 fistp 64(%esi)
947
948 flds 36(%edx)
949 fadds 52(%edx)
950 fistp 64(%edi)
951
952 flds 52(%edx)
953 fadds 44(%edx)
954 fistp 192(%edi)
955
956 flds 60(%edx)
957 fist 448(%edi)
958 fadds 44(%edx)
959 fistp 320(%edi)
960
961 flds 96(%edx)
962 fadds 112(%edx)
963 fld %st(0)
964 fadds 64(%edx)
965 fistp 480(%esi)
966 fadds 80(%edx)
967 fistp 416(%esi)
968
969 flds 112(%edx)
970 fadds 104(%edx)
971 fld %st(0)
972 fadds 80(%edx)
973 fistp 352(%esi)
974 fadds 72(%edx)
975 fistp 288(%esi)
976
977 flds 104(%edx)
978 fadds 120(%edx)
979 fld %st(0)
980 fadds 72(%edx)
981 fistp 224(%esi)
982 fadds 88(%edx)
983 fistp 160(%esi)
984
985 flds 120(%edx)
986 fadds 100(%edx)
987 fld %st(0)
988 fadds 88(%edx)
989 fistp 96(%esi)
990 fadds 68(%edx)
991 fistp 32(%esi)
992
993 flds 100(%edx)
994 fadds 116(%edx)
995 fld %st(0)
996 fadds 68(%edx)
997 fistp 32(%edi)
998 fadds 84(%edx)
999 fistp 96(%edi)
1000
1001 flds 116(%edx)
1002 fadds 108(%edx)
1003 fld %st(0)
1004 fadds 84(%edx)
1005 fistp 160(%edi)
1006 fadds 76(%edx)
1007 fistp 224(%edi)
1008
1009 flds 108(%edx)
1010 fadds 124(%edx)
1011 fld %st(0)
1012 fadds 76(%edx)
1013 fistp 288(%edi)
1014 fadds 92(%edx)
1015 fistp 352(%edi)
1016
1017 flds 124(%edx)
1018 fist 480(%edi)
1019 fadds 92(%edx)
1020 fistp 416(%edi)
1021 movsw
1022 addl $256,%esp
1023 popl %edi
1024 popl %esi
1025 popl %ebx
1026 ret
1027
1028