@@ -644,14 +644,10 @@ def MOVXd32d16 : MxPseudoMove_RR<MxType32r, MxType16r>;
644
644
//===----------------------------------------------------------------------===//
645
645
646
646
// i16 <- sext i8
647
- def: Pat<(i16 (sext i8:$src)),
648
- (EXTRACT_SUBREG (MOVSXd32d8 MxDRD8:$src), MxSubRegIndex16Lo)>;
649
- def: Pat<(MxSExtLoadi16i8 MxCP_ARI:$src),
650
- (EXTRACT_SUBREG (MOVSXd32j8 MxARI8:$src), MxSubRegIndex16Lo)>;
651
- def: Pat<(MxSExtLoadi16i8 MxCP_ARID:$src),
652
- (EXTRACT_SUBREG (MOVSXd32p8 MxARID8:$src), MxSubRegIndex16Lo)>;
653
- def: Pat<(MxSExtLoadi16i8 MxCP_ARII:$src),
654
- (EXTRACT_SUBREG (MOVSXd32f8 MxARII8:$src), MxSubRegIndex16Lo)>;
647
+ def: Pat<(i16 (sext i8:$src)), (MOVSXd16d8 MxDRD8:$src)>;
648
+ def: Pat<(MxSExtLoadi16i8 MxCP_ARI:$src), (MOVSXd16j8 MxARI8:$src)>;
649
+ def: Pat<(MxSExtLoadi16i8 MxCP_ARID:$src), (MOVSXd16p8 MxARID8:$src)>;
650
+ def: Pat<(MxSExtLoadi16i8 MxCP_ARII:$src), (MOVSXd16f8 MxARII8:$src)>;
655
651
def: Pat<(MxSExtLoadi16i8 MxCP_PCD:$src), (MOVSXd16q8 MxPCD8:$src)>;
656
652
657
653
// i32 <- sext i8
@@ -669,14 +665,10 @@ def: Pat<(MxSExtLoadi32i16 MxCP_ARII:$src), (MOVSXd32f16 MxARII16:$src)>;
669
665
def: Pat<(MxSExtLoadi32i16 MxCP_PCD:$src), (MOVSXd32q16 MxPCD16:$src)>;
670
666
671
667
// i16 <- zext i8
672
- def: Pat<(i16 (zext i8:$src)),
673
- (EXTRACT_SUBREG (MOVZXd32d8 MxDRD8:$src), MxSubRegIndex16Lo)>;
674
- def: Pat<(MxZExtLoadi16i8 MxCP_ARI:$src),
675
- (EXTRACT_SUBREG (MOVZXd32j8 MxARI8:$src), MxSubRegIndex16Lo)>;
676
- def: Pat<(MxZExtLoadi16i8 MxCP_ARID:$src),
677
- (EXTRACT_SUBREG (MOVZXd32p8 MxARID8:$src), MxSubRegIndex16Lo)>;
678
- def: Pat<(MxZExtLoadi16i8 MxCP_ARII:$src),
679
- (EXTRACT_SUBREG (MOVZXd32f8 MxARII8:$src), MxSubRegIndex16Lo)>;
668
+ def: Pat<(i16 (zext i8:$src)), (MOVZXd16d8 MxDRD8:$src)>;
669
+ def: Pat<(MxZExtLoadi16i8 MxCP_ARI:$src), (MOVZXd16j8 MxARI8:$src)>;
670
+ def: Pat<(MxZExtLoadi16i8 MxCP_ARID:$src), (MOVZXd16p8 MxARID8:$src)>;
671
+ def: Pat<(MxZExtLoadi16i8 MxCP_ARII:$src), (MOVZXd16f8 MxARII8:$src)>;
680
672
def: Pat<(MxZExtLoadi16i8 MxCP_PCD :$src), (MOVZXd16q8 MxPCD8 :$src)>;
681
673
682
674
// i32 <- zext i8
@@ -694,14 +686,10 @@ def: Pat<(MxZExtLoadi32i16 MxCP_ARII:$src), (MOVZXd32f16 MxARII16:$src)>;
694
686
def: Pat<(MxZExtLoadi32i16 MxCP_PCD :$src), (MOVZXd32q16 MxPCD16 :$src)>;
695
687
696
688
// i16 <- anyext i8
697
- def: Pat<(i16 (anyext i8:$src)),
698
- (EXTRACT_SUBREG (MOVZXd32d8 MxDRD8:$src), MxSubRegIndex16Lo)>;
699
- def: Pat<(MxExtLoadi16i8 MxCP_ARI:$src),
700
- (EXTRACT_SUBREG (MOVZXd32j8 MxARI8:$src), MxSubRegIndex16Lo)>;
701
- def: Pat<(MxExtLoadi16i8 MxCP_ARID:$src),
702
- (EXTRACT_SUBREG (MOVZXd32p8 MxARID8:$src), MxSubRegIndex16Lo)>;
703
- def: Pat<(MxExtLoadi16i8 MxCP_ARII:$src),
704
- (EXTRACT_SUBREG (MOVZXd32f8 MxARII8:$src), MxSubRegIndex16Lo)>;
689
+ def: Pat<(i16 (anyext i8:$src)), (MOVZXd16d8 MxDRD8:$src)>;
690
+ def: Pat<(MxExtLoadi16i8 MxCP_ARI:$src), (MOVZXd16j8 MxARI8:$src)>;
691
+ def: Pat<(MxExtLoadi16i8 MxCP_ARID:$src), (MOVZXd16p8 MxARID8:$src)>;
692
+ def: Pat<(MxExtLoadi16i8 MxCP_ARII:$src), (MOVZXd16f8 MxARII8:$src)>;
705
693
706
694
// i32 <- anyext i8
707
695
def: Pat<(i32 (anyext i8:$src)), (MOVZXd32d8 MxDRD8:$src)>;
0 commit comments