@@ -1134,46 +1134,6 @@ class VPseudoUnaryMask_NoExcept<VReg RetClass,
11341134 let usesCustomInserter = 1;
11351135}
11361136
1137- class VPseudoUnaryNoMask_FRM<VReg RetClass,
1138- VReg OpClass,
1139- string Constraint = "",
1140- bits<2> TargetConstraintType = 1> :
1141- Pseudo<(outs RetClass:$rd),
1142- (ins RetClass:$passthru, OpClass:$rs2, vec_rm:$frm,
1143- AVL:$vl, sew:$sew, vec_policy:$policy), []>,
1144- RISCVVPseudo {
1145- let mayLoad = 0;
1146- let mayStore = 0;
1147- let hasSideEffects = 0;
1148- let Constraints = !interleave([Constraint, "$rd = $passthru"], ",");
1149- let TargetOverlapConstraintType = TargetConstraintType;
1150- let HasVLOp = 1;
1151- let HasSEWOp = 1;
1152- let HasVecPolicyOp = 1;
1153- let HasRoundModeOp = 1;
1154- }
1155-
1156- class VPseudoUnaryMask_FRM<VReg RetClass,
1157- VReg OpClass,
1158- string Constraint = "",
1159- bits<2> TargetConstraintType = 1> :
1160- Pseudo<(outs GetVRegNoV0<RetClass>.R:$rd),
1161- (ins GetVRegNoV0<RetClass>.R:$passthru, OpClass:$rs2,
1162- VMaskOp:$vm, vec_rm:$frm,
1163- AVL:$vl, sew:$sew, vec_policy:$policy), []>,
1164- RISCVVPseudo {
1165- let mayLoad = 0;
1166- let mayStore = 0;
1167- let hasSideEffects = 0;
1168- let Constraints = !interleave([Constraint, "$rd = $passthru"], ",");
1169- let TargetOverlapConstraintType = TargetConstraintType;
1170- let HasVLOp = 1;
1171- let HasSEWOp = 1;
1172- let HasVecPolicyOp = 1;
1173- let UsesMaskPolicy = 1;
1174- let HasRoundModeOp = 1;
1175- }
1176-
11771137class VPseudoUnaryNoMaskGPROut :
11781138 Pseudo<(outs GPR:$rd),
11791139 (ins VR:$rs2, AVL:$vl, sew:$sew), []>,
@@ -3578,23 +3538,6 @@ multiclass VPseudoConversionRoundingMode<VReg RetClass,
35783538 }
35793539}
35803540
3581-
3582- multiclass VPseudoConversionRM<VReg RetClass,
3583- VReg Op1Class,
3584- LMULInfo MInfo,
3585- string Constraint = "",
3586- int sew = 0,
3587- bits<2> TargetConstraintType = 1> {
3588- let VLMul = MInfo.value, SEW=sew in {
3589- defvar suffix = !if(sew, "_" # MInfo.MX # "_E" # sew, "_" # MInfo.MX);
3590- def suffix : VPseudoUnaryNoMask_FRM<RetClass, Op1Class,
3591- Constraint, TargetConstraintType>;
3592- def suffix # "_MASK" : VPseudoUnaryMask_FRM<RetClass, Op1Class,
3593- Constraint, TargetConstraintType>,
3594- RISCVMaskedPseudo<MaskIdx=2>;
3595- }
3596- }
3597-
35983541multiclass VPseudoConversionNoExcept<VReg RetClass,
35993542 VReg Op1Class,
36003543 LMULInfo MInfo,
@@ -3620,14 +3563,6 @@ multiclass VPseudoVCVTI_V_RM {
36203563 }
36213564}
36223565
3623- multiclass VPseudoVCVTI_RM_V {
3624- foreach m = MxListF in {
3625- defm _V : VPseudoConversionRM<m.vrclass, m.vrclass, m>,
3626- SchedUnary<"WriteVFCvtFToIV", "ReadVFCvtFToIV", m.MX,
3627- forcePassthruRead=true>;
3628- }
3629- }
3630-
36313566multiclass VPseudoVFROUND_NOEXCEPT_V {
36323567 foreach m = MxListF in {
36333568 defm _V : VPseudoConversionNoExcept<m.vrclass, m.vrclass, m>,
@@ -3645,15 +3580,6 @@ multiclass VPseudoVCVTF_V_RM {
36453580 }
36463581}
36473582
3648- multiclass VPseudoVCVTF_RM_V {
3649- foreach m = MxListF in {
3650- foreach e = SchedSEWSet<m.MX, isF=1>.val in
3651- defm _V : VPseudoConversionRM<m.vrclass, m.vrclass, m, sew=e>,
3652- SchedUnary<"WriteVFCvtIToFV", "ReadVFCvtIToFV", m.MX, e,
3653- forcePassthruRead=true>;
3654- }
3655- }
3656-
36573583multiclass VPseudoVWCVTI_V {
36583584 defvar constraint = "@earlyclobber $rd";
36593585 foreach m = MxListFW in {
@@ -3672,15 +3598,6 @@ multiclass VPseudoVWCVTI_V_RM {
36723598 }
36733599}
36743600
3675- multiclass VPseudoVWCVTI_RM_V {
3676- defvar constraint = "@earlyclobber $rd";
3677- foreach m = MxListFW in {
3678- defm _V : VPseudoConversionRM<m.wvrclass, m.vrclass, m, constraint>,
3679- SchedUnary<"WriteVFWCvtFToIV", "ReadVFWCvtFToIV", m.MX,
3680- forcePassthruRead=true>;
3681- }
3682- }
3683-
36843601multiclass VPseudoVWCVTF_V {
36853602 defvar constraint = "@earlyclobber $rd";
36863603 foreach m = MxListW in {
@@ -3721,15 +3638,6 @@ multiclass VPseudoVNCVTI_W_RM {
37213638 }
37223639}
37233640
3724- multiclass VPseudoVNCVTI_RM_W {
3725- defvar constraint = "@earlyclobber $rd";
3726- foreach m = MxListW in {
3727- defm _W : VPseudoConversionRM<m.vrclass, m.wvrclass, m, constraint, TargetConstraintType=2>,
3728- SchedUnary<"WriteVFNCvtFToIV", "ReadVFNCvtFToIV", m.MX,
3729- forcePassthruRead=true>;
3730- }
3731- }
3732-
37333641multiclass VPseudoVNCVTF_W_RM {
37343642 defvar constraint = "@earlyclobber $rd";
37353643 foreach m = MxListFW in {
@@ -3742,17 +3650,6 @@ multiclass VPseudoVNCVTF_W_RM {
37423650 }
37433651}
37443652
3745- multiclass VPseudoVNCVTF_RM_W {
3746- defvar constraint = "@earlyclobber $rd";
3747- foreach m = MxListFW in {
3748- foreach e = SchedSEWSet<m.MX, isF=1, isWidening=1>.val in
3749- defm _W : VPseudoConversionRM<m.vrclass, m.wvrclass, m, constraint, sew=e,
3750- TargetConstraintType=2>,
3751- SchedUnary<"WriteVFNCvtIToFV", "ReadVFNCvtIToFV", m.MX, e,
3752- forcePassthruRead=true>;
3753- }
3754- }
3755-
37563653multiclass VPseudoVNCVTD_W {
37573654 defvar constraint = "@earlyclobber $rd";
37583655 foreach m = MxListFW in {
@@ -6583,9 +6480,6 @@ defm PseudoVFCVT_XU_F : VPseudoVCVTI_V_RM;
65836480defm PseudoVFCVT_X_F : VPseudoVCVTI_V_RM;
65846481}
65856482
6586- defm PseudoVFCVT_RM_XU_F : VPseudoVCVTI_RM_V;
6587- defm PseudoVFCVT_RM_X_F : VPseudoVCVTI_RM_V;
6588-
65896483defm PseudoVFCVT_RTZ_XU_F : VPseudoVCVTI_V;
65906484defm PseudoVFCVT_RTZ_X_F : VPseudoVCVTI_V;
65916485
@@ -6594,8 +6488,6 @@ let hasSideEffects = 0, hasPostISelHook = 1 in {
65946488defm PseudoVFCVT_F_XU : VPseudoVCVTF_V_RM;
65956489defm PseudoVFCVT_F_X : VPseudoVCVTF_V_RM;
65966490}
6597- defm PseudoVFCVT_RM_F_XU : VPseudoVCVTF_RM_V;
6598- defm PseudoVFCVT_RM_F_X : VPseudoVCVTF_RM_V;
65996491} // mayRaiseFPException = true
66006492
66016493//===----------------------------------------------------------------------===//
@@ -6606,8 +6498,6 @@ let hasSideEffects = 0, hasPostISelHook = 1 in {
66066498defm PseudoVFWCVT_XU_F : VPseudoVWCVTI_V_RM;
66076499defm PseudoVFWCVT_X_F : VPseudoVWCVTI_V_RM;
66086500}
6609- defm PseudoVFWCVT_RM_XU_F : VPseudoVWCVTI_RM_V;
6610- defm PseudoVFWCVT_RM_X_F : VPseudoVWCVTI_RM_V;
66116501
66126502defm PseudoVFWCVT_RTZ_XU_F : VPseudoVWCVTI_V;
66136503defm PseudoVFWCVT_RTZ_X_F : VPseudoVWCVTI_V;
@@ -6627,8 +6517,6 @@ let hasSideEffects = 0, hasPostISelHook = 1 in {
66276517defm PseudoVFNCVT_XU_F : VPseudoVNCVTI_W_RM;
66286518defm PseudoVFNCVT_X_F : VPseudoVNCVTI_W_RM;
66296519}
6630- defm PseudoVFNCVT_RM_XU_F : VPseudoVNCVTI_RM_W;
6631- defm PseudoVFNCVT_RM_X_F : VPseudoVNCVTI_RM_W;
66326520
66336521defm PseudoVFNCVT_RTZ_XU_F : VPseudoVNCVTI_W;
66346522defm PseudoVFNCVT_RTZ_X_F : VPseudoVNCVTI_W;
@@ -6637,8 +6525,6 @@ let hasSideEffects = 0, hasPostISelHook = 1 in {
66376525defm PseudoVFNCVT_F_XU : VPseudoVNCVTF_W_RM;
66386526defm PseudoVFNCVT_F_X : VPseudoVNCVTF_W_RM;
66396527}
6640- defm PseudoVFNCVT_RM_F_XU : VPseudoVNCVTF_RM_W;
6641- defm PseudoVFNCVT_RM_F_X : VPseudoVNCVTF_RM_W;
66426528
66436529let hasSideEffects = 0, hasPostISelHook = 1 in {
66446530defm PseudoVFNCVT_F_F : VPseudoVNCVTD_W_RM;
0 commit comments