Lines Matching refs:P7
10 ; RUN: -check-prefix=P7
19 ; RUN: -check-prefix=P7-AIX32
37 ; P7-LABEL: test:
38 ; P7: # %bb.0: # %entry
39 ; P7-NEXT: addi r4, r4, 24
40 ; P7-NEXT: lxvdsx vs0, 0, r4
41 ; P7-NEXT: stxvd2x vs0, 0, r3
42 ; P7-NEXT: blr
58 ; P7-AIX32-LABEL: test:
59 ; P7-AIX32: # %bb.0: # %entry
60 ; P7-AIX32-NEXT: addi r4, r4, 24
61 ; P7-AIX32-NEXT: lxvdsx vs0, 0, r4
62 ; P7-AIX32-NEXT: stxvd2x vs0, 0, r3
63 ; P7-AIX32-NEXT: blr
91 ; P7-LABEL: test2:
92 ; P7: # %bb.0: # %entry
93 ; P7-NEXT: addi r4, r4, 12
94 ; P7-NEXT: lfiwzx f0, 0, r4
95 ; P7-NEXT: xxspltw vs0, vs0, 1
96 ; P7-NEXT: stxvw4x vs0, 0, r3
97 ; P7-NEXT: blr
114 ; P7-AIX32-LABEL: test2:
115 ; P7-AIX32: # %bb.0: # %entry
116 ; P7-AIX32-NEXT: addi r4, r4, 12
117 ; P7-AIX32-NEXT: lfiwzx f0, 0, r4
118 ; P7-AIX32-NEXT: xxspltw vs0, vs0, 1
119 ; P7-AIX32-NEXT: stxvw4x vs0, 0, r3
120 ; P7-AIX32-NEXT: blr
148 ; P7-LABEL: test3:
149 ; P7: # %bb.0: # %entry
150 ; P7-NEXT: addi r4, r4, 12
151 ; P7-NEXT: lfiwzx f0, 0, r4
152 ; P7-NEXT: xxspltw vs0, vs0, 1
153 ; P7-NEXT: stxvw4x vs0, 0, r3
154 ; P7-NEXT: blr
171 ; P7-AIX32-LABEL: test3:
172 ; P7-AIX32: # %bb.0: # %entry
173 ; P7-AIX32-NEXT: addi r4, r4, 12
174 ; P7-AIX32-NEXT: lfiwzx f0, 0, r4
175 ; P7-AIX32-NEXT: xxspltw vs0, vs0, 1
176 ; P7-AIX32-NEXT: stxvw4x vs0, 0, r3
177 ; P7-AIX32-NEXT: blr
204 ; P7-LABEL: test4:
205 ; P7: # %bb.0: # %entry
206 ; P7-NEXT: addi r4, r4, 24
207 ; P7-NEXT: lxvdsx vs0, 0, r4
208 ; P7-NEXT: stxvd2x vs0, 0, r3
209 ; P7-NEXT: blr
241 ; P7-AIX32-LABEL: test4:
242 ; P7-AIX32: # %bb.0: # %entry
243 ; P7-AIX32-NEXT: lwz r5, L..C0(r2) # %const.0
244 ; P7-AIX32-NEXT: lwz r6, 24(r4)
245 ; P7-AIX32-NEXT: lwz r4, 28(r4)
246 ; P7-AIX32-NEXT: stw r4, -16(r1)
247 ; P7-AIX32-NEXT: stw r6, -32(r1)
248 ; P7-AIX32-NEXT: lxvw4x v2, 0, r5
249 ; P7-AIX32-NEXT: addi r4, r1, -16
250 ; P7-AIX32-NEXT: addi r5, r1, -32
251 ; P7-AIX32-NEXT: lxvw4x v3, 0, r4
252 ; P7-AIX32-NEXT: lxvw4x v4, 0, r5
253 ; P7-AIX32-NEXT: vperm v2, v4, v3, v2
254 ; P7-AIX32-NEXT: stxvw4x v2, 0, r3
255 ; P7-AIX32-NEXT: blr
281 ; P7-LABEL: test5:
282 ; P7: # %bb.0: # %entry
283 ; P7-NEXT: lfiwax f0, 0, r4
284 ; P7-NEXT: xxspltd vs0, f0, 0
285 ; P7-NEXT: stxvd2x vs0, 0, r3
286 ; P7-NEXT: blr
318 ; P7-AIX32-LABEL: test5:
319 ; P7-AIX32: # %bb.0: # %entry
320 ; P7-AIX32-NEXT: lwz r4, 0(r4)
321 ; P7-AIX32-NEXT: lwz r5, L..C1(r2) # %const.0
322 ; P7-AIX32-NEXT: srawi r6, r4, 31
323 ; P7-AIX32-NEXT: stw r4, -16(r1)
324 ; P7-AIX32-NEXT: addi r4, r1, -16
325 ; P7-AIX32-NEXT: stw r6, -32(r1)
326 ; P7-AIX32-NEXT: lxvw4x v2, 0, r5
327 ; P7-AIX32-NEXT: addi r5, r1, -32
328 ; P7-AIX32-NEXT: lxvw4x v3, 0, r4
329 ; P7-AIX32-NEXT: lxvw4x v4, 0, r5
330 ; P7-AIX32-NEXT: vperm v2, v4, v3, v2
331 ; P7-AIX32-NEXT: stxvw4x v2, 0, r3
332 ; P7-AIX32-NEXT: blr
358 ; P7-LABEL: test6:
359 ; P7: # %bb.0: # %entry
360 ; P7-NEXT: lfiwzx f0, 0, r4
361 ; P7-NEXT: xxspltd vs0, f0, 0
362 ; P7-NEXT: stxvd2x vs0, 0, r3
363 ; P7-NEXT: blr
395 ; P7-AIX32-LABEL: test6:
396 ; P7-AIX32: # %bb.0: # %entry
397 ; P7-AIX32-NEXT: lwz r5, L..C2(r2) # %const.0
398 ; P7-AIX32-NEXT: lwz r4, 0(r4)
399 ; P7-AIX32-NEXT: li r6, 0
400 ; P7-AIX32-NEXT: stw r6, -32(r1)
401 ; P7-AIX32-NEXT: stw r4, -16(r1)
402 ; P7-AIX32-NEXT: addi r4, r1, -32
403 ; P7-AIX32-NEXT: lxvw4x v2, 0, r5
404 ; P7-AIX32-NEXT: addi r5, r1, -16
405 ; P7-AIX32-NEXT: lxvw4x v3, 0, r4
406 ; P7-AIX32-NEXT: lxvw4x v4, 0, r5
407 ; P7-AIX32-NEXT: vperm v2, v3, v4, v2
408 ; P7-AIX32-NEXT: stxvw4x v2, 0, r3
409 ; P7-AIX32-NEXT: blr
437 ; P7-LABEL: test7:
438 ; P7: # %bb.0: # %entry
439 ; P7-NEXT: li r5, 1
440 ; P7-NEXT: lvx v2, 0, r4
441 ; P7-NEXT: lvsl v4, 0, r4
442 ; P7-NEXT: lvx v3, r5, r4
443 ; P7-NEXT: vperm v2, v2, v3, v4
444 ; P7-NEXT: vsplth v2, v2, 0
445 ; P7-NEXT: stxvw4x v2, 0, r3
446 ; P7-NEXT: blr
463 ; P7-AIX32-LABEL: test7:
464 ; P7-AIX32: # %bb.0: # %entry
465 ; P7-AIX32-NEXT: li r5, 1
466 ; P7-AIX32-NEXT: lvx v2, 0, r4
467 ; P7-AIX32-NEXT: lvsl v4, 0, r4
468 ; P7-AIX32-NEXT: lvx v3, r5, r4
469 ; P7-AIX32-NEXT: vperm v2, v2, v3, v4
470 ; P7-AIX32-NEXT: vsplth v2, v2, 0
471 ; P7-AIX32-NEXT: stxvw4x v2, 0, r3
472 ; P7-AIX32-NEXT: blr
499 ; P7-LABEL: test8:
500 ; P7: # %bb.0: # %entry
501 ; P7-NEXT: lvsl v2, 0, r4
502 ; P7-NEXT: lvx v3, 0, r4
503 ; P7-NEXT: vperm v2, v3, v3, v2
504 ; P7-NEXT: vspltb v2, v2, 0
505 ; P7-NEXT: stxvw4x v2, 0, r3
506 ; P7-NEXT: blr
523 ; P7-AIX32-LABEL: test8:
524 ; P7-AIX32: # %bb.0: # %entry
525 ; P7-AIX32-NEXT: lvsl v2, 0, r4
526 ; P7-AIX32-NEXT: lvx v3, 0, r4
527 ; P7-AIX32-NEXT: vperm v2, v3, v3, v2
528 ; P7-AIX32-NEXT: vspltb v2, v2, 0
529 ; P7-AIX32-NEXT: stxvw4x v2, 0, r3
530 ; P7-AIX32-NEXT: blr
551 ; P7-LABEL: unadjusted_lxvwsx:
552 ; P7: # %bb.0: # %entry
553 ; P7-NEXT: lfiwzx f0, 0, r3
554 ; P7-NEXT: xxspltw v2, vs0, 1
555 ; P7-NEXT: blr
568 ; P7-AIX32-LABEL: unadjusted_lxvwsx:
569 ; P7-AIX32: # %bb.0: # %entry
570 ; P7-AIX32-NEXT: lfiwzx f0, 0, r3
571 ; P7-AIX32-NEXT: xxspltw v2, vs0, 1
572 ; P7-AIX32-NEXT: blr
593 ; P7-LABEL: adjusted_lxvwsx:
594 ; P7: # %bb.0: # %entry
595 ; P7-NEXT: ld r3, 0(r3)
596 ; P7-NEXT: addi r4, r1, -16
597 ; P7-NEXT: std r3, -16(r1)
598 ; P7-NEXT: lxvw4x vs0, 0, r4
599 ; P7-NEXT: xxspltw v2, vs0, 1
600 ; P7-NEXT: blr
615 ; P7-AIX32-LABEL: adjusted_lxvwsx:
616 ; P7-AIX32: # %bb.0: # %entry
617 ; P7-AIX32-NEXT: addi r3, r3, 4
618 ; P7-AIX32-NEXT: lfiwzx f0, 0, r3
619 ; P7-AIX32-NEXT: xxspltw v2, vs0, 1
620 ; P7-AIX32-NEXT: blr
641 ; P7-LABEL: unadjusted_lxvwsx_v16i8:
642 ; P7: # %bb.0: # %entry
643 ; P7-NEXT: lxvw4x vs0, 0, r3
644 ; P7-NEXT: xxspltw v2, vs0, 0
645 ; P7-NEXT: blr
658 ; P7-AIX32-LABEL: unadjusted_lxvwsx_v16i8:
659 ; P7-AIX32: # %bb.0: # %entry
660 ; P7-AIX32-NEXT: lxvw4x vs0, 0, r3
661 ; P7-AIX32-NEXT: xxspltw v2, vs0, 0
662 ; P7-AIX32-NEXT: blr
683 ; P7-LABEL: adjusted_lxvwsx_v16i8:
684 ; P7: # %bb.0: # %entry
685 ; P7-NEXT: lxvw4x vs0, 0, r3
686 ; P7-NEXT: xxspltw v2, vs0, 1
687 ; P7-NEXT: blr
701 ; P7-AIX32-LABEL: adjusted_lxvwsx_v16i8:
702 ; P7-AIX32: # %bb.0: # %entry
703 ; P7-AIX32-NEXT: lxvw4x vs0, 0, r3
704 ; P7-AIX32-NEXT: xxspltw v2, vs0, 1
705 ; P7-AIX32-NEXT: blr
726 ; P7-LABEL: adjusted_lxvwsx_v16i8_2:
727 ; P7: # %bb.0: # %entry
728 ; P7-NEXT: lxvw4x vs0, 0, r3
729 ; P7-NEXT: xxspltw v2, vs0, 2
730 ; P7-NEXT: blr
744 ; P7-AIX32-LABEL: adjusted_lxvwsx_v16i8_2:
745 ; P7-AIX32: # %bb.0: # %entry
746 ; P7-AIX32-NEXT: lxvw4x vs0, 0, r3
747 ; P7-AIX32-NEXT: xxspltw v2, vs0, 2
748 ; P7-AIX32-NEXT: blr
769 ; P7-LABEL: adjusted_lxvwsx_v16i8_3:
770 ; P7: # %bb.0: # %entry
771 ; P7-NEXT: lxvw4x vs0, 0, r3
772 ; P7-NEXT: xxspltw v2, vs0, 3
773 ; P7-NEXT: blr
787 ; P7-AIX32-LABEL: adjusted_lxvwsx_v16i8_3:
788 ; P7-AIX32: # %bb.0: # %entry
789 ; P7-AIX32-NEXT: lxvw4x vs0, 0, r3
790 ; P7-AIX32-NEXT: xxspltw v2, vs0, 3
791 ; P7-AIX32-NEXT: blr
809 ; P7-LABEL: unadjusted_lxvdsx:
810 ; P7: # %bb.0: # %entry
811 ; P7-NEXT: lxvdsx v2, 0, r3
812 ; P7-NEXT: blr
840 ; P7-AIX32-LABEL: unadjusted_lxvdsx:
841 ; P7-AIX32: # %bb.0: # %entry
842 ; P7-AIX32-NEXT: lwz r5, 4(r3)
843 ; P7-AIX32-NEXT: addi r4, r1, -16
844 ; P7-AIX32-NEXT: stw r5, -16(r1)
845 ; P7-AIX32-NEXT: lwz r3, 0(r3)
846 ; P7-AIX32-NEXT: stw r3, -32(r1)
847 ; P7-AIX32-NEXT: addi r3, r1, -32
848 ; P7-AIX32-NEXT: lxvw4x vs0, 0, r4
849 ; P7-AIX32-NEXT: lxvw4x vs1, 0, r3
850 ; P7-AIX32-NEXT: xxmrghw vs0, vs1, vs0
851 ; P7-AIX32-NEXT: xxmrghd v2, vs0, vs0
852 ; P7-AIX32-NEXT: blr
871 ; P7-LABEL: unadjusted_lxvdsx_v16i8:
872 ; P7: # %bb.0: # %entry
873 ; P7-NEXT: lxvdsx v2, 0, r3
874 ; P7-NEXT: blr
886 ; P7-AIX32-LABEL: unadjusted_lxvdsx_v16i8:
887 ; P7-AIX32: # %bb.0: # %entry
888 ; P7-AIX32-NEXT: lxvdsx v2, 0, r3
889 ; P7-AIX32-NEXT: blr
909 ; P7-LABEL: adjusted_lxvdsx_v16i8:
910 ; P7: # %bb.0: # %entry
911 ; P7-NEXT: addi r3, r3, 8
912 ; P7-NEXT: lxvdsx v2, 0, r3
913 ; P7-NEXT: blr
927 ; P7-AIX32-LABEL: adjusted_lxvdsx_v16i8:
928 ; P7-AIX32: # %bb.0: # %entry
929 ; P7-AIX32-NEXT: addi r3, r3, 8
930 ; P7-AIX32-NEXT: lxvdsx v2, 0, r3
931 ; P7-AIX32-NEXT: blr
953 ; P7-LABEL: test_unaligned_v8i16:
954 ; P7: # %bb.0: # %entry
955 ; P7-NEXT: li r4, 1
956 ; P7-NEXT: addi r3, r3, 6
957 ; P7-NEXT: lvx v2, 0, r3
958 ; P7-NEXT: lvx v3, r4, r3
959 ; P7-NEXT: lvsl v4, 0, r3
960 ; P7-NEXT: vperm v2, v2, v3, v4
961 ; P7-NEXT: vsplth v2, v2, 0
962 ; P7-NEXT: blr
978 ; P7-AIX32-LABEL: test_unaligned_v8i16:
979 ; P7-AIX32: # %bb.0: # %entry
980 ; P7-AIX32-NEXT: li r4, 1
981 ; P7-AIX32-NEXT: addi r3, r3, 6
982 ; P7-AIX32-NEXT: lvx v2, 0, r3
983 ; P7-AIX32-NEXT: lvx v3, r4, r3
984 ; P7-AIX32-NEXT: lvsl v4, 0, r3
985 ; P7-AIX32-NEXT: vperm v2, v2, v3, v4
986 ; P7-AIX32-NEXT: vsplth v2, v2, 0
987 ; P7-AIX32-NEXT: blr
1011 ; P7-LABEL: test_unaligned_v16i8:
1012 ; P7: # %bb.0: # %entry
1013 ; P7-NEXT: addi r3, r3, 3
1014 ; P7-NEXT: lvsl v2, 0, r3
1015 ; P7-NEXT: lvx v3, 0, r3
1016 ; P7-NEXT: vperm v2, v3, v3, v2
1017 ; P7-NEXT: vspltb v2, v2, 0
1018 ; P7-NEXT: blr
1034 ; P7-AIX32-LABEL: test_unaligned_v16i8:
1035 ; P7-AIX32: # %bb.0: # %entry
1036 ; P7-AIX32-NEXT: addi r3, r3, 3
1037 ; P7-AIX32-NEXT: lvsl v2, 0, r3
1038 ; P7-AIX32-NEXT: lvx v3, 0, r3
1039 ; P7-AIX32-NEXT: vperm v2, v3, v3, v2
1040 ; P7-AIX32-NEXT: vspltb v2, v2, 0
1041 ; P7-AIX32-NEXT: blr
1063 ; P7-LABEL: test_aligned_v8i16_1:
1064 ; P7: # %bb.0: # %entry
1065 ; P7-NEXT: lvx v2, 0, r3
1066 ; P7-NEXT: vsplth v2, v2, 0
1067 ; P7-NEXT: blr
1081 ; P7-AIX32-LABEL: test_aligned_v8i16_1:
1082 ; P7-AIX32: # %bb.0: # %entry
1083 ; P7-AIX32-NEXT: lvx v2, 0, r3
1084 ; P7-AIX32-NEXT: vsplth v2, v2, 0
1085 ; P7-AIX32-NEXT: blr
1108 ; P7-LABEL: test_aligned_v8i16_2:
1109 ; P7: # %bb.0: # %entry
1110 ; P7-NEXT: addi r3, r3, 32
1111 ; P7-NEXT: lvx v2, 0, r3
1112 ; P7-NEXT: vsplth v2, v2, 0
1113 ; P7-NEXT: blr
1129 ; P7-AIX32-LABEL: test_aligned_v8i16_2:
1130 ; P7-AIX32: # %bb.0: # %entry
1131 ; P7-AIX32-NEXT: addi r3, r3, 32
1132 ; P7-AIX32-NEXT: lvx v2, 0, r3
1133 ; P7-AIX32-NEXT: vsplth v2, v2, 0
1134 ; P7-AIX32-NEXT: blr
1156 ; P7-LABEL: test_aligned_v16i8_1:
1157 ; P7: # %bb.0: # %entry
1158 ; P7-NEXT: lvx v2, 0, r3
1159 ; P7-NEXT: vspltb v2, v2, 0
1160 ; P7-NEXT: blr
1174 ; P7-AIX32-LABEL: test_aligned_v16i8_1:
1175 ; P7-AIX32: # %bb.0: # %entry
1176 ; P7-AIX32-NEXT: lvx v2, 0, r3
1177 ; P7-AIX32-NEXT: vspltb v2, v2, 0
1178 ; P7-AIX32-NEXT: blr
1201 ; P7-LABEL: test_aligned_v16i8_2:
1202 ; P7: # %bb.0: # %entry
1203 ; P7-NEXT: addi r3, r3, 16
1204 ; P7-NEXT: lvx v2, 0, r3
1205 ; P7-NEXT: vspltb v2, v2, 0
1206 ; P7-NEXT: blr
1222 ; P7-AIX32-LABEL: test_aligned_v16i8_2:
1223 ; P7-AIX32: # %bb.0: # %entry
1224 ; P7-AIX32-NEXT: addi r3, r3, 16
1225 ; P7-AIX32-NEXT: lvx v2, 0, r3
1226 ; P7-AIX32-NEXT: vspltb v2, v2, 0
1227 ; P7-AIX32-NEXT: blr
1265 ; P7-LABEL: test_v2f64_multiple_use:
1266 ; P7: # %bb.0: # %entry
1267 ; P7-NEXT: lfs f0, 0(r3)
1268 ; P7-NEXT: lfd f1, 0(r4)
1269 ; P7-NEXT: xsadddp f1, f1, f0
1270 ; P7-NEXT: xxspltd v2, vs0, 0
1271 ; P7-NEXT: stfd f1, 0(r4)
1272 ; P7-NEXT: lfd f1, 0(r5)
1273 ; P7-NEXT: xsadddp f1, f1, f0
1274 ; P7-NEXT: stfd f1, 0(r5)
1275 ; P7-NEXT: blr
1301 ; P7-AIX32-LABEL: test_v2f64_multiple_use:
1302 ; P7-AIX32: # %bb.0: # %entry
1303 ; P7-AIX32-NEXT: lfs f0, 0(r3)
1304 ; P7-AIX32-NEXT: lfd f1, 0(r4)
1305 ; P7-AIX32-NEXT: xsadddp f1, f1, f0
1306 ; P7-AIX32-NEXT: xxmrghd v2, vs0, vs0
1307 ; P7-AIX32-NEXT: stfd f1, 0(r4)
1308 ; P7-AIX32-NEXT: lfd f1, 0(r5)
1309 ; P7-AIX32-NEXT: xsadddp f1, f1, f0
1310 ; P7-AIX32-NEXT: stfd f1, 0(r5)
1311 ; P7-AIX32-NEXT: blr
1339 ; P7-LABEL: test_splatW:
1340 ; P7: # %bb.0: # %entry
1341 ; P7-NEXT: lxvw4x vs0, 0, r3
1342 ; P7-NEXT: xxspltw v2, vs0, 0
1343 ; P7-NEXT: blr
1356 ; P7-AIX32-LABEL: test_splatW:
1357 ; P7-AIX32: # %bb.0: # %entry
1358 ; P7-AIX32-NEXT: lxvw4x vs0, 0, r3
1359 ; P7-AIX32-NEXT: xxspltw v2, vs0, 0
1360 ; P7-AIX32-NEXT: blr
1379 ; P7-LABEL: test_splatD:
1380 ; P7: # %bb.0: # %entry
1381 ; P7-NEXT: lxvdsx v2, 0, r3
1382 ; P7-NEXT: blr
1394 ; P7-AIX32-LABEL: test_splatD:
1395 ; P7-AIX32: # %bb.0: # %entry
1396 ; P7-AIX32-NEXT: lxvdsx v2, 0, r3
1397 ; P7-AIX32-NEXT: blr