@@ -656,6 +656,46 @@ body: |
656
656
$vgpr1 = COPY %4
657
657
...
658
658
659
+ ---
660
+ name : test_unmerge_s8_p3
661
+ body : |
662
+ bb.0:
663
+ liveins: $vgpr0
664
+ ; CHECK-LABEL: name: test_unmerge_s8_p3
665
+ ; CHECK: [[COPY:%[0-9]+]]:_(p3) = COPY $vgpr0
666
+ ; CHECK: [[PTRTOINT:%[0-9]+]]:_(s32) = G_PTRTOINT [[COPY]](p3)
667
+ ; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 16
668
+ ; CHECK: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[PTRTOINT]], [[C]](s32)
669
+ ; CHECK: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 8
670
+ ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY [[C1]](s32)
671
+ ; CHECK: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 65535
672
+ ; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY [[PTRTOINT]](s32)
673
+ ; CHECK: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C2]]
674
+ ; CHECK: [[LSHR1:%[0-9]+]]:_(s32) = G_LSHR [[AND]], [[COPY1]](s32)
675
+ ; CHECK: [[COPY3:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
676
+ ; CHECK: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY3]], [[C2]]
677
+ ; CHECK: [[LSHR2:%[0-9]+]]:_(s32) = G_LSHR [[AND1]], [[C1]](s32)
678
+ ; CHECK: [[COPY4:%[0-9]+]]:_(s32) = COPY [[PTRTOINT]](s32)
679
+ ; CHECK: [[COPY5:%[0-9]+]]:_(s32) = COPY [[LSHR1]](s32)
680
+ ; CHECK: [[COPY6:%[0-9]+]]:_(s32) = COPY [[LSHR]](s32)
681
+ ; CHECK: [[COPY7:%[0-9]+]]:_(s32) = COPY [[LSHR2]](s32)
682
+ ; CHECK: $vgpr0 = COPY [[COPY4]](s32)
683
+ ; CHECK: $vgpr1 = COPY [[COPY5]](s32)
684
+ ; CHECK: $vgpr2 = COPY [[COPY6]](s32)
685
+ ; CHECK: $vgpr3 = COPY [[COPY7]](s32)
686
+ %0:_(p3) = COPY $vgpr0
687
+ %1:_(s8), %2:_(s8), %3:_(s8), %4:_(s8) = G_UNMERGE_VALUES %0
688
+ %5:_(s32) = G_ANYEXT %1
689
+ %6:_(s32) = G_ANYEXT %2
690
+ %7:_(s32) = G_ANYEXT %3
691
+ %8:_(s32) = G_ANYEXT %4
692
+ $vgpr0 = COPY %5
693
+ $vgpr1 = COPY %6
694
+ $vgpr2 = COPY %7
695
+ $vgpr3 = COPY %8
696
+
697
+ ...
698
+
659
699
---
660
700
name : test_unmerge_s16_s64
661
701
body : |
0 commit comments