1 /*********************************************************************/
2 /* Copyright 2009, 2010 The University of Texas at Austin. */
3 /* All rights reserved. */
5 /* Redistribution and use in source and binary forms, with or */
6 /* without modification, are permitted provided that the following */
7 /* conditions are met: */
9 /* 1. Redistributions of source code must retain the above */
10 /* copyright notice, this list of conditions and the following */
13 /* 2. Redistributions in binary form must reproduce the above */
14 /* copyright notice, this list of conditions and the following */
15 /* disclaimer in the documentation and/or other materials */
16 /* provided with the distribution. */
18 /* THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY OF TEXAS AT */
19 /* AUSTIN ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, */
20 /* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
21 /* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */
22 /* DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OF TEXAS AT */
23 /* AUSTIN OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
24 /* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES */
25 /* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE */
26 /* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR */
27 /* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
28 /* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */
29 /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT */
30 /* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
31 /* POSSIBILITY OF SUCH DAMAGE. */
33 /* The views and conclusions contained in the software and */
34 /* documentation are those of the authors and should not be */
35 /* interpreted as representing official policies, either expressed */
36 /* or implied, of The University of Texas at Austin. */
37 /*********************************************************************/
64 #if defined(_AIX) || defined(__APPLE__)
65 #if !defined(__64BIT__) && defined(DOUBLE)
139 #define PREFETCHSIZE_A 34
140 #define PREFETCHSIZE_C 16
143 #if defined(PPC440) || defined(PPC440FP2)
144 #define PREFETCHSIZE_A 34
145 #define PREFETCHSIZE_C 16
149 #define PREFETCHSIZE_A 56
150 #define PREFETCHSIZE_C 16
154 #define PREFETCHSIZE_A 56
155 #define PREFETCHSIZE_C 16
159 #define PREFETCHSIZE_A 34
160 #define PREFETCHSIZE_C 16
164 #define PREFETCHSIZE_A 40
165 #define PREFETCHSIZE_C 24
169 #define PREFETCHSIZE_A 24
170 #define PREFETCHSIZE_C 24
175 #define FMSUBR FNMSUB
177 #define FMADDR FNMSUB
183 #define FMSUBX FNMSUB
185 #define FMADDX FNMSUB
192 #define STACKSIZE 224
193 #define ALPHA_R 208(SP)
194 #define ALPHA_I 216(SP)
196 #define STACKSIZE 280
197 #define ALPHA_R 256(SP)
198 #define ALPHA_I 264(SP)
204 addi SP, SP, -STACKSIZE
250 lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
252 ld INCX, FRAMESLOT(0) + STACKSIZE(SP)
253 ld Y, FRAMESLOT(1) + STACKSIZE(SP)
254 ld INCY, FRAMESLOT(2) + STACKSIZE(SP)
258 #if defined(_AIX) || defined(__APPLE__)
261 lwz LDA, FRAMESLOT(0) + STACKSIZE(SP)
262 lwz X, FRAMESLOT(1) + STACKSIZE(SP)
263 lwz INCX, FRAMESLOT(2) + STACKSIZE(SP)
264 lwz Y, FRAMESLOT(3) + STACKSIZE(SP)
265 lwz INCY, FRAMESLOT(4) + STACKSIZE(SP)
267 lwz INCX, FRAMESLOT(0) + STACKSIZE(SP)
268 lwz Y, FRAMESLOT(1) + STACKSIZE(SP)
269 lwz INCY, FRAMESLOT(2) + STACKSIZE(SP)
272 ld INCX, FRAMESLOT(0) + STACKSIZE(SP)
273 ld Y, FRAMESLOT(1) + STACKSIZE(SP)
274 ld INCY, FRAMESLOT(2) + STACKSIZE(SP)
281 slwi LDA4, LDA, ZBASE_SHIFT + 2
282 slwi LDA, LDA, ZBASE_SHIFT
283 slwi INCX, INCX, ZBASE_SHIFT
284 slwi INCY, INCY, ZBASE_SHIFT
286 li PREA, PREFETCHSIZE_A * SIZE
287 li PREC, PREFETCHSIZE_C * SIZE
295 cmpi cr0, 0, INCY, 2 * SIZE
319 FMUL alpha1r, alpha_r, a1
320 FMUL alpha1i, alpha_i, a1
321 FMUL alpha2r, alpha_r, a3
322 FMUL alpha2i, alpha_i, a3
323 FMUL alpha3r, alpha_r, a5
324 FMUL alpha3i, alpha_i, a5
325 FMUL alpha4r, alpha_r, a7
326 FMUL alpha4i, alpha_i, a7
328 FMSUBR alpha1r, alpha_i, a2, alpha1r
329 FMADDR alpha1i, alpha_r, a2, alpha1i
330 FMSUBR alpha2r, alpha_i, a4, alpha2r
331 FMADDR alpha2i, alpha_r, a4, alpha2i
332 FMSUBR alpha3r, alpha_i, a6, alpha3r
333 FMADDR alpha3i, alpha_r, a6, alpha3i
334 FMSUBR alpha4r, alpha_i, a8, alpha4r
335 FMADDR alpha4i, alpha_r, a8, alpha4i
351 LFD a1, 0 * SIZE(AO1)
352 LFD a2, 1 * SIZE(AO1)
353 LFD a3, 2 * SIZE(AO1)
354 LFD a4, 3 * SIZE(AO1)
356 LFD y01, 0 * SIZE(Y1)
357 LFD y02, 1 * SIZE(Y1)
358 LFD y03, 2 * SIZE(Y1)
359 LFD y04, 3 * SIZE(Y1)
361 LFD a5, 4 * SIZE(AO1)
362 LFD a6, 5 * SIZE(AO1)
363 LFD a7, 6 * SIZE(AO1)
364 LFD a8, 7 * SIZE(AO1)
366 LFD y05, 4 * SIZE(Y1)
367 LFD y06, 5 * SIZE(Y1)
368 LFD y07, 6 * SIZE(Y1)
369 LFD y08, 7 * SIZE(Y1)
370 LFD y09, 8 * SIZE(Y1)
371 LFD y10, 9 * SIZE(Y1)
372 LFD y11, 10 * SIZE(Y1)
373 LFD y12, 11 * SIZE(Y1)
374 LFD y13, 12 * SIZE(Y1)
375 LFD y14, 13 * SIZE(Y1)
376 LFD y15, 14 * SIZE(Y1)
377 LFD y16, 15 * SIZE(Y1)
378 addi Y1, Y1, 16 * SIZE
384 FMADD y01, alpha1r, a1, y01
385 FMADD y02, alpha1i, a1, y02
386 FMADD y03, alpha1r, a3, y03
387 FMADD y04, alpha1i, a3, y04
389 FMADD y05, alpha1r, a5, y05
390 FMADD y06, alpha1i, a5, y06
391 FMADD y07, alpha1r, a7, y07
392 FMADD y08, alpha1i, a7, y08
394 LFD a1, 8 * SIZE(AO1)
395 LFD a3, 10 * SIZE(AO1)
396 LFD a5, 12 * SIZE(AO1)
397 LFD a7, 14 * SIZE(AO1)
399 FMSUBX y01, alpha1i, a2, y01
400 FMADDX y02, alpha1r, a2, y02
401 FMSUBX y03, alpha1i, a4, y03
402 FMADDX y04, alpha1r, a4, y04
404 FMSUBX y05, alpha1i, a6, y05
405 FMADDX y06, alpha1r, a6, y06
406 FMSUBX y07, alpha1i, a8, y07
407 FMADDX y08, alpha1r, a8, y08
409 LFD a2, 9 * SIZE(AO1)
410 LFD a4, 11 * SIZE(AO1)
411 LFD a6, 13 * SIZE(AO1)
412 LFD a8, 15 * SIZE(AO1)
414 addi AO1, AO1, 16 * SIZE
419 FMADD y09, alpha1r, a1, y09
420 FMADD y10, alpha1i, a1, y10
421 FMADD y11, alpha1r, a3, y11
422 FMADD y12, alpha1i, a3, y12
424 FMADD y13, alpha1r, a5, y13
425 FMADD y14, alpha1i, a5, y14
426 FMADD y15, alpha1r, a7, y15
427 FMADD y16, alpha1i, a7, y16
429 LFD a1, 0 * SIZE(AO2)
430 LFD a3, 2 * SIZE(AO2)
431 LFD a5, 4 * SIZE(AO2)
432 LFD a7, 6 * SIZE(AO2)
434 FMSUBX y09, alpha1i, a2, y09
435 FMADDX y10, alpha1r, a2, y10
436 FMSUBX y11, alpha1i, a4, y11
437 FMADDX y12, alpha1r, a4, y12
439 FMSUBX y13, alpha1i, a6, y13
440 FMADDX y14, alpha1r, a6, y14
441 FMSUBX y15, alpha1i, a8, y15
442 FMADDX y16, alpha1r, a8, y16
444 LFD a2, 1 * SIZE(AO2)
445 LFD a4, 3 * SIZE(AO2)
446 LFD a6, 5 * SIZE(AO2)
447 LFD a8, 7 * SIZE(AO2)
449 FMADD y01, alpha2r, a1, y01
450 FMADD y02, alpha2i, a1, y02
451 FMADD y03, alpha2r, a3, y03
452 FMADD y04, alpha2i, a3, y04
454 FMADD y05, alpha2r, a5, y05
455 FMADD y06, alpha2i, a5, y06
456 FMADD y07, alpha2r, a7, y07
457 FMADD y08, alpha2i, a7, y08
459 LFD a1, 8 * SIZE(AO2)
460 LFD a3, 10 * SIZE(AO2)
461 LFD a5, 12 * SIZE(AO2)
462 LFD a7, 14 * SIZE(AO2)
464 FMSUBX y01, alpha2i, a2, y01
465 FMADDX y02, alpha2r, a2, y02
466 FMSUBX y03, alpha2i, a4, y03
467 FMADDX y04, alpha2r, a4, y04
469 FMSUBX y05, alpha2i, a6, y05
470 FMADDX y06, alpha2r, a6, y06
471 FMSUBX y07, alpha2i, a8, y07
472 FMADDX y08, alpha2r, a8, y08
474 LFD a2, 9 * SIZE(AO2)
475 LFD a4, 11 * SIZE(AO2)
476 LFD a6, 13 * SIZE(AO2)
477 LFD a8, 15 * SIZE(AO2)
479 addi AO2, AO2, 16 * SIZE
484 FMADD y09, alpha2r, a1, y09
485 FMADD y10, alpha2i, a1, y10
486 FMADD y11, alpha2r, a3, y11
487 FMADD y12, alpha2i, a3, y12
489 FMADD y13, alpha2r, a5, y13
490 FMADD y14, alpha2i, a5, y14
491 FMADD y15, alpha2r, a7, y15
492 FMADD y16, alpha2i, a7, y16
494 LFD a1, 0 * SIZE(AO3)
495 LFD a3, 2 * SIZE(AO3)
496 LFD a5, 4 * SIZE(AO3)
497 LFD a7, 6 * SIZE(AO3)
499 FMSUBX y09, alpha2i, a2, y09
500 FMADDX y10, alpha2r, a2, y10
501 FMSUBX y11, alpha2i, a4, y11
502 FMADDX y12, alpha2r, a4, y12
504 FMSUBX y13, alpha2i, a6, y13
505 FMADDX y14, alpha2r, a6, y14
506 FMSUBX y15, alpha2i, a8, y15
507 FMADDX y16, alpha2r, a8, y16
509 LFD a2, 1 * SIZE(AO3)
510 LFD a4, 3 * SIZE(AO3)
511 LFD a6, 5 * SIZE(AO3)
512 LFD a8, 7 * SIZE(AO3)
514 FMADD y01, alpha3r, a1, y01
515 FMADD y02, alpha3i, a1, y02
516 FMADD y03, alpha3r, a3, y03
517 FMADD y04, alpha3i, a3, y04
519 FMADD y05, alpha3r, a5, y05
520 FMADD y06, alpha3i, a5, y06
521 FMADD y07, alpha3r, a7, y07
522 FMADD y08, alpha3i, a7, y08
524 LFD a1, 8 * SIZE(AO3)
525 LFD a3, 10 * SIZE(AO3)
526 LFD a5, 12 * SIZE(AO3)
527 LFD a7, 14 * SIZE(AO3)
529 FMSUBX y01, alpha3i, a2, y01
530 FMADDX y02, alpha3r, a2, y02
531 FMSUBX y03, alpha3i, a4, y03
532 FMADDX y04, alpha3r, a4, y04
534 FMSUBX y05, alpha3i, a6, y05
535 FMADDX y06, alpha3r, a6, y06
536 FMSUBX y07, alpha3i, a8, y07
537 FMADDX y08, alpha3r, a8, y08
539 LFD a2, 9 * SIZE(AO3)
540 LFD a4, 11 * SIZE(AO3)
541 LFD a6, 13 * SIZE(AO3)
542 LFD a8, 15 * SIZE(AO3)
544 addi AO3, AO3, 16 * SIZE
549 FMADD y09, alpha3r, a1, y09
550 FMADD y10, alpha3i, a1, y10
551 FMADD y11, alpha3r, a3, y11
552 FMADD y12, alpha3i, a3, y12
554 FMADD y13, alpha3r, a5, y13
555 FMADD y14, alpha3i, a5, y14
556 FMADD y15, alpha3r, a7, y15
557 FMADD y16, alpha3i, a7, y16
559 LFD a1, 0 * SIZE(AO4)
560 LFD a3, 2 * SIZE(AO4)
561 LFD a5, 4 * SIZE(AO4)
562 LFD a7, 6 * SIZE(AO4)
564 FMSUBX y09, alpha3i, a2, y09
565 FMADDX y10, alpha3r, a2, y10
566 FMSUBX y11, alpha3i, a4, y11
567 FMADDX y12, alpha3r, a4, y12
569 FMSUBX y13, alpha3i, a6, y13
570 FMADDX y14, alpha3r, a6, y14
571 FMSUBX y15, alpha3i, a8, y15
572 FMADDX y16, alpha3r, a8, y16
574 LFD a2, 1 * SIZE(AO4)
575 LFD a4, 3 * SIZE(AO4)
576 LFD a6, 5 * SIZE(AO4)
577 LFD a8, 7 * SIZE(AO4)
579 FMADD y01, alpha4r, a1, y01
580 FMADD y02, alpha4i, a1, y02
581 FMADD y03, alpha4r, a3, y03
582 FMADD y04, alpha4i, a3, y04
584 FMADD y05, alpha4r, a5, y05
585 FMADD y06, alpha4i, a5, y06
586 FMADD y07, alpha4r, a7, y07
587 FMADD y08, alpha4i, a7, y08
589 LFD a1, 8 * SIZE(AO4)
590 LFD a3, 10 * SIZE(AO4)
591 LFD a5, 12 * SIZE(AO4)
592 LFD a7, 14 * SIZE(AO4)
594 FMSUBX y01, alpha4i, a2, y01
595 FMADDX y02, alpha4r, a2, y02
596 FMSUBX y03, alpha4i, a4, y03
597 FMADDX y04, alpha4r, a4, y04
599 STFD y01, 0 * SIZE(Y2)
600 STFD y02, 1 * SIZE(Y2)
601 STFD y03, 2 * SIZE(Y2)
602 STFD y04, 3 * SIZE(Y2)
604 LFD y01, 0 * SIZE(Y1)
605 LFD y02, 1 * SIZE(Y1)
606 LFD y03, 2 * SIZE(Y1)
607 LFD y04, 3 * SIZE(Y1)
609 FMSUBX y05, alpha4i, a6, y05
610 FMADDX y06, alpha4r, a6, y06
611 FMSUBX y07, alpha4i, a8, y07
612 FMADDX y08, alpha4r, a8, y08
614 LFD a2, 9 * SIZE(AO4)
615 LFD a4, 11 * SIZE(AO4)
616 LFD a6, 13 * SIZE(AO4)
617 LFD a8, 15 * SIZE(AO4)
619 addi AO4, AO4, 16 * SIZE
624 STFD y05, 4 * SIZE(Y2)
625 STFD y06, 5 * SIZE(Y2)
626 STFD y07, 6 * SIZE(Y2)
627 STFD y08, 7 * SIZE(Y2)
629 LFD y05, 4 * SIZE(Y1)
630 LFD y06, 5 * SIZE(Y1)
631 LFD y07, 6 * SIZE(Y1)
632 LFD y08, 7 * SIZE(Y1)
634 FMADD y09, alpha4r, a1, y09
635 FMADD y10, alpha4i, a1, y10
636 FMADD y11, alpha4r, a3, y11
637 FMADD y12, alpha4i, a3, y12
639 FMADD y13, alpha4r, a5, y13
640 FMADD y14, alpha4i, a5, y14
641 FMADD y15, alpha4r, a7, y15
642 FMADD y16, alpha4i, a7, y16
644 LFD a1, 0 * SIZE(AO1)
645 LFD a3, 2 * SIZE(AO1)
646 LFD a5, 4 * SIZE(AO1)
647 LFD a7, 6 * SIZE(AO1)
649 FMSUBX y09, alpha4i, a2, y09
650 FMADDX y10, alpha4r, a2, y10
651 FMSUBX y11, alpha4i, a4, y11
652 FMADDX y12, alpha4r, a4, y12
654 STFD y09, 8 * SIZE(Y2)
655 STFD y10, 9 * SIZE(Y2)
656 STFD y11, 10 * SIZE(Y2)
657 STFD y12, 11 * SIZE(Y2)
659 LFD y09, 8 * SIZE(Y1)
660 LFD y10, 9 * SIZE(Y1)
661 LFD y11, 10 * SIZE(Y1)
662 LFD y12, 11 * SIZE(Y1)
664 FMSUBX y13, alpha4i, a6, y13
665 FMADDX y14, alpha4r, a6, y14
666 FMSUBX y15, alpha4i, a8, y15
667 FMADDX y16, alpha4r, a8, y16
669 LFD a2, 1 * SIZE(AO1)
670 LFD a4, 3 * SIZE(AO1)
671 LFD a6, 5 * SIZE(AO1)
672 LFD a8, 7 * SIZE(AO1)
674 STFD y13, 12 * SIZE(Y2)
675 STFD y14, 13 * SIZE(Y2)
676 STFD y15, 14 * SIZE(Y2)
677 STFD y16, 15 * SIZE(Y2)
679 LFD y13, 12 * SIZE(Y1)
680 LFD y14, 13 * SIZE(Y1)
681 LFD y15, 14 * SIZE(Y1)
682 LFD y16, 15 * SIZE(Y1)
684 addi Y2, Y2, 16 * SIZE
685 addi Y1, Y1, 16 * SIZE
691 FMADD y01, alpha1r, a1, y01
692 FMADD y02, alpha1i, a1, y02
693 FMADD y03, alpha1r, a3, y03
694 FMADD y04, alpha1i, a3, y04
696 FMADD y05, alpha1r, a5, y05
697 FMADD y06, alpha1i, a5, y06
698 FMADD y07, alpha1r, a7, y07
699 FMADD y08, alpha1i, a7, y08
701 LFD a1, 8 * SIZE(AO1)
702 LFD a3, 10 * SIZE(AO1)
703 LFD a5, 12 * SIZE(AO1)
704 LFD a7, 14 * SIZE(AO1)
706 FMSUBX y01, alpha1i, a2, y01
707 FMADDX y02, alpha1r, a2, y02
708 FMSUBX y03, alpha1i, a4, y03
709 FMADDX y04, alpha1r, a4, y04
711 FMSUBX y05, alpha1i, a6, y05
712 FMADDX y06, alpha1r, a6, y06
713 FMSUBX y07, alpha1i, a8, y07
714 FMADDX y08, alpha1r, a8, y08
716 LFD a2, 9 * SIZE(AO1)
717 LFD a4, 11 * SIZE(AO1)
718 LFD a6, 13 * SIZE(AO1)
719 LFD a8, 15 * SIZE(AO1)
721 FMADD y09, alpha1r, a1, y09
722 FMADD y10, alpha1i, a1, y10
723 FMADD y11, alpha1r, a3, y11
724 FMADD y12, alpha1i, a3, y12
726 FMADD y13, alpha1r, a5, y13
727 FMADD y14, alpha1i, a5, y14
728 FMADD y15, alpha1r, a7, y15
729 FMADD y16, alpha1i, a7, y16
731 LFD a1, 0 * SIZE(AO2)
732 LFD a3, 2 * SIZE(AO2)
733 LFD a5, 4 * SIZE(AO2)
734 LFD a7, 6 * SIZE(AO2)
736 FMSUBX y09, alpha1i, a2, y09
737 FMADDX y10, alpha1r, a2, y10
738 FMSUBX y11, alpha1i, a4, y11
739 FMADDX y12, alpha1r, a4, y12
741 FMSUBX y13, alpha1i, a6, y13
742 FMADDX y14, alpha1r, a6, y14
743 FMSUBX y15, alpha1i, a8, y15
744 FMADDX y16, alpha1r, a8, y16
746 LFD a2, 1 * SIZE(AO2)
747 LFD a4, 3 * SIZE(AO2)
748 LFD a6, 5 * SIZE(AO2)
749 LFD a8, 7 * SIZE(AO2)
751 FMADD y01, alpha2r, a1, y01
752 FMADD y02, alpha2i, a1, y02
753 FMADD y03, alpha2r, a3, y03
754 FMADD y04, alpha2i, a3, y04
756 FMADD y05, alpha2r, a5, y05
757 FMADD y06, alpha2i, a5, y06
758 FMADD y07, alpha2r, a7, y07
759 FMADD y08, alpha2i, a7, y08
761 LFD a1, 8 * SIZE(AO2)
762 LFD a3, 10 * SIZE(AO2)
763 LFD a5, 12 * SIZE(AO2)
764 LFD a7, 14 * SIZE(AO2)
766 FMSUBX y01, alpha2i, a2, y01
767 FMADDX y02, alpha2r, a2, y02
768 FMSUBX y03, alpha2i, a4, y03
769 FMADDX y04, alpha2r, a4, y04
771 FMSUBX y05, alpha2i, a6, y05
772 FMADDX y06, alpha2r, a6, y06
773 FMSUBX y07, alpha2i, a8, y07
774 FMADDX y08, alpha2r, a8, y08
776 LFD a2, 9 * SIZE(AO2)
777 LFD a4, 11 * SIZE(AO2)
778 LFD a6, 13 * SIZE(AO2)
779 LFD a8, 15 * SIZE(AO2)
781 FMADD y09, alpha2r, a1, y09
782 FMADD y10, alpha2i, a1, y10
783 FMADD y11, alpha2r, a3, y11
784 FMADD y12, alpha2i, a3, y12
786 FMADD y13, alpha2r, a5, y13
787 FMADD y14, alpha2i, a5, y14
788 FMADD y15, alpha2r, a7, y15
789 FMADD y16, alpha2i, a7, y16
791 LFD a1, 0 * SIZE(AO3)
792 LFD a3, 2 * SIZE(AO3)
793 LFD a5, 4 * SIZE(AO3)
794 LFD a7, 6 * SIZE(AO3)
796 FMSUBX y09, alpha2i, a2, y09
797 FMADDX y10, alpha2r, a2, y10
798 FMSUBX y11, alpha2i, a4, y11
799 FMADDX y12, alpha2r, a4, y12
801 FMSUBX y13, alpha2i, a6, y13
802 FMADDX y14, alpha2r, a6, y14
803 FMSUBX y15, alpha2i, a8, y15
804 FMADDX y16, alpha2r, a8, y16
806 LFD a2, 1 * SIZE(AO3)
807 LFD a4, 3 * SIZE(AO3)
808 LFD a6, 5 * SIZE(AO3)
809 LFD a8, 7 * SIZE(AO3)
811 FMADD y01, alpha3r, a1, y01
812 FMADD y02, alpha3i, a1, y02
813 FMADD y03, alpha3r, a3, y03
814 FMADD y04, alpha3i, a3, y04
816 FMADD y05, alpha3r, a5, y05
817 FMADD y06, alpha3i, a5, y06
818 FMADD y07, alpha3r, a7, y07
819 FMADD y08, alpha3i, a7, y08
821 LFD a1, 8 * SIZE(AO3)
822 LFD a3, 10 * SIZE(AO3)
823 LFD a5, 12 * SIZE(AO3)
824 LFD a7, 14 * SIZE(AO3)
826 FMSUBX y01, alpha3i, a2, y01
827 FMADDX y02, alpha3r, a2, y02
828 FMSUBX y03, alpha3i, a4, y03
829 FMADDX y04, alpha3r, a4, y04
831 FMSUBX y05, alpha3i, a6, y05
832 FMADDX y06, alpha3r, a6, y06
833 FMSUBX y07, alpha3i, a8, y07
834 FMADDX y08, alpha3r, a8, y08
836 LFD a2, 9 * SIZE(AO3)
837 LFD a4, 11 * SIZE(AO3)
838 LFD a6, 13 * SIZE(AO3)
839 LFD a8, 15 * SIZE(AO3)
841 FMADD y09, alpha3r, a1, y09
842 FMADD y10, alpha3i, a1, y10
843 FMADD y11, alpha3r, a3, y11
844 FMADD y12, alpha3i, a3, y12
846 FMADD y13, alpha3r, a5, y13
847 FMADD y14, alpha3i, a5, y14
848 FMADD y15, alpha3r, a7, y15
849 FMADD y16, alpha3i, a7, y16
851 LFD a1, 0 * SIZE(AO4)
852 LFD a3, 2 * SIZE(AO4)
853 LFD a5, 4 * SIZE(AO4)
854 LFD a7, 6 * SIZE(AO4)
856 FMSUBX y09, alpha3i, a2, y09
857 FMADDX y10, alpha3r, a2, y10
858 FMSUBX y11, alpha3i, a4, y11
859 FMADDX y12, alpha3r, a4, y12
861 FMSUBX y13, alpha3i, a6, y13
862 FMADDX y14, alpha3r, a6, y14
863 FMSUBX y15, alpha3i, a8, y15
864 FMADDX y16, alpha3r, a8, y16
866 LFD a2, 1 * SIZE(AO4)
867 LFD a4, 3 * SIZE(AO4)
868 LFD a6, 5 * SIZE(AO4)
869 LFD a8, 7 * SIZE(AO4)
871 FMADD y01, alpha4r, a1, y01
872 FMADD y02, alpha4i, a1, y02
873 FMADD y03, alpha4r, a3, y03
874 FMADD y04, alpha4i, a3, y04
876 FMADD y05, alpha4r, a5, y05
877 FMADD y06, alpha4i, a5, y06
878 FMADD y07, alpha4r, a7, y07
879 FMADD y08, alpha4i, a7, y08
881 LFD a1, 8 * SIZE(AO4)
882 LFD a3, 10 * SIZE(AO4)
883 LFD a5, 12 * SIZE(AO4)
884 LFD a7, 14 * SIZE(AO4)
886 FMSUBX y01, alpha4i, a2, y01
887 FMADDX y02, alpha4r, a2, y02
888 FMSUBX y03, alpha4i, a4, y03
889 FMADDX y04, alpha4r, a4, y04
891 FMSUBX y05, alpha4i, a6, y05
892 FMADDX y06, alpha4r, a6, y06
893 FMSUBX y07, alpha4i, a8, y07
894 FMADDX y08, alpha4r, a8, y08
896 LFD a2, 9 * SIZE(AO4)
897 LFD a4, 11 * SIZE(AO4)
898 LFD a6, 13 * SIZE(AO4)
899 LFD a8, 15 * SIZE(AO4)
901 FMADD y09, alpha4r, a1, y09
902 FMADD y10, alpha4i, a1, y10
903 FMADD y11, alpha4r, a3, y11
904 FMADD y12, alpha4i, a3, y12
906 FMADD y13, alpha4r, a5, y13
907 FMADD y14, alpha4i, a5, y14
908 FMADD y15, alpha4r, a7, y15
909 FMADD y16, alpha4i, a7, y16
911 LFD a1, 16 * SIZE(AO1)
912 LFD a3, 18 * SIZE(AO1)
913 LFD a5, 20 * SIZE(AO1)
914 LFD a7, 22 * SIZE(AO1)
916 FMSUBX y09, alpha4i, a2, y09
917 FMADDX y10, alpha4r, a2, y10
918 FMSUBX y11, alpha4i, a4, y11
919 FMADDX y12, alpha4r, a4, y12
921 FMSUBX y13, alpha4i, a6, y13
922 FMADDX y14, alpha4r, a6, y14
923 FMSUBX y15, alpha4i, a8, y15
924 FMADDX y16, alpha4r, a8, y16
926 LFD a2, 17 * SIZE(AO1)
927 LFD a4, 19 * SIZE(AO1)
928 LFD a6, 21 * SIZE(AO1)
929 LFD a8, 23 * SIZE(AO1)
931 addi AO1, AO1, 16 * SIZE
932 addi AO2, AO2, 16 * SIZE
933 addi AO3, AO3, 16 * SIZE
934 addi AO4, AO4, 16 * SIZE
936 STFD y01, 0 * SIZE(Y2)
937 STFD y02, 1 * SIZE(Y2)
938 STFD y03, 2 * SIZE(Y2)
939 STFD y04, 3 * SIZE(Y2)
940 STFD y05, 4 * SIZE(Y2)
941 STFD y06, 5 * SIZE(Y2)
942 STFD y07, 6 * SIZE(Y2)
943 STFD y08, 7 * SIZE(Y2)
944 STFD y09, 8 * SIZE(Y2)
945 STFD y10, 9 * SIZE(Y2)
946 STFD y11, 10 * SIZE(Y2)
947 STFD y12, 11 * SIZE(Y2)
948 STFD y13, 12 * SIZE(Y2)
949 STFD y14, 13 * SIZE(Y2)
950 STFD y15, 14 * SIZE(Y2)
951 STFD y16, 15 * SIZE(Y2)
952 addi Y2, Y2, 16 * SIZE
961 LFD y01, 0 * SIZE(Y1)
962 LFD y02, 1 * SIZE(Y1)
963 LFD y03, 2 * SIZE(Y1)
964 LFD y04, 3 * SIZE(Y1)
966 LFD a1, 0 * SIZE(AO1)
967 LFD a3, 2 * SIZE(AO1)
968 LFD a5, 4 * SIZE(AO1)
969 LFD a7, 6 * SIZE(AO1)
971 LFD y05, 4 * SIZE(Y1)
972 LFD y06, 5 * SIZE(Y1)
973 LFD y07, 6 * SIZE(Y1)
974 LFD y08, 7 * SIZE(Y1)
976 LFD a2, 1 * SIZE(AO1)
977 LFD a4, 3 * SIZE(AO1)
978 LFD a6, 5 * SIZE(AO1)
979 LFD a8, 7 * SIZE(AO1)
981 FMADD y01, alpha1r, a1, y01
982 FMADD y02, alpha1i, a1, y02
983 FMADD y03, alpha1r, a3, y03
984 FMADD y04, alpha1i, a3, y04
986 FMADD y05, alpha1r, a5, y05
987 FMADD y06, alpha1i, a5, y06
988 FMADD y07, alpha1r, a7, y07
989 FMADD y08, alpha1i, a7, y08
991 LFD a1, 0 * SIZE(AO2)
992 LFD a3, 2 * SIZE(AO2)
993 LFD a5, 4 * SIZE(AO2)
994 LFD a7, 6 * SIZE(AO2)
996 FMSUBX y01, alpha1i, a2, y01
997 FMADDX y02, alpha1r, a2, y02
998 FMSUBX y03, alpha1i, a4, y03
999 FMADDX y04, alpha1r, a4, y04
1001 FMSUBX y05, alpha1i, a6, y05
1002 FMADDX y06, alpha1r, a6, y06
1003 FMSUBX y07, alpha1i, a8, y07
1004 FMADDX y08, alpha1r, a8, y08
1006 LFD a2, 1 * SIZE(AO2)
1007 LFD a4, 3 * SIZE(AO2)
1008 LFD a6, 5 * SIZE(AO2)
1009 LFD a8, 7 * SIZE(AO2)
1011 FMADD y01, alpha2r, a1, y01
1012 FMADD y02, alpha2i, a1, y02
1013 FMADD y03, alpha2r, a3, y03
1014 FMADD y04, alpha2i, a3, y04
1016 FMADD y05, alpha2r, a5, y05
1017 FMADD y06, alpha2i, a5, y06
1018 FMADD y07, alpha2r, a7, y07
1019 FMADD y08, alpha2i, a7, y08
1021 LFD a1, 0 * SIZE(AO3)
1022 LFD a3, 2 * SIZE(AO3)
1023 LFD a5, 4 * SIZE(AO3)
1024 LFD a7, 6 * SIZE(AO3)
1026 FMSUBX y01, alpha2i, a2, y01
1027 FMADDX y02, alpha2r, a2, y02
1028 FMSUBX y03, alpha2i, a4, y03
1029 FMADDX y04, alpha2r, a4, y04
1031 FMSUBX y05, alpha2i, a6, y05
1032 FMADDX y06, alpha2r, a6, y06
1033 FMSUBX y07, alpha2i, a8, y07
1034 FMADDX y08, alpha2r, a8, y08
1036 LFD a2, 1 * SIZE(AO3)
1037 LFD a4, 3 * SIZE(AO3)
1038 LFD a6, 5 * SIZE(AO3)
1039 LFD a8, 7 * SIZE(AO3)
1041 FMADD y01, alpha3r, a1, y01
1042 FMADD y02, alpha3i, a1, y02
1043 FMADD y03, alpha3r, a3, y03
1044 FMADD y04, alpha3i, a3, y04
1046 FMADD y05, alpha3r, a5, y05
1047 FMADD y06, alpha3i, a5, y06
1048 FMADD y07, alpha3r, a7, y07
1049 FMADD y08, alpha3i, a7, y08
1051 LFD a1, 0 * SIZE(AO4)
1052 LFD a3, 2 * SIZE(AO4)
1053 LFD a5, 4 * SIZE(AO4)
1054 LFD a7, 6 * SIZE(AO4)
1056 FMSUBX y01, alpha3i, a2, y01
1057 FMADDX y02, alpha3r, a2, y02
1058 FMSUBX y03, alpha3i, a4, y03
1059 FMADDX y04, alpha3r, a4, y04
1061 FMSUBX y05, alpha3i, a6, y05
1062 FMADDX y06, alpha3r, a6, y06
1063 FMSUBX y07, alpha3i, a8, y07
1064 FMADDX y08, alpha3r, a8, y08
1066 LFD a2, 1 * SIZE(AO4)
1067 LFD a4, 3 * SIZE(AO4)
1068 LFD a6, 5 * SIZE(AO4)
1069 LFD a8, 7 * SIZE(AO4)
1071 FMADD y01, alpha4r, a1, y01
1072 FMADD y02, alpha4i, a1, y02
1073 FMADD y03, alpha4r, a3, y03
1074 FMADD y04, alpha4i, a3, y04
1076 FMADD y05, alpha4r, a5, y05
1077 FMADD y06, alpha4i, a5, y06
1078 FMADD y07, alpha4r, a7, y07
1079 FMADD y08, alpha4i, a7, y08
1081 FMSUBX y01, alpha4i, a2, y01
1082 FMADDX y02, alpha4r, a2, y02
1083 FMSUBX y03, alpha4i, a4, y03
1084 FMADDX y04, alpha4r, a4, y04
1086 STFD y01, 0 * SIZE(Y2)
1087 STFD y02, 1 * SIZE(Y2)
1088 STFD y03, 2 * SIZE(Y2)
1089 STFD y04, 3 * SIZE(Y2)
1091 FMSUBX y05, alpha4i, a6, y05
1092 FMADDX y06, alpha4r, a6, y06
1093 FMSUBX y07, alpha4i, a8, y07
1094 FMADDX y08, alpha4r, a8, y08
1096 STFD y05, 4 * SIZE(Y2)
1097 STFD y06, 5 * SIZE(Y2)
1098 STFD y07, 6 * SIZE(Y2)
1099 STFD y08, 7 * SIZE(Y2)
1101 addi AO1, AO1, 8 * SIZE
1102 addi AO2, AO2, 8 * SIZE
1103 addi AO3, AO3, 8 * SIZE
1104 addi AO4, AO4, 8 * SIZE
1106 addi Y1, Y1, 8 * SIZE
1107 addi Y2, Y2, 8 * SIZE
1116 LFD a1, 0 * SIZE(AO1)
1117 LFD a2, 1 * SIZE(AO1)
1118 LFD a3, 2 * SIZE(AO1)
1119 LFD a4, 3 * SIZE(AO1)
1121 LFD y01, 0 * SIZE(Y1)
1122 LFD y02, 1 * SIZE(Y1)
1123 LFD y03, 2 * SIZE(Y1)
1124 LFD y04, 3 * SIZE(Y1)
1126 LFD a5, 0 * SIZE(AO2)
1127 LFD a6, 1 * SIZE(AO2)
1128 LFD a7, 2 * SIZE(AO2)
1129 LFD a8, 3 * SIZE(AO2)
1131 FMADD y01, alpha1r, a1, y01
1132 FMADD y02, alpha1i, a1, y02
1133 FMADD y03, alpha1r, a3, y03
1134 FMADD y04, alpha1i, a3, y04
1136 FMSUBX y01, alpha1i, a2, y01
1137 FMADDX y02, alpha1r, a2, y02
1138 FMSUBX y03, alpha1i, a4, y03
1139 FMADDX y04, alpha1r, a4, y04
1141 LFD a1, 0 * SIZE(AO3)
1142 LFD a2, 1 * SIZE(AO3)
1143 LFD a3, 2 * SIZE(AO3)
1144 LFD a4, 3 * SIZE(AO3)
1146 FMADD y01, alpha2r, a5, y01
1147 FMADD y02, alpha2i, a5, y02
1148 FMADD y03, alpha2r, a7, y03
1149 FMADD y04, alpha2i, a7, y04
1151 FMSUBX y01, alpha2i, a6, y01
1152 FMADDX y02, alpha2r, a6, y02
1153 FMSUBX y03, alpha2i, a8, y03
1154 FMADDX y04, alpha2r, a8, y04
1156 LFD a5, 0 * SIZE(AO4)
1157 LFD a6, 1 * SIZE(AO4)
1158 LFD a7, 2 * SIZE(AO4)
1159 LFD a8, 3 * SIZE(AO4)
1161 FMADD y01, alpha3r, a1, y01
1162 FMADD y02, alpha3i, a1, y02
1163 FMADD y03, alpha3r, a3, y03
1164 FMADD y04, alpha3i, a3, y04
1166 FMSUBX y01, alpha3i, a2, y01
1167 FMADDX y02, alpha3r, a2, y02
1168 FMSUBX y03, alpha3i, a4, y03
1169 FMADDX y04, alpha3r, a4, y04
1171 FMADD y01, alpha4r, a5, y01
1172 FMADD y02, alpha4i, a5, y02
1173 FMADD y03, alpha4r, a7, y03
1174 FMADD y04, alpha4i, a7, y04
1176 FMSUBX y01, alpha4i, a6, y01
1177 FMADDX y02, alpha4r, a6, y02
1178 FMSUBX y03, alpha4i, a8, y03
1179 FMADDX y04, alpha4r, a8, y04
1181 STFD y01, 0 * SIZE(Y2)
1182 STFD y02, 1 * SIZE(Y2)
1183 STFD y03, 2 * SIZE(Y2)
1184 STFD y04, 3 * SIZE(Y2)
1186 addi AO1, AO1, 4 * SIZE
1187 addi AO2, AO2, 4 * SIZE
1188 addi AO3, AO3, 4 * SIZE
1189 addi AO4, AO4, 4 * SIZE
1191 addi Y1, Y1, 4 * SIZE
1192 addi Y2, Y2, 4 * SIZE
1199 LFD y01, 0 * SIZE(Y1)
1200 LFD y02, 1 * SIZE(Y1)
1202 LFD a1, 0 * SIZE(AO1)
1203 LFD a2, 1 * SIZE(AO1)
1204 LFD a3, 0 * SIZE(AO2)
1205 LFD a4, 1 * SIZE(AO2)
1207 LFD a5, 0 * SIZE(AO3)
1208 LFD a6, 1 * SIZE(AO3)
1209 LFD a7, 0 * SIZE(AO4)
1210 LFD a8, 1 * SIZE(AO4)
1212 FMADD y01, alpha1r, a1, y01
1213 FMADD y02, alpha1i, a1, y02
1214 FMSUBX y01, alpha1i, a2, y01
1215 FMADDX y02, alpha1r, a2, y02
1217 FMADD y01, alpha2r, a3, y01
1218 FMADD y02, alpha2i, a3, y02
1219 FMSUBX y01, alpha2i, a4, y01
1220 FMADDX y02, alpha2r, a4, y02
1222 FMADD y01, alpha3r, a5, y01
1223 FMADD y02, alpha3i, a5, y02
1224 FMSUBX y01, alpha3i, a6, y01
1225 FMADDX y02, alpha3r, a6, y02
1227 FMADD y01, alpha4r, a7, y01
1228 FMADD y02, alpha4i, a7, y02
1229 FMSUBX y01, alpha4i, a8, y01
1230 FMADDX y02, alpha4r, a8, y02
1232 STFD y01, 0 * SIZE(Y2)
1233 STFD y02, 1 * SIZE(Y2)
1251 lfd alpha_r, ALPHA_R
1252 lfd alpha_i, ALPHA_I
1261 FMUL alpha1r, alpha_r, a1
1262 FMUL alpha1i, alpha_i, a1
1263 FMUL alpha2r, alpha_r, a3
1264 FMUL alpha2i, alpha_i, a3
1266 FMSUBR alpha1r, alpha_i, a2, alpha1r
1267 FMADDR alpha1i, alpha_r, a2, alpha1i
1268 FMSUBR alpha2r, alpha_i, a4, alpha2r
1269 FMADDR alpha2i, alpha_r, a4, alpha2i
1283 LFD a1, 0 * SIZE(AO1)
1284 LFD a2, 1 * SIZE(AO1)
1285 LFD a3, 2 * SIZE(AO1)
1286 LFD a4, 3 * SIZE(AO1)
1288 LFD y01, 0 * SIZE(Y1)
1289 LFD y02, 1 * SIZE(Y1)
1290 LFD y03, 2 * SIZE(Y1)
1291 LFD y04, 3 * SIZE(Y1)
1293 LFD a5, 4 * SIZE(AO1)
1294 LFD a6, 5 * SIZE(AO1)
1295 LFD a7, 6 * SIZE(AO1)
1296 LFD a8, 7 * SIZE(AO1)
1298 LFD y05, 4 * SIZE(Y1)
1299 LFD y06, 5 * SIZE(Y1)
1300 LFD y07, 6 * SIZE(Y1)
1301 LFD y08, 7 * SIZE(Y1)
1302 LFD y09, 8 * SIZE(Y1)
1303 LFD y10, 9 * SIZE(Y1)
1304 LFD y11, 10 * SIZE(Y1)
1305 LFD y12, 11 * SIZE(Y1)
1306 LFD y13, 12 * SIZE(Y1)
1307 LFD y14, 13 * SIZE(Y1)
1308 LFD y15, 14 * SIZE(Y1)
1309 LFD y16, 15 * SIZE(Y1)
1310 addi Y1, Y1, 16 * SIZE
1315 FMADD y01, alpha1r, a1, y01
1316 FMADD y02, alpha1i, a1, y02
1317 FMADD y03, alpha1r, a3, y03
1318 FMADD y04, alpha1i, a3, y04
1320 FMADD y05, alpha1r, a5, y05
1321 FMADD y06, alpha1i, a5, y06
1322 FMADD y07, alpha1r, a7, y07
1323 FMADD y08, alpha1i, a7, y08
1325 LFD a1, 8 * SIZE(AO1)
1326 LFD a3, 10 * SIZE(AO1)
1327 LFD a5, 12 * SIZE(AO1)
1328 LFD a7, 14 * SIZE(AO1)
1330 FMSUBX y01, alpha1i, a2, y01
1331 FMADDX y02, alpha1r, a2, y02
1332 FMSUBX y03, alpha1i, a4, y03
1333 FMADDX y04, alpha1r, a4, y04
1335 FMSUBX y05, alpha1i, a6, y05
1336 FMADDX y06, alpha1r, a6, y06
1337 FMSUBX y07, alpha1i, a8, y07
1338 FMADDX y08, alpha1r, a8, y08
1340 LFD a2, 9 * SIZE(AO1)
1341 LFD a4, 11 * SIZE(AO1)
1342 LFD a6, 13 * SIZE(AO1)
1343 LFD a8, 15 * SIZE(AO1)
1345 addi AO1, AO1, 16 * SIZE
1350 FMADD y09, alpha1r, a1, y09
1351 FMADD y10, alpha1i, a1, y10
1352 FMADD y11, alpha1r, a3, y11
1353 FMADD y12, alpha1i, a3, y12
1355 FMADD y13, alpha1r, a5, y13
1356 FMADD y14, alpha1i, a5, y14
1357 FMADD y15, alpha1r, a7, y15
1358 FMADD y16, alpha1i, a7, y16
1360 LFD a1, 0 * SIZE(AO2)
1361 LFD a3, 2 * SIZE(AO2)
1362 LFD a5, 4 * SIZE(AO2)
1363 LFD a7, 6 * SIZE(AO2)
1365 FMSUBX y09, alpha1i, a2, y09
1366 FMADDX y10, alpha1r, a2, y10
1367 FMSUBX y11, alpha1i, a4, y11
1368 FMADDX y12, alpha1r, a4, y12
1370 FMSUBX y13, alpha1i, a6, y13
1371 FMADDX y14, alpha1r, a6, y14
1372 FMSUBX y15, alpha1i, a8, y15
1373 FMADDX y16, alpha1r, a8, y16
1375 LFD a2, 1 * SIZE(AO2)
1376 LFD a4, 3 * SIZE(AO2)
1377 LFD a6, 5 * SIZE(AO2)
1378 LFD a8, 7 * SIZE(AO2)
1380 FMADD y01, alpha2r, a1, y01
1381 FMADD y02, alpha2i, a1, y02
1382 FMADD y03, alpha2r, a3, y03
1383 FMADD y04, alpha2i, a3, y04
1385 FMADD y05, alpha2r, a5, y05
1386 FMADD y06, alpha2i, a5, y06
1387 FMADD y07, alpha2r, a7, y07
1388 FMADD y08, alpha2i, a7, y08
1390 LFD a1, 8 * SIZE(AO2)
1391 LFD a3, 10 * SIZE(AO2)
1392 LFD a5, 12 * SIZE(AO2)
1393 LFD a7, 14 * SIZE(AO2)
1395 FMSUBX y01, alpha2i, a2, y01
1396 FMADDX y02, alpha2r, a2, y02
1397 FMSUBX y03, alpha2i, a4, y03
1398 FMADDX y04, alpha2r, a4, y04
1400 STFD y01, 0 * SIZE(Y2)
1401 STFD y02, 1 * SIZE(Y2)
1402 STFD y03, 2 * SIZE(Y2)
1403 STFD y04, 3 * SIZE(Y2)
1405 LFD y01, 0 * SIZE(Y1)
1406 LFD y02, 1 * SIZE(Y1)
1407 LFD y03, 2 * SIZE(Y1)
1408 LFD y04, 3 * SIZE(Y1)
1410 FMSUBX y05, alpha2i, a6, y05
1411 FMADDX y06, alpha2r, a6, y06
1412 FMSUBX y07, alpha2i, a8, y07
1413 FMADDX y08, alpha2r, a8, y08
1415 LFD a2, 9 * SIZE(AO2)
1416 LFD a4, 11 * SIZE(AO2)
1417 LFD a6, 13 * SIZE(AO2)
1418 LFD a8, 15 * SIZE(AO2)
1420 STFD y05, 4 * SIZE(Y2)
1421 STFD y06, 5 * SIZE(Y2)
1422 STFD y07, 6 * SIZE(Y2)
1423 STFD y08, 7 * SIZE(Y2)
1425 LFD y05, 4 * SIZE(Y1)
1426 LFD y06, 5 * SIZE(Y1)
1427 LFD y07, 6 * SIZE(Y1)
1428 LFD y08, 7 * SIZE(Y1)
1430 addi AO2, AO2, 16 * SIZE
1435 FMADD y09, alpha2r, a1, y09
1436 FMADD y10, alpha2i, a1, y10
1437 FMADD y11, alpha2r, a3, y11
1438 FMADD y12, alpha2i, a3, y12
1440 FMADD y13, alpha2r, a5, y13
1441 FMADD y14, alpha2i, a5, y14
1442 FMADD y15, alpha2r, a7, y15
1443 FMADD y16, alpha2i, a7, y16
1445 LFD a1, 0 * SIZE(AO1)
1446 LFD a3, 2 * SIZE(AO1)
1447 LFD a5, 4 * SIZE(AO1)
1448 LFD a7, 6 * SIZE(AO1)
1450 FMSUBX y09, alpha2i, a2, y09
1451 FMADDX y10, alpha2r, a2, y10
1452 FMSUBX y11, alpha2i, a4, y11
1453 FMADDX y12, alpha2r, a4, y12
1455 STFD y09, 8 * SIZE(Y2)
1456 STFD y10, 9 * SIZE(Y2)
1457 STFD y11, 10 * SIZE(Y2)
1458 STFD y12, 11 * SIZE(Y2)
1460 LFD y09, 8 * SIZE(Y1)
1461 LFD y10, 9 * SIZE(Y1)
1462 LFD y11, 10 * SIZE(Y1)
1463 LFD y12, 11 * SIZE(Y1)
1465 FMSUBX y13, alpha2i, a6, y13
1466 FMADDX y14, alpha2r, a6, y14
1467 FMSUBX y15, alpha2i, a8, y15
1468 FMADDX y16, alpha2r, a8, y16
1470 LFD a2, 1 * SIZE(AO1)
1471 LFD a4, 3 * SIZE(AO1)
1472 LFD a6, 5 * SIZE(AO1)
1473 LFD a8, 7 * SIZE(AO1)
1475 STFD y13, 12 * SIZE(Y2)
1476 STFD y14, 13 * SIZE(Y2)
1477 STFD y15, 14 * SIZE(Y2)
1478 STFD y16, 15 * SIZE(Y2)
1480 LFD y13, 12 * SIZE(Y1)
1481 LFD y14, 13 * SIZE(Y1)
1482 LFD y15, 14 * SIZE(Y1)
1483 LFD y16, 15 * SIZE(Y1)
1485 addi Y2, Y2, 16 * SIZE
1486 addi Y1, Y1, 16 * SIZE
1492 FMADD y01, alpha1r, a1, y01
1493 FMADD y02, alpha1i, a1, y02
1494 FMADD y03, alpha1r, a3, y03
1495 FMADD y04, alpha1i, a3, y04
1497 FMADD y05, alpha1r, a5, y05
1498 FMADD y06, alpha1i, a5, y06
1499 FMADD y07, alpha1r, a7, y07
1500 FMADD y08, alpha1i, a7, y08
1502 LFD a1, 8 * SIZE(AO1)
1503 LFD a3, 10 * SIZE(AO1)
1504 LFD a5, 12 * SIZE(AO1)
1505 LFD a7, 14 * SIZE(AO1)
1507 FMSUBX y01, alpha1i, a2, y01
1508 FMADDX y02, alpha1r, a2, y02
1509 FMSUBX y03, alpha1i, a4, y03
1510 FMADDX y04, alpha1r, a4, y04
1512 FMSUBX y05, alpha1i, a6, y05
1513 FMADDX y06, alpha1r, a6, y06
1514 FMSUBX y07, alpha1i, a8, y07
1515 FMADDX y08, alpha1r, a8, y08
1517 LFD a2, 9 * SIZE(AO1)
1518 LFD a4, 11 * SIZE(AO1)
1519 LFD a6, 13 * SIZE(AO1)
1520 LFD a8, 15 * SIZE(AO1)
1522 FMADD y09, alpha1r, a1, y09
1523 FMADD y10, alpha1i, a1, y10
1524 FMADD y11, alpha1r, a3, y11
1525 FMADD y12, alpha1i, a3, y12
1527 FMADD y13, alpha1r, a5, y13
1528 FMADD y14, alpha1i, a5, y14
1529 FMADD y15, alpha1r, a7, y15
1530 FMADD y16, alpha1i, a7, y16
1532 LFD a1, 0 * SIZE(AO2)
1533 LFD a3, 2 * SIZE(AO2)
1534 LFD a5, 4 * SIZE(AO2)
1535 LFD a7, 6 * SIZE(AO2)
1537 FMSUBX y09, alpha1i, a2, y09
1538 FMADDX y10, alpha1r, a2, y10
1539 FMSUBX y11, alpha1i, a4, y11
1540 FMADDX y12, alpha1r, a4, y12
1542 FMSUBX y13, alpha1i, a6, y13
1543 FMADDX y14, alpha1r, a6, y14
1544 FMSUBX y15, alpha1i, a8, y15
1545 FMADDX y16, alpha1r, a8, y16
1547 LFD a2, 1 * SIZE(AO2)
1548 LFD a4, 3 * SIZE(AO2)
1549 LFD a6, 5 * SIZE(AO2)
1550 LFD a8, 7 * SIZE(AO2)
1552 FMADD y01, alpha2r, a1, y01
1553 FMADD y02, alpha2i, a1, y02
1554 FMADD y03, alpha2r, a3, y03
1555 FMADD y04, alpha2i, a3, y04
1557 FMADD y05, alpha2r, a5, y05
1558 FMADD y06, alpha2i, a5, y06
1559 FMADD y07, alpha2r, a7, y07
1560 FMADD y08, alpha2i, a7, y08
1562 LFD a1, 8 * SIZE(AO2)
1563 LFD a3, 10 * SIZE(AO2)
1564 LFD a5, 12 * SIZE(AO2)
1565 LFD a7, 14 * SIZE(AO2)
1567 FMSUBX y01, alpha2i, a2, y01
1568 FMADDX y02, alpha2r, a2, y02
1569 FMSUBX y03, alpha2i, a4, y03
1570 FMADDX y04, alpha2r, a4, y04
1572 STFD y01, 0 * SIZE(Y2)
1573 STFD y02, 1 * SIZE(Y2)
1574 STFD y03, 2 * SIZE(Y2)
1575 STFD y04, 3 * SIZE(Y2)
1577 FMSUBX y05, alpha2i, a6, y05
1578 FMADDX y06, alpha2r, a6, y06
1579 FMSUBX y07, alpha2i, a8, y07
1580 FMADDX y08, alpha2r, a8, y08
1582 LFD a2, 9 * SIZE(AO2)
1583 LFD a4, 11 * SIZE(AO2)
1584 LFD a6, 13 * SIZE(AO2)
1585 LFD a8, 15 * SIZE(AO2)
1587 STFD y05, 4 * SIZE(Y2)
1588 STFD y06, 5 * SIZE(Y2)
1589 STFD y07, 6 * SIZE(Y2)
1590 STFD y08, 7 * SIZE(Y2)
1592 FMADD y09, alpha2r, a1, y09
1593 FMADD y10, alpha2i, a1, y10
1594 FMADD y11, alpha2r, a3, y11
1595 FMADD y12, alpha2i, a3, y12
1597 FMADD y13, alpha2r, a5, y13
1598 FMADD y14, alpha2i, a5, y14
1599 FMADD y15, alpha2r, a7, y15
1600 FMADD y16, alpha2i, a7, y16
1602 FMSUBX y09, alpha2i, a2, y09
1603 FMADDX y10, alpha2r, a2, y10
1604 FMSUBX y11, alpha2i, a4, y11
1605 FMADDX y12, alpha2r, a4, y12
1607 FMSUBX y13, alpha2i, a6, y13
1608 FMADDX y14, alpha2r, a6, y14
1609 FMSUBX y15, alpha2i, a8, y15
1610 FMADDX y16, alpha2r, a8, y16
1612 STFD y09, 8 * SIZE(Y2)
1613 STFD y10, 9 * SIZE(Y2)
1614 STFD y11, 10 * SIZE(Y2)
1615 STFD y12, 11 * SIZE(Y2)
1617 STFD y13, 12 * SIZE(Y2)
1618 STFD y14, 13 * SIZE(Y2)
1619 STFD y15, 14 * SIZE(Y2)
1620 STFD y16, 15 * SIZE(Y2)
1622 addi AO1, AO1, 16 * SIZE
1623 addi AO2, AO2, 16 * SIZE
1624 addi Y2, Y2, 16 * SIZE
1633 LFD y01, 0 * SIZE(Y1)
1634 LFD y02, 1 * SIZE(Y1)
1635 LFD y03, 2 * SIZE(Y1)
1636 LFD y04, 3 * SIZE(Y1)
1638 LFD a1, 0 * SIZE(AO1)
1639 LFD a3, 2 * SIZE(AO1)
1640 LFD a5, 4 * SIZE(AO1)
1641 LFD a7, 6 * SIZE(AO1)
1643 LFD y05, 4 * SIZE(Y1)
1644 LFD y06, 5 * SIZE(Y1)
1645 LFD y07, 6 * SIZE(Y1)
1646 LFD y08, 7 * SIZE(Y1)
1648 LFD a2, 1 * SIZE(AO1)
1649 LFD a4, 3 * SIZE(AO1)
1650 LFD a6, 5 * SIZE(AO1)
1651 LFD a8, 7 * SIZE(AO1)
1653 FMADD y01, alpha1r, a1, y01
1654 FMADD y02, alpha1i, a1, y02
1655 FMADD y03, alpha1r, a3, y03
1656 FMADD y04, alpha1i, a3, y04
1658 FMADD y05, alpha1r, a5, y05
1659 FMADD y06, alpha1i, a5, y06
1660 FMADD y07, alpha1r, a7, y07
1661 FMADD y08, alpha1i, a7, y08
1663 LFD a1, 0 * SIZE(AO2)
1664 LFD a3, 2 * SIZE(AO2)
1665 LFD a5, 4 * SIZE(AO2)
1666 LFD a7, 6 * SIZE(AO2)
1668 FMSUBX y01, alpha1i, a2, y01
1669 FMADDX y02, alpha1r, a2, y02
1670 FMSUBX y03, alpha1i, a4, y03
1671 FMADDX y04, alpha1r, a4, y04
1673 FMSUBX y05, alpha1i, a6, y05
1674 FMADDX y06, alpha1r, a6, y06
1675 FMSUBX y07, alpha1i, a8, y07
1676 FMADDX y08, alpha1r, a8, y08
1678 LFD a2, 1 * SIZE(AO2)
1679 LFD a4, 3 * SIZE(AO2)
1680 LFD a6, 5 * SIZE(AO2)
1681 LFD a8, 7 * SIZE(AO2)
1683 FMADD y01, alpha2r, a1, y01
1684 FMADD y02, alpha2i, a1, y02
1685 FMADD y03, alpha2r, a3, y03
1686 FMADD y04, alpha2i, a3, y04
1688 FMADD y05, alpha2r, a5, y05
1689 FMADD y06, alpha2i, a5, y06
1690 FMADD y07, alpha2r, a7, y07
1691 FMADD y08, alpha2i, a7, y08
1693 FMSUBX y01, alpha2i, a2, y01
1694 FMADDX y02, alpha2r, a2, y02
1695 FMSUBX y03, alpha2i, a4, y03
1696 FMADDX y04, alpha2r, a4, y04
1698 STFD y01, 0 * SIZE(Y2)
1699 STFD y02, 1 * SIZE(Y2)
1700 STFD y03, 2 * SIZE(Y2)
1701 STFD y04, 3 * SIZE(Y2)
1703 FMSUBX y05, alpha2i, a6, y05
1704 FMADDX y06, alpha2r, a6, y06
1705 FMSUBX y07, alpha2i, a8, y07
1706 FMADDX y08, alpha2r, a8, y08
1708 STFD y05, 4 * SIZE(Y2)
1709 STFD y06, 5 * SIZE(Y2)
1710 STFD y07, 6 * SIZE(Y2)
1711 STFD y08, 7 * SIZE(Y2)
1713 addi AO1, AO1, 8 * SIZE
1714 addi AO2, AO2, 8 * SIZE
1715 addi Y1, Y1, 8 * SIZE
1716 addi Y2, Y2, 8 * SIZE
1723 LFD a1, 0 * SIZE(AO1)
1724 LFD a3, 2 * SIZE(AO1)
1725 LFD a5, 0 * SIZE(AO2)
1726 LFD a7, 2 * SIZE(AO2)
1728 LFD y01, 0 * SIZE(Y1)
1729 LFD y02, 1 * SIZE(Y1)
1730 LFD y03, 2 * SIZE(Y1)
1731 LFD y04, 3 * SIZE(Y1)
1733 LFD a2, 1 * SIZE(AO1)
1734 LFD a4, 3 * SIZE(AO1)
1735 LFD a6, 1 * SIZE(AO2)
1736 LFD a8, 3 * SIZE(AO2)
1738 FMADD y01, alpha1r, a1, y01
1739 FMADD y02, alpha1i, a1, y02
1740 FMADD y03, alpha1r, a3, y03
1741 FMADD y04, alpha1i, a3, y04
1743 FMSUBX y01, alpha1i, a2, y01
1744 FMADDX y02, alpha1r, a2, y02
1745 FMSUBX y03, alpha1i, a4, y03
1746 FMADDX y04, alpha1r, a4, y04
1748 FMADD y01, alpha2r, a5, y01
1749 FMADD y02, alpha2i, a5, y02
1750 FMADD y03, alpha2r, a7, y03
1751 FMADD y04, alpha2i, a7, y04
1753 FMSUBX y01, alpha2i, a6, y01
1754 FMADDX y02, alpha2r, a6, y02
1755 FMSUBX y03, alpha2i, a8, y03
1756 FMADDX y04, alpha2r, a8, y04
1758 STFD y01, 0 * SIZE(Y2)
1759 STFD y02, 1 * SIZE(Y2)
1760 STFD y03, 2 * SIZE(Y2)
1761 STFD y04, 3 * SIZE(Y2)
1763 addi AO1, AO1, 4 * SIZE
1764 addi AO2, AO2, 4 * SIZE
1765 addi Y1, Y1, 4 * SIZE
1766 addi Y2, Y2, 4 * SIZE
1773 LFD y01, 0 * SIZE(Y1)
1774 LFD y02, 1 * SIZE(Y1)
1776 LFD a1, 0 * SIZE(AO1)
1777 LFD a2, 1 * SIZE(AO1)
1778 LFD a3, 0 * SIZE(AO2)
1779 LFD a4, 1 * SIZE(AO2)
1781 FMADD y01, alpha1r, a1, y01
1782 FMADD y02, alpha1i, a1, y02
1783 FMSUBX y01, alpha1i, a2, y01
1784 FMADDX y02, alpha1r, a2, y02
1786 FMADD y01, alpha2r, a3, y01
1787 FMADD y02, alpha2i, a3, y02
1788 FMSUBX y01, alpha2i, a4, y01
1789 FMADDX y02, alpha2r, a4, y02
1791 STFD y01, 0 * SIZE(Y2)
1792 STFD y02, 1 * SIZE(Y2)
1803 lfd alpha_r, ALPHA_R
1804 lfd alpha_i, ALPHA_I
1810 FMUL alpha1r, alpha_r, a1
1811 FMUL alpha1i, alpha_i, a1
1813 FMSUBR alpha1r, alpha_i, a2, alpha1r
1814 FMADDR alpha1i, alpha_r, a2, alpha1i
1827 LFD y01, 0 * SIZE(Y1)
1828 LFD y02, 1 * SIZE(Y1)
1829 LFD y03, 2 * SIZE(Y1)
1830 LFD y04, 3 * SIZE(Y1)
1831 LFD y05, 4 * SIZE(Y1)
1832 LFD y06, 5 * SIZE(Y1)
1833 LFD y07, 6 * SIZE(Y1)
1834 LFD y08, 7 * SIZE(Y1)
1835 LFD y09, 8 * SIZE(Y1)
1836 LFD y10, 9 * SIZE(Y1)
1837 LFD y11, 10 * SIZE(Y1)
1838 LFD y12, 11 * SIZE(Y1)
1839 LFD y13, 12 * SIZE(Y1)
1840 LFD y14, 13 * SIZE(Y1)
1841 LFD y15, 14 * SIZE(Y1)
1842 LFD y16, 15 * SIZE(Y1)
1844 LFD a1, 0 * SIZE(AO1)
1845 LFD a2, 1 * SIZE(AO1)
1846 LFD a3, 2 * SIZE(AO1)
1847 LFD a4, 3 * SIZE(AO1)
1848 LFD a5, 4 * SIZE(AO1)
1849 LFD a6, 5 * SIZE(AO1)
1850 LFD a7, 6 * SIZE(AO1)
1851 LFD a8, 7 * SIZE(AO1)
1853 addi Y1, Y1, 16 * SIZE
1858 FMADD y01, alpha1r, a1, y01
1859 FMADD y02, alpha1i, a1, y02
1860 FMADD y03, alpha1r, a3, y03
1861 FMADD y04, alpha1i, a3, y04
1863 FMADD y05, alpha1r, a5, y05
1864 FMADD y06, alpha1i, a5, y06
1865 FMADD y07, alpha1r, a7, y07
1866 FMADD y08, alpha1i, a7, y08
1868 LFD a1, 8 * SIZE(AO1)
1869 LFD a3, 10 * SIZE(AO1)
1870 LFD a5, 12 * SIZE(AO1)
1871 LFD a7, 14 * SIZE(AO1)
1873 FMSUBX y01, alpha1i, a2, y01
1874 FMADDX y02, alpha1r, a2, y02
1875 FMSUBX y03, alpha1i, a4, y03
1876 FMADDX y04, alpha1r, a4, y04
1878 STFD y01, 0 * SIZE(Y2)
1879 STFD y02, 1 * SIZE(Y2)
1880 STFD y03, 2 * SIZE(Y2)
1881 STFD y04, 3 * SIZE(Y2)
1883 LFD y01, 0 * SIZE(Y1)
1884 LFD y02, 1 * SIZE(Y1)
1885 LFD y03, 2 * SIZE(Y1)
1886 LFD y04, 3 * SIZE(Y1)
1888 FMSUBX y05, alpha1i, a6, y05
1889 FMADDX y06, alpha1r, a6, y06
1890 FMSUBX y07, alpha1i, a8, y07
1891 FMADDX y08, alpha1r, a8, y08
1893 LFD a2, 9 * SIZE(AO1)
1894 LFD a4, 11 * SIZE(AO1)
1895 LFD a6, 13 * SIZE(AO1)
1896 LFD a8, 15 * SIZE(AO1)
1898 addi AO1, AO1, 16 * SIZE
1903 STFD y05, 4 * SIZE(Y2)
1904 STFD y06, 5 * SIZE(Y2)
1905 STFD y07, 6 * SIZE(Y2)
1906 STFD y08, 7 * SIZE(Y2)
1908 LFD y05, 4 * SIZE(Y1)
1909 LFD y06, 5 * SIZE(Y1)
1910 LFD y07, 6 * SIZE(Y1)
1911 LFD y08, 7 * SIZE(Y1)
1913 FMADD y09, alpha1r, a1, y09
1914 FMADD y10, alpha1i, a1, y10
1915 FMADD y11, alpha1r, a3, y11
1916 FMADD y12, alpha1i, a3, y12
1918 FMADD y13, alpha1r, a5, y13
1919 FMADD y14, alpha1i, a5, y14
1920 FMADD y15, alpha1r, a7, y15
1921 FMADD y16, alpha1i, a7, y16
1923 LFD a1, 0 * SIZE(AO1)
1924 LFD a3, 2 * SIZE(AO1)
1925 LFD a5, 4 * SIZE(AO1)
1926 LFD a7, 6 * SIZE(AO1)
1928 FMSUBX y09, alpha1i, a2, y09
1929 FMADDX y10, alpha1r, a2, y10
1930 FMSUBX y11, alpha1i, a4, y11
1931 FMADDX y12, alpha1r, a4, y12
1933 STFD y09, 8 * SIZE(Y2)
1934 STFD y10, 9 * SIZE(Y2)
1935 STFD y11, 10 * SIZE(Y2)
1936 STFD y12, 11 * SIZE(Y2)
1938 LFD y09, 8 * SIZE(Y1)
1939 LFD y10, 9 * SIZE(Y1)
1940 LFD y11, 10 * SIZE(Y1)
1941 LFD y12, 11 * SIZE(Y1)
1943 FMSUBX y13, alpha1i, a6, y13
1944 FMADDX y14, alpha1r, a6, y14
1945 FMSUBX y15, alpha1i, a8, y15
1946 FMADDX y16, alpha1r, a8, y16
1948 LFD a2, 1 * SIZE(AO1)
1949 LFD a4, 3 * SIZE(AO1)
1950 LFD a6, 5 * SIZE(AO1)
1951 LFD a8, 7 * SIZE(AO1)
1953 STFD y13, 12 * SIZE(Y2)
1954 STFD y14, 13 * SIZE(Y2)
1955 STFD y15, 14 * SIZE(Y2)
1956 STFD y16, 15 * SIZE(Y2)
1958 LFD y13, 12 * SIZE(Y1)
1959 LFD y14, 13 * SIZE(Y1)
1960 LFD y15, 14 * SIZE(Y1)
1961 LFD y16, 15 * SIZE(Y1)
1963 addi Y1, Y1, 16 * SIZE
1964 addi Y2, Y2, 16 * SIZE
1970 FMADD y01, alpha1r, a1, y01
1971 FMADD y02, alpha1i, a1, y02
1972 FMADD y03, alpha1r, a3, y03
1973 FMADD y04, alpha1i, a3, y04
1975 FMADD y05, alpha1r, a5, y05
1976 FMADD y06, alpha1i, a5, y06
1977 FMADD y07, alpha1r, a7, y07
1978 FMADD y08, alpha1i, a7, y08
1980 LFD a1, 8 * SIZE(AO1)
1981 LFD a3, 10 * SIZE(AO1)
1982 LFD a5, 12 * SIZE(AO1)
1983 LFD a7, 14 * SIZE(AO1)
1985 FMSUBX y01, alpha1i, a2, y01
1986 FMADDX y02, alpha1r, a2, y02
1987 FMSUBX y03, alpha1i, a4, y03
1988 FMADDX y04, alpha1r, a4, y04
1990 STFD y01, 0 * SIZE(Y2)
1991 STFD y02, 1 * SIZE(Y2)
1992 STFD y03, 2 * SIZE(Y2)
1993 STFD y04, 3 * SIZE(Y2)
1995 FMSUBX y05, alpha1i, a6, y05
1996 FMADDX y06, alpha1r, a6, y06
1997 FMSUBX y07, alpha1i, a8, y07
1998 FMADDX y08, alpha1r, a8, y08
2000 LFD a2, 9 * SIZE(AO1)
2001 LFD a4, 11 * SIZE(AO1)
2002 LFD a6, 13 * SIZE(AO1)
2003 LFD a8, 15 * SIZE(AO1)
2005 STFD y05, 4 * SIZE(Y2)
2006 STFD y06, 5 * SIZE(Y2)
2007 STFD y07, 6 * SIZE(Y2)
2008 STFD y08, 7 * SIZE(Y2)
2010 FMADD y09, alpha1r, a1, y09
2011 FMADD y10, alpha1i, a1, y10
2012 FMADD y11, alpha1r, a3, y11
2013 FMADD y12, alpha1i, a3, y12
2015 FMADD y13, alpha1r, a5, y13
2016 FMADD y14, alpha1i, a5, y14
2017 FMADD y15, alpha1r, a7, y15
2018 FMADD y16, alpha1i, a7, y16
2020 FMSUBX y09, alpha1i, a2, y09
2021 FMADDX y10, alpha1r, a2, y10
2022 FMSUBX y11, alpha1i, a4, y11
2023 FMADDX y12, alpha1r, a4, y12
2025 STFD y09, 8 * SIZE(Y2)
2026 STFD y10, 9 * SIZE(Y2)
2027 STFD y11, 10 * SIZE(Y2)
2028 STFD y12, 11 * SIZE(Y2)
2030 FMSUBX y13, alpha1i, a6, y13
2031 FMADDX y14, alpha1r, a6, y14
2032 FMSUBX y15, alpha1i, a8, y15
2033 FMADDX y16, alpha1r, a8, y16
2035 STFD y13, 12 * SIZE(Y2)
2036 STFD y14, 13 * SIZE(Y2)
2037 STFD y15, 14 * SIZE(Y2)
2038 STFD y16, 15 * SIZE(Y2)
2040 addi AO1, AO1, 16 * SIZE
2041 addi Y2, Y2, 16 * SIZE
2050 LFD y01, 0 * SIZE(Y1)
2051 LFD y02, 1 * SIZE(Y1)
2052 LFD y03, 2 * SIZE(Y1)
2053 LFD y04, 3 * SIZE(Y1)
2055 LFD a1, 0 * SIZE(AO1)
2056 LFD a3, 2 * SIZE(AO1)
2057 LFD a5, 4 * SIZE(AO1)
2058 LFD a7, 6 * SIZE(AO1)
2060 LFD y05, 4 * SIZE(Y1)
2061 LFD y06, 5 * SIZE(Y1)
2062 LFD y07, 6 * SIZE(Y1)
2063 LFD y08, 7 * SIZE(Y1)
2065 LFD a2, 1 * SIZE(AO1)
2066 LFD a4, 3 * SIZE(AO1)
2067 LFD a6, 5 * SIZE(AO1)
2068 LFD a8, 7 * SIZE(AO1)
2070 FMADD y01, alpha1r, a1, y01
2071 FMADD y02, alpha1i, a1, y02
2072 FMADD y03, alpha1r, a3, y03
2073 FMADD y04, alpha1i, a3, y04
2075 FMADD y05, alpha1r, a5, y05
2076 FMADD y06, alpha1i, a5, y06
2077 FMADD y07, alpha1r, a7, y07
2078 FMADD y08, alpha1i, a7, y08
2080 FMSUBX y01, alpha1i, a2, y01
2081 FMADDX y02, alpha1r, a2, y02
2082 FMSUBX y03, alpha1i, a4, y03
2083 FMADDX y04, alpha1r, a4, y04
2085 FMSUBX y05, alpha1i, a6, y05
2086 FMADDX y06, alpha1r, a6, y06
2087 FMSUBX y07, alpha1i, a8, y07
2088 FMADDX y08, alpha1r, a8, y08
2090 STFD y01, 0 * SIZE(Y2)
2091 STFD y02, 1 * SIZE(Y2)
2092 STFD y03, 2 * SIZE(Y2)
2093 STFD y04, 3 * SIZE(Y2)
2094 STFD y05, 4 * SIZE(Y2)
2095 STFD y06, 5 * SIZE(Y2)
2096 STFD y07, 6 * SIZE(Y2)
2097 STFD y08, 7 * SIZE(Y2)
2099 addi AO1, AO1, 8 * SIZE
2100 addi Y1, Y1, 8 * SIZE
2101 addi Y2, Y2, 8 * SIZE
2108 LFD a1, 0 * SIZE(AO1)
2109 LFD a2, 1 * SIZE(AO1)
2110 LFD a3, 2 * SIZE(AO1)
2111 LFD a4, 3 * SIZE(AO1)
2113 LFD y01, 0 * SIZE(Y1)
2114 LFD y02, 1 * SIZE(Y1)
2115 LFD y03, 2 * SIZE(Y1)
2116 LFD y04, 3 * SIZE(Y1)
2118 FMADD y01, alpha1r, a1, y01
2119 FMADD y02, alpha1i, a1, y02
2120 FMADD y03, alpha1r, a3, y03
2121 FMADD y04, alpha1i, a3, y04
2123 FMSUBX y01, alpha1i, a2, y01
2124 FMADDX y02, alpha1r, a2, y02
2125 FMSUBX y03, alpha1i, a4, y03
2126 FMADDX y04, alpha1r, a4, y04
2128 STFD y01, 0 * SIZE(Y2)
2129 STFD y02, 1 * SIZE(Y2)
2130 STFD y03, 2 * SIZE(Y2)
2131 STFD y04, 3 * SIZE(Y2)
2133 addi AO1, AO1, 4 * SIZE
2134 addi Y1, Y1, 4 * SIZE
2135 addi Y2, Y2, 4 * SIZE
2142 LFD y01, 0 * SIZE(Y1)
2143 LFD y02, 1 * SIZE(Y1)
2144 LFD a1, 0 * SIZE(AO1)
2145 LFD a2, 1 * SIZE(AO1)
2147 FMADD y01, alpha1r, a1, y01
2148 FMADD y02, alpha1i, a1, y02
2149 FMSUBX y01, alpha1i, a2, y01
2150 FMADDX y02, alpha1r, a2, y02
2152 STFD y01, 0 * SIZE(Y2)
2153 STFD y02, 1 * SIZE(Y2)
2165 lfd alpha_r, ALPHA_R
2166 lfd alpha_i, ALPHA_I
2181 FMUL alpha1r, alpha_r, a1
2182 FMUL alpha1i, alpha_i, a1
2183 FMUL alpha2r, alpha_r, a3
2184 FMUL alpha2i, alpha_i, a3
2185 FMUL alpha3r, alpha_r, a5
2186 FMUL alpha3i, alpha_i, a5
2187 FMUL alpha4r, alpha_r, a7
2188 FMUL alpha4i, alpha_i, a7
2190 FMSUBR alpha1r, alpha_i, a2, alpha1r
2191 FMADDR alpha1i, alpha_r, a2, alpha1i
2192 FMSUBR alpha2r, alpha_i, a4, alpha2r
2193 FMADDR alpha2i, alpha_r, a4, alpha2i
2194 FMSUBR alpha3r, alpha_i, a6, alpha3r
2195 FMADDR alpha3i, alpha_r, a6, alpha3i
2196 FMSUBR alpha4r, alpha_i, a8, alpha4r
2197 FMADDR alpha4i, alpha_r, a8, alpha4i
2213 LFD y01, 0 * SIZE(Y1)
2214 LFD y02, 1 * SIZE(Y1)
2216 LFD y03, 0 * SIZE(Y1)
2217 LFD y04, 1 * SIZE(Y1)
2219 LFD y05, 0 * SIZE(Y1)
2220 LFD y06, 1 * SIZE(Y1)
2222 LFD y07, 0 * SIZE(Y1)
2223 LFD y08, 1 * SIZE(Y1)
2225 LFD y09, 0 * SIZE(Y1)
2226 LFD y10, 1 * SIZE(Y1)
2228 LFD y11, 0 * SIZE(Y1)
2229 LFD y12, 1 * SIZE(Y1)
2231 LFD y13, 0 * SIZE(Y1)
2232 LFD y14, 1 * SIZE(Y1)
2234 LFD y15, 0 * SIZE(Y1)
2235 LFD y16, 1 * SIZE(Y1)
2238 LFD a1, 0 * SIZE(AO1)
2239 LFD a2, 1 * SIZE(AO1)
2240 LFD a3, 2 * SIZE(AO1)
2241 LFD a4, 3 * SIZE(AO1)
2242 LFD a5, 4 * SIZE(AO1)
2243 LFD a6, 5 * SIZE(AO1)
2244 LFD a7, 6 * SIZE(AO1)
2245 LFD a8, 7 * SIZE(AO1)
2250 FMADD y01, alpha1r, a1, y01
2251 FMADD y02, alpha1i, a1, y02
2252 FMADD y03, alpha1r, a3, y03
2253 FMADD y04, alpha1i, a3, y04
2255 FMADD y05, alpha1r, a5, y05
2256 FMADD y06, alpha1i, a5, y06
2257 FMADD y07, alpha1r, a7, y07
2258 FMADD y08, alpha1i, a7, y08
2260 LFD a1, 8 * SIZE(AO1)
2261 LFD a3, 10 * SIZE(AO1)
2262 LFD a5, 12 * SIZE(AO1)
2263 LFD a7, 14 * SIZE(AO1)
2265 FMSUBX y01, alpha1i, a2, y01
2266 FMADDX y02, alpha1r, a2, y02
2267 FMSUBX y03, alpha1i, a4, y03
2268 FMADDX y04, alpha1r, a4, y04
2270 FMSUBX y05, alpha1i, a6, y05
2271 FMADDX y06, alpha1r, a6, y06
2272 FMSUBX y07, alpha1i, a8, y07
2273 FMADDX y08, alpha1r, a8, y08
2275 LFD a2, 9 * SIZE(AO1)
2276 LFD a4, 11 * SIZE(AO1)
2277 LFD a6, 13 * SIZE(AO1)
2278 LFD a8, 15 * SIZE(AO1)
2280 addi AO1, AO1, 16 * SIZE
2285 FMADD y09, alpha1r, a1, y09
2286 FMADD y10, alpha1i, a1, y10
2287 FMADD y11, alpha1r, a3, y11
2288 FMADD y12, alpha1i, a3, y12
2290 FMADD y13, alpha1r, a5, y13
2291 FMADD y14, alpha1i, a5, y14
2292 FMADD y15, alpha1r, a7, y15
2293 FMADD y16, alpha1i, a7, y16
2295 LFD a1, 0 * SIZE(AO2)
2296 LFD a3, 2 * SIZE(AO2)
2297 LFD a5, 4 * SIZE(AO2)
2298 LFD a7, 6 * SIZE(AO2)
2300 FMSUBX y09, alpha1i, a2, y09
2301 FMADDX y10, alpha1r, a2, y10
2302 FMSUBX y11, alpha1i, a4, y11
2303 FMADDX y12, alpha1r, a4, y12
2305 FMSUBX y13, alpha1i, a6, y13
2306 FMADDX y14, alpha1r, a6, y14
2307 FMSUBX y15, alpha1i, a8, y15
2308 FMADDX y16, alpha1r, a8, y16
2310 LFD a2, 1 * SIZE(AO2)
2311 LFD a4, 3 * SIZE(AO2)
2312 LFD a6, 5 * SIZE(AO2)
2313 LFD a8, 7 * SIZE(AO2)
2315 FMADD y01, alpha2r, a1, y01
2316 FMADD y02, alpha2i, a1, y02
2317 FMADD y03, alpha2r, a3, y03
2318 FMADD y04, alpha2i, a3, y04
2320 FMADD y05, alpha2r, a5, y05
2321 FMADD y06, alpha2i, a5, y06
2322 FMADD y07, alpha2r, a7, y07
2323 FMADD y08, alpha2i, a7, y08
2325 LFD a1, 8 * SIZE(AO2)
2326 LFD a3, 10 * SIZE(AO2)
2327 LFD a5, 12 * SIZE(AO2)
2328 LFD a7, 14 * SIZE(AO2)
2330 FMSUBX y01, alpha2i, a2, y01
2331 FMADDX y02, alpha2r, a2, y02
2332 FMSUBX y03, alpha2i, a4, y03
2333 FMADDX y04, alpha2r, a4, y04
2335 FMSUBX y05, alpha2i, a6, y05
2336 FMADDX y06, alpha2r, a6, y06
2337 FMSUBX y07, alpha2i, a8, y07
2338 FMADDX y08, alpha2r, a8, y08
2340 LFD a2, 9 * SIZE(AO2)
2341 LFD a4, 11 * SIZE(AO2)
2342 LFD a6, 13 * SIZE(AO2)
2343 LFD a8, 15 * SIZE(AO2)
2345 addi AO2, AO2, 16 * SIZE
2350 FMADD y09, alpha2r, a1, y09
2351 FMADD y10, alpha2i, a1, y10
2352 FMADD y11, alpha2r, a3, y11
2353 FMADD y12, alpha2i, a3, y12
2355 FMADD y13, alpha2r, a5, y13
2356 FMADD y14, alpha2i, a5, y14
2357 FMADD y15, alpha2r, a7, y15
2358 FMADD y16, alpha2i, a7, y16
2360 LFD a1, 0 * SIZE(AO3)
2361 LFD a3, 2 * SIZE(AO3)
2362 LFD a5, 4 * SIZE(AO3)
2363 LFD a7, 6 * SIZE(AO3)
2365 FMSUBX y09, alpha2i, a2, y09
2366 FMADDX y10, alpha2r, a2, y10
2367 FMSUBX y11, alpha2i, a4, y11
2368 FMADDX y12, alpha2r, a4, y12
2370 FMSUBX y13, alpha2i, a6, y13
2371 FMADDX y14, alpha2r, a6, y14
2372 FMSUBX y15, alpha2i, a8, y15
2373 FMADDX y16, alpha2r, a8, y16
2375 LFD a2, 1 * SIZE(AO3)
2376 LFD a4, 3 * SIZE(AO3)
2377 LFD a6, 5 * SIZE(AO3)
2378 LFD a8, 7 * SIZE(AO3)
2380 FMADD y01, alpha3r, a1, y01
2381 FMADD y02, alpha3i, a1, y02
2382 FMADD y03, alpha3r, a3, y03
2383 FMADD y04, alpha3i, a3, y04
2385 FMADD y05, alpha3r, a5, y05
2386 FMADD y06, alpha3i, a5, y06
2387 FMADD y07, alpha3r, a7, y07
2388 FMADD y08, alpha3i, a7, y08
2390 LFD a1, 8 * SIZE(AO3)
2391 LFD a3, 10 * SIZE(AO3)
2392 LFD a5, 12 * SIZE(AO3)
2393 LFD a7, 14 * SIZE(AO3)
2395 FMSUBX y01, alpha3i, a2, y01
2396 FMADDX y02, alpha3r, a2, y02
2397 FMSUBX y03, alpha3i, a4, y03
2398 FMADDX y04, alpha3r, a4, y04
2400 FMSUBX y05, alpha3i, a6, y05
2401 FMADDX y06, alpha3r, a6, y06
2402 FMSUBX y07, alpha3i, a8, y07
2403 FMADDX y08, alpha3r, a8, y08
2405 LFD a2, 9 * SIZE(AO3)
2406 LFD a4, 11 * SIZE(AO3)
2407 LFD a6, 13 * SIZE(AO3)
2408 LFD a8, 15 * SIZE(AO3)
2410 addi AO3, AO3, 16 * SIZE
2415 FMADD y09, alpha3r, a1, y09
2416 FMADD y10, alpha3i, a1, y10
2417 FMADD y11, alpha3r, a3, y11
2418 FMADD y12, alpha3i, a3, y12
2420 FMADD y13, alpha3r, a5, y13
2421 FMADD y14, alpha3i, a5, y14
2422 FMADD y15, alpha3r, a7, y15
2423 FMADD y16, alpha3i, a7, y16
2425 LFD a1, 0 * SIZE(AO4)
2426 LFD a3, 2 * SIZE(AO4)
2427 LFD a5, 4 * SIZE(AO4)
2428 LFD a7, 6 * SIZE(AO4)
2430 FMSUBX y09, alpha3i, a2, y09
2431 FMADDX y10, alpha3r, a2, y10
2432 FMSUBX y11, alpha3i, a4, y11
2433 FMADDX y12, alpha3r, a4, y12
2435 FMSUBX y13, alpha3i, a6, y13
2436 FMADDX y14, alpha3r, a6, y14
2437 FMSUBX y15, alpha3i, a8, y15
2438 FMADDX y16, alpha3r, a8, y16
2440 LFD a2, 1 * SIZE(AO4)
2441 LFD a4, 3 * SIZE(AO4)
2442 LFD a6, 5 * SIZE(AO4)
2443 LFD a8, 7 * SIZE(AO4)
2445 FMADD y01, alpha4r, a1, y01
2446 FMADD y02, alpha4i, a1, y02
2447 FMADD y03, alpha4r, a3, y03
2448 FMADD y04, alpha4i, a3, y04
2450 FMADD y05, alpha4r, a5, y05
2451 FMADD y06, alpha4i, a5, y06
2452 FMADD y07, alpha4r, a7, y07
2453 FMADD y08, alpha4i, a7, y08
2455 LFD a1, 8 * SIZE(AO4)
2456 LFD a3, 10 * SIZE(AO4)
2457 LFD a5, 12 * SIZE(AO4)
2458 LFD a7, 14 * SIZE(AO4)
2460 FMSUBX y01, alpha4i, a2, y01
2461 FMADDX y02, alpha4r, a2, y02
2462 FMSUBX y03, alpha4i, a4, y03
2463 FMADDX y04, alpha4r, a4, y04
2465 STFD y01, 0 * SIZE(Y2)
2467 STFD y02, 1 * SIZE(Y2)
2470 LFD y01, 0 * SIZE(Y1)
2472 LFD y02, 1 * SIZE(Y1)
2475 STFD y03, 0 * SIZE(Y2)
2477 STFD y04, 1 * SIZE(Y2)
2480 LFD y03, 0 * SIZE(Y1)
2482 LFD y04, 1 * SIZE(Y1)
2485 FMSUBX y05, alpha4i, a6, y05
2486 FMADDX y06, alpha4r, a6, y06
2487 FMSUBX y07, alpha4i, a8, y07
2488 FMADDX y08, alpha4r, a8, y08
2490 LFD a2, 9 * SIZE(AO4)
2491 LFD a4, 11 * SIZE(AO4)
2492 LFD a6, 13 * SIZE(AO4)
2493 LFD a8, 15 * SIZE(AO4)
2495 addi AO4, AO4, 16 * SIZE
2500 STFD y05, 0 * SIZE(Y2)
2502 STFD y06, 1 * SIZE(Y2)
2505 LFD y05, 0 * SIZE(Y1)
2507 LFD y06, 1 * SIZE(Y1)
2510 STFD y07, 0 * SIZE(Y2)
2512 STFD y08, 1 * SIZE(Y2)
2515 LFD y07, 0 * SIZE(Y1)
2517 LFD y08, 1 * SIZE(Y1)
2520 FMADD y09, alpha4r, a1, y09
2521 FMADD y10, alpha4i, a1, y10
2522 FMADD y11, alpha4r, a3, y11
2523 FMADD y12, alpha4i, a3, y12
2525 FMADD y13, alpha4r, a5, y13
2526 FMADD y14, alpha4i, a5, y14
2527 FMADD y15, alpha4r, a7, y15
2528 FMADD y16, alpha4i, a7, y16
2530 LFD a1, 0 * SIZE(AO1)
2531 LFD a3, 2 * SIZE(AO1)
2532 LFD a5, 4 * SIZE(AO1)
2533 LFD a7, 6 * SIZE(AO1)
2535 FMSUBX y09, alpha4i, a2, y09
2536 FMADDX y10, alpha4r, a2, y10
2537 FMSUBX y11, alpha4i, a4, y11
2538 FMADDX y12, alpha4r, a4, y12
2540 STFD y09, 0 * SIZE(Y2)
2542 STFD y10, 1 * SIZE(Y2)
2545 LFD y09, 0 * SIZE(Y1)
2547 LFD y10, 1 * SIZE(Y1)
2550 STFD y11, 0 * SIZE(Y2)
2552 STFD y12, 1 * SIZE(Y2)
2555 LFD y11, 0 * SIZE(Y1)
2557 LFD y12, 1 * SIZE(Y1)
2560 FMSUBX y13, alpha4i, a6, y13
2561 FMADDX y14, alpha4r, a6, y14
2562 FMSUBX y15, alpha4i, a8, y15
2563 FMADDX y16, alpha4r, a8, y16
2565 LFD a2, 1 * SIZE(AO1)
2566 LFD a4, 3 * SIZE(AO1)
2567 LFD a6, 5 * SIZE(AO1)
2568 LFD a8, 7 * SIZE(AO1)
2570 STFD y13, 0 * SIZE(Y2)
2572 STFD y14, 1 * SIZE(Y2)
2575 LFD y13, 0 * SIZE(Y1)
2577 LFD y14, 1 * SIZE(Y1)
2580 STFD y15, 0 * SIZE(Y2)
2582 STFD y16, 1 * SIZE(Y2)
2585 LFD y15, 0 * SIZE(Y1)
2587 LFD y16, 1 * SIZE(Y1)
2595 FMADD y01, alpha1r, a1, y01
2596 FMADD y02, alpha1i, a1, y02
2597 FMADD y03, alpha1r, a3, y03
2598 FMADD y04, alpha1i, a3, y04
2600 FMADD y05, alpha1r, a5, y05
2601 FMADD y06, alpha1i, a5, y06
2602 FMADD y07, alpha1r, a7, y07
2603 FMADD y08, alpha1i, a7, y08
2605 LFD a1, 8 * SIZE(AO1)
2606 LFD a3, 10 * SIZE(AO1)
2607 LFD a5, 12 * SIZE(AO1)
2608 LFD a7, 14 * SIZE(AO1)
2610 FMSUBX y01, alpha1i, a2, y01
2611 FMADDX y02, alpha1r, a2, y02
2612 FMSUBX y03, alpha1i, a4, y03
2613 FMADDX y04, alpha1r, a4, y04
2615 FMSUBX y05, alpha1i, a6, y05
2616 FMADDX y06, alpha1r, a6, y06
2617 FMSUBX y07, alpha1i, a8, y07
2618 FMADDX y08, alpha1r, a8, y08
2620 LFD a2, 9 * SIZE(AO1)
2621 LFD a4, 11 * SIZE(AO1)
2622 LFD a6, 13 * SIZE(AO1)
2623 LFD a8, 15 * SIZE(AO1)
2625 FMADD y09, alpha1r, a1, y09
2626 FMADD y10, alpha1i, a1, y10
2627 FMADD y11, alpha1r, a3, y11
2628 FMADD y12, alpha1i, a3, y12
2630 FMADD y13, alpha1r, a5, y13
2631 FMADD y14, alpha1i, a5, y14
2632 FMADD y15, alpha1r, a7, y15
2633 FMADD y16, alpha1i, a7, y16
2635 LFD a1, 0 * SIZE(AO2)
2636 LFD a3, 2 * SIZE(AO2)
2637 LFD a5, 4 * SIZE(AO2)
2638 LFD a7, 6 * SIZE(AO2)
2640 FMSUBX y09, alpha1i, a2, y09
2641 FMADDX y10, alpha1r, a2, y10
2642 FMSUBX y11, alpha1i, a4, y11
2643 FMADDX y12, alpha1r, a4, y12
2645 FMSUBX y13, alpha1i, a6, y13
2646 FMADDX y14, alpha1r, a6, y14
2647 FMSUBX y15, alpha1i, a8, y15
2648 FMADDX y16, alpha1r, a8, y16
2650 LFD a2, 1 * SIZE(AO2)
2651 LFD a4, 3 * SIZE(AO2)
2652 LFD a6, 5 * SIZE(AO2)
2653 LFD a8, 7 * SIZE(AO2)
2655 FMADD y01, alpha2r, a1, y01
2656 FMADD y02, alpha2i, a1, y02
2657 FMADD y03, alpha2r, a3, y03
2658 FMADD y04, alpha2i, a3, y04
2660 FMADD y05, alpha2r, a5, y05
2661 FMADD y06, alpha2i, a5, y06
2662 FMADD y07, alpha2r, a7, y07
2663 FMADD y08, alpha2i, a7, y08
2665 LFD a1, 8 * SIZE(AO2)
2666 LFD a3, 10 * SIZE(AO2)
2667 LFD a5, 12 * SIZE(AO2)
2668 LFD a7, 14 * SIZE(AO2)
2670 FMSUBX y01, alpha2i, a2, y01
2671 FMADDX y02, alpha2r, a2, y02
2672 FMSUBX y03, alpha2i, a4, y03
2673 FMADDX y04, alpha2r, a4, y04
2675 FMSUBX y05, alpha2i, a6, y05
2676 FMADDX y06, alpha2r, a6, y06
2677 FMSUBX y07, alpha2i, a8, y07
2678 FMADDX y08, alpha2r, a8, y08
2680 LFD a2, 9 * SIZE(AO2)
2681 LFD a4, 11 * SIZE(AO2)
2682 LFD a6, 13 * SIZE(AO2)
2683 LFD a8, 15 * SIZE(AO2)
2685 FMADD y09, alpha2r, a1, y09
2686 FMADD y10, alpha2i, a1, y10
2687 FMADD y11, alpha2r, a3, y11
2688 FMADD y12, alpha2i, a3, y12
2690 FMADD y13, alpha2r, a5, y13
2691 FMADD y14, alpha2i, a5, y14
2692 FMADD y15, alpha2r, a7, y15
2693 FMADD y16, alpha2i, a7, y16
2695 LFD a1, 0 * SIZE(AO3)
2696 LFD a3, 2 * SIZE(AO3)
2697 LFD a5, 4 * SIZE(AO3)
2698 LFD a7, 6 * SIZE(AO3)
2700 FMSUBX y09, alpha2i, a2, y09
2701 FMADDX y10, alpha2r, a2, y10
2702 FMSUBX y11, alpha2i, a4, y11
2703 FMADDX y12, alpha2r, a4, y12
2705 FMSUBX y13, alpha2i, a6, y13
2706 FMADDX y14, alpha2r, a6, y14
2707 FMSUBX y15, alpha2i, a8, y15
2708 FMADDX y16, alpha2r, a8, y16
2710 LFD a2, 1 * SIZE(AO3)
2711 LFD a4, 3 * SIZE(AO3)
2712 LFD a6, 5 * SIZE(AO3)
2713 LFD a8, 7 * SIZE(AO3)
2715 FMADD y01, alpha3r, a1, y01
2716 FMADD y02, alpha3i, a1, y02
2717 FMADD y03, alpha3r, a3, y03
2718 FMADD y04, alpha3i, a3, y04
2720 FMADD y05, alpha3r, a5, y05
2721 FMADD y06, alpha3i, a5, y06
2722 FMADD y07, alpha3r, a7, y07
2723 FMADD y08, alpha3i, a7, y08
2725 LFD a1, 8 * SIZE(AO3)
2726 LFD a3, 10 * SIZE(AO3)
2727 LFD a5, 12 * SIZE(AO3)
2728 LFD a7, 14 * SIZE(AO3)
2730 FMSUBX y01, alpha3i, a2, y01
2731 FMADDX y02, alpha3r, a2, y02
2732 FMSUBX y03, alpha3i, a4, y03
2733 FMADDX y04, alpha3r, a4, y04
2735 FMSUBX y05, alpha3i, a6, y05
2736 FMADDX y06, alpha3r, a6, y06
2737 FMSUBX y07, alpha3i, a8, y07
2738 FMADDX y08, alpha3r, a8, y08
2740 LFD a2, 9 * SIZE(AO3)
2741 LFD a4, 11 * SIZE(AO3)
2742 LFD a6, 13 * SIZE(AO3)
2743 LFD a8, 15 * SIZE(AO3)
2745 FMADD y09, alpha3r, a1, y09
2746 FMADD y10, alpha3i, a1, y10
2747 FMADD y11, alpha3r, a3, y11
2748 FMADD y12, alpha3i, a3, y12
2750 FMADD y13, alpha3r, a5, y13
2751 FMADD y14, alpha3i, a5, y14
2752 FMADD y15, alpha3r, a7, y15
2753 FMADD y16, alpha3i, a7, y16
2755 LFD a1, 0 * SIZE(AO4)
2756 LFD a3, 2 * SIZE(AO4)
2757 LFD a5, 4 * SIZE(AO4)
2758 LFD a7, 6 * SIZE(AO4)
2760 FMSUBX y09, alpha3i, a2, y09
2761 FMADDX y10, alpha3r, a2, y10
2762 FMSUBX y11, alpha3i, a4, y11
2763 FMADDX y12, alpha3r, a4, y12
2765 FMSUBX y13, alpha3i, a6, y13
2766 FMADDX y14, alpha3r, a6, y14
2767 FMSUBX y15, alpha3i, a8, y15
2768 FMADDX y16, alpha3r, a8, y16
2770 LFD a2, 1 * SIZE(AO4)
2771 LFD a4, 3 * SIZE(AO4)
2772 LFD a6, 5 * SIZE(AO4)
2773 LFD a8, 7 * SIZE(AO4)
2775 FMADD y01, alpha4r, a1, y01
2776 FMADD y02, alpha4i, a1, y02
2777 FMADD y03, alpha4r, a3, y03
2778 FMADD y04, alpha4i, a3, y04
2780 FMADD y05, alpha4r, a5, y05
2781 FMADD y06, alpha4i, a5, y06
2782 FMADD y07, alpha4r, a7, y07
2783 FMADD y08, alpha4i, a7, y08
2785 LFD a1, 8 * SIZE(AO4)
2786 LFD a3, 10 * SIZE(AO4)
2787 LFD a5, 12 * SIZE(AO4)
2788 LFD a7, 14 * SIZE(AO4)
2790 FMSUBX y01, alpha4i, a2, y01
2791 FMADDX y02, alpha4r, a2, y02
2792 FMSUBX y03, alpha4i, a4, y03
2793 FMADDX y04, alpha4r, a4, y04
2795 STFD y01, 0 * SIZE(Y2)
2797 STFD y02, 1 * SIZE(Y2)
2800 STFD y03, 0 * SIZE(Y2)
2802 STFD y04, 1 * SIZE(Y2)
2805 FMSUBX y05, alpha4i, a6, y05
2806 FMADDX y06, alpha4r, a6, y06
2807 FMSUBX y07, alpha4i, a8, y07
2808 FMADDX y08, alpha4r, a8, y08
2810 LFD a2, 9 * SIZE(AO4)
2811 LFD a4, 11 * SIZE(AO4)
2812 LFD a6, 13 * SIZE(AO4)
2813 LFD a8, 15 * SIZE(AO4)
2815 STFD y05, 0 * SIZE(Y2)
2817 STFD y06, 1 * SIZE(Y2)
2820 STFD y07, 0 * SIZE(Y2)
2822 STFD y08, 1 * SIZE(Y2)
2825 FMADD y09, alpha4r, a1, y09
2826 FMADD y10, alpha4i, a1, y10
2827 FMADD y11, alpha4r, a3, y11
2828 FMADD y12, alpha4i, a3, y12
2830 FMADD y13, alpha4r, a5, y13
2831 FMADD y14, alpha4i, a5, y14
2832 FMADD y15, alpha4r, a7, y15
2833 FMADD y16, alpha4i, a7, y16
2835 FMSUBX y09, alpha4i, a2, y09
2836 FMADDX y10, alpha4r, a2, y10
2837 FMSUBX y11, alpha4i, a4, y11
2838 FMADDX y12, alpha4r, a4, y12
2840 STFD y09, 0 * SIZE(Y2)
2842 STFD y10, 1 * SIZE(Y2)
2845 STFD y11, 0 * SIZE(Y2)
2847 STFD y12, 1 * SIZE(Y2)
2850 FMSUBX y13, alpha4i, a6, y13
2851 FMADDX y14, alpha4r, a6, y14
2852 FMSUBX y15, alpha4i, a8, y15
2853 FMADDX y16, alpha4r, a8, y16
2855 STFD y13, 0 * SIZE(Y2)
2857 STFD y14, 1 * SIZE(Y2)
2860 STFD y15, 0 * SIZE(Y2)
2862 STFD y16, 1 * SIZE(Y2)
2865 addi AO1, AO1, 16 * SIZE
2866 addi AO2, AO2, 16 * SIZE
2867 addi AO3, AO3, 16 * SIZE
2868 addi AO4, AO4, 16 * SIZE
2877 LFD y01, 0 * SIZE(Y1)
2878 LFD y02, 1 * SIZE(Y1)
2880 LFD y03, 0 * SIZE(Y1)
2881 LFD y04, 1 * SIZE(Y1)
2884 LFD a1, 0 * SIZE(AO1)
2885 LFD a3, 2 * SIZE(AO1)
2886 LFD a5, 4 * SIZE(AO1)
2887 LFD a7, 6 * SIZE(AO1)
2889 LFD y05, 0 * SIZE(Y1)
2890 LFD y06, 1 * SIZE(Y1)
2892 LFD y07, 0 * SIZE(Y1)
2893 LFD y08, 1 * SIZE(Y1)
2896 LFD a2, 1 * SIZE(AO1)
2897 LFD a4, 3 * SIZE(AO1)
2898 LFD a6, 5 * SIZE(AO1)
2899 LFD a8, 7 * SIZE(AO1)
2901 FMADD y01, alpha1r, a1, y01
2902 FMADD y02, alpha1i, a1, y02
2903 FMADD y03, alpha1r, a3, y03
2904 FMADD y04, alpha1i, a3, y04
2906 FMADD y05, alpha1r, a5, y05
2907 FMADD y06, alpha1i, a5, y06
2908 FMADD y07, alpha1r, a7, y07
2909 FMADD y08, alpha1i, a7, y08
2911 LFD a1, 0 * SIZE(AO2)
2912 LFD a3, 2 * SIZE(AO2)
2913 LFD a5, 4 * SIZE(AO2)
2914 LFD a7, 6 * SIZE(AO2)
2916 FMSUBX y01, alpha1i, a2, y01
2917 FMADDX y02, alpha1r, a2, y02
2918 FMSUBX y03, alpha1i, a4, y03
2919 FMADDX y04, alpha1r, a4, y04
2921 FMSUBX y05, alpha1i, a6, y05
2922 FMADDX y06, alpha1r, a6, y06
2923 FMSUBX y07, alpha1i, a8, y07
2924 FMADDX y08, alpha1r, a8, y08
2926 LFD a2, 1 * SIZE(AO2)
2927 LFD a4, 3 * SIZE(AO2)
2928 LFD a6, 5 * SIZE(AO2)
2929 LFD a8, 7 * SIZE(AO2)
2931 FMADD y01, alpha2r, a1, y01
2932 FMADD y02, alpha2i, a1, y02
2933 FMADD y03, alpha2r, a3, y03
2934 FMADD y04, alpha2i, a3, y04
2936 FMADD y05, alpha2r, a5, y05
2937 FMADD y06, alpha2i, a5, y06
2938 FMADD y07, alpha2r, a7, y07
2939 FMADD y08, alpha2i, a7, y08
2941 LFD a1, 0 * SIZE(AO3)
2942 LFD a3, 2 * SIZE(AO3)
2943 LFD a5, 4 * SIZE(AO3)
2944 LFD a7, 6 * SIZE(AO3)
2946 FMSUBX y01, alpha2i, a2, y01
2947 FMADDX y02, alpha2r, a2, y02
2948 FMSUBX y03, alpha2i, a4, y03
2949 FMADDX y04, alpha2r, a4, y04
2951 FMSUBX y05, alpha2i, a6, y05
2952 FMADDX y06, alpha2r, a6, y06
2953 FMSUBX y07, alpha2i, a8, y07
2954 FMADDX y08, alpha2r, a8, y08
2956 LFD a2, 1 * SIZE(AO3)
2957 LFD a4, 3 * SIZE(AO3)
2958 LFD a6, 5 * SIZE(AO3)
2959 LFD a8, 7 * SIZE(AO3)
2961 FMADD y01, alpha3r, a1, y01
2962 FMADD y02, alpha3i, a1, y02
2963 FMADD y03, alpha3r, a3, y03
2964 FMADD y04, alpha3i, a3, y04
2966 FMADD y05, alpha3r, a5, y05
2967 FMADD y06, alpha3i, a5, y06
2968 FMADD y07, alpha3r, a7, y07
2969 FMADD y08, alpha3i, a7, y08
2971 LFD a1, 0 * SIZE(AO4)
2972 LFD a3, 2 * SIZE(AO4)
2973 LFD a5, 4 * SIZE(AO4)
2974 LFD a7, 6 * SIZE(AO4)
2976 FMSUBX y01, alpha3i, a2, y01
2977 FMADDX y02, alpha3r, a2, y02
2978 FMSUBX y03, alpha3i, a4, y03
2979 FMADDX y04, alpha3r, a4, y04
2981 FMSUBX y05, alpha3i, a6, y05
2982 FMADDX y06, alpha3r, a6, y06
2983 FMSUBX y07, alpha3i, a8, y07
2984 FMADDX y08, alpha3r, a8, y08
2986 LFD a2, 1 * SIZE(AO4)
2987 LFD a4, 3 * SIZE(AO4)
2988 LFD a6, 5 * SIZE(AO4)
2989 LFD a8, 7 * SIZE(AO4)
2991 FMADD y01, alpha4r, a1, y01
2992 FMADD y02, alpha4i, a1, y02
2993 FMADD y03, alpha4r, a3, y03
2994 FMADD y04, alpha4i, a3, y04
2996 FMADD y05, alpha4r, a5, y05
2997 FMADD y06, alpha4i, a5, y06
2998 FMADD y07, alpha4r, a7, y07
2999 FMADD y08, alpha4i, a7, y08
3001 FMSUBX y01, alpha4i, a2, y01
3002 FMADDX y02, alpha4r, a2, y02
3003 FMSUBX y03, alpha4i, a4, y03
3004 FMADDX y04, alpha4r, a4, y04
3006 FMSUBX y05, alpha4i, a6, y05
3007 FMADDX y06, alpha4r, a6, y06
3008 FMSUBX y07, alpha4i, a8, y07
3009 FMADDX y08, alpha4r, a8, y08
3011 STFD y01, 0 * SIZE(Y2)
3012 addi AO1, AO1, 8 * SIZE
3013 STFD y02, 1 * SIZE(Y2)
3016 STFD y03, 0 * SIZE(Y2)
3017 addi AO2, AO2, 8 * SIZE
3018 STFD y04, 1 * SIZE(Y2)
3021 STFD y05, 0 * SIZE(Y2)
3022 addi AO3, AO3, 8 * SIZE
3023 STFD y06, 1 * SIZE(Y2)
3026 STFD y07, 0 * SIZE(Y2)
3027 addi AO4, AO4, 8 * SIZE
3028 STFD y08, 1 * SIZE(Y2)
3036 LFD a1, 0 * SIZE(AO1)
3037 LFD a2, 1 * SIZE(AO1)
3038 LFD a3, 2 * SIZE(AO1)
3039 LFD a4, 3 * SIZE(AO1)
3041 LFD y01, 0 * SIZE(Y1)
3042 LFD y02, 1 * SIZE(Y1)
3044 LFD y03, 0 * SIZE(Y1)
3045 LFD y04, 1 * SIZE(Y1)
3048 LFD a5, 0 * SIZE(AO2)
3049 LFD a6, 1 * SIZE(AO2)
3050 LFD a7, 2 * SIZE(AO2)
3051 LFD a8, 3 * SIZE(AO2)
3053 FMADD y01, alpha1r, a1, y01
3054 FMADD y02, alpha1i, a1, y02
3055 FMADD y03, alpha1r, a3, y03
3056 FMADD y04, alpha1i, a3, y04
3058 FMSUBX y01, alpha1i, a2, y01
3059 FMADDX y02, alpha1r, a2, y02
3060 FMSUBX y03, alpha1i, a4, y03
3061 FMADDX y04, alpha1r, a4, y04
3063 LFD a1, 0 * SIZE(AO3)
3064 LFD a2, 1 * SIZE(AO3)
3065 LFD a3, 2 * SIZE(AO3)
3066 LFD a4, 3 * SIZE(AO3)
3068 FMADD y01, alpha2r, a5, y01
3069 FMADD y02, alpha2i, a5, y02
3070 FMADD y03, alpha2r, a7, y03
3071 FMADD y04, alpha2i, a7, y04
3073 FMSUBX y01, alpha2i, a6, y01
3074 FMADDX y02, alpha2r, a6, y02
3075 FMSUBX y03, alpha2i, a8, y03
3076 FMADDX y04, alpha2r, a8, y04
3078 LFD a5, 0 * SIZE(AO4)
3079 LFD a6, 1 * SIZE(AO4)
3080 LFD a7, 2 * SIZE(AO4)
3081 LFD a8, 3 * SIZE(AO4)
3083 FMADD y01, alpha3r, a1, y01
3084 FMADD y02, alpha3i, a1, y02
3085 FMADD y03, alpha3r, a3, y03
3086 FMADD y04, alpha3i, a3, y04
3088 FMSUBX y01, alpha3i, a2, y01
3089 FMADDX y02, alpha3r, a2, y02
3090 FMSUBX y03, alpha3i, a4, y03
3091 FMADDX y04, alpha3r, a4, y04
3093 FMADD y01, alpha4r, a5, y01
3094 FMADD y02, alpha4i, a5, y02
3095 FMADD y03, alpha4r, a7, y03
3096 FMADD y04, alpha4i, a7, y04
3098 FMSUBX y01, alpha4i, a6, y01
3099 FMADDX y02, alpha4r, a6, y02
3100 FMSUBX y03, alpha4i, a8, y03
3101 FMADDX y04, alpha4r, a8, y04
3103 STFD y01, 0 * SIZE(Y2)
3104 addi AO1, AO1, 4 * SIZE
3105 STFD y02, 1 * SIZE(Y2)
3108 STFD y03, 0 * SIZE(Y2)
3109 addi AO2, AO2, 4 * SIZE
3110 STFD y04, 1 * SIZE(Y2)
3113 addi AO3, AO3, 4 * SIZE
3114 addi AO4, AO4, 4 * SIZE
3121 LFD y01, 0 * SIZE(Y1)
3122 LFD y02, 1 * SIZE(Y1)
3125 LFD a1, 0 * SIZE(AO1)
3126 LFD a2, 1 * SIZE(AO1)
3127 LFD a3, 0 * SIZE(AO2)
3128 LFD a4, 1 * SIZE(AO2)
3129 LFD a5, 0 * SIZE(AO3)
3130 LFD a6, 1 * SIZE(AO3)
3131 LFD a7, 0 * SIZE(AO4)
3132 LFD a8, 1 * SIZE(AO4)
3134 FMADD y01, alpha1r, a1, y01
3135 FMADD y02, alpha1i, a1, y02
3136 FMSUBX y01, alpha1i, a2, y01
3137 FMADDX y02, alpha1r, a2, y02
3139 FMADD y01, alpha2r, a3, y01
3140 FMADD y02, alpha2i, a3, y02
3141 FMSUBX y01, alpha2i, a4, y01
3142 FMADDX y02, alpha2r, a4, y02
3144 FMADD y01, alpha3r, a5, y01
3145 FMADD y02, alpha3i, a5, y02
3146 FMSUBX y01, alpha3i, a6, y01
3147 FMADDX y02, alpha3r, a6, y02
3149 FMADD y01, alpha4r, a7, y01
3150 FMADD y02, alpha4i, a7, y02
3151 FMSUBX y01, alpha4i, a8, y01
3152 FMADDX y02, alpha4r, a8, y02
3154 STFD y01, 0 * SIZE(Y2)
3155 STFD y02, 1 * SIZE(Y2)
3171 lfd alpha_r, ALPHA_R
3172 lfd alpha_i, ALPHA_I
3181 FMUL alpha1r, alpha_r, a1
3182 FMUL alpha1i, alpha_i, a1
3183 FMUL alpha2r, alpha_r, a3
3184 FMUL alpha2i, alpha_i, a3
3186 FMSUBR alpha1r, alpha_i, a2, alpha1r
3187 FMADDR alpha1i, alpha_r, a2, alpha1i
3188 FMSUBR alpha2r, alpha_i, a4, alpha2r
3189 FMADDR alpha2i, alpha_r, a4, alpha2i
3203 LFD y01, 0 * SIZE(Y1)
3204 LFD y02, 1 * SIZE(Y1)
3206 LFD y03, 0 * SIZE(Y1)
3207 LFD y04, 1 * SIZE(Y1)
3210 LFD a1, 0 * SIZE(AO1)
3211 LFD a3, 2 * SIZE(AO1)
3212 LFD a5, 4 * SIZE(AO1)
3213 LFD a7, 6 * SIZE(AO1)
3215 LFD y05, 0 * SIZE(Y1)
3216 LFD y06, 1 * SIZE(Y1)
3218 LFD y07, 0 * SIZE(Y1)
3219 LFD y08, 1 * SIZE(Y1)
3222 LFD a2, 1 * SIZE(AO1)
3223 LFD a4, 3 * SIZE(AO1)
3224 LFD a6, 5 * SIZE(AO1)
3225 LFD a8, 7 * SIZE(AO1)
3227 LFD y09, 0 * SIZE(Y1)
3228 LFD y10, 1 * SIZE(Y1)
3230 LFD y11, 0 * SIZE(Y1)
3231 LFD y12, 1 * SIZE(Y1)
3233 LFD y13, 0 * SIZE(Y1)
3234 LFD y14, 1 * SIZE(Y1)
3236 LFD y15, 0 * SIZE(Y1)
3237 LFD y16, 1 * SIZE(Y1)
3244 FMADD y01, alpha1r, a1, y01
3245 FMADD y02, alpha1i, a1, y02
3246 FMADD y03, alpha1r, a3, y03
3247 FMADD y04, alpha1i, a3, y04
3249 FMADD y05, alpha1r, a5, y05
3250 FMADD y06, alpha1i, a5, y06
3251 FMADD y07, alpha1r, a7, y07
3252 FMADD y08, alpha1i, a7, y08
3254 LFD a1, 8 * SIZE(AO1)
3255 LFD a3, 10 * SIZE(AO1)
3256 LFD a5, 12 * SIZE(AO1)
3257 LFD a7, 14 * SIZE(AO1)
3259 FMSUBX y01, alpha1i, a2, y01
3260 FMADDX y02, alpha1r, a2, y02
3261 FMSUBX y03, alpha1i, a4, y03
3262 FMADDX y04, alpha1r, a4, y04
3264 FMSUBX y05, alpha1i, a6, y05
3265 FMADDX y06, alpha1r, a6, y06
3266 FMSUBX y07, alpha1i, a8, y07
3267 FMADDX y08, alpha1r, a8, y08
3269 LFD a2, 9 * SIZE(AO1)
3270 LFD a4, 11 * SIZE(AO1)
3271 LFD a6, 13 * SIZE(AO1)
3272 LFD a8, 15 * SIZE(AO1)
3274 addi AO1, AO1, 16 * SIZE
3279 FMADD y09, alpha1r, a1, y09
3280 FMADD y10, alpha1i, a1, y10
3281 FMADD y11, alpha1r, a3, y11
3282 FMADD y12, alpha1i, a3, y12
3284 FMADD y13, alpha1r, a5, y13
3285 FMADD y14, alpha1i, a5, y14
3286 FMADD y15, alpha1r, a7, y15
3287 FMADD y16, alpha1i, a7, y16
3289 LFD a1, 0 * SIZE(AO2)
3290 LFD a3, 2 * SIZE(AO2)
3291 LFD a5, 4 * SIZE(AO2)
3292 LFD a7, 6 * SIZE(AO2)
3294 FMSUBX y09, alpha1i, a2, y09
3295 FMADDX y10, alpha1r, a2, y10
3296 FMSUBX y11, alpha1i, a4, y11
3297 FMADDX y12, alpha1r, a4, y12
3299 FMSUBX y13, alpha1i, a6, y13
3300 FMADDX y14, alpha1r, a6, y14
3301 FMSUBX y15, alpha1i, a8, y15
3302 FMADDX y16, alpha1r, a8, y16
3304 LFD a2, 1 * SIZE(AO2)
3305 LFD a4, 3 * SIZE(AO2)
3306 LFD a6, 5 * SIZE(AO2)
3307 LFD a8, 7 * SIZE(AO2)
3309 FMADD y01, alpha2r, a1, y01
3310 FMADD y02, alpha2i, a1, y02
3311 FMADD y03, alpha2r, a3, y03
3312 FMADD y04, alpha2i, a3, y04
3314 FMADD y05, alpha2r, a5, y05
3315 FMADD y06, alpha2i, a5, y06
3316 FMADD y07, alpha2r, a7, y07
3317 FMADD y08, alpha2i, a7, y08
3319 LFD a1, 8 * SIZE(AO2)
3320 LFD a3, 10 * SIZE(AO2)
3321 LFD a5, 12 * SIZE(AO2)
3322 LFD a7, 14 * SIZE(AO2)
3324 FMSUBX y01, alpha2i, a2, y01
3325 FMADDX y02, alpha2r, a2, y02
3326 FMSUBX y03, alpha2i, a4, y03
3327 FMADDX y04, alpha2r, a4, y04
3329 STFD y01, 0 * SIZE(Y2)
3331 STFD y02, 1 * SIZE(Y2)
3334 LFD y01, 0 * SIZE(Y1)
3336 LFD y02, 1 * SIZE(Y1)
3339 STFD y03, 0 * SIZE(Y2)
3341 STFD y04, 1 * SIZE(Y2)
3344 LFD y03, 0 * SIZE(Y1)
3346 LFD y04, 1 * SIZE(Y1)
3349 FMSUBX y05, alpha2i, a6, y05
3350 FMADDX y06, alpha2r, a6, y06
3351 FMSUBX y07, alpha2i, a8, y07
3352 FMADDX y08, alpha2r, a8, y08
3354 LFD a2, 9 * SIZE(AO2)
3355 LFD a4, 11 * SIZE(AO2)
3356 LFD a6, 13 * SIZE(AO2)
3357 LFD a8, 15 * SIZE(AO2)
3359 addi AO2, AO2, 16 * SIZE
3364 STFD y05, 0 * SIZE(Y2)
3366 STFD y06, 1 * SIZE(Y2)
3369 LFD y05, 0 * SIZE(Y1)
3371 LFD y06, 1 * SIZE(Y1)
3374 STFD y07, 0 * SIZE(Y2)
3376 STFD y08, 1 * SIZE(Y2)
3379 LFD y07, 0 * SIZE(Y1)
3381 LFD y08, 1 * SIZE(Y1)
3384 FMADD y09, alpha2r, a1, y09
3385 FMADD y10, alpha2i, a1, y10
3386 FMADD y11, alpha2r, a3, y11
3387 FMADD y12, alpha2i, a3, y12
3389 FMADD y13, alpha2r, a5, y13
3390 FMADD y14, alpha2i, a5, y14
3391 FMADD y15, alpha2r, a7, y15
3392 FMADD y16, alpha2i, a7, y16
3394 LFD a1, 0 * SIZE(AO1)
3395 LFD a3, 2 * SIZE(AO1)
3396 LFD a5, 4 * SIZE(AO1)
3397 LFD a7, 6 * SIZE(AO1)
3399 FMSUBX y09, alpha2i, a2, y09
3400 FMADDX y10, alpha2r, a2, y10
3401 FMSUBX y11, alpha2i, a4, y11
3402 FMADDX y12, alpha2r, a4, y12
3404 STFD y09, 0 * SIZE(Y2)
3406 STFD y10, 1 * SIZE(Y2)
3409 LFD y09, 0 * SIZE(Y1)
3411 LFD y10, 1 * SIZE(Y1)
3414 STFD y11, 0 * SIZE(Y2)
3416 STFD y12, 1 * SIZE(Y2)
3419 LFD y11, 0 * SIZE(Y1)
3421 LFD y12, 1 * SIZE(Y1)
3424 FMSUBX y13, alpha2i, a6, y13
3425 FMADDX y14, alpha2r, a6, y14
3426 FMSUBX y15, alpha2i, a8, y15
3427 FMADDX y16, alpha2r, a8, y16
3429 LFD a2, 1 * SIZE(AO1)
3430 LFD a4, 3 * SIZE(AO1)
3431 LFD a6, 5 * SIZE(AO1)
3432 LFD a8, 7 * SIZE(AO1)
3434 STFD y13, 0 * SIZE(Y2)
3436 STFD y14, 1 * SIZE(Y2)
3439 STFD y15, 0 * SIZE(Y2)
3441 STFD y16, 1 * SIZE(Y2)
3444 LFD y13, 0 * SIZE(Y1)
3446 LFD y14, 1 * SIZE(Y1)
3449 LFD y15, 0 * SIZE(Y1)
3451 LFD y16, 1 * SIZE(Y1)
3459 FMADD y01, alpha1r, a1, y01
3460 FMADD y02, alpha1i, a1, y02
3461 FMADD y03, alpha1r, a3, y03
3462 FMADD y04, alpha1i, a3, y04
3464 FMADD y05, alpha1r, a5, y05
3465 FMADD y06, alpha1i, a5, y06
3466 FMADD y07, alpha1r, a7, y07
3467 FMADD y08, alpha1i, a7, y08
3469 LFD a1, 8 * SIZE(AO1)
3470 LFD a3, 10 * SIZE(AO1)
3471 LFD a5, 12 * SIZE(AO1)
3472 LFD a7, 14 * SIZE(AO1)
3474 FMSUBX y01, alpha1i, a2, y01
3475 FMADDX y02, alpha1r, a2, y02
3476 FMSUBX y03, alpha1i, a4, y03
3477 FMADDX y04, alpha1r, a4, y04
3479 FMSUBX y05, alpha1i, a6, y05
3480 FMADDX y06, alpha1r, a6, y06
3481 FMSUBX y07, alpha1i, a8, y07
3482 FMADDX y08, alpha1r, a8, y08
3484 LFD a2, 9 * SIZE(AO1)
3485 LFD a4, 11 * SIZE(AO1)
3486 LFD a6, 13 * SIZE(AO1)
3487 LFD a8, 15 * SIZE(AO1)
3489 FMADD y09, alpha1r, a1, y09
3490 FMADD y10, alpha1i, a1, y10
3491 FMADD y11, alpha1r, a3, y11
3492 FMADD y12, alpha1i, a3, y12
3494 FMADD y13, alpha1r, a5, y13
3495 FMADD y14, alpha1i, a5, y14
3496 FMADD y15, alpha1r, a7, y15
3497 FMADD y16, alpha1i, a7, y16
3499 LFD a1, 0 * SIZE(AO2)
3500 LFD a3, 2 * SIZE(AO2)
3501 LFD a5, 4 * SIZE(AO2)
3502 LFD a7, 6 * SIZE(AO2)
3504 FMSUBX y09, alpha1i, a2, y09
3505 FMADDX y10, alpha1r, a2, y10
3506 FMSUBX y11, alpha1i, a4, y11
3507 FMADDX y12, alpha1r, a4, y12
3509 FMSUBX y13, alpha1i, a6, y13
3510 FMADDX y14, alpha1r, a6, y14
3511 FMSUBX y15, alpha1i, a8, y15
3512 FMADDX y16, alpha1r, a8, y16
3514 LFD a2, 1 * SIZE(AO2)
3515 LFD a4, 3 * SIZE(AO2)
3516 LFD a6, 5 * SIZE(AO2)
3517 LFD a8, 7 * SIZE(AO2)
3519 FMADD y01, alpha2r, a1, y01
3520 FMADD y02, alpha2i, a1, y02
3521 FMADD y03, alpha2r, a3, y03
3522 FMADD y04, alpha2i, a3, y04
3524 FMADD y05, alpha2r, a5, y05
3525 FMADD y06, alpha2i, a5, y06
3526 FMADD y07, alpha2r, a7, y07
3527 FMADD y08, alpha2i, a7, y08
3529 LFD a1, 8 * SIZE(AO2)
3530 LFD a3, 10 * SIZE(AO2)
3531 LFD a5, 12 * SIZE(AO2)
3532 LFD a7, 14 * SIZE(AO2)
3534 FMSUBX y01, alpha2i, a2, y01
3535 FMADDX y02, alpha2r, a2, y02
3536 FMSUBX y03, alpha2i, a4, y03
3537 FMADDX y04, alpha2r, a4, y04
3539 STFD y01, 0 * SIZE(Y2)
3540 addi AO1, AO1, 16 * SIZE
3541 STFD y02, 1 * SIZE(Y2)
3544 STFD y03, 0 * SIZE(Y2)
3546 STFD y04, 1 * SIZE(Y2)
3549 FMSUBX y05, alpha2i, a6, y05
3550 FMADDX y06, alpha2r, a6, y06
3551 FMSUBX y07, alpha2i, a8, y07
3552 FMADDX y08, alpha2r, a8, y08
3554 LFD a2, 9 * SIZE(AO2)
3555 LFD a4, 11 * SIZE(AO2)
3556 LFD a6, 13 * SIZE(AO2)
3557 LFD a8, 15 * SIZE(AO2)
3559 STFD y05, 0 * SIZE(Y2)
3560 addi AO2, AO2, 16 * SIZE
3561 STFD y06, 1 * SIZE(Y2)
3564 STFD y07, 0 * SIZE(Y2)
3566 STFD y08, 1 * SIZE(Y2)
3569 FMADD y09, alpha2r, a1, y09
3570 FMADD y10, alpha2i, a1, y10
3571 FMADD y11, alpha2r, a3, y11
3572 FMADD y12, alpha2i, a3, y12
3574 FMADD y13, alpha2r, a5, y13
3575 FMADD y14, alpha2i, a5, y14
3576 FMADD y15, alpha2r, a7, y15
3577 FMADD y16, alpha2i, a7, y16
3579 FMSUBX y09, alpha2i, a2, y09
3580 FMADDX y10, alpha2r, a2, y10
3581 FMSUBX y11, alpha2i, a4, y11
3582 FMADDX y12, alpha2r, a4, y12
3584 STFD y09, 0 * SIZE(Y2)
3586 STFD y10, 1 * SIZE(Y2)
3589 STFD y11, 0 * SIZE(Y2)
3591 STFD y12, 1 * SIZE(Y2)
3594 FMSUBX y13, alpha2i, a6, y13
3595 FMADDX y14, alpha2r, a6, y14
3596 FMSUBX y15, alpha2i, a8, y15
3597 FMADDX y16, alpha2r, a8, y16
3599 STFD y13, 0 * SIZE(Y2)
3601 STFD y14, 1 * SIZE(Y2)
3604 STFD y15, 0 * SIZE(Y2)
3606 STFD y16, 1 * SIZE(Y2)
3616 LFD y01, 0 * SIZE(Y1)
3617 LFD y02, 1 * SIZE(Y1)
3619 LFD y03, 0 * SIZE(Y1)
3620 LFD y04, 1 * SIZE(Y1)
3623 LFD a1, 0 * SIZE(AO1)
3624 LFD a3, 2 * SIZE(AO1)
3625 LFD a5, 4 * SIZE(AO1)
3626 LFD a7, 6 * SIZE(AO1)
3628 LFD y05, 0 * SIZE(Y1)
3629 LFD y06, 1 * SIZE(Y1)
3631 LFD y07, 0 * SIZE(Y1)
3632 LFD y08, 1 * SIZE(Y1)
3635 LFD a2, 1 * SIZE(AO1)
3636 LFD a4, 3 * SIZE(AO1)
3637 LFD a6, 5 * SIZE(AO1)
3638 LFD a8, 7 * SIZE(AO1)
3640 FMADD y01, alpha1r, a1, y01
3641 FMADD y02, alpha1i, a1, y02
3642 FMADD y03, alpha1r, a3, y03
3643 FMADD y04, alpha1i, a3, y04
3645 FMADD y05, alpha1r, a5, y05
3646 FMADD y06, alpha1i, a5, y06
3647 FMADD y07, alpha1r, a7, y07
3648 FMADD y08, alpha1i, a7, y08
3650 LFD a1, 0 * SIZE(AO2)
3651 LFD a3, 2 * SIZE(AO2)
3652 LFD a5, 4 * SIZE(AO2)
3653 LFD a7, 6 * SIZE(AO2)
3655 FMSUBX y01, alpha1i, a2, y01
3656 FMADDX y02, alpha1r, a2, y02
3657 FMSUBX y03, alpha1i, a4, y03
3658 FMADDX y04, alpha1r, a4, y04
3660 FMSUBX y05, alpha1i, a6, y05
3661 FMADDX y06, alpha1r, a6, y06
3662 FMSUBX y07, alpha1i, a8, y07
3663 FMADDX y08, alpha1r, a8, y08
3665 LFD a2, 1 * SIZE(AO2)
3666 LFD a4, 3 * SIZE(AO2)
3667 LFD a6, 5 * SIZE(AO2)
3668 LFD a8, 7 * SIZE(AO2)
3670 FMADD y01, alpha2r, a1, y01
3671 FMADD y02, alpha2i, a1, y02
3672 FMADD y03, alpha2r, a3, y03
3673 FMADD y04, alpha2i, a3, y04
3675 FMADD y05, alpha2r, a5, y05
3676 FMADD y06, alpha2i, a5, y06
3677 FMADD y07, alpha2r, a7, y07
3678 FMADD y08, alpha2i, a7, y08
3680 FMSUBX y01, alpha2i, a2, y01
3681 FMADDX y02, alpha2r, a2, y02
3682 FMSUBX y03, alpha2i, a4, y03
3683 FMADDX y04, alpha2r, a4, y04
3685 STFD y01, 0 * SIZE(Y2)
3686 addi AO1, AO1, 8 * SIZE
3687 STFD y02, 1 * SIZE(Y2)
3690 STFD y03, 0 * SIZE(Y2)
3691 addi AO2, AO2, 8 * SIZE
3692 STFD y04, 1 * SIZE(Y2)
3695 FMSUBX y05, alpha2i, a6, y05
3696 FMADDX y06, alpha2r, a6, y06
3697 FMSUBX y07, alpha2i, a8, y07
3698 FMADDX y08, alpha2r, a8, y08
3700 STFD y05, 0 * SIZE(Y2)
3702 STFD y06, 1 * SIZE(Y2)
3705 STFD y07, 0 * SIZE(Y2)
3707 STFD y08, 1 * SIZE(Y2)
3715 LFD a1, 0 * SIZE(AO1)
3716 LFD a2, 1 * SIZE(AO1)
3717 LFD a3, 2 * SIZE(AO1)
3718 LFD a4, 3 * SIZE(AO1)
3720 LFD y01, 0 * SIZE(Y1)
3721 LFD y02, 1 * SIZE(Y1)
3723 LFD y03, 0 * SIZE(Y1)
3724 LFD y04, 1 * SIZE(Y1)
3727 LFD a5, 0 * SIZE(AO2)
3728 LFD a6, 1 * SIZE(AO2)
3729 LFD a7, 2 * SIZE(AO2)
3730 LFD a8, 3 * SIZE(AO2)
3732 FMADD y01, alpha1r, a1, y01
3733 FMADD y02, alpha1i, a1, y02
3734 FMADD y03, alpha1r, a3, y03
3735 FMADD y04, alpha1i, a3, y04
3737 FMSUBX y01, alpha1i, a2, y01
3738 FMADDX y02, alpha1r, a2, y02
3739 FMSUBX y03, alpha1i, a4, y03
3740 FMADDX y04, alpha1r, a4, y04
3742 FMADD y01, alpha2r, a5, y01
3743 FMADD y02, alpha2i, a5, y02
3744 FMADD y03, alpha2r, a7, y03
3745 FMADD y04, alpha2i, a7, y04
3747 FMSUBX y01, alpha2i, a6, y01
3748 FMADDX y02, alpha2r, a6, y02
3749 FMSUBX y03, alpha2i, a8, y03
3750 FMADDX y04, alpha2r, a8, y04
3752 STFD y01, 0 * SIZE(Y2)
3753 addi AO1, AO1, 4 * SIZE
3754 STFD y02, 1 * SIZE(Y2)
3757 STFD y03, 0 * SIZE(Y2)
3758 addi AO2, AO2, 4 * SIZE
3759 STFD y04, 1 * SIZE(Y2)
3767 LFD y01, 0 * SIZE(Y1)
3768 LFD y02, 1 * SIZE(Y1)
3771 LFD a1, 0 * SIZE(AO1)
3772 LFD a2, 1 * SIZE(AO1)
3773 LFD a3, 0 * SIZE(AO2)
3774 LFD a4, 1 * SIZE(AO2)
3776 FMADD y01, alpha1r, a1, y01
3777 FMADD y02, alpha1i, a1, y02
3778 FMSUBX y01, alpha1i, a2, y01
3779 FMADDX y02, alpha1r, a2, y02
3781 FMADD y01, alpha2r, a3, y01
3782 FMADD y02, alpha2i, a3, y02
3783 FMSUBX y01, alpha2i, a4, y01
3784 FMADDX y02, alpha2r, a4, y02
3786 STFD y01, 0 * SIZE(Y2)
3787 STFD y02, 1 * SIZE(Y2)
3797 lfd alpha_r, ALPHA_R
3798 lfd alpha_i, ALPHA_I
3804 FMUL alpha1r, alpha_r, a1
3805 FMUL alpha1i, alpha_i, a1
3807 FMSUBR alpha1r, alpha_i, a2, alpha1r
3808 FMADDR alpha1i, alpha_r, a2, alpha1i
3821 LFD y01, 0 * SIZE(Y1)
3822 LFD y02, 1 * SIZE(Y1)
3824 LFD y03, 0 * SIZE(Y1)
3825 LFD y04, 1 * SIZE(Y1)
3828 LFD a1, 0 * SIZE(AO1)
3829 LFD a3, 2 * SIZE(AO1)
3830 LFD a5, 4 * SIZE(AO1)
3831 LFD a7, 6 * SIZE(AO1)
3833 LFD y05, 0 * SIZE(Y1)
3834 LFD y06, 1 * SIZE(Y1)
3836 LFD y07, 0 * SIZE(Y1)
3837 LFD y08, 1 * SIZE(Y1)
3840 LFD a2, 1 * SIZE(AO1)
3841 LFD a4, 3 * SIZE(AO1)
3842 LFD a6, 5 * SIZE(AO1)
3843 LFD a8, 7 * SIZE(AO1)
3845 LFD y09, 0 * SIZE(Y1)
3846 LFD y10, 1 * SIZE(Y1)
3848 LFD y11, 0 * SIZE(Y1)
3849 LFD y12, 1 * SIZE(Y1)
3851 LFD y13, 0 * SIZE(Y1)
3852 LFD y14, 1 * SIZE(Y1)
3854 LFD y15, 0 * SIZE(Y1)
3855 LFD y16, 1 * SIZE(Y1)
3862 FMADD y01, alpha1r, a1, y01
3863 FMADD y02, alpha1i, a1, y02
3864 FMADD y03, alpha1r, a3, y03
3865 FMADD y04, alpha1i, a3, y04
3867 FMADD y05, alpha1r, a5, y05
3868 FMADD y06, alpha1i, a5, y06
3869 FMADD y07, alpha1r, a7, y07
3870 FMADD y08, alpha1i, a7, y08
3872 LFD a1, 8 * SIZE(AO1)
3873 LFD a3, 10 * SIZE(AO1)
3874 LFD a5, 12 * SIZE(AO1)
3875 LFD a7, 14 * SIZE(AO1)
3877 FMSUBX y01, alpha1i, a2, y01
3878 FMADDX y02, alpha1r, a2, y02
3879 FMSUBX y03, alpha1i, a4, y03
3880 FMADDX y04, alpha1r, a4, y04
3882 STFD y01, 0 * SIZE(Y2)
3884 STFD y02, 1 * SIZE(Y2)
3887 LFD y01, 0 * SIZE(Y1)
3889 LFD y02, 1 * SIZE(Y1)
3892 STFD y03, 0 * SIZE(Y2)
3894 STFD y04, 1 * SIZE(Y2)
3897 LFD y03, 0 * SIZE(Y1)
3899 LFD y04, 1 * SIZE(Y1)
3902 FMSUBX y05, alpha1i, a6, y05
3903 FMADDX y06, alpha1r, a6, y06
3904 FMSUBX y07, alpha1i, a8, y07
3905 FMADDX y08, alpha1r, a8, y08
3907 LFD a2, 9 * SIZE(AO1)
3908 LFD a4, 11 * SIZE(AO1)
3909 LFD a6, 13 * SIZE(AO1)
3910 LFD a8, 15 * SIZE(AO1)
3912 addi AO1, AO1, 16 * SIZE
3917 STFD y05, 0 * SIZE(Y2)
3919 STFD y06, 1 * SIZE(Y2)
3922 LFD y05, 0 * SIZE(Y1)
3924 LFD y06, 1 * SIZE(Y1)
3927 STFD y07, 0 * SIZE(Y2)
3929 STFD y08, 1 * SIZE(Y2)
3932 LFD y07, 0 * SIZE(Y1)
3934 LFD y08, 1 * SIZE(Y1)
3937 FMADD y09, alpha1r, a1, y09
3938 FMADD y10, alpha1i, a1, y10
3939 FMADD y11, alpha1r, a3, y11
3940 FMADD y12, alpha1i, a3, y12
3942 FMADD y13, alpha1r, a5, y13
3943 FMADD y14, alpha1i, a5, y14
3944 FMADD y15, alpha1r, a7, y15
3945 FMADD y16, alpha1i, a7, y16
3947 LFD a1, 0 * SIZE(AO1)
3948 LFD a3, 2 * SIZE(AO1)
3949 LFD a5, 4 * SIZE(AO1)
3950 LFD a7, 6 * SIZE(AO1)
3952 FMSUBX y09, alpha1i, a2, y09
3953 FMADDX y10, alpha1r, a2, y10
3954 FMSUBX y11, alpha1i, a4, y11
3955 FMADDX y12, alpha1r, a4, y12
3957 STFD y09, 0 * SIZE(Y2)
3959 STFD y10, 1 * SIZE(Y2)
3962 LFD y09, 0 * SIZE(Y1)
3964 LFD y10, 1 * SIZE(Y1)
3967 STFD y11, 0 * SIZE(Y2)
3969 STFD y12, 1 * SIZE(Y2)
3972 LFD y11, 0 * SIZE(Y1)
3974 LFD y12, 1 * SIZE(Y1)
3977 FMSUBX y13, alpha1i, a6, y13
3978 FMADDX y14, alpha1r, a6, y14
3979 FMSUBX y15, alpha1i, a8, y15
3980 FMADDX y16, alpha1r, a8, y16
3982 LFD a2, 1 * SIZE(AO1)
3983 LFD a4, 3 * SIZE(AO1)
3984 LFD a6, 5 * SIZE(AO1)
3985 LFD a8, 7 * SIZE(AO1)
3987 STFD y13, 0 * SIZE(Y2)
3989 STFD y14, 1 * SIZE(Y2)
3992 STFD y15, 0 * SIZE(Y2)
3994 STFD y16, 1 * SIZE(Y2)
3997 LFD y13, 0 * SIZE(Y1)
3999 LFD y14, 1 * SIZE(Y1)
4002 LFD y15, 0 * SIZE(Y1)
4004 LFD y16, 1 * SIZE(Y1)
4012 FMADD y01, alpha1r, a1, y01
4013 FMADD y02, alpha1i, a1, y02
4014 FMADD y03, alpha1r, a3, y03
4015 FMADD y04, alpha1i, a3, y04
4017 FMADD y05, alpha1r, a5, y05
4018 FMADD y06, alpha1i, a5, y06
4019 FMADD y07, alpha1r, a7, y07
4020 FMADD y08, alpha1i, a7, y08
4022 LFD a1, 8 * SIZE(AO1)
4023 LFD a3, 10 * SIZE(AO1)
4024 LFD a5, 12 * SIZE(AO1)
4025 LFD a7, 14 * SIZE(AO1)
4027 FMSUBX y01, alpha1i, a2, y01
4028 FMADDX y02, alpha1r, a2, y02
4029 FMSUBX y03, alpha1i, a4, y03
4030 FMADDX y04, alpha1r, a4, y04
4032 FMSUBX y05, alpha1i, a6, y05
4033 FMADDX y06, alpha1r, a6, y06
4034 FMSUBX y07, alpha1i, a8, y07
4035 FMADDX y08, alpha1r, a8, y08
4037 LFD a2, 9 * SIZE(AO1)
4038 LFD a4, 11 * SIZE(AO1)
4039 LFD a6, 13 * SIZE(AO1)
4040 LFD a8, 15 * SIZE(AO1)
4042 FMADD y09, alpha1r, a1, y09
4043 FMADD y10, alpha1i, a1, y10
4044 FMADD y11, alpha1r, a3, y11
4045 FMADD y12, alpha1i, a3, y12
4047 FMADD y13, alpha1r, a5, y13
4048 FMADD y14, alpha1i, a5, y14
4049 FMADD y15, alpha1r, a7, y15
4050 FMADD y16, alpha1i, a7, y16
4052 FMSUBX y09, alpha1i, a2, y09
4053 FMADDX y10, alpha1r, a2, y10
4054 FMSUBX y11, alpha1i, a4, y11
4055 FMADDX y12, alpha1r, a4, y12
4057 FMSUBX y13, alpha1i, a6, y13
4058 FMADDX y14, alpha1r, a6, y14
4059 FMSUBX y15, alpha1i, a8, y15
4060 FMADDX y16, alpha1r, a8, y16
4062 STFD y01, 0 * SIZE(Y2)
4063 addi AO1, AO1, 16 * SIZE
4064 STFD y02, 1 * SIZE(Y2)
4067 STFD y03, 0 * SIZE(Y2)
4069 STFD y04, 1 * SIZE(Y2)
4072 STFD y05, 0 * SIZE(Y2)
4074 STFD y06, 1 * SIZE(Y2)
4077 STFD y07, 0 * SIZE(Y2)
4079 STFD y08, 1 * SIZE(Y2)
4082 STFD y09, 0 * SIZE(Y2)
4084 STFD y10, 1 * SIZE(Y2)
4087 STFD y11, 0 * SIZE(Y2)
4089 STFD y12, 1 * SIZE(Y2)
4092 STFD y13, 0 * SIZE(Y2)
4094 STFD y14, 1 * SIZE(Y2)
4097 STFD y15, 0 * SIZE(Y2)
4099 STFD y16, 1 * SIZE(Y2)
4109 LFD y01, 0 * SIZE(Y1)
4111 LFD y02, 1 * SIZE(Y1)
4114 LFD y03, 0 * SIZE(Y1)
4116 LFD y04, 1 * SIZE(Y1)
4119 LFD y05, 0 * SIZE(Y1)
4121 LFD y06, 1 * SIZE(Y1)
4124 LFD y07, 0 * SIZE(Y1)
4126 LFD y08, 1 * SIZE(Y1)
4129 LFD a1, 0 * SIZE(AO1)
4130 LFD a3, 2 * SIZE(AO1)
4131 LFD a5, 4 * SIZE(AO1)
4132 LFD a7, 6 * SIZE(AO1)
4134 LFD a2, 1 * SIZE(AO1)
4135 LFD a4, 3 * SIZE(AO1)
4136 LFD a6, 5 * SIZE(AO1)
4137 LFD a8, 7 * SIZE(AO1)
4139 FMADD y01, alpha1r, a1, y01
4140 FMADD y02, alpha1i, a1, y02
4141 FMADD y03, alpha1r, a3, y03
4142 FMADD y04, alpha1i, a3, y04
4144 FMADD y05, alpha1r, a5, y05
4145 FMADD y06, alpha1i, a5, y06
4146 FMADD y07, alpha1r, a7, y07
4147 FMADD y08, alpha1i, a7, y08
4149 FMSUBX y01, alpha1i, a2, y01
4150 FMADDX y02, alpha1r, a2, y02
4151 FMSUBX y03, alpha1i, a4, y03
4152 FMADDX y04, alpha1r, a4, y04
4154 FMSUBX y05, alpha1i, a6, y05
4155 FMADDX y06, alpha1r, a6, y06
4156 FMSUBX y07, alpha1i, a8, y07
4157 FMADDX y08, alpha1r, a8, y08
4159 STFD y01, 0 * SIZE(Y2)
4160 addi AO1, AO1, 8 * SIZE
4161 STFD y02, 1 * SIZE(Y2)
4164 STFD y03, 0 * SIZE(Y2)
4166 STFD y04, 1 * SIZE(Y2)
4169 STFD y05, 0 * SIZE(Y2)
4171 STFD y06, 1 * SIZE(Y2)
4174 STFD y07, 0 * SIZE(Y2)
4176 STFD y08, 1 * SIZE(Y2)
4184 LFD a1, 0 * SIZE(AO1)
4185 LFD a2, 1 * SIZE(AO1)
4186 LFD a3, 2 * SIZE(AO1)
4187 LFD a4, 3 * SIZE(AO1)
4189 LFD y01, 0 * SIZE(Y1)
4191 LFD y02, 1 * SIZE(Y1)
4193 LFD y03, 0 * SIZE(Y1)
4195 LFD y04, 1 * SIZE(Y1)
4198 FMADD y01, alpha1r, a1, y01
4199 FMADD y02, alpha1i, a1, y02
4200 FMADD y03, alpha1r, a3, y03
4201 FMADD y04, alpha1i, a3, y04
4203 FMSUBX y01, alpha1i, a2, y01
4204 FMADDX y02, alpha1r, a2, y02
4205 FMSUBX y03, alpha1i, a4, y03
4206 FMADDX y04, alpha1r, a4, y04
4208 STFD y01, 0 * SIZE(Y2)
4209 addi AO1, AO1, 4 * SIZE
4210 STFD y02, 1 * SIZE(Y2)
4213 STFD y03, 0 * SIZE(Y2)
4215 STFD y04, 1 * SIZE(Y2)
4223 LFD y01, 0 * SIZE(Y1)
4225 LFD y02, 1 * SIZE(Y1)
4228 LFD a1, 0 * SIZE(AO1)
4229 LFD a2, 1 * SIZE(AO1)
4231 FMADD y01, alpha1r, a1, y01
4232 FMADD y02, alpha1i, a1, y02
4233 FMSUBX y01, alpha1i, a2, y01
4234 FMADDX y02, alpha1r, a2, y02
4236 STFD y01, 0 * SIZE(Y2)
4238 STFD y02, 1 * SIZE(Y2)
4286 addi SP, SP, STACKSIZE