@@ -1020,7 +1020,7 @@ multiclass VPatIntegerSetCCVL_VV<VTypeInfo vti, string instruction_name,
10201020 VR:$passthru,
10211021 vti.RegClass:$rs1,
10221022 vti.RegClass:$rs2,
1023- (vti.Mask VMV0:$vm), GPR:$vl, vti.Log2SEW)>;
1023+ (vti.Mask VMV0:$vm), GPR:$vl, vti.Log2SEW, TA_MU )>;
10241024}
10251025
10261026// Inherits from VPatIntegerSetCCVL_VV and adds a pattern with operands swapped.
@@ -1034,7 +1034,8 @@ multiclass VPatIntegerSetCCVL_VV_Swappable<VTypeInfo vti, string instruction_nam
10341034 VLOpFrag)),
10351035 (!cast<Instruction>(instruction_name#"_VV_"#vti.LMul.MX#"_MASK")
10361036 VR:$passthru, vti.RegClass:$rs1,
1037- vti.RegClass:$rs2, (vti.Mask VMV0:$vm), GPR:$vl, vti.Log2SEW)>;
1037+ vti.RegClass:$rs2, (vti.Mask VMV0:$vm), GPR:$vl,
1038+ vti.Log2SEW, TA_MU)>;
10381039}
10391040
10401041multiclass VPatIntegerSetCCVL_VX_Swappable<VTypeInfo vti, string instruction_name,
@@ -1046,14 +1047,16 @@ multiclass VPatIntegerSetCCVL_VX_Swappable<VTypeInfo vti, string instruction_nam
10461047 (vti.Mask VMV0:$vm),
10471048 VLOpFrag)),
10481049 (instruction_masked VR:$passthru, vti.RegClass:$rs1,
1049- GPR:$rs2, (vti.Mask VMV0:$vm), GPR:$vl, vti.Log2SEW)>;
1050+ GPR:$rs2, (vti.Mask VMV0:$vm), GPR:$vl,
1051+ vti.Log2SEW, TA_MU)>;
10501052 def : Pat<(vti.Mask (riscv_setcc_vl (SplatPat (XLenVT GPR:$rs2)),
10511053 (vti.Vector vti.RegClass:$rs1), invcc,
10521054 VR:$passthru,
10531055 (vti.Mask VMV0:$vm),
10541056 VLOpFrag)),
10551057 (instruction_masked VR:$passthru, vti.RegClass:$rs1,
1056- GPR:$rs2, (vti.Mask VMV0:$vm), GPR:$vl, vti.Log2SEW)>;
1058+ GPR:$rs2, (vti.Mask VMV0:$vm), GPR:$vl,
1059+ vti.Log2SEW, TA_MU)>;
10571060}
10581061
10591062multiclass VPatIntegerSetCCVL_VI_Swappable<VTypeInfo vti, string instruction_name,
@@ -1067,7 +1070,7 @@ multiclass VPatIntegerSetCCVL_VI_Swappable<VTypeInfo vti, string instruction_nam
10671070 VLOpFrag)),
10681071 (instruction_masked VR:$passthru, vti.RegClass:$rs1,
10691072 XLenVT:$rs2, (vti.Mask VMV0:$vm), GPR:$vl,
1070- vti.Log2SEW)>;
1073+ vti.Log2SEW, TA_MU )>;
10711074
10721075 // FIXME: Can do some canonicalization to remove these patterns.
10731076 def : Pat<(vti.Mask (riscv_setcc_vl (splatpat_kind simm5:$rs2),
@@ -1077,7 +1080,7 @@ multiclass VPatIntegerSetCCVL_VI_Swappable<VTypeInfo vti, string instruction_nam
10771080 VLOpFrag)),
10781081 (instruction_masked VR:$passthru, vti.RegClass:$rs1,
10791082 simm5:$rs2, (vti.Mask VMV0:$vm), GPR:$vl,
1080- vti.Log2SEW)>;
1083+ vti.Log2SEW, TA_MU )>;
10811084}
10821085
10831086multiclass VPatFPSetCCVL_VV_VF_FV<SDPatternOperator vop, CondCode cc,
@@ -1094,7 +1097,7 @@ multiclass VPatFPSetCCVL_VV_VF_FV<SDPatternOperator vop, CondCode cc,
10941097 (!cast<Instruction>(inst_name#"_VV_"#fvti.LMul.MX#"_MASK")
10951098 VR:$passthru, fvti.RegClass:$rs1,
10961099 fvti.RegClass:$rs2, (fvti.Mask VMV0:$vm),
1097- GPR:$vl, fvti.Log2SEW)>;
1100+ GPR:$vl, fvti.Log2SEW, TA_MU )>;
10981101 def : Pat<(fvti.Mask (vop (fvti.Vector fvti.RegClass:$rs1),
10991102 (SplatFPOp fvti.ScalarRegClass:$rs2),
11001103 cc,
@@ -1104,7 +1107,7 @@ multiclass VPatFPSetCCVL_VV_VF_FV<SDPatternOperator vop, CondCode cc,
11041107 (!cast<Instruction>(inst_name#"_V"#fvti.ScalarSuffix#"_"#fvti.LMul.MX#"_MASK")
11051108 VR:$passthru, fvti.RegClass:$rs1,
11061109 fvti.ScalarRegClass:$rs2, (fvti.Mask VMV0:$vm),
1107- GPR:$vl, fvti.Log2SEW)>;
1110+ GPR:$vl, fvti.Log2SEW, TA_MU )>;
11081111 def : Pat<(fvti.Mask (vop (SplatFPOp fvti.ScalarRegClass:$rs2),
11091112 (fvti.Vector fvti.RegClass:$rs1),
11101113 cc,
@@ -1114,7 +1117,7 @@ multiclass VPatFPSetCCVL_VV_VF_FV<SDPatternOperator vop, CondCode cc,
11141117 (!cast<Instruction>(swapped_op_inst_name#"_V"#fvti.ScalarSuffix#"_"#fvti.LMul.MX#"_MASK")
11151118 VR:$passthru, fvti.RegClass:$rs1,
11161119 fvti.ScalarRegClass:$rs2, (fvti.Mask VMV0:$vm),
1117- GPR:$vl, fvti.Log2SEW)>;
1120+ GPR:$vl, fvti.Log2SEW, TA_MU )>;
11181121 }
11191122 }
11201123}
0 commit comments