1 /*********************************************************************
2 * Macros for N=4, M=16 *
3 *********************************************************************/
32 xvmuldp vs32, vs0, vs24
33 xvmuldp vs33, vs1, vs24
34 xvmuldp vs34, vs2, vs24
35 xvmuldp vs35, vs3, vs24
40 xvmuldp vs36, vs4, vs24
41 xvmuldp vs37, vs5, vs24
42 xvmuldp vs38, vs6, vs24
43 xvmuldp vs39, vs7, vs24
48 xvmuldp vs40, vs0, vs25
49 xvmuldp vs41, vs1, vs25
50 xvmuldp vs42, vs2, vs25
51 xvmuldp vs43, vs3, vs25
56 xvmuldp vs44, vs4, vs25
57 xvmuldp vs45, vs5, vs25
58 xvmuldp vs46, vs6, vs25
59 xvmuldp vs47, vs7, vs25
63 xvmuldp vs48, vs0, vs26
64 xvmuldp vs49, vs1, vs26
65 xvmuldp vs50, vs2, vs26
66 xvmuldp vs51, vs3, vs26
71 xvmuldp vs52, vs4, vs26
72 xvmuldp vs53, vs5, vs26
73 xvmuldp vs54, vs6, vs26
74 xvmuldp vs55, vs7, vs26
79 xvmuldp vs56, vs0, vs27
80 xvmuldp vs57, vs1, vs27
81 xvmuldp vs58, vs2, vs27
82 xvmuldp vs59, vs3, vs27
87 xvmuldp vs60, vs4, vs27
88 xvmuldp vs61, vs5, vs27
89 xvmuldp vs62, vs6, vs27
90 xvmuldp vs63, vs7, vs27
99 xvmaddadp vs32, vs0, vs24
100 xvmaddadp vs33, vs1, vs24
101 xvmaddadp vs34, vs2, vs24
102 xvmaddadp vs35, vs3, vs24
107 xvmaddadp vs36, vs4, vs24
108 xvmaddadp vs37, vs5, vs24
109 xvmaddadp vs38, vs6, vs24
110 xvmaddadp vs39, vs7, vs24
115 xvmaddadp vs40, vs0, vs25
116 xvmaddadp vs41, vs1, vs25
117 xvmaddadp vs42, vs2, vs25
118 xvmaddadp vs43, vs3, vs25
123 xvmaddadp vs44, vs4, vs25
124 xvmaddadp vs45, vs5, vs25
125 xvmaddadp vs46, vs6, vs25
126 xvmaddadp vs47, vs7, vs25
130 xvmaddadp vs48, vs0, vs26
131 xvmaddadp vs49, vs1, vs26
132 xvmaddadp vs50, vs2, vs26
133 xvmaddadp vs51, vs3, vs26
138 xvmaddadp vs52, vs4, vs26
139 xvmaddadp vs53, vs5, vs26
140 xvmaddadp vs54, vs6, vs26
141 xvmaddadp vs55, vs7, vs26
146 xvmaddadp vs56, vs0, vs27
147 xvmaddadp vs57, vs1, vs27
148 xvmaddadp vs58, vs2, vs27
149 xvmaddadp vs59, vs3, vs27
155 xvmaddadp vs60, vs4, vs27
156 xvmaddadp vs61, vs5, vs27
157 xvmaddadp vs62, vs6, vs27
158 xvmaddadp vs63, vs7, vs27
167 xvmaddadp vs32, vs8, vs28
168 xvmaddadp vs33, vs9, vs28
169 xvmaddadp vs34, vs10, vs28
170 xvmaddadp vs35, vs11, vs28
175 xvmaddadp vs36, vs12, vs28
176 xvmaddadp vs37, vs13, vs28
177 xvmaddadp vs38, vs14, vs28
178 xvmaddadp vs39, vs15, vs28
183 xvmaddadp vs40, vs8, vs29
184 xvmaddadp vs41, vs9, vs29
185 xvmaddadp vs42, vs10, vs29
186 xvmaddadp vs43, vs11, vs29
191 xvmaddadp vs44, vs12, vs29
192 xvmaddadp vs45, vs13, vs29
193 xvmaddadp vs46, vs14, vs29
194 xvmaddadp vs47, vs15, vs29
198 xvmaddadp vs48, vs8, vs30
199 xvmaddadp vs49, vs9, vs30
200 xvmaddadp vs50, vs10, vs30
201 xvmaddadp vs51, vs11, vs30
206 xvmaddadp vs52, vs12, vs30
207 xvmaddadp vs53, vs13, vs30
208 xvmaddadp vs54, vs14, vs30
209 xvmaddadp vs55, vs15, vs30
214 xvmaddadp vs56, vs8, vs31
215 xvmaddadp vs57, vs9, vs31
216 xvmaddadp vs58, vs10, vs31
217 xvmaddadp vs59, vs11, vs31
222 xvmaddadp vs60, vs12, vs31
223 xvmaddadp vs61, vs13, vs31
224 xvmaddadp vs62, vs14, vs31
225 xvmaddadp vs63, vs15, vs31
235 xvmaddadp vs32, vs8, vs28
236 xvmaddadp vs33, vs9, vs28
237 xvmaddadp vs34, vs10, vs28
238 xvmaddadp vs35, vs11, vs28
239 xvmaddadp vs36, vs12, vs28
240 xvmaddadp vs37, vs13, vs28
241 xvmaddadp vs38, vs14, vs28
242 xvmaddadp vs39, vs15, vs28
244 xvmaddadp vs40, vs8, vs29
245 xvmaddadp vs41, vs9, vs29
246 xvmaddadp vs42, vs10, vs29
247 xvmaddadp vs43, vs11, vs29
248 xvmaddadp vs44, vs12, vs29
249 xvmaddadp vs45, vs13, vs29
250 xvmaddadp vs46, vs14, vs29
251 xvmaddadp vs47, vs15, vs29
253 xvmaddadp vs48, vs8, vs30
254 xvmaddadp vs49, vs9, vs30
255 xvmaddadp vs50, vs10, vs30
256 xvmaddadp vs51, vs11, vs30
257 xvmaddadp vs52, vs12, vs30
258 xvmaddadp vs53, vs13, vs30
259 xvmaddadp vs54, vs14, vs30
260 xvmaddadp vs55, vs15, vs30
262 xvmaddadp vs56, vs8, vs31
263 xvmaddadp vs57, vs9, vs31
264 xvmaddadp vs58, vs10, vs31
265 xvmaddadp vs59, vs11, vs31
266 xvmaddadp vs60, vs12, vs31
267 xvmaddadp vs61, vs13, vs31
268 xvmaddadp vs62, vs14, vs31
269 xvmaddadp vs63, vs15, vs31
273 .macro KERNEL4x16_SUBI1
296 xvmuldp vs32, vs0, vs24
297 xvmuldp vs33, vs1, vs24
298 xvmuldp vs34, vs2, vs24
299 xvmuldp vs35, vs3, vs24
300 xvmuldp vs36, vs4, vs24
301 xvmuldp vs37, vs5, vs24
302 xvmuldp vs38, vs6, vs24
303 xvmuldp vs39, vs7, vs24
305 xvmuldp vs40, vs0, vs25
306 xvmuldp vs41, vs1, vs25
307 xvmuldp vs42, vs2, vs25
308 xvmuldp vs43, vs3, vs25
309 xvmuldp vs44, vs4, vs25
310 xvmuldp vs45, vs5, vs25
311 xvmuldp vs46, vs6, vs25
312 xvmuldp vs47, vs7, vs25
314 xvmuldp vs48, vs0, vs26
315 xvmuldp vs49, vs1, vs26
316 xvmuldp vs50, vs2, vs26
317 xvmuldp vs51, vs3, vs26
318 xvmuldp vs52, vs4, vs26
319 xvmuldp vs53, vs5, vs26
320 xvmuldp vs54, vs6, vs26
321 xvmuldp vs55, vs7, vs26
323 xvmuldp vs56, vs0, vs27
324 xvmuldp vs57, vs1, vs27
325 xvmuldp vs58, vs2, vs27
326 xvmuldp vs59, vs3, vs27
327 xvmuldp vs60, vs4, vs27
328 xvmuldp vs61, vs5, vs27
329 xvmuldp vs62, vs6, vs27
330 xvmuldp vs63, vs7, vs27
334 .macro KERNEL4x16_SUB1
357 xvmaddadp vs32, vs0, vs24
358 xvmaddadp vs33, vs1, vs24
359 xvmaddadp vs34, vs2, vs24
360 xvmaddadp vs35, vs3, vs24
361 xvmaddadp vs36, vs4, vs24
362 xvmaddadp vs37, vs5, vs24
363 xvmaddadp vs38, vs6, vs24
364 xvmaddadp vs39, vs7, vs24
366 xvmaddadp vs40, vs0, vs25
367 xvmaddadp vs41, vs1, vs25
368 xvmaddadp vs42, vs2, vs25
369 xvmaddadp vs43, vs3, vs25
370 xvmaddadp vs44, vs4, vs25
371 xvmaddadp vs45, vs5, vs25
372 xvmaddadp vs46, vs6, vs25
373 xvmaddadp vs47, vs7, vs25
375 xvmaddadp vs48, vs0, vs26
376 xvmaddadp vs49, vs1, vs26
377 xvmaddadp vs50, vs2, vs26
378 xvmaddadp vs51, vs3, vs26
379 xvmaddadp vs52, vs4, vs26
380 xvmaddadp vs53, vs5, vs26
381 xvmaddadp vs54, vs6, vs26
382 xvmaddadp vs55, vs7, vs26
384 xvmaddadp vs56, vs0, vs27
385 xvmaddadp vs57, vs1, vs27
386 xvmaddadp vs58, vs2, vs27
387 xvmaddadp vs59, vs3, vs27
388 xvmaddadp vs60, vs4, vs27
389 xvmaddadp vs61, vs5, vs27
390 xvmaddadp vs62, vs6, vs27
391 xvmaddadp vs63, vs7, vs27
413 xvmaddadp vs0, vs32, alpha_r
414 xvmaddadp vs1, vs33, alpha_r
415 xvmaddadp vs2, vs34, alpha_r
416 xvmaddadp vs3, vs35, alpha_r
417 xvmaddadp vs4, vs36, alpha_r
418 xvmaddadp vs5, vs37, alpha_r
419 xvmaddadp vs6, vs38, alpha_r
420 xvmaddadp vs7, vs39, alpha_r
422 xvmuldp vs0, vs32, alpha_r
423 xvmuldp vs1, vs33, alpha_r
424 xvmuldp vs2, vs34, alpha_r
425 xvmuldp vs3, vs35, alpha_r
426 xvmuldp vs4, vs36, alpha_r
427 xvmuldp vs5, vs37, alpha_r
428 xvmuldp vs6, vs38, alpha_r
429 xvmuldp vs7, vs39, alpha_r
460 xvmaddadp vs8, vs40, alpha_r
461 xvmaddadp vs9, vs41, alpha_r
462 xvmaddadp vs10, vs42, alpha_r
463 xvmaddadp vs11, vs43, alpha_r
464 xvmaddadp vs12, vs44, alpha_r
465 xvmaddadp vs13, vs45, alpha_r
466 xvmaddadp vs14, vs46, alpha_r
467 xvmaddadp vs15, vs47, alpha_r
469 xvmuldp vs8, vs40, alpha_r
470 xvmuldp vs9, vs41, alpha_r
471 xvmuldp vs10, vs42, alpha_r
472 xvmuldp vs11, vs43, alpha_r
473 xvmuldp vs12, vs44, alpha_r
474 xvmuldp vs13, vs45, alpha_r
475 xvmuldp vs14, vs46, alpha_r
476 xvmuldp vs15, vs47, alpha_r
481 stxvd2x vs10, o32, T1
482 stxvd2x vs11, o48, T1
487 stxvd2x vs13, o16, T2
488 stxvd2x vs14, o32, T2
489 stxvd2x vs15, o48, T2
507 xvmaddadp vs0, vs48, alpha_r
508 xvmaddadp vs1, vs49, alpha_r
509 xvmaddadp vs2, vs50, alpha_r
510 xvmaddadp vs3, vs51, alpha_r
511 xvmaddadp vs4, vs52, alpha_r
512 xvmaddadp vs5, vs53, alpha_r
513 xvmaddadp vs6, vs54, alpha_r
514 xvmaddadp vs7, vs55, alpha_r
516 xvmuldp vs0, vs48, alpha_r
517 xvmuldp vs1, vs49, alpha_r
518 xvmuldp vs2, vs50, alpha_r
519 xvmuldp vs3, vs51, alpha_r
520 xvmuldp vs4, vs52, alpha_r
521 xvmuldp vs5, vs53, alpha_r
522 xvmuldp vs6, vs54, alpha_r
523 xvmuldp vs7, vs55, alpha_r
554 xvmaddadp vs8, vs56, alpha_r
555 xvmaddadp vs9, vs57, alpha_r
556 xvmaddadp vs10, vs58, alpha_r
557 xvmaddadp vs11, vs59, alpha_r
558 xvmaddadp vs12, vs60, alpha_r
559 xvmaddadp vs13, vs61, alpha_r
560 xvmaddadp vs14, vs62, alpha_r
561 xvmaddadp vs15, vs63, alpha_r
563 xvmuldp vs8, vs56, alpha_r
564 xvmuldp vs9, vs57, alpha_r
565 xvmuldp vs10, vs58, alpha_r
566 xvmuldp vs11, vs59, alpha_r
567 xvmuldp vs12, vs60, alpha_r
568 xvmuldp vs13, vs61, alpha_r
569 xvmuldp vs14, vs62, alpha_r
570 xvmuldp vs15, vs63, alpha_r
575 stxvd2x vs10, o32, T1
576 stxvd2x vs11, o48, T1
581 stxvd2x vs13, o16, T2
582 stxvd2x vs14, o32, T2
583 stxvd2x vs15, o48, T2
589 /*********************************************************************
590 * Macros for N=4, M=8 *
591 *********************************************************************/
614 xvmuldp vs32, vs0, vs24
615 xvmuldp vs33, vs1, vs24
616 xvmuldp vs34, vs2, vs24
617 xvmuldp vs35, vs3, vs24
622 xvmuldp vs40, vs0, vs25
623 xvmuldp vs41, vs1, vs25
628 xvmuldp vs42, vs2, vs25
629 xvmuldp vs43, vs3, vs25
631 xvmuldp vs48, vs0, vs26
632 xvmuldp vs49, vs1, vs26
637 xvmuldp vs50, vs2, vs26
638 xvmuldp vs51, vs3, vs26
643 xvmuldp vs56, vs0, vs27
644 xvmuldp vs57, vs1, vs27
645 xvmuldp vs58, vs2, vs27
646 xvmuldp vs59, vs3, vs27
655 xvmaddadp vs32, vs0, vs24
656 xvmaddadp vs33, vs1, vs24
657 xvmaddadp vs34, vs2, vs24
658 xvmaddadp vs35, vs3, vs24
663 xvmaddadp vs40, vs0, vs25
664 xvmaddadp vs41, vs1, vs25
665 xvmaddadp vs42, vs2, vs25
666 xvmaddadp vs43, vs3, vs25
671 xvmaddadp vs48, vs0, vs26
672 xvmaddadp vs49, vs1, vs26
677 xvmaddadp vs50, vs2, vs26
678 xvmaddadp vs51, vs3, vs26
683 xvmaddadp vs56, vs0, vs27
684 xvmaddadp vs57, vs1, vs27
685 xvmaddadp vs58, vs2, vs27
686 xvmaddadp vs59, vs3, vs27
695 xvmaddadp vs32, vs8, vs28
696 xvmaddadp vs33, vs9, vs28
697 xvmaddadp vs34, vs10, vs28
698 xvmaddadp vs35, vs11, vs28
703 xvmaddadp vs40, vs8, vs29
704 xvmaddadp vs41, vs9, vs29
705 xvmaddadp vs42, vs10, vs29
706 xvmaddadp vs43, vs11, vs29
711 xvmaddadp vs48, vs8, vs30
712 xvmaddadp vs49, vs9, vs30
717 xvmaddadp vs50, vs10, vs30
718 xvmaddadp vs51, vs11, vs30
723 xvmaddadp vs56, vs8, vs31
724 xvmaddadp vs57, vs9, vs31
725 xvmaddadp vs58, vs10, vs31
726 xvmaddadp vs59, vs11, vs31
736 xvmaddadp vs32, vs8, vs28
737 xvmaddadp vs33, vs9, vs28
738 xvmaddadp vs34, vs10, vs28
739 xvmaddadp vs35, vs11, vs28
741 xvmaddadp vs40, vs8, vs29
742 xvmaddadp vs41, vs9, vs29
743 xvmaddadp vs42, vs10, vs29
744 xvmaddadp vs43, vs11, vs29
746 xvmaddadp vs48, vs8, vs30
747 xvmaddadp vs49, vs9, vs30
748 xvmaddadp vs50, vs10, vs30
749 xvmaddadp vs51, vs11, vs30
751 xvmaddadp vs56, vs8, vs31
752 xvmaddadp vs57, vs9, vs31
753 xvmaddadp vs58, vs10, vs31
754 xvmaddadp vs59, vs11, vs31
758 .macro KERNEL4x8_SUBI1
774 xvmuldp vs32, vs0, vs24
775 xvmuldp vs33, vs1, vs24
776 xvmuldp vs34, vs2, vs24
777 xvmuldp vs35, vs3, vs24
779 xvmuldp vs40, vs0, vs25
780 xvmuldp vs41, vs1, vs25
781 xvmuldp vs42, vs2, vs25
782 xvmuldp vs43, vs3, vs25
784 xvmuldp vs48, vs0, vs26
785 xvmuldp vs49, vs1, vs26
786 xvmuldp vs50, vs2, vs26
787 xvmuldp vs51, vs3, vs26
789 xvmuldp vs56, vs0, vs27
790 xvmuldp vs57, vs1, vs27
791 xvmuldp vs58, vs2, vs27
792 xvmuldp vs59, vs3, vs27
796 .macro KERNEL4x8_SUB1
812 xvmaddadp vs32, vs0, vs24
813 xvmaddadp vs33, vs1, vs24
814 xvmaddadp vs34, vs2, vs24
815 xvmaddadp vs35, vs3, vs24
817 xvmaddadp vs40, vs0, vs25
818 xvmaddadp vs41, vs1, vs25
819 xvmaddadp vs42, vs2, vs25
820 xvmaddadp vs43, vs3, vs25
822 xvmaddadp vs48, vs0, vs26
823 xvmaddadp vs49, vs1, vs26
824 xvmaddadp vs50, vs2, vs26
825 xvmaddadp vs51, vs3, vs26
827 xvmaddadp vs56, vs0, vs27
828 xvmaddadp vs57, vs1, vs27
829 xvmaddadp vs58, vs2, vs27
830 xvmaddadp vs59, vs3, vs27
846 xvmaddadp vs0, vs32, alpha_r
847 xvmaddadp vs1, vs33, alpha_r
848 xvmaddadp vs2, vs34, alpha_r
849 xvmaddadp vs3, vs35, alpha_r
851 xvmuldp vs0, vs32, alpha_r
852 xvmuldp vs1, vs33, alpha_r
853 xvmuldp vs2, vs34, alpha_r
854 xvmuldp vs3, vs35, alpha_r
872 xvmaddadp vs8, vs40, alpha_r
873 xvmaddadp vs9, vs41, alpha_r
874 xvmaddadp vs10, vs42, alpha_r
875 xvmaddadp vs11, vs43, alpha_r
877 xvmuldp vs8, vs40, alpha_r
878 xvmuldp vs9, vs41, alpha_r
879 xvmuldp vs10, vs42, alpha_r
880 xvmuldp vs11, vs43, alpha_r
885 stxvd2x vs10, o32, T1
886 stxvd2x vs11, o48, T1
898 xvmaddadp vs0, vs48, alpha_r
899 xvmaddadp vs1, vs49, alpha_r
900 xvmaddadp vs2, vs50, alpha_r
901 xvmaddadp vs3, vs51, alpha_r
903 xvmuldp vs0, vs48, alpha_r
904 xvmuldp vs1, vs49, alpha_r
905 xvmuldp vs2, vs50, alpha_r
906 xvmuldp vs3, vs51, alpha_r
924 xvmaddadp vs8, vs56, alpha_r
925 xvmaddadp vs9, vs57, alpha_r
926 xvmaddadp vs10, vs58, alpha_r
927 xvmaddadp vs11, vs59, alpha_r
929 xvmuldp vs8, vs56, alpha_r
930 xvmuldp vs9, vs57, alpha_r
931 xvmuldp vs10, vs58, alpha_r
932 xvmuldp vs11, vs59, alpha_r
937 stxvd2x vs10, o32, T1
938 stxvd2x vs11, o48, T1
944 /*********************************************************************
945 * Macros for N=4, M=4 *
946 *********************************************************************/
977 xvmuldp vs32, vs0, vs24
978 xvmuldp vs33, vs1, vs24
980 xvmuldp vs40, vs0, vs25
981 xvmuldp vs41, vs1, vs25
983 xvmuldp vs48, vs0, vs26
984 xvmuldp vs49, vs1, vs26
986 xvmuldp vs56, vs0, vs27
987 xvmuldp vs57, vs1, vs27
1005 xvmaddadp vs32, vs0, vs24
1006 xvmaddadp vs33, vs1, vs24
1008 xvmaddadp vs40, vs0, vs25
1009 xvmaddadp vs41, vs1, vs25
1011 xvmaddadp vs48, vs0, vs26
1012 xvmaddadp vs49, vs1, vs26
1014 xvmaddadp vs56, vs0, vs27
1015 xvmaddadp vs57, vs1, vs27
1026 lxvdsx vs26, o16, BO
1027 lxvdsx vs27, o24, BO
1033 xvmaddadp vs32, vs8, vs28
1034 xvmaddadp vs33, vs9, vs28
1036 xvmaddadp vs40, vs8, vs29
1037 xvmaddadp vs41, vs9, vs29
1039 xvmaddadp vs48, vs8, vs30
1040 xvmaddadp vs49, vs9, vs30
1042 xvmaddadp vs56, vs8, vs31
1043 xvmaddadp vs57, vs9, vs31
1050 xvmaddadp vs32, vs8, vs28
1051 xvmaddadp vs33, vs9, vs28
1053 xvmaddadp vs40, vs8, vs29
1054 xvmaddadp vs41, vs9, vs29
1056 xvmaddadp vs48, vs8, vs30
1057 xvmaddadp vs49, vs9, vs30
1059 xvmaddadp vs56, vs8, vs31
1060 xvmaddadp vs57, vs9, vs31
1064 .macro KERNEL4x4_SUBI1
1071 lxvdsx vs26, o16, BO
1072 lxvdsx vs27, o24, BO
1078 xvmuldp vs32, vs0, vs24
1079 xvmuldp vs33, vs1, vs24
1081 xvmuldp vs40, vs0, vs25
1082 xvmuldp vs41, vs1, vs25
1084 xvmuldp vs48, vs0, vs26
1085 xvmuldp vs49, vs1, vs26
1087 xvmuldp vs56, vs0, vs27
1088 xvmuldp vs57, vs1, vs27
1092 .macro KERNEL4x4_SUB1
1099 lxvdsx vs26, o16, BO
1100 lxvdsx vs27, o24, BO
1106 xvmaddadp vs32, vs0, vs24
1107 xvmaddadp vs33, vs1, vs24
1109 xvmaddadp vs40, vs0, vs25
1110 xvmaddadp vs41, vs1, vs25
1112 xvmaddadp vs48, vs0, vs26
1113 xvmaddadp vs49, vs1, vs26
1115 xvmaddadp vs56, vs0, vs27
1116 xvmaddadp vs57, vs1, vs27
1130 xvmaddadp vs0, vs32, alpha_r
1131 xvmaddadp vs1, vs33, alpha_r
1133 xvmuldp vs0, vs32, alpha_r
1134 xvmuldp vs1, vs33, alpha_r
1138 stxvd2x vs1, o16, T1
1148 xvmaddadp vs8, vs40, alpha_r
1149 xvmaddadp vs9, vs41, alpha_r
1151 xvmuldp vs8, vs40, alpha_r
1152 xvmuldp vs9, vs41, alpha_r
1156 stxvd2x vs9, o16, T1
1166 xvmaddadp vs0, vs48, alpha_r
1167 xvmaddadp vs1, vs49, alpha_r
1169 xvmuldp vs0, vs48, alpha_r
1170 xvmuldp vs1, vs49, alpha_r
1174 stxvd2x vs1, o16, T1
1184 xvmaddadp vs8, vs56, alpha_r
1185 xvmaddadp vs9, vs57, alpha_r
1187 xvmuldp vs8, vs56, alpha_r
1188 xvmuldp vs9, vs57, alpha_r
1192 stxvd2x vs9, o16, T1
1198 /*********************************************************************
1199 * Macros for N=4, M=2 *
1200 *********************************************************************/
1208 lxvdsx vs26, o16, BO
1209 lxvdsx vs27, o24, BO
1222 lxvdsx vs30, o16, BO
1223 lxvdsx vs31, o24, BO
1229 xvmuldp vs32, vs0, vs24
1231 xvmuldp vs40, vs0, vs25
1233 xvmuldp vs48, vs0, vs26
1235 xvmuldp vs56, vs0, vs27
1245 lxvdsx vs30, o16, BO
1246 lxvdsx vs31, o24, BO
1252 xvmaddadp vs32, vs0, vs24
1254 xvmaddadp vs40, vs0, vs25
1256 xvmaddadp vs48, vs0, vs26
1258 xvmaddadp vs56, vs0, vs27
1268 lxvdsx vs26, o16, BO
1269 lxvdsx vs27, o24, BO
1275 xvmaddadp vs32, vs8, vs28
1277 xvmaddadp vs40, vs8, vs29
1279 xvmaddadp vs48, vs8, vs30
1281 xvmaddadp vs56, vs8, vs31
1288 xvmaddadp vs32, vs8, vs28
1290 xvmaddadp vs40, vs8, vs29
1292 xvmaddadp vs48, vs8, vs30
1294 xvmaddadp vs56, vs8, vs31
1298 .macro KERNEL4x2_SUBI1
1304 lxvdsx vs26, o16, BO
1305 lxvdsx vs27, o24, BO
1311 xvmuldp vs32, vs0, vs24
1313 xvmuldp vs40, vs0, vs25
1315 xvmuldp vs48, vs0, vs26
1317 xvmuldp vs56, vs0, vs27
1321 .macro KERNEL4x2_SUB1
1327 lxvdsx vs26, o16, BO
1328 lxvdsx vs27, o24, BO
1334 xvmaddadp vs32, vs0, vs24
1336 xvmaddadp vs40, vs0, vs25
1338 xvmaddadp vs48, vs0, vs26
1340 xvmaddadp vs56, vs0, vs27
1353 xvmaddadp vs0, vs32, alpha_r
1355 xvmuldp vs0, vs32, alpha_r
1367 xvmaddadp vs8, vs40, alpha_r
1369 xvmuldp vs8, vs40, alpha_r
1381 xvmaddadp vs0, vs48, alpha_r
1383 xvmuldp vs0, vs48, alpha_r
1395 xvmaddadp vs8, vs56, alpha_r
1397 xvmuldp vs8, vs56, alpha_r
1406 /*********************************************************************
1407 * Macros for N=4, M=1 *
1408 *********************************************************************/
1437 xsmuldp vs32, vs0, vs24
1439 xsmuldp vs40, vs0, vs25
1441 xsmuldp vs48, vs0, vs26
1443 xsmuldp vs56, vs0, vs27
1460 xsmaddadp vs32, vs0, vs24
1462 xsmaddadp vs40, vs0, vs25
1464 xsmaddadp vs48, vs0, vs26
1466 xsmaddadp vs56, vs0, vs27
1483 xsmaddadp vs32, vs8, vs28
1485 xsmaddadp vs40, vs8, vs29
1487 xsmaddadp vs48, vs8, vs30
1489 xsmaddadp vs56, vs8, vs31
1496 xsmaddadp vs32, vs8, vs28
1498 xsmaddadp vs40, vs8, vs29
1500 xsmaddadp vs48, vs8, vs30
1502 xsmaddadp vs56, vs8, vs31
1506 .macro KERNEL4x1_SUBI1
1519 xsmuldp vs32, vs0, vs24
1521 xsmuldp vs40, vs0, vs25
1523 xsmuldp vs48, vs0, vs26
1525 xsmuldp vs56, vs0, vs27
1529 .macro KERNEL4x1_SUB1
1542 xsmaddadp vs32, vs0, vs24
1544 xsmaddadp vs40, vs0, vs25
1546 xsmaddadp vs48, vs0, vs26
1548 xsmaddadp vs56, vs0, vs27
1561 xsmaddadp vs0, vs32, alpha_r
1563 xsmuldp vs0, vs32, alpha_r
1575 xsmaddadp vs8, vs40, alpha_r
1577 xsmuldp vs8, vs40, alpha_r
1589 xsmaddadp vs0, vs48, alpha_r
1591 xsmuldp vs0, vs48, alpha_r
1603 xsmaddadp vs8, vs56, alpha_r
1605 xsmuldp vs8, vs56, alpha_r
1614 /*********************************************************************
1615 * Macros for N=2, M=16 *
1616 *********************************************************************/
1640 .macro KERNEL2x16_I1
1644 lxvd2x vs10, o32, AO
1645 lxvd2x vs11, o48, AO
1654 lxvd2x vs13, o16, AO
1655 lxvd2x vs14, o32, AO
1656 lxvd2x vs15, o48, AO
1661 xvmuldp vs32, vs0, vs24
1662 xvmuldp vs33, vs1, vs24
1663 xvmuldp vs34, vs2, vs24
1664 xvmuldp vs35, vs3, vs24
1665 xvmuldp vs36, vs4, vs24
1666 xvmuldp vs37, vs5, vs24
1667 xvmuldp vs38, vs6, vs24
1668 xvmuldp vs39, vs7, vs24
1670 xvmuldp vs40, vs0, vs25
1671 xvmuldp vs41, vs1, vs25
1672 xvmuldp vs42, vs2, vs25
1673 xvmuldp vs43, vs3, vs25
1674 xvmuldp vs44, vs4, vs25
1675 xvmuldp vs45, vs5, vs25
1676 xvmuldp vs46, vs6, vs25
1677 xvmuldp vs47, vs7, vs25
1685 lxvd2x vs10, o32, AO
1686 lxvd2x vs11, o48, AO
1695 lxvd2x vs13, o16, AO
1696 lxvd2x vs14, o32, AO
1697 lxvd2x vs15, o48, AO
1702 xvmaddadp vs32, vs0, vs24
1703 xvmaddadp vs33, vs1, vs24
1704 xvmaddadp vs34, vs2, vs24
1705 xvmaddadp vs35, vs3, vs24
1706 xvmaddadp vs36, vs4, vs24
1707 xvmaddadp vs37, vs5, vs24
1708 xvmaddadp vs38, vs6, vs24
1709 xvmaddadp vs39, vs7, vs24
1711 xvmaddadp vs40, vs0, vs25
1712 xvmaddadp vs41, vs1, vs25
1713 xvmaddadp vs42, vs2, vs25
1714 xvmaddadp vs43, vs3, vs25
1715 xvmaddadp vs44, vs4, vs25
1716 xvmaddadp vs45, vs5, vs25
1717 xvmaddadp vs46, vs6, vs25
1718 xvmaddadp vs47, vs7, vs25
1743 xvmaddadp vs32, vs8, vs28
1744 xvmaddadp vs33, vs9, vs28
1745 xvmaddadp vs34, vs10, vs28
1746 xvmaddadp vs35, vs11, vs28
1747 xvmaddadp vs36, vs12, vs28
1748 xvmaddadp vs37, vs13, vs28
1749 xvmaddadp vs38, vs14, vs28
1750 xvmaddadp vs39, vs15, vs28
1752 xvmaddadp vs40, vs8, vs29
1753 xvmaddadp vs41, vs9, vs29
1754 xvmaddadp vs42, vs10, vs29
1755 xvmaddadp vs43, vs11, vs29
1756 xvmaddadp vs44, vs12, vs29
1757 xvmaddadp vs45, vs13, vs29
1758 xvmaddadp vs46, vs14, vs29
1759 xvmaddadp vs47, vs15, vs29
1763 .macro KERNEL2x16_E2
1766 xvmaddadp vs32, vs8, vs28
1767 xvmaddadp vs33, vs9, vs28
1768 xvmaddadp vs34, vs10, vs28
1769 xvmaddadp vs35, vs11, vs28
1770 xvmaddadp vs36, vs12, vs28
1771 xvmaddadp vs37, vs13, vs28
1772 xvmaddadp vs38, vs14, vs28
1773 xvmaddadp vs39, vs15, vs28
1775 xvmaddadp vs40, vs8, vs29
1776 xvmaddadp vs41, vs9, vs29
1777 xvmaddadp vs42, vs10, vs29
1778 xvmaddadp vs43, vs11, vs29
1779 xvmaddadp vs44, vs12, vs29
1780 xvmaddadp vs45, vs13, vs29
1781 xvmaddadp vs46, vs14, vs29
1782 xvmaddadp vs47, vs15, vs29
1786 .macro KERNEL2x16_SUBI1
1807 xvmuldp vs32, vs0, vs24
1808 xvmuldp vs33, vs1, vs24
1809 xvmuldp vs34, vs2, vs24
1810 xvmuldp vs35, vs3, vs24
1811 xvmuldp vs36, vs4, vs24
1812 xvmuldp vs37, vs5, vs24
1813 xvmuldp vs38, vs6, vs24
1814 xvmuldp vs39, vs7, vs24
1816 xvmuldp vs40, vs0, vs25
1817 xvmuldp vs41, vs1, vs25
1818 xvmuldp vs42, vs2, vs25
1819 xvmuldp vs43, vs3, vs25
1820 xvmuldp vs44, vs4, vs25
1821 xvmuldp vs45, vs5, vs25
1822 xvmuldp vs46, vs6, vs25
1823 xvmuldp vs47, vs7, vs25
1827 .macro KERNEL2x16_SUB1
1848 xvmaddadp vs32, vs0, vs24
1849 xvmaddadp vs33, vs1, vs24
1850 xvmaddadp vs34, vs2, vs24
1851 xvmaddadp vs35, vs3, vs24
1852 xvmaddadp vs36, vs4, vs24
1853 xvmaddadp vs37, vs5, vs24
1854 xvmaddadp vs38, vs6, vs24
1855 xvmaddadp vs39, vs7, vs24
1857 xvmaddadp vs40, vs0, vs25
1858 xvmaddadp vs41, vs1, vs25
1859 xvmaddadp vs42, vs2, vs25
1860 xvmaddadp vs43, vs3, vs25
1861 xvmaddadp vs44, vs4, vs25
1862 xvmaddadp vs45, vs5, vs25
1863 xvmaddadp vs46, vs6, vs25
1864 xvmaddadp vs47, vs7, vs25
1886 xvmaddadp vs0, vs32, alpha_r
1887 xvmaddadp vs1, vs33, alpha_r
1888 xvmaddadp vs2, vs34, alpha_r
1889 xvmaddadp vs3, vs35, alpha_r
1890 xvmaddadp vs4, vs36, alpha_r
1891 xvmaddadp vs5, vs37, alpha_r
1892 xvmaddadp vs6, vs38, alpha_r
1893 xvmaddadp vs7, vs39, alpha_r
1895 xvmuldp vs0, vs32, alpha_r
1896 xvmuldp vs1, vs33, alpha_r
1897 xvmuldp vs2, vs34, alpha_r
1898 xvmuldp vs3, vs35, alpha_r
1899 xvmuldp vs4, vs36, alpha_r
1900 xvmuldp vs5, vs37, alpha_r
1901 xvmuldp vs6, vs38, alpha_r
1902 xvmuldp vs7, vs39, alpha_r
1906 stxvd2x vs1, o16, T1
1907 stxvd2x vs2, o32, T1
1908 stxvd2x vs3, o48, T1
1911 stxvd2x vs5, o16, T2
1912 stxvd2x vs6, o32, T2
1913 stxvd2x vs7, o48, T2
1921 lxvd2x vs10, o32, T1
1922 lxvd2x vs11, o48, T1
1925 lxvd2x vs13, o16, T2
1926 lxvd2x vs14, o32, T2
1927 lxvd2x vs15, o48, T2
1931 xvmaddadp vs8, vs40, alpha_r
1932 xvmaddadp vs9, vs41, alpha_r
1933 xvmaddadp vs10, vs42, alpha_r
1934 xvmaddadp vs11, vs43, alpha_r
1935 xvmaddadp vs12, vs44, alpha_r
1936 xvmaddadp vs13, vs45, alpha_r
1937 xvmaddadp vs14, vs46, alpha_r
1938 xvmaddadp vs15, vs47, alpha_r
1940 xvmuldp vs8, vs40, alpha_r
1941 xvmuldp vs9, vs41, alpha_r
1942 xvmuldp vs10, vs42, alpha_r
1943 xvmuldp vs11, vs43, alpha_r
1944 xvmuldp vs12, vs44, alpha_r
1945 xvmuldp vs13, vs45, alpha_r
1946 xvmuldp vs14, vs46, alpha_r
1947 xvmuldp vs15, vs47, alpha_r
1951 stxvd2x vs9, o16, T1
1952 stxvd2x vs10, o32, T1
1953 stxvd2x vs11, o48, T1
1956 stxvd2x vs13, o16, T2
1957 stxvd2x vs14, o32, T2
1958 stxvd2x vs15, o48, T2
1964 /*********************************************************************
1965 * Macros for N=4, M=8 *
1966 *********************************************************************/
1987 lxvd2x vs10, o32, AO
1988 lxvd2x vs11, o48, AO
1997 xvmuldp vs32, vs0, vs24
1998 xvmuldp vs33, vs1, vs24
1999 xvmuldp vs34, vs2, vs24
2000 xvmuldp vs35, vs3, vs24
2002 xvmuldp vs40, vs0, vs25
2003 xvmuldp vs41, vs1, vs25
2004 xvmuldp vs42, vs2, vs25
2005 xvmuldp vs43, vs3, vs25
2013 lxvd2x vs10, o32, AO
2014 lxvd2x vs11, o48, AO
2023 xvmaddadp vs32, vs0, vs24
2024 xvmaddadp vs33, vs1, vs24
2025 xvmaddadp vs34, vs2, vs24
2026 xvmaddadp vs35, vs3, vs24
2028 xvmaddadp vs40, vs0, vs25
2029 xvmaddadp vs41, vs1, vs25
2030 xvmaddadp vs42, vs2, vs25
2031 xvmaddadp vs43, vs3, vs25
2049 xvmaddadp vs32, vs8, vs28
2050 xvmaddadp vs33, vs9, vs28
2051 xvmaddadp vs34, vs10, vs28
2052 xvmaddadp vs35, vs11, vs28
2054 xvmaddadp vs40, vs8, vs29
2055 xvmaddadp vs41, vs9, vs29
2056 xvmaddadp vs42, vs10, vs29
2057 xvmaddadp vs43, vs11, vs29
2064 xvmaddadp vs32, vs8, vs28
2065 xvmaddadp vs33, vs9, vs28
2066 xvmaddadp vs34, vs10, vs28
2067 xvmaddadp vs35, vs11, vs28
2069 xvmaddadp vs40, vs8, vs29
2070 xvmaddadp vs41, vs9, vs29
2071 xvmaddadp vs42, vs10, vs29
2072 xvmaddadp vs43, vs11, vs29
2076 .macro KERNEL2x8_SUBI1
2090 xvmuldp vs32, vs0, vs24
2091 xvmuldp vs33, vs1, vs24
2092 xvmuldp vs34, vs2, vs24
2093 xvmuldp vs35, vs3, vs24
2095 xvmuldp vs40, vs0, vs25
2096 xvmuldp vs41, vs1, vs25
2097 xvmuldp vs42, vs2, vs25
2098 xvmuldp vs43, vs3, vs25
2102 .macro KERNEL2x8_SUB1
2116 xvmaddadp vs32, vs0, vs24
2117 xvmaddadp vs33, vs1, vs24
2118 xvmaddadp vs34, vs2, vs24
2119 xvmaddadp vs35, vs3, vs24
2121 xvmaddadp vs40, vs0, vs25
2122 xvmaddadp vs41, vs1, vs25
2123 xvmaddadp vs42, vs2, vs25
2124 xvmaddadp vs43, vs3, vs25
2140 xvmaddadp vs0, vs32, alpha_r
2141 xvmaddadp vs1, vs33, alpha_r
2142 xvmaddadp vs2, vs34, alpha_r
2143 xvmaddadp vs3, vs35, alpha_r
2145 xvmuldp vs0, vs32, alpha_r
2146 xvmuldp vs1, vs33, alpha_r
2147 xvmuldp vs2, vs34, alpha_r
2148 xvmuldp vs3, vs35, alpha_r
2152 stxvd2x vs1, o16, T1
2153 stxvd2x vs2, o32, T1
2154 stxvd2x vs3, o48, T1
2161 lxvd2x vs10, o32, T1
2162 lxvd2x vs11, o48, T1
2166 xvmaddadp vs8, vs40, alpha_r
2167 xvmaddadp vs9, vs41, alpha_r
2168 xvmaddadp vs10, vs42, alpha_r
2169 xvmaddadp vs11, vs43, alpha_r
2171 xvmuldp vs8, vs40, alpha_r
2172 xvmuldp vs9, vs41, alpha_r
2173 xvmuldp vs10, vs42, alpha_r
2174 xvmuldp vs11, vs43, alpha_r
2178 stxvd2x vs9, o16, T1
2179 stxvd2x vs10, o32, T1
2180 stxvd2x vs11, o48, T1
2186 /*********************************************************************
2187 * Macros for N=2, M=4 *
2188 *********************************************************************/
2215 xvmuldp vs32, vs0, vs24
2216 xvmuldp vs33, vs1, vs24
2218 xvmuldp vs40, vs0, vs25
2219 xvmuldp vs41, vs1, vs25
2235 xvmaddadp vs32, vs0, vs24
2236 xvmaddadp vs33, vs1, vs24
2238 xvmaddadp vs40, vs0, vs25
2239 xvmaddadp vs41, vs1, vs25
2255 xvmaddadp vs32, vs8, vs28
2256 xvmaddadp vs33, vs9, vs28
2258 xvmaddadp vs40, vs8, vs29
2259 xvmaddadp vs41, vs9, vs29
2266 xvmaddadp vs32, vs8, vs28
2267 xvmaddadp vs33, vs9, vs28
2269 xvmaddadp vs40, vs8, vs29
2270 xvmaddadp vs41, vs9, vs29
2274 .macro KERNEL2x4_SUBI1
2286 xvmuldp vs32, vs0, vs24
2287 xvmuldp vs33, vs1, vs24
2289 xvmuldp vs40, vs0, vs25
2290 xvmuldp vs41, vs1, vs25
2294 .macro KERNEL2x4_SUB1
2306 xvmaddadp vs32, vs0, vs24
2307 xvmaddadp vs33, vs1, vs24
2309 xvmaddadp vs40, vs0, vs25
2310 xvmaddadp vs41, vs1, vs25
2324 xvmaddadp vs0, vs32, alpha_r
2325 xvmaddadp vs1, vs33, alpha_r
2327 xvmuldp vs0, vs32, alpha_r
2328 xvmuldp vs1, vs33, alpha_r
2332 stxvd2x vs1, o16, T1
2342 xvmaddadp vs8, vs40, alpha_r
2343 xvmaddadp vs9, vs41, alpha_r
2345 xvmuldp vs8, vs40, alpha_r
2346 xvmuldp vs9, vs41, alpha_r
2350 stxvd2x vs9, o16, T1
2356 /*********************************************************************
2357 * Macros for N=2, M=2 *
2358 *********************************************************************/
2383 xvmuldp vs32, vs0, vs24
2385 xvmuldp vs40, vs0, vs25
2400 xvmaddadp vs32, vs0, vs24
2402 xvmaddadp vs40, vs0, vs25
2417 xvmaddadp vs32, vs8, vs28
2419 xvmaddadp vs40, vs8, vs29
2426 xvmaddadp vs32, vs8, vs28
2428 xvmaddadp vs40, vs8, vs29
2432 .macro KERNEL2x2_SUBI1
2443 xvmuldp vs32, vs0, vs24
2445 xvmuldp vs40, vs0, vs25
2449 .macro KERNEL2x2_SUB1
2460 xvmaddadp vs32, vs0, vs24
2462 xvmaddadp vs40, vs0, vs25
2475 xvmaddadp vs0, vs32, alpha_r
2477 xvmuldp vs0, vs32, alpha_r
2489 xvmaddadp vs8, vs40, alpha_r
2491 xvmuldp vs8, vs40, alpha_r
2500 /*********************************************************************
2501 * Macros for N=2, M=1 *
2502 *********************************************************************/
2527 xsmuldp vs32, vs0, vs24
2529 xsmuldp vs40, vs0, vs25
2544 xsmaddadp vs32, vs0, vs24
2546 xsmaddadp vs40, vs0, vs25
2561 xsmaddadp vs32, vs8, vs28
2563 xsmaddadp vs40, vs8, vs29
2570 xsmaddadp vs32, vs8, vs28
2572 xsmaddadp vs40, vs8, vs29
2576 .macro KERNEL2x1_SUBI1
2587 xsmuldp vs32, vs0, vs24
2589 xsmuldp vs40, vs0, vs25
2593 .macro KERNEL2x1_SUB1
2604 xsmaddadp vs32, vs0, vs24
2606 xsmaddadp vs40, vs0, vs25
2619 xsmaddadp vs0, vs32, alpha_r
2621 xsmuldp vs0, vs32, alpha_r
2633 xsmaddadp vs8, vs40, alpha_r
2635 xsmuldp vs8, vs40, alpha_r
2644 /*********************************************************************
2645 * Macros for N=1, M=16 *
2646 *********************************************************************/
2669 .macro KERNEL1x16_I1
2673 lxvd2x vs10, o32, AO
2674 lxvd2x vs11, o48, AO
2682 lxvd2x vs13, o16, AO
2683 lxvd2x vs14, o32, AO
2684 lxvd2x vs15, o48, AO
2689 xvmuldp vs32, vs0, vs24
2690 xvmuldp vs33, vs1, vs24
2691 xvmuldp vs34, vs2, vs24
2692 xvmuldp vs35, vs3, vs24
2693 xvmuldp vs36, vs4, vs24
2694 xvmuldp vs37, vs5, vs24
2695 xvmuldp vs38, vs6, vs24
2696 xvmuldp vs39, vs7, vs24
2704 lxvd2x vs10, o32, AO
2705 lxvd2x vs11, o48, AO
2713 lxvd2x vs13, o16, AO
2714 lxvd2x vs14, o32, AO
2715 lxvd2x vs15, o48, AO
2720 xvmaddadp vs32, vs0, vs24
2721 xvmaddadp vs33, vs1, vs24
2722 xvmaddadp vs34, vs2, vs24
2723 xvmaddadp vs35, vs3, vs24
2724 xvmaddadp vs36, vs4, vs24
2725 xvmaddadp vs37, vs5, vs24
2726 xvmaddadp vs38, vs6, vs24
2727 xvmaddadp vs39, vs7, vs24
2751 xvmaddadp vs32, vs8, vs28
2752 xvmaddadp vs33, vs9, vs28
2753 xvmaddadp vs34, vs10, vs28
2754 xvmaddadp vs35, vs11, vs28
2755 xvmaddadp vs36, vs12, vs28
2756 xvmaddadp vs37, vs13, vs28
2757 xvmaddadp vs38, vs14, vs28
2758 xvmaddadp vs39, vs15, vs28
2762 .macro KERNEL1x16_E2
2765 xvmaddadp vs32, vs8, vs28
2766 xvmaddadp vs33, vs9, vs28
2767 xvmaddadp vs34, vs10, vs28
2768 xvmaddadp vs35, vs11, vs28
2769 xvmaddadp vs36, vs12, vs28
2770 xvmaddadp vs37, vs13, vs28
2771 xvmaddadp vs38, vs14, vs28
2772 xvmaddadp vs39, vs15, vs28
2776 .macro KERNEL1x16_SUBI1
2796 xvmuldp vs32, vs0, vs24
2797 xvmuldp vs33, vs1, vs24
2798 xvmuldp vs34, vs2, vs24
2799 xvmuldp vs35, vs3, vs24
2800 xvmuldp vs36, vs4, vs24
2801 xvmuldp vs37, vs5, vs24
2802 xvmuldp vs38, vs6, vs24
2803 xvmuldp vs39, vs7, vs24
2807 .macro KERNEL1x16_SUB1
2827 xvmaddadp vs32, vs0, vs24
2828 xvmaddadp vs33, vs1, vs24
2829 xvmaddadp vs34, vs2, vs24
2830 xvmaddadp vs35, vs3, vs24
2831 xvmaddadp vs36, vs4, vs24
2832 xvmaddadp vs37, vs5, vs24
2833 xvmaddadp vs38, vs6, vs24
2834 xvmaddadp vs39, vs7, vs24
2856 xvmaddadp vs0, vs32, alpha_r
2857 xvmaddadp vs1, vs33, alpha_r
2858 xvmaddadp vs2, vs34, alpha_r
2859 xvmaddadp vs3, vs35, alpha_r
2860 xvmaddadp vs4, vs36, alpha_r
2861 xvmaddadp vs5, vs37, alpha_r
2862 xvmaddadp vs6, vs38, alpha_r
2863 xvmaddadp vs7, vs39, alpha_r
2865 xvmuldp vs0, vs32, alpha_r
2866 xvmuldp vs1, vs33, alpha_r
2867 xvmuldp vs2, vs34, alpha_r
2868 xvmuldp vs3, vs35, alpha_r
2869 xvmuldp vs4, vs36, alpha_r
2870 xvmuldp vs5, vs37, alpha_r
2871 xvmuldp vs6, vs38, alpha_r
2872 xvmuldp vs7, vs39, alpha_r
2876 stxvd2x vs1, o16, T1
2877 stxvd2x vs2, o32, T1
2878 stxvd2x vs3, o48, T1
2881 stxvd2x vs5, o16, T2
2882 stxvd2x vs6, o32, T2
2883 stxvd2x vs7, o48, T2
2889 /*********************************************************************
2890 * Macros for N=4, M=8 *
2891 *********************************************************************/
2911 lxvd2x vs10, o32, AO
2912 lxvd2x vs11, o48, AO
2920 xvmuldp vs32, vs0, vs24
2921 xvmuldp vs33, vs1, vs24
2922 xvmuldp vs34, vs2, vs24
2923 xvmuldp vs35, vs3, vs24
2931 lxvd2x vs10, o32, AO
2932 lxvd2x vs11, o48, AO
2940 xvmaddadp vs32, vs0, vs24
2941 xvmaddadp vs33, vs1, vs24
2942 xvmaddadp vs34, vs2, vs24
2943 xvmaddadp vs35, vs3, vs24
2960 xvmaddadp vs32, vs8, vs28
2961 xvmaddadp vs33, vs9, vs28
2962 xvmaddadp vs34, vs10, vs28
2963 xvmaddadp vs35, vs11, vs28
2970 xvmaddadp vs32, vs8, vs28
2971 xvmaddadp vs33, vs9, vs28
2972 xvmaddadp vs34, vs10, vs28
2973 xvmaddadp vs35, vs11, vs28
2977 .macro KERNEL1x8_SUBI1
2990 xvmuldp vs32, vs0, vs24
2991 xvmuldp vs33, vs1, vs24
2992 xvmuldp vs34, vs2, vs24
2993 xvmuldp vs35, vs3, vs24
2997 .macro KERNEL1x8_SUB1
3010 xvmaddadp vs32, vs0, vs24
3011 xvmaddadp vs33, vs1, vs24
3012 xvmaddadp vs34, vs2, vs24
3013 xvmaddadp vs35, vs3, vs24
3029 xvmaddadp vs0, vs32, alpha_r
3030 xvmaddadp vs1, vs33, alpha_r
3031 xvmaddadp vs2, vs34, alpha_r
3032 xvmaddadp vs3, vs35, alpha_r
3034 xvmuldp vs0, vs32, alpha_r
3035 xvmuldp vs1, vs33, alpha_r
3036 xvmuldp vs2, vs34, alpha_r
3037 xvmuldp vs3, vs35, alpha_r
3041 stxvd2x vs1, o16, T1
3042 stxvd2x vs2, o32, T1
3043 stxvd2x vs3, o48, T1
3049 /*********************************************************************
3050 * Macros for N=1, M=4 *
3051 *********************************************************************/
3076 xvmuldp vs32, vs0, vs24
3077 xvmuldp vs33, vs1, vs24
3092 xvmaddadp vs32, vs0, vs24
3093 xvmaddadp vs33, vs1, vs24
3108 xvmaddadp vs32, vs8, vs28
3109 xvmaddadp vs33, vs9, vs28
3116 xvmaddadp vs32, vs8, vs28
3117 xvmaddadp vs33, vs9, vs28
3121 .macro KERNEL1x4_SUBI1
3132 xvmuldp vs32, vs0, vs24
3133 xvmuldp vs33, vs1, vs24
3137 .macro KERNEL1x4_SUB1
3148 xvmaddadp vs32, vs0, vs24
3149 xvmaddadp vs33, vs1, vs24
3163 xvmaddadp vs0, vs32, alpha_r
3164 xvmaddadp vs1, vs33, alpha_r
3166 xvmuldp vs0, vs32, alpha_r
3167 xvmuldp vs1, vs33, alpha_r
3171 stxvd2x vs1, o16, T1
3177 /*********************************************************************
3178 * Macros for N=1, M=2 *
3179 *********************************************************************/
3202 xvmuldp vs32, vs0, vs24
3216 xvmaddadp vs32, vs0, vs24
3230 xvmaddadp vs32, vs8, vs28
3237 xvmaddadp vs32, vs8, vs28
3241 .macro KERNEL1x2_SUBI1
3251 xvmuldp vs32, vs0, vs24
3255 .macro KERNEL1x2_SUB1
3265 xvmaddadp vs32, vs0, vs24
3278 xvmaddadp vs0, vs32, alpha_r
3280 xvmuldp vs0, vs32, alpha_r
3289 /*********************************************************************
3290 * Macros for N=1, M=1 *
3291 *********************************************************************/
3314 xsmuldp vs32, vs0, vs24
3328 xsmaddadp vs32, vs0, vs24
3342 xsmaddadp vs32, vs8, vs28
3349 xsmaddadp vs32, vs8, vs28
3353 .macro KERNEL1x1_SUBI1
3363 xsmuldp vs32, vs0, vs24
3367 .macro KERNEL1x1_SUB1
3377 xsmaddadp vs32, vs0, vs24
3390 xsmaddadp vs0, vs32, alpha_r
3392 xsmuldp vs0, vs32, alpha_r