@@ -180,7 +180,7 @@ class ZvkMxSet<string vd_lmul> {
180
180
!eq(vd_lmul, "MF8") : [V_MF8]);
181
181
}
182
182
183
- class VPseudoUnaryNoMask_Zvk <DAGOperand RetClass, VReg OpClass> :
183
+ class VPseudoBinaryNoMask_Zvk <DAGOperand RetClass, VReg OpClass> :
184
184
Pseudo<(outs RetClass:$rd_wb),
185
185
(ins RetClass:$rd, OpClass:$rs2, AVL:$vl, ixlenimm:$sew, ixlenimm:$policy), []>,
186
186
RISCVVPseudo {
@@ -194,9 +194,9 @@ class VPseudoUnaryNoMask_Zvk<DAGOperand RetClass, VReg OpClass> :
194
194
let BaseInstr = !cast<Instruction>(PseudoToVInst<NAME>.VInst);
195
195
}
196
196
197
- class VPseudoBinaryNoMask_Zvk <VReg RetClass,
198
- VReg Op1Class,
199
- DAGOperand Op2Class> :
197
+ class VPseudoTernaryNoMask_Zvk <VReg RetClass,
198
+ VReg Op1Class,
199
+ DAGOperand Op2Class> :
200
200
Pseudo<(outs RetClass:$rd_wb),
201
201
(ins RetClass:$rd, Op1Class:$rs2, Op2Class:$rs1,
202
202
AVL:$vl, ixlenimm:$sew, ixlenimm:$policy), []>,
@@ -211,24 +211,24 @@ class VPseudoBinaryNoMask_Zvk<VReg RetClass,
211
211
let BaseInstr = !cast<Instruction>(PseudoToVInst<NAME>.VInst);
212
212
}
213
213
214
- multiclass VPseudoBinaryNoMask_Zvk <VReg RetClass,
214
+ multiclass VPseudoTernaryNoMask_Zvk <VReg RetClass,
215
215
VReg Op1Class,
216
216
DAGOperand Op2Class,
217
217
LMULInfo MInfo> {
218
218
let VLMul = MInfo.value in
219
- def "_" # MInfo.MX : VPseudoBinaryNoMask_Zvk <RetClass, Op1Class, Op2Class>;
219
+ def "_" # MInfo.MX : VPseudoTernaryNoMask_Zvk <RetClass, Op1Class, Op2Class>;
220
220
}
221
221
222
- multiclass VPseudoUnaryV_V_NoMask_Zvk <LMULInfo m> {
222
+ multiclass VPseudoBinaryV_V_NoMask_Zvk <LMULInfo m> {
223
223
let VLMul = m.value in {
224
- def "_VV_" # m.MX : VPseudoUnaryNoMask_Zvk <m.vrclass, m.vrclass>;
224
+ def "_VV_" # m.MX : VPseudoBinaryNoMask_Zvk <m.vrclass, m.vrclass>;
225
225
}
226
226
}
227
227
228
- multiclass VPseudoUnaryV_S_NoMask_Zvk <LMULInfo m> {
228
+ multiclass VPseudoBinaryV_S_NoMask_Zvk <LMULInfo m> {
229
229
let VLMul = m.value in
230
230
foreach vs2_lmul = ZvkMxSet<m.MX>.vs2_lmuls in
231
- def "_VS_" # m.MX # "_" # vs2_lmul.MX : VPseudoUnaryNoMask_Zvk <m.vrclass, vs2_lmul.vrclass>;
231
+ def "_VS_" # m.MX # "_" # vs2_lmul.MX : VPseudoBinaryNoMask_Zvk <m.vrclass, vs2_lmul.vrclass>;
232
232
}
233
233
234
234
multiclass VPseudoVALU_V_NoMask_Zvk {
@@ -237,7 +237,7 @@ multiclass VPseudoVALU_V_NoMask_Zvk {
237
237
defvar WriteVIALUV_MX = !cast<SchedWrite>("WriteVIALUV_" # mx);
238
238
defvar ReadVIALUV_MX = !cast<SchedRead>("ReadVIALUV_" # mx);
239
239
240
- defm "" : VPseudoUnaryV_V_NoMask_Zvk <m>,
240
+ defm "" : VPseudoBinaryV_V_NoMask_Zvk <m>,
241
241
Sched<[WriteVIALUV_MX, ReadVIALUV_MX, ReadVIALUV_MX, ReadVMask]>;
242
242
}
243
243
}
@@ -248,7 +248,7 @@ multiclass VPseudoVALU_S_NoMask_Zvk {
248
248
defvar WriteVIALUV_MX = !cast<SchedWrite>("WriteVIALUV_" # mx);
249
249
defvar ReadVIALUV_MX = !cast<SchedRead>("ReadVIALUV_" # mx);
250
250
251
- defm "" : VPseudoUnaryV_S_NoMask_Zvk <m>,
251
+ defm "" : VPseudoBinaryV_S_NoMask_Zvk <m>,
252
252
Sched<[WriteVIALUV_MX, ReadVIALUV_MX, ReadVIALUV_MX, ReadVMask]>;
253
253
}
254
254
}
@@ -262,7 +262,7 @@ multiclass VPseudoVALU_VV_NoMask_Zvk {
262
262
defvar WriteVIALUV_MX = !cast<SchedWrite>("WriteVIALUV_" # mx);
263
263
defvar ReadVIALUV_MX = !cast<SchedRead>("ReadVIALUV_" # mx);
264
264
265
- defm _VV : VPseudoBinaryNoMask_Zvk <m.vrclass, m.vrclass, m.vrclass, m>,
265
+ defm _VV : VPseudoTernaryNoMask_Zvk <m.vrclass, m.vrclass, m.vrclass, m>,
266
266
Sched<[WriteVIALUV_MX, ReadVIALUV_MX, ReadVIALUV_MX, ReadVMask]>;
267
267
}
268
268
}
@@ -273,7 +273,7 @@ multiclass VPseudoVALU_VI_NoMask_Zvk {
273
273
defvar WriteVIALUV_MX = !cast<SchedWrite>("WriteVIALUV_" # mx);
274
274
defvar ReadVIALUV_MX = !cast<SchedRead>("ReadVIALUV_" # mx);
275
275
276
- defm _VI : VPseudoBinaryNoMask_Zvk <m.vrclass, m.vrclass, uimm5, m>,
276
+ defm _VI : VPseudoTernaryNoMask_Zvk <m.vrclass, m.vrclass, uimm5, m>,
277
277
Sched<[WriteVIALUV_MX, ReadVIALUV_MX, ReadVIALUV_MX, ReadVMask]>;
278
278
}
279
279
}
0 commit comments