@@ -1130,46 +1130,6 @@ class VPseudoUnaryMask_NoExcept<VReg RetClass,
11301130 let usesCustomInserter = 1;
11311131}
11321132
1133- class VPseudoUnaryNoMask_FRM<VReg RetClass,
1134- VReg OpClass,
1135- string Constraint = "",
1136- bits<2> TargetConstraintType = 1> :
1137- Pseudo<(outs RetClass:$rd),
1138- (ins RetClass:$passthru, OpClass:$rs2, ixlenimm:$frm,
1139- AVL:$vl, sew:$sew, vec_policy:$policy), []>,
1140- RISCVVPseudo {
1141- let mayLoad = 0;
1142- let mayStore = 0;
1143- let hasSideEffects = 0;
1144- let Constraints = !interleave([Constraint, "$rd = $passthru"], ",");
1145- let TargetOverlapConstraintType = TargetConstraintType;
1146- let HasVLOp = 1;
1147- let HasSEWOp = 1;
1148- let HasVecPolicyOp = 1;
1149- let HasRoundModeOp = 1;
1150- }
1151-
1152- class VPseudoUnaryMask_FRM<VReg RetClass,
1153- VReg OpClass,
1154- string Constraint = "",
1155- bits<2> TargetConstraintType = 1> :
1156- Pseudo<(outs GetVRegNoV0<RetClass>.R:$rd),
1157- (ins GetVRegNoV0<RetClass>.R:$passthru, OpClass:$rs2,
1158- VMaskOp:$vm, ixlenimm:$frm,
1159- AVL:$vl, sew:$sew, vec_policy:$policy), []>,
1160- RISCVVPseudo {
1161- let mayLoad = 0;
1162- let mayStore = 0;
1163- let hasSideEffects = 0;
1164- let Constraints = !interleave([Constraint, "$rd = $passthru"], ",");
1165- let TargetOverlapConstraintType = TargetConstraintType;
1166- let HasVLOp = 1;
1167- let HasSEWOp = 1;
1168- let HasVecPolicyOp = 1;
1169- let UsesMaskPolicy = 1;
1170- let HasRoundModeOp = 1;
1171- }
1172-
11731133class VPseudoUnaryNoMaskGPROut :
11741134 Pseudo<(outs GPR:$rd),
11751135 (ins VR:$rs2, AVL:$vl, sew:$sew), []>,
@@ -3574,23 +3534,6 @@ multiclass VPseudoConversionRoundingMode<VReg RetClass,
35743534 }
35753535}
35763536
3577-
3578- multiclass VPseudoConversionRM<VReg RetClass,
3579- VReg Op1Class,
3580- LMULInfo MInfo,
3581- string Constraint = "",
3582- int sew = 0,
3583- bits<2> TargetConstraintType = 1> {
3584- let VLMul = MInfo.value, SEW=sew in {
3585- defvar suffix = !if(sew, "_" # MInfo.MX # "_E" # sew, "_" # MInfo.MX);
3586- def suffix : VPseudoUnaryNoMask_FRM<RetClass, Op1Class,
3587- Constraint, TargetConstraintType>;
3588- def suffix # "_MASK" : VPseudoUnaryMask_FRM<RetClass, Op1Class,
3589- Constraint, TargetConstraintType>,
3590- RISCVMaskedPseudo<MaskIdx=2>;
3591- }
3592- }
3593-
35943537multiclass VPseudoConversionNoExcept<VReg RetClass,
35953538 VReg Op1Class,
35963539 LMULInfo MInfo,
@@ -3616,14 +3559,6 @@ multiclass VPseudoVCVTI_V_RM {
36163559 }
36173560}
36183561
3619- multiclass VPseudoVCVTI_RM_V {
3620- foreach m = MxListF in {
3621- defm _V : VPseudoConversionRM<m.vrclass, m.vrclass, m>,
3622- SchedUnary<"WriteVFCvtFToIV", "ReadVFCvtFToIV", m.MX,
3623- forcePassthruRead=true>;
3624- }
3625- }
3626-
36273562multiclass VPseudoVFROUND_NOEXCEPT_V {
36283563 foreach m = MxListF in {
36293564 defm _V : VPseudoConversionNoExcept<m.vrclass, m.vrclass, m>,
@@ -3641,15 +3576,6 @@ multiclass VPseudoVCVTF_V_RM {
36413576 }
36423577}
36433578
3644- multiclass VPseudoVCVTF_RM_V {
3645- foreach m = MxListF in {
3646- foreach e = SchedSEWSet<m.MX, isF=1>.val in
3647- defm _V : VPseudoConversionRM<m.vrclass, m.vrclass, m, sew=e>,
3648- SchedUnary<"WriteVFCvtIToFV", "ReadVFCvtIToFV", m.MX, e,
3649- forcePassthruRead=true>;
3650- }
3651- }
3652-
36533579multiclass VPseudoVWCVTI_V {
36543580 defvar constraint = "@earlyclobber $rd";
36553581 foreach m = MxListFW in {
@@ -3668,15 +3594,6 @@ multiclass VPseudoVWCVTI_V_RM {
36683594 }
36693595}
36703596
3671- multiclass VPseudoVWCVTI_RM_V {
3672- defvar constraint = "@earlyclobber $rd";
3673- foreach m = MxListFW in {
3674- defm _V : VPseudoConversionRM<m.wvrclass, m.vrclass, m, constraint>,
3675- SchedUnary<"WriteVFWCvtFToIV", "ReadVFWCvtFToIV", m.MX,
3676- forcePassthruRead=true>;
3677- }
3678- }
3679-
36803597multiclass VPseudoVWCVTF_V {
36813598 defvar constraint = "@earlyclobber $rd";
36823599 foreach m = MxListW in {
@@ -3717,15 +3634,6 @@ multiclass VPseudoVNCVTI_W_RM {
37173634 }
37183635}
37193636
3720- multiclass VPseudoVNCVTI_RM_W {
3721- defvar constraint = "@earlyclobber $rd";
3722- foreach m = MxListW in {
3723- defm _W : VPseudoConversionRM<m.vrclass, m.wvrclass, m, constraint, TargetConstraintType=2>,
3724- SchedUnary<"WriteVFNCvtFToIV", "ReadVFNCvtFToIV", m.MX,
3725- forcePassthruRead=true>;
3726- }
3727- }
3728-
37293637multiclass VPseudoVNCVTF_W_RM {
37303638 defvar constraint = "@earlyclobber $rd";
37313639 foreach m = MxListFW in {
@@ -3738,17 +3646,6 @@ multiclass VPseudoVNCVTF_W_RM {
37383646 }
37393647}
37403648
3741- multiclass VPseudoVNCVTF_RM_W {
3742- defvar constraint = "@earlyclobber $rd";
3743- foreach m = MxListFW in {
3744- foreach e = SchedSEWSet<m.MX, isF=1, isWidening=1>.val in
3745- defm _W : VPseudoConversionRM<m.vrclass, m.wvrclass, m, constraint, sew=e,
3746- TargetConstraintType=2>,
3747- SchedUnary<"WriteVFNCvtIToFV", "ReadVFNCvtIToFV", m.MX, e,
3748- forcePassthruRead=true>;
3749- }
3750- }
3751-
37523649multiclass VPseudoVNCVTD_W {
37533650 defvar constraint = "@earlyclobber $rd";
37543651 foreach m = MxListFW in {
@@ -6579,9 +6476,6 @@ defm PseudoVFCVT_XU_F : VPseudoVCVTI_V_RM;
65796476defm PseudoVFCVT_X_F : VPseudoVCVTI_V_RM;
65806477}
65816478
6582- defm PseudoVFCVT_RM_XU_F : VPseudoVCVTI_RM_V;
6583- defm PseudoVFCVT_RM_X_F : VPseudoVCVTI_RM_V;
6584-
65856479defm PseudoVFCVT_RTZ_XU_F : VPseudoVCVTI_V;
65866480defm PseudoVFCVT_RTZ_X_F : VPseudoVCVTI_V;
65876481
@@ -6590,8 +6484,6 @@ let hasSideEffects = 0, hasPostISelHook = 1 in {
65906484defm PseudoVFCVT_F_XU : VPseudoVCVTF_V_RM;
65916485defm PseudoVFCVT_F_X : VPseudoVCVTF_V_RM;
65926486}
6593- defm PseudoVFCVT_RM_F_XU : VPseudoVCVTF_RM_V;
6594- defm PseudoVFCVT_RM_F_X : VPseudoVCVTF_RM_V;
65956487} // mayRaiseFPException = true
65966488
65976489//===----------------------------------------------------------------------===//
@@ -6602,8 +6494,6 @@ let hasSideEffects = 0, hasPostISelHook = 1 in {
66026494defm PseudoVFWCVT_XU_F : VPseudoVWCVTI_V_RM;
66036495defm PseudoVFWCVT_X_F : VPseudoVWCVTI_V_RM;
66046496}
6605- defm PseudoVFWCVT_RM_XU_F : VPseudoVWCVTI_RM_V;
6606- defm PseudoVFWCVT_RM_X_F : VPseudoVWCVTI_RM_V;
66076497
66086498defm PseudoVFWCVT_RTZ_XU_F : VPseudoVWCVTI_V;
66096499defm PseudoVFWCVT_RTZ_X_F : VPseudoVWCVTI_V;
@@ -6623,8 +6513,6 @@ let hasSideEffects = 0, hasPostISelHook = 1 in {
66236513defm PseudoVFNCVT_XU_F : VPseudoVNCVTI_W_RM;
66246514defm PseudoVFNCVT_X_F : VPseudoVNCVTI_W_RM;
66256515}
6626- defm PseudoVFNCVT_RM_XU_F : VPseudoVNCVTI_RM_W;
6627- defm PseudoVFNCVT_RM_X_F : VPseudoVNCVTI_RM_W;
66286516
66296517defm PseudoVFNCVT_RTZ_XU_F : VPseudoVNCVTI_W;
66306518defm PseudoVFNCVT_RTZ_X_F : VPseudoVNCVTI_W;
@@ -6633,8 +6521,6 @@ let hasSideEffects = 0, hasPostISelHook = 1 in {
66336521defm PseudoVFNCVT_F_XU : VPseudoVNCVTF_W_RM;
66346522defm PseudoVFNCVT_F_X : VPseudoVNCVTF_W_RM;
66356523}
6636- defm PseudoVFNCVT_RM_F_XU : VPseudoVNCVTF_RM_W;
6637- defm PseudoVFNCVT_RM_F_X : VPseudoVNCVTF_RM_W;
66386524
66396525let hasSideEffects = 0, hasPostISelHook = 1 in {
66406526defm PseudoVFNCVT_F_F : VPseudoVNCVTD_W_RM;
0 commit comments