Lines Matching refs:AIX
13 ; RUN: FileCheck %s --check-prefixes=AIX-P8,AIX-P8-64
16 ; RUN: FileCheck %s --check-prefixes=AIX-P8,AIX-P8-32
40 ; AIX-P8-64-LABEL: testByte:
41 ; AIX-P8-64: # %bb.0: # %entry
42 ; AIX-P8-64-NEXT: addi r5, r1, -16
43 ; AIX-P8-64-NEXT: clrldi r4, r4, 60
44 ; AIX-P8-64-NEXT: stxvw4x v2, 0, r5
45 ; AIX-P8-64-NEXT: stbx r3, r5, r4
46 ; AIX-P8-64-NEXT: lxvw4x v2, 0, r5
47 ; AIX-P8-64-NEXT: blr
49 ; AIX-P8-32-LABEL: testByte:
50 ; AIX-P8-32: # %bb.0: # %entry
51 ; AIX-P8-32-NEXT: addi r3, r1, -16
52 ; AIX-P8-32-NEXT: clrlwi r5, r6, 28
53 ; AIX-P8-32-NEXT: stxvw4x v2, 0, r3
54 ; AIX-P8-32-NEXT: stbx r4, r3, r5
55 ; AIX-P8-32-NEXT: lxvw4x v2, 0, r3
56 ; AIX-P8-32-NEXT: blr
87 ; AIX-P8-64-LABEL: testHalf:
88 ; AIX-P8-64: # %bb.0: # %entry
89 ; AIX-P8-64-NEXT: addi r5, r1, -16
90 ; AIX-P8-64-NEXT: rlwinm r4, r4, 1, 28, 30
91 ; AIX-P8-64-NEXT: stxvw4x v2, 0, r5
92 ; AIX-P8-64-NEXT: sthx r3, r5, r4
93 ; AIX-P8-64-NEXT: lxvw4x v2, 0, r5
94 ; AIX-P8-64-NEXT: blr
96 ; AIX-P8-32-LABEL: testHalf:
97 ; AIX-P8-32: # %bb.0: # %entry
98 ; AIX-P8-32-NEXT: addi r3, r1, -16
99 ; AIX-P8-32-NEXT: rlwinm r5, r6, 1, 28, 30
100 ; AIX-P8-32-NEXT: stxvw4x v2, 0, r3
101 ; AIX-P8-32-NEXT: sthx r4, r3, r5
102 ; AIX-P8-32-NEXT: lxvw4x v2, 0, r3
103 ; AIX-P8-32-NEXT: blr
134 ; AIX-P8-64-LABEL: testWord:
135 ; AIX-P8-64: # %bb.0: # %entry
136 ; AIX-P8-64-NEXT: addi r5, r1, -16
137 ; AIX-P8-64-NEXT: rlwinm r4, r4, 2, 28, 29
138 ; AIX-P8-64-NEXT: stxvw4x v2, 0, r5
139 ; AIX-P8-64-NEXT: stwx r3, r5, r4
140 ; AIX-P8-64-NEXT: lxvw4x v2, 0, r5
141 ; AIX-P8-64-NEXT: blr
143 ; AIX-P8-32-LABEL: testWord:
144 ; AIX-P8-32: # %bb.0: # %entry
145 ; AIX-P8-32-NEXT: addi r3, r1, -16
146 ; AIX-P8-32-NEXT: rlwinm r5, r6, 2, 28, 29
147 ; AIX-P8-32-NEXT: stxvw4x v2, 0, r3
148 ; AIX-P8-32-NEXT: stwx r4, r3, r5
149 ; AIX-P8-32-NEXT: lxvw4x v2, 0, r3
150 ; AIX-P8-32-NEXT: blr
179 ; AIX-P8-64-LABEL: testWordImm:
180 ; AIX-P8-64: # %bb.0: # %entry
181 ; AIX-P8-64-NEXT: ld r4, L..C0(r2) # %const.0
182 ; AIX-P8-64-NEXT: mtvsrwz v4, r3
183 ; AIX-P8-64-NEXT: ld r3, L..C1(r2) # %const.1
184 ; AIX-P8-64-NEXT: lxvw4x v3, 0, r4
185 ; AIX-P8-64-NEXT: vperm v2, v2, v4, v3
186 ; AIX-P8-64-NEXT: lxvw4x v3, 0, r3
187 ; AIX-P8-64-NEXT: vperm v2, v2, v4, v3
188 ; AIX-P8-64-NEXT: blr
190 ; AIX-P8-32-LABEL: testWordImm:
191 ; AIX-P8-32: # %bb.0: # %entry
192 ; AIX-P8-32-NEXT: lwz r3, L..C0(r2) # %const.0
193 ; AIX-P8-32-NEXT: stw r4, -16(r1)
194 ; AIX-P8-32-NEXT: addi r4, r1, -16
195 ; AIX-P8-32-NEXT: lxvw4x v4, 0, r4
196 ; AIX-P8-32-NEXT: lxvw4x v3, 0, r3
197 ; AIX-P8-32-NEXT: lwz r3, L..C1(r2) # %const.1
198 ; AIX-P8-32-NEXT: vperm v2, v2, v4, v3
199 ; AIX-P8-32-NEXT: lxvw4x v3, 0, r3
200 ; AIX-P8-32-NEXT: vperm v2, v2, v4, v3
201 ; AIX-P8-32-NEXT: blr
233 ; AIX-P8-64-LABEL: testDoubleword:
234 ; AIX-P8-64: # %bb.0: # %entry
235 ; AIX-P8-64-NEXT: addi r5, r1, -16
236 ; AIX-P8-64-NEXT: rlwinm r4, r4, 3, 28, 28
237 ; AIX-P8-64-NEXT: stxvd2x v2, 0, r5
238 ; AIX-P8-64-NEXT: stdx r3, r5, r4
239 ; AIX-P8-64-NEXT: lxvd2x v2, 0, r5
240 ; AIX-P8-64-NEXT: blr
242 ; AIX-P8-32-LABEL: testDoubleword:
243 ; AIX-P8-32: # %bb.0: # %entry
244 ; AIX-P8-32-NEXT: add r6, r6, r6
245 ; AIX-P8-32-NEXT: addi r5, r1, -32
246 ; AIX-P8-32-NEXT: rlwinm r7, r6, 2, 28, 29
247 ; AIX-P8-32-NEXT: stxvw4x v2, 0, r5
248 ; AIX-P8-32-NEXT: stwx r3, r5, r7
249 ; AIX-P8-32-NEXT: addi r3, r6, 1
250 ; AIX-P8-32-NEXT: lxvw4x vs0, 0, r5
251 ; AIX-P8-32-NEXT: addi r5, r1, -16
252 ; AIX-P8-32-NEXT: rlwinm r3, r3, 2, 28, 29
253 ; AIX-P8-32-NEXT: stxvw4x vs0, 0, r5
254 ; AIX-P8-32-NEXT: stwx r4, r5, r3
255 ; AIX-P8-32-NEXT: lxvw4x v2, 0, r5
256 ; AIX-P8-32-NEXT: blr
281 ; AIX-P8-64-LABEL: testDoublewordImm:
282 ; AIX-P8-64: # %bb.0: # %entry
283 ; AIX-P8-64-NEXT: mtfprd f0, r3
284 ; AIX-P8-64-NEXT: xxmrghd v2, v2, vs0
285 ; AIX-P8-64-NEXT: blr
287 ; AIX-P8-32-LABEL: testDoublewordImm:
288 ; AIX-P8-32: # %bb.0: # %entry
289 ; AIX-P8-32-NEXT: lwz r5, L..C2(r2) # %const.0
290 ; AIX-P8-32-NEXT: stw r3, -16(r1)
291 ; AIX-P8-32-NEXT: stw r4, -32(r1)
292 ; AIX-P8-32-NEXT: addi r3, r1, -16
293 ; AIX-P8-32-NEXT: addi r4, r1, -32
294 ; AIX-P8-32-NEXT: lxvw4x v4, 0, r3
295 ; AIX-P8-32-NEXT: lwz r3, L..C3(r2) # %const.1
296 ; AIX-P8-32-NEXT: lxvw4x v3, 0, r5
297 ; AIX-P8-32-NEXT: vperm v2, v2, v4, v3
298 ; AIX-P8-32-NEXT: lxvw4x v3, 0, r3
299 ; AIX-P8-32-NEXT: lxvw4x v4, 0, r4
300 ; AIX-P8-32-NEXT: vperm v2, v2, v4, v3
301 ; AIX-P8-32-NEXT: blr
324 ; AIX-P8-64-LABEL: testDoublewordImm2:
325 ; AIX-P8-64: # %bb.0: # %entry
326 ; AIX-P8-64-NEXT: mtfprd f0, r3
327 ; AIX-P8-64-NEXT: xxpermdi v2, vs0, v2, 1
328 ; AIX-P8-64-NEXT: blr
330 ; AIX-P8-32-LABEL: testDoublewordImm2:
331 ; AIX-P8-32: # %bb.0: # %entry
332 ; AIX-P8-32-NEXT: lwz r5, L..C4(r2) # %const.0
333 ; AIX-P8-32-NEXT: stw r3, -16(r1)
334 ; AIX-P8-32-NEXT: stw r4, -32(r1)
335 ; AIX-P8-32-NEXT: addi r3, r1, -16
336 ; AIX-P8-32-NEXT: addi r4, r1, -32
337 ; AIX-P8-32-NEXT: lxvw4x v4, 0, r3
338 ; AIX-P8-32-NEXT: lwz r3, L..C5(r2) # %const.1
339 ; AIX-P8-32-NEXT: lxvw4x v3, 0, r5
340 ; AIX-P8-32-NEXT: vperm v2, v4, v2, v3
341 ; AIX-P8-32-NEXT: lxvw4x v3, 0, r3
342 ; AIX-P8-32-NEXT: lxvw4x v4, 0, r4
343 ; AIX-P8-32-NEXT: vperm v2, v2, v4, v3
344 ; AIX-P8-32-NEXT: blr
378 ; AIX-P8-LABEL: testFloat1:
379 ; AIX-P8: # %bb.0: # %entry
380 ; AIX-P8-NEXT: addi r3, r1, -16
381 ; AIX-P8-NEXT: rlwinm r4, r4, 2, 28, 29
382 ; AIX-P8-NEXT: stxvw4x v2, 0, r3
383 ; AIX-P8-NEXT: stfsx f1, r3, r4
384 ; AIX-P8-NEXT: lxvw4x v2, 0, r3
385 ; AIX-P8-NEXT: blr
432 ; AIX-P8-64-LABEL: testFloat2:
433 ; AIX-P8-64: # %bb.0: # %entry
434 ; AIX-P8-64-NEXT: lwz r7, 0(r3)
435 ; AIX-P8-64-NEXT: addi r6, r1, -32
436 ; AIX-P8-64-NEXT: rlwinm r4, r4, 2, 28, 29
437 ; AIX-P8-64-NEXT: rlwinm r5, r5, 2, 28, 29
438 ; AIX-P8-64-NEXT: stxvw4x v2, 0, r6
439 ; AIX-P8-64-NEXT: stwx r7, r6, r4
440 ; AIX-P8-64-NEXT: addi r4, r1, -16
441 ; AIX-P8-64-NEXT: lxvw4x vs0, 0, r6
442 ; AIX-P8-64-NEXT: lwz r3, 1(r3)
443 ; AIX-P8-64-NEXT: stxvw4x vs0, 0, r4
444 ; AIX-P8-64-NEXT: stwx r3, r4, r5
445 ; AIX-P8-64-NEXT: lxvw4x v2, 0, r4
446 ; AIX-P8-64-NEXT: blr
448 ; AIX-P8-32-LABEL: testFloat2:
449 ; AIX-P8-32: # %bb.0: # %entry
450 ; AIX-P8-32-NEXT: lwz r7, 0(r3)
451 ; AIX-P8-32-NEXT: addi r6, r1, -32
452 ; AIX-P8-32-NEXT: rlwinm r4, r4, 2, 28, 29
453 ; AIX-P8-32-NEXT: stxvw4x v2, 0, r6
454 ; AIX-P8-32-NEXT: stwx r7, r6, r4
455 ; AIX-P8-32-NEXT: rlwinm r4, r5, 2, 28, 29
456 ; AIX-P8-32-NEXT: addi r5, r1, -16
457 ; AIX-P8-32-NEXT: lxvw4x vs0, 0, r6
458 ; AIX-P8-32-NEXT: lwz r3, 1(r3)
459 ; AIX-P8-32-NEXT: stxvw4x vs0, 0, r5
460 ; AIX-P8-32-NEXT: stwx r3, r5, r4
461 ; AIX-P8-32-NEXT: lxvw4x v2, 0, r5
462 ; AIX-P8-32-NEXT: blr
522 ; AIX-P8-64-LABEL: testFloat3:
523 ; AIX-P8-64: # %bb.0: # %entry
524 ; AIX-P8-64-NEXT: lis r6, 1
525 ; AIX-P8-64-NEXT: addi r7, r1, -32
526 ; AIX-P8-64-NEXT: rlwinm r4, r4, 2, 28, 29
527 ; AIX-P8-64-NEXT: rlwinm r5, r5, 2, 28, 29
528 ; AIX-P8-64-NEXT: lwzx r6, r3, r6
529 ; AIX-P8-64-NEXT: stxvw4x v2, 0, r7
530 ; AIX-P8-64-NEXT: stwx r6, r7, r4
531 ; AIX-P8-64-NEXT: li r4, 1
532 ; AIX-P8-64-NEXT: lxvw4x vs0, 0, r7
533 ; AIX-P8-64-NEXT: rldic r4, r4, 36, 27
534 ; AIX-P8-64-NEXT: lwzx r3, r3, r4
535 ; AIX-P8-64-NEXT: addi r4, r1, -16
536 ; AIX-P8-64-NEXT: stxvw4x vs0, 0, r4
537 ; AIX-P8-64-NEXT: stwx r3, r4, r5
538 ; AIX-P8-64-NEXT: lxvw4x v2, 0, r4
539 ; AIX-P8-64-NEXT: blr
541 ; AIX-P8-32-LABEL: testFloat3:
542 ; AIX-P8-32: # %bb.0: # %entry
543 ; AIX-P8-32-NEXT: lis r6, 1
544 ; AIX-P8-32-NEXT: rlwinm r4, r4, 2, 28, 29
545 ; AIX-P8-32-NEXT: addi r7, r1, -32
546 ; AIX-P8-32-NEXT: lwzx r6, r3, r6
547 ; AIX-P8-32-NEXT: stxvw4x v2, 0, r7
548 ; AIX-P8-32-NEXT: stwx r6, r7, r4
549 ; AIX-P8-32-NEXT: rlwinm r4, r5, 2, 28, 29
550 ; AIX-P8-32-NEXT: addi r5, r1, -16
551 ; AIX-P8-32-NEXT: lxvw4x vs0, 0, r7
552 ; AIX-P8-32-NEXT: lwz r3, 0(r3)
553 ; AIX-P8-32-NEXT: stxvw4x vs0, 0, r5
554 ; AIX-P8-32-NEXT: stwx r3, r5, r4
555 ; AIX-P8-32-NEXT: lxvw4x v2, 0, r5
556 ; AIX-P8-32-NEXT: blr
593 ; AIX-P8-64-LABEL: testFloatImm1:
594 ; AIX-P8-64: # %bb.0: # %entry
595 ; AIX-P8-64-NEXT: ld r3, L..C2(r2) # %const.0
596 ; AIX-P8-64-NEXT: xscvdpspn v3, f1
597 ; AIX-P8-64-NEXT: lxvw4x v4, 0, r3
598 ; AIX-P8-64-NEXT: ld r3, L..C3(r2) # %const.1
599 ; AIX-P8-64-NEXT: vperm v2, v3, v2, v4
600 ; AIX-P8-64-NEXT: lxvw4x v4, 0, r3
601 ; AIX-P8-64-NEXT: vperm v2, v2, v3, v4
602 ; AIX-P8-64-NEXT: blr
604 ; AIX-P8-32-LABEL: testFloatImm1:
605 ; AIX-P8-32: # %bb.0: # %entry
606 ; AIX-P8-32-NEXT: lwz r3, L..C6(r2) # %const.0
607 ; AIX-P8-32-NEXT: xscvdpspn v3, f1
608 ; AIX-P8-32-NEXT: lxvw4x v4, 0, r3
609 ; AIX-P8-32-NEXT: lwz r3, L..C7(r2) # %const.1
610 ; AIX-P8-32-NEXT: vperm v2, v3, v2, v4
611 ; AIX-P8-32-NEXT: lxvw4x v4, 0, r3
612 ; AIX-P8-32-NEXT: vperm v2, v2, v3, v4
613 ; AIX-P8-32-NEXT: blr
647 ; AIX-P8-64-LABEL: testFloatImm2:
648 ; AIX-P8-64: # %bb.0: # %entry
649 ; AIX-P8-64-NEXT: ld r4, L..C4(r2) # %const.0
650 ; AIX-P8-64-NEXT: lxsiwzx v3, 0, r3
651 ; AIX-P8-64-NEXT: li r5, 4
652 ; AIX-P8-64-NEXT: lxvw4x v4, 0, r4
653 ; AIX-P8-64-NEXT: ld r4, L..C5(r2) # %const.1
654 ; AIX-P8-64-NEXT: vperm v2, v3, v2, v4
655 ; AIX-P8-64-NEXT: lxsiwzx v3, r3, r5
656 ; AIX-P8-64-NEXT: lxvw4x v4, 0, r4
657 ; AIX-P8-64-NEXT: vperm v2, v2, v3, v4
658 ; AIX-P8-64-NEXT: blr
660 ; AIX-P8-32-LABEL: testFloatImm2:
661 ; AIX-P8-32: # %bb.0: # %entry
662 ; AIX-P8-32-NEXT: lwz r4, L..C8(r2) # %const.0
663 ; AIX-P8-32-NEXT: lxsiwzx v3, 0, r3
664 ; AIX-P8-32-NEXT: li r5, 4
665 ; AIX-P8-32-NEXT: lxvw4x v4, 0, r4
666 ; AIX-P8-32-NEXT: lwz r4, L..C9(r2) # %const.1
667 ; AIX-P8-32-NEXT: vperm v2, v3, v2, v4
668 ; AIX-P8-32-NEXT: lxsiwzx v3, r3, r5
669 ; AIX-P8-32-NEXT: lxvw4x v4, 0, r4
670 ; AIX-P8-32-NEXT: vperm v2, v2, v3, v4
671 ; AIX-P8-32-NEXT: blr
717 ; AIX-P8-64-LABEL: testFloatImm3:
718 ; AIX-P8-64: # %bb.0: # %entry
719 ; AIX-P8-64-NEXT: ld r4, L..C6(r2) # %const.0
720 ; AIX-P8-64-NEXT: lis r5, 4
721 ; AIX-P8-64-NEXT: lxsiwzx v3, r3, r5
722 ; AIX-P8-64-NEXT: li r5, 1
723 ; AIX-P8-64-NEXT: rldic r5, r5, 38, 25
724 ; AIX-P8-64-NEXT: lxvw4x v4, 0, r4
725 ; AIX-P8-64-NEXT: ld r4, L..C7(r2) # %const.1
726 ; AIX-P8-64-NEXT: vperm v2, v3, v2, v4
727 ; AIX-P8-64-NEXT: lxsiwzx v3, r3, r5
728 ; AIX-P8-64-NEXT: lxvw4x v4, 0, r4
729 ; AIX-P8-64-NEXT: vperm v2, v2, v3, v4
730 ; AIX-P8-64-NEXT: blr
732 ; AIX-P8-32-LABEL: testFloatImm3:
733 ; AIX-P8-32: # %bb.0: # %entry
734 ; AIX-P8-32-NEXT: lwz r4, L..C10(r2) # %const.0
735 ; AIX-P8-32-NEXT: lis r5, 4
736 ; AIX-P8-32-NEXT: lxsiwzx v3, r3, r5
737 ; AIX-P8-32-NEXT: lxvw4x v4, 0, r4
738 ; AIX-P8-32-NEXT: lwz r4, L..C11(r2) # %const.1
739 ; AIX-P8-32-NEXT: vperm v2, v3, v2, v4
740 ; AIX-P8-32-NEXT: lxvw4x v3, 0, r4
741 ; AIX-P8-32-NEXT: lxsiwzx v4, 0, r3
742 ; AIX-P8-32-NEXT: vperm v2, v2, v4, v3
743 ; AIX-P8-32-NEXT: blr
784 ; AIX-P8-64-LABEL: testDouble1:
785 ; AIX-P8-64: # %bb.0: # %entry
786 ; AIX-P8-64-NEXT: addi r3, r1, -16
787 ; AIX-P8-64-NEXT: rlwinm r4, r4, 3, 28, 28
788 ; AIX-P8-64-NEXT: stxvd2x v2, 0, r3
789 ; AIX-P8-64-NEXT: stfdx f1, r3, r4
790 ; AIX-P8-64-NEXT: lxvd2x v2, 0, r3
791 ; AIX-P8-64-NEXT: blr
793 ; AIX-P8-32-LABEL: testDouble1:
794 ; AIX-P8-32: # %bb.0: # %entry
795 ; AIX-P8-32-NEXT: addi r3, r1, -16
796 ; AIX-P8-32-NEXT: rlwinm r4, r5, 3, 28, 28
797 ; AIX-P8-32-NEXT: stxvd2x v2, 0, r3
798 ; AIX-P8-32-NEXT: stfdx f1, r3, r4
799 ; AIX-P8-32-NEXT: lxvd2x v2, 0, r3
800 ; AIX-P8-32-NEXT: blr
848 ; AIX-P8-64-LABEL: testDouble2:
849 ; AIX-P8-64: # %bb.0: # %entry
850 ; AIX-P8-64-NEXT: ld r7, 0(r3)
851 ; AIX-P8-64-NEXT: addi r6, r1, -32
852 ; AIX-P8-64-NEXT: rlwinm r4, r4, 3, 28, 28
853 ; AIX-P8-64-NEXT: rlwinm r5, r5, 3, 28, 28
854 ; AIX-P8-64-NEXT: stxvd2x v2, 0, r6
855 ; AIX-P8-64-NEXT: stdx r7, r6, r4
856 ; AIX-P8-64-NEXT: li r4, 1
857 ; AIX-P8-64-NEXT: lxvd2x vs0, 0, r6
858 ; AIX-P8-64-NEXT: ldx r3, r3, r4
859 ; AIX-P8-64-NEXT: addi r4, r1, -16
860 ; AIX-P8-64-NEXT: stxvd2x vs0, 0, r4
861 ; AIX-P8-64-NEXT: stdx r3, r4, r5
862 ; AIX-P8-64-NEXT: lxvd2x v2, 0, r4
863 ; AIX-P8-64-NEXT: blr
865 ; AIX-P8-32-LABEL: testDouble2:
866 ; AIX-P8-32: # %bb.0: # %entry
867 ; AIX-P8-32-NEXT: lfd f0, 0(r3)
868 ; AIX-P8-32-NEXT: addi r6, r1, -32
869 ; AIX-P8-32-NEXT: rlwinm r4, r4, 3, 28, 28
870 ; AIX-P8-32-NEXT: stxvd2x v2, 0, r6
871 ; AIX-P8-32-NEXT: stfdx f0, r6, r4
872 ; AIX-P8-32-NEXT: addi r4, r1, -16
873 ; AIX-P8-32-NEXT: lxvd2x vs0, 0, r6
874 ; AIX-P8-32-NEXT: lfd f1, 1(r3)
875 ; AIX-P8-32-NEXT: rlwinm r3, r5, 3, 28, 28
876 ; AIX-P8-32-NEXT: stxvd2x vs0, 0, r4
877 ; AIX-P8-32-NEXT: stfdx f1, r4, r3
878 ; AIX-P8-32-NEXT: lxvd2x v2, 0, r4
879 ; AIX-P8-32-NEXT: blr
939 ; AIX-P8-64-LABEL: testDouble3:
940 ; AIX-P8-64: # %bb.0: # %entry
941 ; AIX-P8-64-NEXT: lis r6, 1
942 ; AIX-P8-64-NEXT: addi r7, r1, -32
943 ; AIX-P8-64-NEXT: rlwinm r4, r4, 3, 28, 28
944 ; AIX-P8-64-NEXT: li r8, 1
945 ; AIX-P8-64-NEXT: rlwinm r5, r5, 3, 28, 28
946 ; AIX-P8-64-NEXT: ldx r6, r3, r6
947 ; AIX-P8-64-NEXT: stxvd2x v2, 0, r7
948 ; AIX-P8-64-NEXT: stdx r6, r7, r4
949 ; AIX-P8-64-NEXT: rldic r4, r8, 36, 27
950 ; AIX-P8-64-NEXT: lxvd2x vs0, 0, r7
951 ; AIX-P8-64-NEXT: ldx r3, r3, r4
952 ; AIX-P8-64-NEXT: addi r4, r1, -16
953 ; AIX-P8-64-NEXT: stxvd2x vs0, 0, r4
954 ; AIX-P8-64-NEXT: stdx r3, r4, r5
955 ; AIX-P8-64-NEXT: lxvd2x v2, 0, r4
956 ; AIX-P8-64-NEXT: blr
958 ; AIX-P8-32-LABEL: testDouble3:
959 ; AIX-P8-32: # %bb.0: # %entry
960 ; AIX-P8-32-NEXT: lis r6, 1
961 ; AIX-P8-32-NEXT: rlwinm r4, r4, 3, 28, 28
962 ; AIX-P8-32-NEXT: lfdx f0, r3, r6
963 ; AIX-P8-32-NEXT: addi r6, r1, -32
964 ; AIX-P8-32-NEXT: stxvd2x v2, 0, r6
965 ; AIX-P8-32-NEXT: stfdx f0, r6, r4
966 ; AIX-P8-32-NEXT: addi r4, r1, -16
967 ; AIX-P8-32-NEXT: lxvd2x vs0, 0, r6
968 ; AIX-P8-32-NEXT: lfd f1, 0(r3)
969 ; AIX-P8-32-NEXT: rlwinm r3, r5, 3, 28, 28
970 ; AIX-P8-32-NEXT: stxvd2x vs0, 0, r4
971 ; AIX-P8-32-NEXT: stfdx f1, r4, r3
972 ; AIX-P8-32-NEXT: lxvd2x v2, 0, r4
973 ; AIX-P8-32-NEXT: blr
1007 ; AIX-P8-LABEL: testDoubleImm1:
1008 ; AIX-P8: # %bb.0: # %entry
1009 ; AIX-P8-NEXT: # kill: def $f1 killed $f1 def $vsl1
1010 ; AIX-P8-NEXT: xxpermdi v2, vs1, v2, 1
1011 ; AIX-P8-NEXT: blr
1036 ; AIX-P8-LABEL: testDoubleImm2:
1037 ; AIX-P8: # %bb.0: # %entry
1038 ; AIX-P8-NEXT: lfd f0, 0(r3)
1039 ; AIX-P8-NEXT: xxpermdi v2, vs0, v2, 1
1040 ; AIX-P8-NEXT: blr
1067 ; AIX-P8-LABEL: testDoubleImm3:
1068 ; AIX-P8: # %bb.0: # %entry
1069 ; AIX-P8-NEXT: lfd f0, 4(r3)
1070 ; AIX-P8-NEXT: xxpermdi v2, vs0, v2, 1
1071 ; AIX-P8-NEXT: blr
1100 ; AIX-P8-LABEL: testDoubleImm4:
1101 ; AIX-P8: # %bb.0: # %entry
1102 ; AIX-P8-NEXT: lis r4, 4
1103 ; AIX-P8-NEXT: lfdx f0, r3, r4
1104 ; AIX-P8-NEXT: xxpermdi v2, vs0, v2, 1
1105 ; AIX-P8-NEXT: blr
1139 ; AIX-P8-64-LABEL: testDoubleImm5:
1140 ; AIX-P8-64: # %bb.0: # %entry
1141 ; AIX-P8-64-NEXT: li r4, 1
1142 ; AIX-P8-64-NEXT: rldic r4, r4, 38, 25
1143 ; AIX-P8-64-NEXT: lfdx f0, r3, r4
1144 ; AIX-P8-64-NEXT: xxpermdi v2, vs0, v2, 1
1145 ; AIX-P8-64-NEXT: blr
1147 ; AIX-P8-32-LABEL: testDoubleImm5:
1148 ; AIX-P8-32: # %bb.0: # %entry
1149 ; AIX-P8-32-NEXT: lfd f0, 0(r3)
1150 ; AIX-P8-32-NEXT: xxpermdi v2, vs0, v2, 1
1151 ; AIX-P8-32-NEXT: blr
1179 ; AIX-P8-64-LABEL: testInsertDoubleToFloat:
1180 ; AIX-P8-64: # %bb.0: # %entry
1181 ; AIX-P8-64-NEXT: xsrsp f0, f1
1182 ; AIX-P8-64-NEXT: ld r3, L..C8(r2) # %const.0
1183 ; AIX-P8-64-NEXT: lxvw4x v4, 0, r3
1184 ; AIX-P8-64-NEXT: xscvdpspn v3, f0
1185 ; AIX-P8-64-NEXT: vperm v2, v2, v3, v4
1186 ; AIX-P8-64-NEXT: blr
1188 ; AIX-P8-32-LABEL: testInsertDoubleToFloat:
1189 ; AIX-P8-32: # %bb.0: # %entry
1190 ; AIX-P8-32-NEXT: xsrsp f0, f1
1191 ; AIX-P8-32-NEXT: lwz r3, L..C12(r2) # %const.0
1192 ; AIX-P8-32-NEXT: lxvw4x v4, 0, r3
1193 ; AIX-P8-32-NEXT: xscvdpspn v3, f0
1194 ; AIX-P8-32-NEXT: vperm v2, v2, v3, v4
1195 ; AIX-P8-32-NEXT: blr