@@ -181,13 +181,13 @@ class ZvkMxSet<string vd_lmul> {
181
181
}
182
182
183
183
class VPseudoUnaryNoMask_Zvk<DAGOperand RetClass, VReg OpClass> :
184
- Pseudo<(outs RetClass:$rd ),
185
- (ins RetClass:$merge , OpClass:$rs2, AVL:$vl, ixlenimm:$sew, ixlenimm:$policy), []>,
184
+ Pseudo<(outs RetClass:$rd_wb ),
185
+ (ins RetClass:$rd , OpClass:$rs2, AVL:$vl, ixlenimm:$sew, ixlenimm:$policy), []>,
186
186
RISCVVPseudo {
187
187
let mayLoad = 0;
188
188
let mayStore = 0;
189
189
let hasSideEffects = 0;
190
- let Constraints = "$rd = $merge ";
190
+ let Constraints = "$rd_wb = $rd ";
191
191
let HasVLOp = 1;
192
192
let HasSEWOp = 1;
193
193
let HasVecPolicyOp = 1;
@@ -197,14 +197,14 @@ class VPseudoUnaryNoMask_Zvk<DAGOperand RetClass, VReg OpClass> :
197
197
class VPseudoBinaryNoMask_Zvk<VReg RetClass,
198
198
VReg Op1Class,
199
199
DAGOperand Op2Class> :
200
- Pseudo<(outs RetClass:$rd ),
201
- (ins RetClass:$merge , Op1Class:$rs2, Op2Class:$rs1,
200
+ Pseudo<(outs RetClass:$rd_wb ),
201
+ (ins RetClass:$rd , Op1Class:$rs2, Op2Class:$rs1,
202
202
AVL:$vl, ixlenimm:$sew, ixlenimm:$policy), []>,
203
203
RISCVVPseudo {
204
204
let mayLoad = 0;
205
205
let mayStore = 0;
206
206
let hasSideEffects = 0;
207
- let Constraints = "$rd = $merge ";
207
+ let Constraints = "$rd_wb = $rd ";
208
208
let HasVLOp = 1;
209
209
let HasSEWOp = 1;
210
210
let HasVecPolicyOp = 1;
@@ -670,11 +670,11 @@ class VPatUnaryNoMask_Zvk<string intrinsic_name,
670
670
VReg result_reg_class,
671
671
VReg op2_reg_class> :
672
672
Pat<(result_type (!cast<Intrinsic>(intrinsic_name)
673
- (result_type result_reg_class:$merge ),
673
+ (result_type result_reg_class:$rd ),
674
674
(op2_type op2_reg_class:$rs2),
675
675
VLOpFrag, (XLenVT timm:$policy))),
676
676
(!cast<Instruction>(inst#"_"#kind#"_"#vlmul.MX)
677
- (result_type result_reg_class:$merge ),
677
+ (result_type result_reg_class:$rd ),
678
678
(op2_type op2_reg_class:$rs2),
679
679
GPR:$vl, sew, (XLenVT timm:$policy))>;
680
680
@@ -689,11 +689,11 @@ class VPatUnaryNoMask_VS_Zvk<string intrinsic_name,
689
689
VReg result_reg_class,
690
690
VReg op2_reg_class> :
691
691
Pat<(result_type (!cast<Intrinsic>(intrinsic_name)
692
- (result_type result_reg_class:$merge ),
692
+ (result_type result_reg_class:$rd ),
693
693
(op2_type op2_reg_class:$rs2),
694
694
VLOpFrag, (XLenVT timm:$policy))),
695
695
(!cast<Instruction>(inst#"_"#kind#"_"#vlmul.MX#"_"#vs2_lmul.MX)
696
- (result_type result_reg_class:$merge ),
696
+ (result_type result_reg_class:$rd ),
697
697
(op2_type op2_reg_class:$rs2),
698
698
GPR:$vl, sew, (XLenVT timm:$policy))>;
699
699
0 commit comments