Mercurial > mplayer.hg
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 |