@@ -240,11 +240,9 @@ body: |
240
240
; CHECK: liveins: $vgpr0
241
241
; CHECK-NEXT: {{ $}}
242
242
; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
243
- ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[COPY]](s32)
244
- ; CHECK-NEXT: [[C:%[0-9]+]]:_(s16) = G_CONSTANT i16 8
245
- ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s16) = G_SHL [[TRUNC]], [[C]](s16)
246
- ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s16) = G_ASHR [[SHL]], [[C]](s16)
247
- ; CHECK-NEXT: S_ENDPGM 0, implicit [[ASHR]](s16)
243
+ ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 8
244
+ ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[SEXT_INREG]](s32)
245
+ ; CHECK-NEXT: S_ENDPGM 0, implicit [[TRUNC]](s16)
248
246
%0:_(s32) = COPY $vgpr0
249
247
%1:_(s8) = G_TRUNC %0
250
248
%2:_(s16) = G_SEXT %1
@@ -653,66 +651,65 @@ body: |
653
651
; CHECK-NEXT: [[LSHR1:%[0-9]+]]:_(s32) = G_LSHR [[COPY]], [[C1]](s32)
654
652
; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 24
655
653
; CHECK-NEXT: [[LSHR2:%[0-9]+]]:_(s32) = G_LSHR [[COPY]], [[C2]](s32)
656
- ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR2]](s32)
657
- ; CHECK-NEXT: [[C3:%[0-9]+]]:_(s16) = G_CONSTANT i16 8
658
- ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s16) = G_SHL [[TRUNC]], [[C3]](s16)
659
- ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s16) = G_ASHR [[SHL]], [[C3]](s16)
660
- ; CHECK-NEXT: [[C4:%[0-9]+]]:_(s16) = G_CONSTANT i16 7
661
- ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s16) = G_ASHR [[ASHR]], [[C4]](s16)
654
+ ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[LSHR2]], 8
655
+ ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[SEXT_INREG]](s32)
656
+ ; CHECK-NEXT: [[C3:%[0-9]+]]:_(s16) = G_CONSTANT i16 7
657
+ ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s16) = G_ASHR [[TRUNC]], [[C3]](s16)
662
658
; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[COPY]](s32)
663
- ; CHECK-NEXT: [[C5 :%[0-9]+]]:_(s16) = G_CONSTANT i16 255
664
- ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s16) = G_AND [[TRUNC1]], [[C5 ]]
659
+ ; CHECK-NEXT: [[C4 :%[0-9]+]]:_(s16) = G_CONSTANT i16 255
660
+ ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s16) = G_AND [[TRUNC1]], [[C4 ]]
665
661
; CHECK-NEXT: [[TRUNC2:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR]](s32)
666
- ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s16) = G_AND [[TRUNC2]], [[C5]]
667
- ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s16) = G_SHL [[AND1]], [[C3]](s16)
668
- ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s16) = G_OR [[AND]], [[SHL1]]
662
+ ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s16) = G_AND [[TRUNC2]], [[C4]]
663
+ ; CHECK-NEXT: [[C5:%[0-9]+]]:_(s16) = G_CONSTANT i16 8
664
+ ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s16) = G_SHL [[AND1]], [[C5]](s16)
665
+ ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s16) = G_OR [[AND]], [[SHL]]
669
666
; CHECK-NEXT: [[TRUNC3:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR1]](s32)
670
- ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s16) = G_AND [[TRUNC3]], [[C5 ]]
667
+ ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s16) = G_AND [[TRUNC3]], [[C4 ]]
671
668
; CHECK-NEXT: [[TRUNC4:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR2]](s32)
672
- ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s16) = G_AND [[TRUNC4]], [[C5 ]]
673
- ; CHECK-NEXT: [[SHL2 :%[0-9]+]]:_(s16) = G_SHL [[AND3]], [[C3 ]](s16)
674
- ; CHECK-NEXT: [[OR1:%[0-9]+]]:_(s16) = G_OR [[AND2]], [[SHL2 ]]
675
- ; CHECK-NEXT: [[AND4:%[0-9]+]]:_(s16) = G_AND [[ASHR1 ]], [[C5 ]]
676
- ; CHECK-NEXT: [[AND5:%[0-9]+]]:_(s16) = G_AND [[ASHR1 ]], [[C5 ]]
677
- ; CHECK-NEXT: [[SHL3 :%[0-9]+]]:_(s16) = G_SHL [[AND5]], [[C3 ]](s16)
678
- ; CHECK-NEXT: [[OR2:%[0-9]+]]:_(s16) = G_OR [[AND4]], [[SHL3 ]]
679
- ; CHECK-NEXT: [[AND6:%[0-9]+]]:_(s16) = G_AND [[ASHR1 ]], [[C5 ]]
680
- ; CHECK-NEXT: [[AND7:%[0-9]+]]:_(s16) = G_AND [[ASHR1 ]], [[C5 ]]
681
- ; CHECK-NEXT: [[SHL4 :%[0-9]+]]:_(s16) = G_SHL [[AND7]], [[C3 ]](s16)
682
- ; CHECK-NEXT: [[OR3:%[0-9]+]]:_(s16) = G_OR [[AND6]], [[SHL4 ]]
669
+ ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s16) = G_AND [[TRUNC4]], [[C4 ]]
670
+ ; CHECK-NEXT: [[SHL1 :%[0-9]+]]:_(s16) = G_SHL [[AND3]], [[C5 ]](s16)
671
+ ; CHECK-NEXT: [[OR1:%[0-9]+]]:_(s16) = G_OR [[AND2]], [[SHL1 ]]
672
+ ; CHECK-NEXT: [[AND4:%[0-9]+]]:_(s16) = G_AND [[ASHR ]], [[C4 ]]
673
+ ; CHECK-NEXT: [[AND5:%[0-9]+]]:_(s16) = G_AND [[ASHR ]], [[C4 ]]
674
+ ; CHECK-NEXT: [[SHL2 :%[0-9]+]]:_(s16) = G_SHL [[AND5]], [[C5 ]](s16)
675
+ ; CHECK-NEXT: [[OR2:%[0-9]+]]:_(s16) = G_OR [[AND4]], [[SHL2 ]]
676
+ ; CHECK-NEXT: [[AND6:%[0-9]+]]:_(s16) = G_AND [[ASHR ]], [[C4 ]]
677
+ ; CHECK-NEXT: [[AND7:%[0-9]+]]:_(s16) = G_AND [[ASHR ]], [[C4 ]]
678
+ ; CHECK-NEXT: [[SHL3 :%[0-9]+]]:_(s16) = G_SHL [[AND7]], [[C5 ]](s16)
679
+ ; CHECK-NEXT: [[OR3:%[0-9]+]]:_(s16) = G_OR [[AND6]], [[SHL3 ]]
683
680
; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s32) = G_ZEXT [[OR]](s16)
684
681
; CHECK-NEXT: [[ZEXT1:%[0-9]+]]:_(s32) = G_ZEXT [[OR1]](s16)
685
- ; CHECK-NEXT: [[SHL5 :%[0-9]+]]:_(s32) = G_SHL [[ZEXT1]], [[C1]](s32)
686
- ; CHECK-NEXT: [[OR4:%[0-9]+]]:_(s32) = G_OR [[ZEXT]], [[SHL5 ]]
682
+ ; CHECK-NEXT: [[SHL4 :%[0-9]+]]:_(s32) = G_SHL [[ZEXT1]], [[C1]](s32)
683
+ ; CHECK-NEXT: [[OR4:%[0-9]+]]:_(s32) = G_OR [[ZEXT]], [[SHL4 ]]
687
684
; CHECK-NEXT: [[ZEXT2:%[0-9]+]]:_(s32) = G_ZEXT [[OR2]](s16)
688
685
; CHECK-NEXT: [[ZEXT3:%[0-9]+]]:_(s32) = G_ZEXT [[OR3]](s16)
689
- ; CHECK-NEXT: [[SHL6 :%[0-9]+]]:_(s32) = G_SHL [[ZEXT3]], [[C1]](s32)
690
- ; CHECK-NEXT: [[OR5:%[0-9]+]]:_(s32) = G_OR [[ZEXT2]], [[SHL6 ]]
686
+ ; CHECK-NEXT: [[SHL5 :%[0-9]+]]:_(s32) = G_SHL [[ZEXT3]], [[C1]](s32)
687
+ ; CHECK-NEXT: [[OR5:%[0-9]+]]:_(s32) = G_OR [[ZEXT2]], [[SHL5 ]]
691
688
; CHECK-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[OR4]](s32), [[OR5]](s32)
692
- ; CHECK-NEXT: [[AND8:%[0-9]+]]:_(s16) = G_AND [[ASHR1 ]], [[C5 ]]
693
- ; CHECK-NEXT: [[AND9:%[0-9]+]]:_(s16) = G_AND [[ASHR1 ]], [[C5 ]]
694
- ; CHECK-NEXT: [[SHL7 :%[0-9]+]]:_(s16) = G_SHL [[AND9]], [[C3 ]](s16)
695
- ; CHECK-NEXT: [[OR6:%[0-9]+]]:_(s16) = G_OR [[AND8]], [[SHL7 ]]
696
- ; CHECK-NEXT: [[AND10:%[0-9]+]]:_(s16) = G_AND [[ASHR1 ]], [[C5 ]]
697
- ; CHECK-NEXT: [[AND11:%[0-9]+]]:_(s16) = G_AND [[ASHR1 ]], [[C5 ]]
698
- ; CHECK-NEXT: [[SHL8 :%[0-9]+]]:_(s16) = G_SHL [[AND11]], [[C3 ]](s16)
699
- ; CHECK-NEXT: [[OR7:%[0-9]+]]:_(s16) = G_OR [[AND10]], [[SHL8 ]]
700
- ; CHECK-NEXT: [[AND12:%[0-9]+]]:_(s16) = G_AND [[ASHR1 ]], [[C5 ]]
701
- ; CHECK-NEXT: [[AND13:%[0-9]+]]:_(s16) = G_AND [[ASHR1 ]], [[C5 ]]
702
- ; CHECK-NEXT: [[SHL9 :%[0-9]+]]:_(s16) = G_SHL [[AND13]], [[C3 ]](s16)
703
- ; CHECK-NEXT: [[OR8:%[0-9]+]]:_(s16) = G_OR [[AND12]], [[SHL9 ]]
704
- ; CHECK-NEXT: [[AND14:%[0-9]+]]:_(s16) = G_AND [[ASHR1 ]], [[C5 ]]
705
- ; CHECK-NEXT: [[AND15:%[0-9]+]]:_(s16) = G_AND [[ASHR1 ]], [[C5 ]]
706
- ; CHECK-NEXT: [[SHL10 :%[0-9]+]]:_(s16) = G_SHL [[AND15]], [[C3 ]](s16)
707
- ; CHECK-NEXT: [[OR9:%[0-9]+]]:_(s16) = G_OR [[AND14]], [[SHL10 ]]
689
+ ; CHECK-NEXT: [[AND8:%[0-9]+]]:_(s16) = G_AND [[ASHR ]], [[C4 ]]
690
+ ; CHECK-NEXT: [[AND9:%[0-9]+]]:_(s16) = G_AND [[ASHR ]], [[C4 ]]
691
+ ; CHECK-NEXT: [[SHL6 :%[0-9]+]]:_(s16) = G_SHL [[AND9]], [[C5 ]](s16)
692
+ ; CHECK-NEXT: [[OR6:%[0-9]+]]:_(s16) = G_OR [[AND8]], [[SHL6 ]]
693
+ ; CHECK-NEXT: [[AND10:%[0-9]+]]:_(s16) = G_AND [[ASHR ]], [[C4 ]]
694
+ ; CHECK-NEXT: [[AND11:%[0-9]+]]:_(s16) = G_AND [[ASHR ]], [[C4 ]]
695
+ ; CHECK-NEXT: [[SHL7 :%[0-9]+]]:_(s16) = G_SHL [[AND11]], [[C5 ]](s16)
696
+ ; CHECK-NEXT: [[OR7:%[0-9]+]]:_(s16) = G_OR [[AND10]], [[SHL7 ]]
697
+ ; CHECK-NEXT: [[AND12:%[0-9]+]]:_(s16) = G_AND [[ASHR ]], [[C4 ]]
698
+ ; CHECK-NEXT: [[AND13:%[0-9]+]]:_(s16) = G_AND [[ASHR ]], [[C4 ]]
699
+ ; CHECK-NEXT: [[SHL8 :%[0-9]+]]:_(s16) = G_SHL [[AND13]], [[C5 ]](s16)
700
+ ; CHECK-NEXT: [[OR8:%[0-9]+]]:_(s16) = G_OR [[AND12]], [[SHL8 ]]
701
+ ; CHECK-NEXT: [[AND14:%[0-9]+]]:_(s16) = G_AND [[ASHR ]], [[C4 ]]
702
+ ; CHECK-NEXT: [[AND15:%[0-9]+]]:_(s16) = G_AND [[ASHR ]], [[C4 ]]
703
+ ; CHECK-NEXT: [[SHL9 :%[0-9]+]]:_(s16) = G_SHL [[AND15]], [[C5 ]](s16)
704
+ ; CHECK-NEXT: [[OR9:%[0-9]+]]:_(s16) = G_OR [[AND14]], [[SHL9 ]]
708
705
; CHECK-NEXT: [[ZEXT4:%[0-9]+]]:_(s32) = G_ZEXT [[OR6]](s16)
709
706
; CHECK-NEXT: [[ZEXT5:%[0-9]+]]:_(s32) = G_ZEXT [[OR7]](s16)
710
- ; CHECK-NEXT: [[SHL11 :%[0-9]+]]:_(s32) = G_SHL [[ZEXT5]], [[C1]](s32)
711
- ; CHECK-NEXT: [[OR10:%[0-9]+]]:_(s32) = G_OR [[ZEXT4]], [[SHL11 ]]
707
+ ; CHECK-NEXT: [[SHL10 :%[0-9]+]]:_(s32) = G_SHL [[ZEXT5]], [[C1]](s32)
708
+ ; CHECK-NEXT: [[OR10:%[0-9]+]]:_(s32) = G_OR [[ZEXT4]], [[SHL10 ]]
712
709
; CHECK-NEXT: [[ZEXT6:%[0-9]+]]:_(s32) = G_ZEXT [[OR8]](s16)
713
710
; CHECK-NEXT: [[ZEXT7:%[0-9]+]]:_(s32) = G_ZEXT [[OR9]](s16)
714
- ; CHECK-NEXT: [[SHL12 :%[0-9]+]]:_(s32) = G_SHL [[ZEXT7]], [[C1]](s32)
715
- ; CHECK-NEXT: [[OR11:%[0-9]+]]:_(s32) = G_OR [[ZEXT6]], [[SHL12 ]]
711
+ ; CHECK-NEXT: [[SHL11 :%[0-9]+]]:_(s32) = G_SHL [[ZEXT7]], [[C1]](s32)
712
+ ; CHECK-NEXT: [[OR11:%[0-9]+]]:_(s32) = G_OR [[ZEXT6]], [[SHL11 ]]
716
713
; CHECK-NEXT: [[MV1:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[OR10]](s32), [[OR11]](s32)
717
714
; CHECK-NEXT: [[MV2:%[0-9]+]]:_(s704) = G_MERGE_VALUES [[MV]](s64), [[MV1]](s64), [[MV1]](s64), [[MV1]](s64), [[MV1]](s64), [[MV1]](s64), [[MV1]](s64), [[MV1]](s64), [[MV1]](s64), [[MV1]](s64), [[MV1]](s64)
718
715
; CHECK-NEXT: [[TRUNC5:%[0-9]+]]:_(s88) = G_TRUNC [[MV2]](s704)
0 commit comments