@@ -2194,7 +2194,7 @@ multiclass VPseudoBinaryEmul<VReg RetClass,
21942194 LMULInfo lmul,
21952195 LMULInfo emul,
21962196 string Constraint = "",
2197- int sew = 0 > {
2197+ int sew> {
21982198 let VLMul = lmul.value, SEW=sew in {
21992199 defvar suffix = !if(sew, "_" # lmul.MX # "_E" # sew, "_" # lmul.MX);
22002200 def suffix # "_" # emul.MX : VPseudoBinaryNoMaskPolicy<RetClass, Op1Class, Op2Class,
@@ -2246,14 +2246,13 @@ multiclass VPseudoBinaryV_VV_RM<LMULInfo m, string Constraint = "", bit Commutab
22462246}
22472247
22482248// Similar to VPseudoBinaryV_VV, but uses MxListF.
2249- multiclass VPseudoBinaryFV_VV<LMULInfo m, string Constraint = "", int sew = 0 > {
2250- defm _VV : VPseudoBinary<m.vrclass, m.vrclass, m.vrclass, m, Constraint , sew>;
2249+ multiclass VPseudoBinaryFV_VV<LMULInfo m, int sew> {
2250+ defm _VV : VPseudoBinary<m.vrclass, m.vrclass, m.vrclass, m, "" , sew>;
22512251}
22522252
2253- multiclass VPseudoBinaryFV_VV_RM<LMULInfo m, string Constraint = "", int sew = 0 > {
2253+ multiclass VPseudoBinaryFV_VV_RM<LMULInfo m, int sew> {
22542254 defm _VV : VPseudoBinaryRoundingMode<m.vrclass, m.vrclass, m.vrclass, m,
2255- Constraint, sew,
2256- UsesVXRM=0>;
2255+ "", sew, UsesVXRM=0>;
22572256}
22582257
22592258multiclass VPseudoVGTR_EI16_VV<string Constraint = ""> {
@@ -2295,14 +2294,14 @@ multiclass VPseudoVSLD1_VX<string Constraint = ""> {
22952294 }
22962295}
22972296
2298- multiclass VPseudoBinaryV_VF<LMULInfo m, FPR_Info f, string Constraint = "", int sew = 0 > {
2297+ multiclass VPseudoBinaryV_VF<LMULInfo m, FPR_Info f, int sew> {
22992298 defm "_V" # f.FX : VPseudoBinary<m.vrclass, m.vrclass,
2300- f.fprclass, m, Constraint , sew>;
2299+ f.fprclass, m, "" , sew>;
23012300}
23022301
2303- multiclass VPseudoBinaryV_VF_RM<LMULInfo m, FPR_Info f, string Constraint = "", int sew = 0 > {
2302+ multiclass VPseudoBinaryV_VF_RM<LMULInfo m, FPR_Info f, int sew> {
23042303 defm "_V" # f.FX : VPseudoBinaryRoundingMode<m.vrclass, m.vrclass,
2305- f.fprclass, m, Constraint , sew,
2304+ f.fprclass, m, "" , sew,
23062305 UsesVXRM=0>;
23072306}
23082307
@@ -2348,7 +2347,7 @@ multiclass VPseudoBinaryW_VV<LMULInfo m, bit Commutable = 0> {
23482347 Commutable=Commutable>;
23492348}
23502349
2351- multiclass VPseudoBinaryW_VV_RM<LMULInfo m, int sew = 0 > {
2350+ multiclass VPseudoBinaryW_VV_RM<LMULInfo m, int sew> {
23522351 defm _VV : VPseudoBinaryRoundingMode<m.wvrclass, m.vrclass, m.vrclass, m,
23532352 "@earlyclobber $rd", sew, UsesVXRM=0,
23542353 TargetConstraintType=3>;
@@ -2364,7 +2363,7 @@ multiclass VPseudoBinaryW_VI<Operand ImmType, LMULInfo m> {
23642363 "@earlyclobber $rd", TargetConstraintType=3>;
23652364}
23662365
2367- multiclass VPseudoBinaryW_VF_RM<LMULInfo m, FPR_Info f, int sew = 0 > {
2366+ multiclass VPseudoBinaryW_VF_RM<LMULInfo m, FPR_Info f, int sew> {
23682367 defm "_V" # f.FX : VPseudoBinaryRoundingMode<m.wvrclass, m.vrclass,
23692368 f.fprclass, m,
23702369 "@earlyclobber $rd", sew,
@@ -2379,7 +2378,7 @@ multiclass VPseudoBinaryW_WV<LMULInfo m> {
23792378 "@earlyclobber $rd", TargetConstraintType=3>;
23802379}
23812380
2382- multiclass VPseudoBinaryW_WV_RM<LMULInfo m, int sew = 0 > {
2381+ multiclass VPseudoBinaryW_WV_RM<LMULInfo m, int sew> {
23832382 defm _WV : VPseudoBinaryRoundingMode<m.wvrclass, m.wvrclass, m.vrclass, m,
23842383 "@earlyclobber $rd", sew, UsesVXRM = 0,
23852384 TargetConstraintType = 3>;
@@ -2392,7 +2391,7 @@ multiclass VPseudoBinaryW_WX<LMULInfo m> {
23922391 defm "_WX" : VPseudoBinary<m.wvrclass, m.wvrclass, GPR, m, /*Constraint*/ "", TargetConstraintType=3>;
23932392}
23942393
2395- multiclass VPseudoBinaryW_WF_RM<LMULInfo m, FPR_Info f, int sew = 0 > {
2394+ multiclass VPseudoBinaryW_WF_RM<LMULInfo m, FPR_Info f, int sew> {
23962395 defm "_W" # f.FX : VPseudoBinaryRoundingMode<m.wvrclass, m.wvrclass,
23972396 f.fprclass, m,
23982397 Constraint="",
@@ -2844,14 +2843,14 @@ multiclass VPseudoVDIV_VV_VX {
28442843multiclass VPseudoVFMUL_VV_VF_RM {
28452844 foreach m = MxListF in {
28462845 foreach e = SchedSEWSet<m.MX, isF=1>.val in
2847- defm "" : VPseudoBinaryFV_VV_RM<m, "", sew= e>,
2846+ defm "" : VPseudoBinaryFV_VV_RM<m, e>,
28482847 SchedBinary<"WriteVFMulV", "ReadVFMulV", "ReadVFMulV", m.MX, e,
28492848 forceMergeOpRead=true>;
28502849 }
28512850
28522851 foreach f = FPList in {
28532852 foreach m = f.MxList in {
2854- defm "" : VPseudoBinaryV_VF_RM<m, f, "", sew= f.SEW>,
2853+ defm "" : VPseudoBinaryV_VF_RM<m, f, f.SEW>,
28552854 SchedBinary<"WriteVFMulF", "ReadVFMulV", "ReadVFMulF", m.MX,
28562855 f.SEW, forceMergeOpRead=true>;
28572856 }
@@ -2863,15 +2862,15 @@ multiclass VPseudoVFDIV_VV_VF_RM {
28632862 defvar mx = m.MX;
28642863 defvar sews = SchedSEWSet<mx, isF=1>.val;
28652864 foreach e = sews in {
2866- defm "" : VPseudoBinaryFV_VV_RM<m, "", e>,
2865+ defm "" : VPseudoBinaryFV_VV_RM<m, e>,
28672866 SchedBinary<"WriteVFDivV", "ReadVFDivV", "ReadVFDivV", mx, e,
28682867 forceMergeOpRead=true>;
28692868 }
28702869 }
28712870
28722871 foreach f = FPList in {
28732872 foreach m = f.MxList in {
2874- defm "" : VPseudoBinaryV_VF_RM<m, f, "", f.SEW>,
2873+ defm "" : VPseudoBinaryV_VF_RM<m, f, f.SEW>,
28752874 SchedBinary<"WriteVFDivF", "ReadVFDivV", "ReadVFDivF", m.MX, f.SEW,
28762875 forceMergeOpRead=true>;
28772876 }
@@ -2881,7 +2880,7 @@ multiclass VPseudoVFDIV_VV_VF_RM {
28812880multiclass VPseudoVFRDIV_VF_RM {
28822881 foreach f = FPList in {
28832882 foreach m = f.MxList in {
2884- defm "" : VPseudoBinaryV_VF_RM<m, f, "", f.SEW>,
2883+ defm "" : VPseudoBinaryV_VF_RM<m, f, f.SEW>,
28852884 SchedBinary<"WriteVFDivF", "ReadVFDivV", "ReadVFDivF", m.MX, f.SEW,
28862885 forceMergeOpRead=true>;
28872886 }
@@ -2936,14 +2935,14 @@ multiclass VPseudoVMAX_VV_VF {
29362935multiclass VPseudoVALU_VV_VF_RM {
29372936 foreach m = MxListF in {
29382937 foreach e = SchedSEWSet<m.MX, isF=1>.val in
2939- defm "" : VPseudoBinaryFV_VV_RM<m, "", sew= e>,
2938+ defm "" : VPseudoBinaryFV_VV_RM<m, e>,
29402939 SchedBinary<"WriteVFALUV", "ReadVFALUV", "ReadVFALUV", m.MX, e,
29412940 forceMergeOpRead=true>;
29422941 }
29432942
29442943 foreach f = FPList in {
29452944 foreach m = f.MxList in {
2946- defm "" : VPseudoBinaryV_VF_RM<m, f, "", sew= f.SEW>,
2945+ defm "" : VPseudoBinaryV_VF_RM<m, f, f.SEW>,
29472946 SchedBinary<"WriteVFALUF", "ReadVFALUV", "ReadVFALUF", m.MX,
29482947 f.SEW, forceMergeOpRead=true>;
29492948 }
@@ -2953,7 +2952,7 @@ multiclass VPseudoVALU_VV_VF_RM {
29532952multiclass VPseudoVALU_VF_RM {
29542953 foreach f = FPList in {
29552954 foreach m = f.MxList in {
2956- defm "" : VPseudoBinaryV_VF_RM<m, f, "", sew= f.SEW>,
2955+ defm "" : VPseudoBinaryV_VF_RM<m, f, f.SEW>,
29572956 SchedBinary<"WriteVFALUF", "ReadVFALUV", "ReadVFALUF", m.MX,
29582957 f.SEW, forceMergeOpRead=true>;
29592958 }
@@ -3246,8 +3245,8 @@ multiclass VPseudoTernaryWithPolicyRoundingMode<VReg RetClass,
32463245 RegisterClass Op1Class,
32473246 DAGOperand Op2Class,
32483247 LMULInfo MInfo,
3249- string Constraint = "" ,
3250- int sew = 0 ,
3248+ string Constraint,
3249+ int sew,
32513250 bit Commutable = 0,
32523251 int TargetConstraintType = 1> {
32533252 let VLMul = MInfo.value in {
@@ -3271,7 +3270,7 @@ multiclass VPseudoTernaryV_VV_AAXA<LMULInfo m, string Constraint = ""> {
32713270 Constraint, Commutable=1>;
32723271}
32733272
3274- multiclass VPseudoTernaryV_VV_AAXA_RM<LMULInfo m, string Constraint = "" , int sew = 0 > {
3273+ multiclass VPseudoTernaryV_VV_AAXA_RM<LMULInfo m, string Constraint, int sew> {
32753274 defm _VV : VPseudoTernaryWithPolicyRoundingMode<m.vrclass, m.vrclass, m.vrclass, m,
32763275 Constraint, sew, Commutable=1>;
32773276}
@@ -3282,7 +3281,7 @@ multiclass VPseudoTernaryV_VX_AAXA<LMULInfo m, string Constraint = ""> {
32823281}
32833282
32843283multiclass VPseudoTernaryV_VF_AAXA_RM<LMULInfo m, FPR_Info f,
3285- string Constraint = "" , int sew = 0 > {
3284+ string Constraint, int sew> {
32863285 defm "_V" # f.FX : VPseudoTernaryWithPolicyRoundingMode<m.vrclass, f.fprclass,
32873286 m.vrclass, m, Constraint,
32883287 sew, Commutable=1>;
@@ -3294,7 +3293,7 @@ multiclass VPseudoTernaryW_VV<LMULInfo m, bit Commutable = 0> {
32943293 constraint, Commutable=Commutable, TargetConstraintType=3>;
32953294}
32963295
3297- multiclass VPseudoTernaryW_VV_RM<LMULInfo m, int sew = 0 > {
3296+ multiclass VPseudoTernaryW_VV_RM<LMULInfo m, int sew> {
32983297 defvar constraint = "@earlyclobber $rd";
32993298 defm _VV : VPseudoTernaryWithPolicyRoundingMode<m.wvrclass, m.vrclass, m.vrclass, m,
33003299 constraint, sew, /* Commutable */ 0,
@@ -3307,7 +3306,7 @@ multiclass VPseudoTernaryW_VX<LMULInfo m> {
33073306 constraint, /*Commutable*/ 0, TargetConstraintType=3>;
33083307}
33093308
3310- multiclass VPseudoTernaryW_VF_RM<LMULInfo m, FPR_Info f, int sew = 0 > {
3309+ multiclass VPseudoTernaryW_VF_RM<LMULInfo m, FPR_Info f, int sew> {
33113310 defvar constraint = "@earlyclobber $rd";
33123311 defm "_V" # f.FX : VPseudoTernaryWithPolicyRoundingMode<m.wvrclass, f.fprclass,
33133312 m.vrclass, m, constraint,
0 commit comments