1 /* { dg-do compile } */
2 /* { dg-require-effective-target powerpc_p8vector_ok } */
3 /* { dg-options "-mdejagnu-cpu=power8 -O2" } */
4 /* { dg-additional-options "-mbig" { target powerpc64le-*-* } } */
5
6 #include <altivec.h>
7
8 vector float
9 foo0 (vector float fa, vector float fb)
10 {
11 return vec_and (fa, fb);
12 }
13
14 vector float
15 foo1 (vector float fa, vector float fb)
16 {
17 return vec_cpsgn (fa, fb);
18 }
19
20 vector float
21 foo2 (vector float fa, vector float fb)
22 {
23 return vec_mergeh (fa, fb);
24 }
25
26 vector float
27 foo3 (vector float fa, vector float fb)
28 {
29 return vec_mergel (fa, fb);
30 }
31
32 vector double
33 foo4 (vector double da, vector double db)
34 {
35 return vec_and (da, db);
36 }
37
38 vector long long
39 foo5 (vector long long la, vector long long lb)
40 {
41 return vec_and (la, lb);
42 }
43
44 vector long long
45 foo6 (vector long long la, vector bool long long ld)
46 {
47 return vec_and (la, ld);
48 }
49
50 vector long long
51 foo7 (vector bool long long ld, vector long long lb)
52 {
53 return vec_and (ld, lb);
54 }
55
56 vector unsigned long long
57 foo8 (vector unsigned long long ua, vector unsigned long long ub)
58 {
59 return vec_and (ua, ub);
60 }
61
62 vector unsigned long long
63 foo9 (vector unsigned long long ua, vector bool long long ud)
64 {
65 return vec_and (ua, ud);
66 }
67
68 vector unsigned long long
69 foo10 (vector bool long long ud, vector unsigned long long ub)
70 {
71 return vec_and (ud, ub);
72 }
73
74 vector long long
75 foo11 (vector long long la, vector long long lb)
76 {
77 return vec_andc (la, lb);
78 }
79
80 vector long long
81 foo12 (vector long long la, vector bool long long ld)
82 {
83 return vec_andc (la, ld);
84 }
85
86 vector long long
87 foo13 (vector bool long long ld, vector long long lb)
88 {
89 return vec_andc (ld, lb);
90 }
91
92 vector unsigned long long
93 foo14 (vector unsigned long long ua, vector unsigned long long ub)
94 {
95 return vec_andc (ua, ub);
96 }
97
98 vector unsigned long long
99 foo15 (vector unsigned long long ua, vector bool long long ud)
100 {
101 return vec_andc (ua, ud);
102 }
103
104 vector unsigned long long
105 foo16 (vector bool long long ud, vector unsigned long long ub)
106 {
107 return vec_andc (ud, ub);
108 }
109
110 vector double
111 foo17 (vector double de, vector double df)
112 {
113 return vec_cpsgn (de, df);
114 }
115
116 vector double
117 foo18 (vector double de, vector double df)
118 {
119 return vec_mergeh (de, df);
120 }
121
122 vector double
123 foo19 (vector double de, vector double df)
124 {
125 return vec_mergel (de, df);
126 }
127
128 vector long long
129 foo20 (vector long long la, vector long long lb)
130 {
131 return vec_mergeh (la, lb);
132 }
133
134 vector long long
135 foo21 (vector long long la, vector bool long long ld)
136 {
137 return vec_mergeh (la, ld);
138 }
139
140 vector long long
141 foo22 (vector bool long long ld, vector long long lb)
142 {
143 return vec_mergeh (ld, lb);
144 }
145
146 vector unsigned long long
147 foo23 (vector unsigned long long ua, vector unsigned long long ub)
148 {
149 return vec_mergeh (ua, ub);
150 }
151
152 vector unsigned long long
153 foo24 (vector unsigned long long ua, vector bool long long ud)
154 {
155 return vec_mergeh (ua, ud);
156 }
157
158 vector unsigned long long
159 foo25 (vector bool long long ud, vector unsigned long long ub)
160 {
161 return vec_mergeh (ud, ub);
162 }
163
164 vector pixel
165 foo26 (vector pixel pa, vector pixel pb)
166 {
167 return vec_mergeh (pa, pb);
168 }
169
170 vector pixel
171 foo27 (vector pixel pa, vector pixel pb)
172 {
173 return vec_mergel (pa, pb);
174 }
175
176 vector long long
177 foo28 (vector long long la, vector long long lb)
178 {
179 return vec_mergel (la, lb);
180 }
181
182 vector long long
183 foo29 (vector long long la, vector bool long long ld)
184 {
185 return vec_mergel (la, ld);
186 }
187
188 vector long long
189 foo30 (vector bool long long ld, vector long long lb)
190 {
191 return vec_mergel (ld, lb);
192 }
193
194 vector unsigned long long
195 foo31 (vector unsigned long long ua, vector unsigned long long ub)
196 {
197 return vec_mergel (ua, ub);
198 }
199
200 vector unsigned long long
201 foo32 (vector unsigned long long ua, vector bool long long ud)
202 {
203 return vec_mergel (ua, ud);
204 }
205
206 vector unsigned long long
207 foo33 (vector bool long long ud, vector unsigned long long ub)
208 {
209 return vec_mergel (ud, ub);
210 }
211
212 vector long long
213 foo34 (vector long long la, vector long long lb)
214 {
215 return vec_nor (la, lb);
216 }
217
218 vector long long
219 foo35 (vector long long la, vector bool long long ld)
220 {
221 return vec_nor (la, ld);
222 }
223
224 vector long long
225 foo36 (vector bool long long ld, vector long long lb)
226 {
227 return vec_nor (ld, lb);
228 }
229
230 vector unsigned long long
231 foo37 (vector unsigned long long ua, vector unsigned long long ub)
232 {
233 return vec_nor (ua, ub);
234 }
235
236 vector unsigned long long
237 foo38 (vector unsigned long long ua, vector bool long long ud)
238 {
239 return vec_nor (ua, ud);
240 }
241
242 vector unsigned long long
243 foo39 (vector bool long long ud, vector unsigned long long ub)
244 {
245 return vec_nor (ud, ub);
246 }
247
248 vector long long
249 foo40 (vector long long la, vector long long lb, vector unsigned char ca)
250 {
251 return vec_perm (la, lb, ca);
252 }
253
254 vector unsigned char
255 foo41 (vector unsigned char ca, vector unsigned char cbb)
256 {
257 return vec_and (ca, cbb);
258 }
259
260 vector unsigned char
261 foo42 (vector unsigned char ca, vector unsigned char cbb)
262 {
263 return vec_andc (ca, cbb);
264 }
265
266 vector unsigned char
267 foo43 (vector unsigned char ca, vector unsigned char cbb)
268 {
269 return vec_mergel (ca, cbb);
270 }
271
272 vector unsigned long long
273 foo44 (vector unsigned long long ua, vector unsigned long long ub,
274 vector unsigned char ca)
275 {
276 return vec_perm (ua, ub, ca);
277 }
278
279 vector long long
280 foo45 (vector long long la, vector long long lb, vector unsigned long long uc)
281 {
282 return vec_sel (la, lb, uc);
283 }
284
285 vector long long
286 foo46 (vector long long la, vector long long lb, vector bool long long ld)
287 {
288 return vec_sel (la, lb, ld);
289 }
290
291 vector unsigned long long
292 foo47 (vector unsigned long long ua, vector unsigned long long ub,
293 vector long long lc)
294 {
295 return vec_sel (ua, ub, lc);
296 }
297
298 vector unsigned long long
299 foo48 (vector unsigned long long ua, vector unsigned long long ub,
300 vector unsigned long long uc)
301 {
302 return vec_sel (ua, ub, uc);
303 }
304
305 vector unsigned long long
306 foo49 (vector unsigned long long ua, vector unsigned long long ub,
307 vector bool long long ld)
308 {
309 return vec_sel (ua, ub, ld);
310 }
311
312 vector long long
313 foo50 (vector long long la, vector long long lb)
314 {
315 return vec_xor (la, lb);
316 }
317
318 vector long long
319 foo51 (vector long long la, vector bool long long ld)
320 {
321 return vec_xor (la, ld);
322 }
323
324 vector long long
325 foo52 (vector bool long long ld, vector long long la)
326 {
327 return vec_xor (ld, la);
328 }
329
330 vector unsigned long long
331 foo53 (vector unsigned long long ua, vector unsigned long long ub)
332 {
333 return vec_xor (ua, ub);
334 }
335
336 vector unsigned long long
337 foo54 (vector unsigned long long ua, vector bool long long ud)
338 {
339 return vec_xor (ua, ud);
340 }
341
342 vector unsigned long long
343 foo55 (vector bool long long ud, vector unsigned long long ua)
344 {
345 return vec_xor (ud, ua);
346 }
347
348 int
349 foo56 (vector unsigned long long ua, vector unsigned long long ub)
350 {
351 return vec_all_eq (ua, ub);
352 }
353
354 int
355 foo57 (vector unsigned long long ua, vector unsigned long long ub)
356 {
357 return vec_all_ge (ua, ub);
358 }
359
360 int
361 foo58 (vector unsigned long long ua, vector unsigned long long ub)
362 {
363 return vec_all_gt (ua, ub);
364 }
365
366 int
367 foo59 (vector unsigned long long ua, vector unsigned long long ub)
368 {
369 return vec_all_le (ua, ub);
370 }
371
372 int
373 foo60 (vector unsigned long long ua, vector unsigned long long ub)
374 {
375 return vec_all_lt (ua, ub);
376 }
377
378 int
379 foo61 (vector unsigned long long ua, vector unsigned long long ub)
380 {
381 return vec_all_ne (ua, ub);
382 }
383
384 int
385 foo62 (vector unsigned long long ua, vector unsigned long long ub)
386 {
387 return vec_any_eq (ua, ub);
388 }
389
390 int
391 foo63 (vector unsigned long long ua, vector unsigned long long ub)
392 {
393 return vec_any_ge (ua, ub);
394 }
395
396 int
397 foo64 (vector unsigned long long ua, vector unsigned long long ub)
398 {
399 return vec_any_gt (ua, ub);
400 }
401
402 int
403 foo65 (vector unsigned long long ua, vector unsigned long long ub)
404 {
405 return vec_any_le (ua, ub);
406 }
407
408 int
409 foo66 (vector unsigned long long ua, vector unsigned long long ub)
410 {
411 return vec_any_lt (ua, ub);
412 }
413
414 int
415 foo67 (vector unsigned long long ua, vector unsigned long long ub)
416 {
417 return vec_any_ne (ua, ub);
418 }
419
420 vector short
421 foo68 (vector short ssa, vector short ssb)
422 {
423 return vec_and (ssa, ssb);
424 }
425
426 vector short
427 foo69 (vector short ssa, vector short ssb)
428 {
429 return vec_mergeh (ssa, ssb);
430 }
431
432 vector short
433 foo70 (vector short ssa, vector short ssb)
434 {
435 return vec_mergel (ssa, ssb);
436 }
437
438 vector int
439 foo71 (vector int sia, vector int sib)
440 {
441 return vec_and (sia, sib);
442 }
443
444 vector int
445 foo72 (vector int sia, vector int sib)
446 {
447 return vec_andc (sia, sib);
448 }
449
450 vector int
451 foo73 (vector int sia, vector int sib)
452 {
453 return vec_mergel (sia, sib);
454 }
455
456 vector unsigned int
457 foo74 (vector unsigned int uia, vector unsigned int uib)
458 {
459 return vec_and (uia, uib);
460 }
461
462 vector unsigned int
463 foo75 (vector unsigned int uia, vector unsigned int uib)
464 {
465 return vec_andc (uia, uib);
466 }
467
468 vector unsigned int
469 foo76 (vector unsigned int uia, vector unsigned int uib)
470 {
471 return vec_mergel (uia, uib);
472 }
473
474 vector bool char
475 foo77 (vector bool char bca, vector bool char bcb)
476 {
477 return vec_and (bca, bcb);
478 }
479
480 vector bool char
481 foo78 (vector bool char bca, vector bool char bcb)
482 {
483 return vec_andc (bca, bcb);
484 }
485
486 vector bool char
487 foo79 (vector bool char bca, vector bool char bcb)
488 {
489 return vec_mergel (bca, bcb);
490 }
491
492 vector bool short
493 foo80 (vector bool short bsa, vector bool short bsb)
494 {
495 return vec_and (bsa, bsb);
496 }
497
498 vector bool short
499 foo81 (vector bool short bsa, vector bool short bsb)
500 {
501 return vec_andc (bsa, bsb);
502 }
503
504 vector bool short
505 foo82 (vector bool short bsa, vector bool short bsb)
506 {
507 return vec_mergel (bsa, bsb);
508 }
509
510 vector bool int
511 foo83 (vector bool int bia, vector bool int bib)
512 {
513 return vec_and (bia, bib);
514 }
515
516 vector bool int
517 foo84 (vector bool int bia, vector bool int bib)
518 {
519 return vec_andc (bia, bib);
520 }
521
522 vector bool int
523 foo85 (vector bool int bia, vector bool int bib)
524 {
525 return vec_mergel (bia, bib);
526 }
527
528 vector unsigned int
529 foo86 (vector unsigned long long ua, vector unsigned long long ub)
530 {
531 return vec_packsu (ua, ub);
532 }
533
534 vector long long
535 foo87 (vector long long la)
536 {
537 return vec_cntlz (la);
538 }
539
540 vector unsigned long long
541 foo88 (vector unsigned long long ua)
542 {
543 return vec_cntlz (ua);
544 }
545
546 vector int
547 foo89 (vector int sia)
548 {
549 return vec_cntlz (sia);
550 }
551
552 vector unsigned int
553 foo90 (vector unsigned int uia)
554 {
555 return vec_cntlz (uia);
556 }
557
558 vector short
559 foo91 (vector short ssa)
560 {
561 return vec_cntlz (ssa);
562 }
563
564 vector unsigned short
565 foo92 (vector unsigned short usa, vector unsigned short usb)
566 {
567 return vec_and (usa, usb);
568 }
569
570 vector unsigned short
571 foo93 (vector unsigned short usa, vector unsigned short usb)
572 {
573 return vec_andc (usa, usb);
574 }
575
576 vector unsigned short
577 foo94 (vector unsigned short usa)
578 {
579 return vec_cntlz (usa);
580 }
581
582 vector unsigned short
583 foo95 (vector unsigned short usa, vector unsigned short usb)
584 {
585 return vec_mergeh (usa, usb);
586 }
587
588 vector unsigned short
589 foo96 (vector unsigned short usa, vector unsigned short usb)
590 {
591 return vec_mergel (usa, usb);
592 }
593
594 vector signed char
595 foo97 (vector signed char sca)
596 {
597 return vec_cntlz (sca);
598 }
599
600 vector signed char
601 foo98 (vector signed char sca, vector signed char scb)
602 {
603 return vec_mergel (sca, scb);
604 }
605
606 vector unsigned char
607 foo99 (vector unsigned char ca)
608 {
609 return vec_cntlz (ca);
610 }
611
612 vector double
613 foo100 (vector double *y)
614 {
615 return vec_xl (0, y);
616 }
617
618 void
619 foo101 (vector double dd, vector double *z)
620 {
621 vec_xst (dd, 0, z);
622 }
623
624 vector double
625 foo102 (vector double dd)
626 {
627 return vec_round (dd);
628 }
629
630 vector double
631 foo103 (vector double dd)
632 {
633 return vec_rsqrt (dd);
634 }
635
636 vector double
637 foo104 (vector double dd)
638 {
639 return vec_rsqrte (dd);
640 }
641
642 vector float
643 foo105 (vector float fa)
644 {
645 return vec_round (fa);
646 }
647
648 vector float
649 foo106 (vector float fa)
650 {
651 return vec_rsqrt (fa);
652 }
653
654 vector float
655 foo107 (vector float fa)
656 {
657 return vec_rsqrte (fa);
658 }
659
660 vector double
661 foo108 (vector double de)
662 {
663 return vec_splat (de, 0);
664 }
665
666 vector double
667 foo109 (vector double de)
668 {
669 return vec_splat (de, 1);
670 }
671
672 vector long long
673 foo110 (vector long long l2)
674 {
675 return vec_splat (l2, 0);
676 }
677
678 vector long long
679 foo111 (vector long long l2)
680 {
681 return vec_splat (l2, 1);
682 }
683
684 vector unsigned long long
685 foo112 (vector unsigned long long u2)
686 {
687 return vec_splat (u2, 0);
688 }
689
690 vector unsigned long long
691 foo113 (vector unsigned long long u2)
692 {
693 return vec_splat (u2, 1);
694 }
695
696 vector bool long long
697 foo114 (vector bool long long ld)
698 {
699 return vec_splat (ld, 0);
700 }
701
702 vector bool long long
703 foo115 (vector bool long long ld)
704 {
705 return vec_splat (ld, 1);
706 }
707
708 vector bool long long
709 foo116 (vector bool long long la, vector bool long long lb)
710 {
711 return vec_mergee (la, lb);
712 }
713
714 vector bool long long
715 foo117 (vector bool long long la, vector bool long long lb)
716 {
717 return vec_mergeo (la, lb);
718 }
719
720 vector bool long long
721 foo118 (vector bool long long la, vector bool long long lb)
722 {
723 return vec_and (la, lb);
724 }
725
726 vector long long
727 foo119 (vector long long l3, vector long long l4)
728 {
729 return vec_div (l3, l4);
730 }
731
732 vector unsigned long long
733 foo120 (vector unsigned long long u3, vector unsigned long long u4)
734 {
735 return vec_div (u3, u4);
736 }
737
738 vector long long
739 foo121 (vector long long la, vector long long lb)
740 {
741 return vec_mergee (la, lb);
742 }
743
744 vector long long
745 foo122 (vector long long la, vector long long lb)
746 {
747 return vec_mergeo (la, lb);
748 }
749
750 vector unsigned long long
751 foo123 (vector unsigned long long u3, vector unsigned long long u4)
752 {
753 return vec_mergee (u3, u4);
754 }
755
756 vector unsigned long long
757 foo124 (vector unsigned long long u3, vector unsigned long long u4)
758 {
759 return vec_mergeo (u3, u4);
760 }
761
762 vector long long
763 foo125 (vector long long l3, vector long long l4)
764 {
765 return vec_mul (l3, l4);
766 }
767
768 vector unsigned long long
769 foo126 (vector unsigned long long u3, vector unsigned long long u4)
770 {
771 return vec_mul (u3, u4);
772 }
773
774 vector int
775 foo127 (vector float fa)
776 {
777 return vec_cts (fa, 0x1F);
778 }
779
780 vector unsigned int
781 foo128 (vector float fa)
782 {
783 return vec_ctu (fa, 0x1F);
784 }
785
786 vector float
787 foo129 (vector float fa, vector float fb)
788 {
789 return vec_mergee (fa, fb);
790 }
791
792 vector float
793 foo130 (vector float fa, vector float fb)
794 {
795 return vec_mergeo (fa, fb);
796 }
797
798 vector double
799 foo131 (vector double da, vector double db)
800 {
801 return vec_mergee (da, db);
802 }
803
804 vector double
805 foo132 (vector double da, vector double db)
806 {
807 return vec_mergeo (da, db);
808 }
809
810 vector float
811 foo133 (vector signed int si_a)
812 {
813 return vec_ctf (si_a, 1);
814 }
815
816 vector float
817 foo134 (vector unsigned int ui_a)
818 {
819 return vec_ctf (ui_a, 2);
820 }
821
822 vector bool char
823 foo135 (vector bool char bca)
824 {
825 return vec_splat (bca, 0);
826 }
827
828 vector signed char
829 foo136 (vector signed char sca)
830 {
831 return vec_splat (sca, 1);
832 }
833
834 vector unsigned char
835 foo137 (vector unsigned char ucbc)
836 {
837 return vec_splat (ucbc, 2);
838 }
839
840 vector bool int
841 foo138 (vector bool int bia)
842 {
843 return vec_splat (bia, 3);
844 }
845
846 vector signed int
847 foo139 (vector signed int sia)
848 {
849 return vec_splat (sia, 1);
850 }
851
852 vector unsigned int
853 foo140 (vector unsigned int uia)
854 {
855 return vec_splat (uia, 2);
856 }
857
858 vector bool int
859 foo141 (vector bool int bia, vector bool int bib)
860 {
861 return vec_mergee (bia, bib);
862 }
863
864 vector signed int
865 foo142 (vector signed int sia, vector signed int sib)
866 {
867 return vec_mergee (sia, sib);
868 }
869
870 vector unsigned int
871 foo143 (vector unsigned int uia, vector unsigned int uib)
872 {
873 return vec_mergee (uia, uib);
874 }
875
876 vector bool char
877 foo144 (vector bool char bca, vector bool char bcb)
878 {
879 return vec_mergeh (bca, bcb);
880 }
881
882 vector signed char
883 foo145 (vector signed char sca, vector signed char scb)
884 {
885 return vec_mergeh (sca, scb);
886 }
887
888 vector bool int
889 foo146 (vector bool int bia, vector bool int bib)
890 {
891 return vec_mergeh (bia, bib);
892 }
893
894 vector signed int
895 foo147 (vector signed int sia, vector signed int sib)
896 {
897 return vec_mergeh (sia, sib);
898 }
899
900 vector unsigned int
901 foo148 (vector unsigned int uia, vector unsigned int uib)
902 {
903 return vec_mergeh (uia, uib);
904 }
905
906 vector bool short
907 foo149 (vector bool short bsa, vector bool short bsb)
908 {
909 return vec_mergeh (bsa, bsb);
910 }
911
912 vector bool int
913 foo150 (vector bool int bia, vector bool int bib)
914 {
915 return vec_mergeo (bia, bib);
916 }
917
918 vector signed int
919 foo151 (vector signed int sia, vector signed int sib)
920 {
921 return vec_mergeo (sia, sib);
922 }
923
924 vector unsigned int
925 foo152 (vector unsigned int uia, vector unsigned int uib)
926 {
927 return vec_mergeo (uia, uib);
928 }
929
930 vector pixel
931 foo153 (vector pixel pa)
932 {
933 return vec_splat (pa, 1);
934 }
935
936 vector bool short
937 foo154 (vector bool short bsa)
938 {
939 return vec_splat (bsa, 0);
940 }
941
942 vector signed short
943 foo155 (vector signed short ssa)
944 {
945 return vec_splat (ssa, 2);
946 }
947
948 vector unsigned short
949 foo156 (vector unsigned short usa)
950 {
951 return vec_splat (usa, 1);
952 }
953
954 /* Expected results:
955 vec_all_eq vcmpequd.
956 vec_all_ge vcmpgtud.
957 vec_all_ne vcmpequd.
958 vec_any_eq vcmpequd.
959 vec_any_ne vcmpequd.
960 vec_all_gt vcmpgtud.
961 vec_all_le vcmpgtud.
962 vec_all_lt vcmpgtud.
963 vec_any_ge vcmpgtud.
964 vec_any_gt vcmpgtud.
965 vec_any_lt vcmpgtud.
966 vec_any_le vcmpgtud.
967 vec_and xxland
968 vec_andc xxlandc
969 vec_cntlz vclzd, vclzb, vclzw, vclzh
970 vec_cpsgn xvcpsgnsp, xvcpsgndp
971 vec_ctf vcfux, vcfsx
972 vec_cts vctsxs
973 vec_ctu vctuxs
974 vec_div divd, divdu | __divdi3, __udivdi3
975 vec_mergel vmrglb, vmrglh, xxmrglw, xxpermdi
976 vec_mergeh xxmrghw, vmrghh, vmrghb, xxpermdi
977 vec_mul mulld | mullw, mulhwu
978 vec_nor xxlnor
979 vec_packsu vpkudus
980 vec_perm vperm
981 vec_round xvrdpi
982 vec_sel xxsel
983 vec_xor xxlxor
984 vec_rsqrt xvrsqrtesp, xvrsqrtedp
985 vec_rsqrte xvrsqrtesp, xvrsqrtedp
986 vec_xl lxvd2x
987 vec_xst stxvd2x
988 vec_splat xxspltb | vspltb, xxspltw | vspltw, xxsplth | vsplth,
989 xxpermdi
990 vec_mergee xxpermdi, vmrgew
991 vec_mergeo xxpermdi, vmrgow */
992
993 /* { dg-final { scan-assembler-times {\mvcmpequd\.} 4 } } */
994 /* { dg-final { scan-assembler-times {\mvcmpgtud\.} 8 } } */
995 /* { dg-final { scan-assembler-times {\mxxland\M} 17 } } */
996 /* { dg-final { scan-assembler-times {\mxxlandc\M} 13 } } */
997 /* { dg-final { scan-assembler-times {\mvclzb\M} 2 } } */
998 /* { dg-final { scan-assembler-times {\mvclzd\M} 2 } } */
999 /* { dg-final { scan-assembler-times {\mvclzw\M} 2 } } */
1000 /* { dg-final { scan-assembler-times {\mvclzh\M} 2 } } */
1001 /* { dg-final { scan-assembler-times {\mxvcpsgnsp\M} 1 } } */
1002 /* { dg-final { scan-assembler-times {\mxvcpsgndp\M} 1 } } */
1003 /* { dg-final { scan-assembler-times {\mvcfsx\M} 1 } } */
1004 /* { dg-final { scan-assembler-times {\mvcfux\M} 1 } } */
1005 /* { dg-final { scan-assembler-times {\mvctsxs\M} 1 } } */
1006 /* { dg-final { scan-assembler-times {\mvctuxs\M} 1 } } */
1007
1008 /* { dg-final { scan-assembler-times {\mvmrghb\M} 2 } } */
1009 /* { dg-final { scan-assembler-times {\mvmrghh\M} 4 } } */
1010 /* { dg-final { scan-assembler-times {\mxxmrghw\M} 4 } } */
1011 /* { dg-final { scan-assembler-times {\mxxmrglw\M} 4 } } */
1012 /* { dg-final { scan-assembler-times {\mvmrglh\M} 4 } } */
1013 /* { dg-final { scan-assembler-times {\mxxlnor\M} 6 } } */
1014 /* { dg-final { scan-assembler-times {\mvpkudus\M} 1 } } */
1015 /* { dg-final { scan-assembler-times {\mvperm\M} 2 } } */
1016 /* { dg-final { scan-assembler-times {\mxvrdpi\M} 1 } } */
1017 /* { dg-final { scan-assembler-times {\mvrfin\M} 1 } } */
1018 /* { dg-final { scan-assembler-times {\mxxsel\M} 5 } } */
1019 /* { dg-final { scan-assembler-times {\mxxlxor\M} 6 } } */
1020 /* { dg-final { scan-assembler-times {\mdivd\M} 2 { target lp64 } } } */
1021 /* { dg-final { scan-assembler-times {\mdivdu\M} 2 { target lp64 } } } */
1022 /* { dg-final { scan-assembler-times {\mmulld\M} 4 { target lp64 } } } */
1023 /* check for .__divdi3 (AIX), __divdi3 (Linux) and ___divdi3 (Darwin) */
1024 /* { dg-final { scan-assembler-times {\mbl \.?_?__divdi3\M} 2 { target { ilp32 } } } } */
1025 /* check for both .__udivdi3 (AIX), __udivdi3 (Linux) and ___udivdi3 (Darwin) */
1026 /* { dg-final { scan-assembler-times {\mbl \.?_?__udivdi3\M} 2 { target { ilp32 } } } } */
1027 /* { dg-final { scan-assembler-times {\mmullw\M} 12 { target ilp32 } } } */
1028 /* { dg-final { scan-assembler-times {\mxvrsqrtesp\M} 2 } } */
1029 /* { dg-final { scan-assembler-times {\mxvrsqrtedp\M} 2 } } */
1030 /* { dg-final { scan-assembler-times {\mvcfsx\M} 1 } } */
1031 /* { dg-final { scan-assembler-times {\mvcfux\M} 1 } } */
1032 /* { dg-final { scan-assembler-times {\mvspltb|xxspltb\M} 3 } } */
1033 /* { dg-final { scan-assembler-times {\mvspltw|xxspltw\M} 3 } } */
1034 /* { dg-final { scan-assembler-times {\mvmrgow\M} 4 } } */
1035 /* { dg-final { scan-assembler-times {\mvmrglb\M} 3 } } */
1036 /* { dg-final { scan-assembler-times {\mvmrgew\M} 4 } } */
1037 /* { dg-final { scan-assembler-times {\mvsplth|xxsplth\M} 4 } } */
1038 /* { dg-final { scan-assembler-times {\mxxpermdi\M} 44 } } */