@@ -307,44 +307,68 @@ multiclass VPseudoVC_X<LMULInfo m, DAGOperand RS1Class,
307
307
Operand OpClass = payload2> {
308
308
let VLMul = m.value in {
309
309
let Defs = [VCIX_STATE], Uses = [VCIX_STATE] in {
310
- def "PseudoVC_" # NAME # "_SE_" # m.MX : VPseudoVC_X<OpClass, RS1Class>;
311
- def "PseudoVC_V_" # NAME # "_SE_" # m.MX : VPseudoVC_V_X<OpClass, m.vrclass, RS1Class>;
310
+ def "PseudoVC_" # NAME # "_SE_" # m.MX
311
+ : VPseudoVC_X<OpClass, RS1Class>,
312
+ Sched<[!cast<SchedWrite>("WriteVC_" # NAME # "_" # m.MX)]>;
313
+ def "PseudoVC_V_" # NAME # "_SE_" # m.MX
314
+ : VPseudoVC_V_X<OpClass, m.vrclass, RS1Class>,
315
+ Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
312
316
}
313
- def "PseudoVC_V_" # NAME # "_" # m.MX : VPseudoVC_V_X<OpClass, m.vrclass, RS1Class>;
317
+ def "PseudoVC_V_" # NAME # "_" # m.MX
318
+ : VPseudoVC_V_X<OpClass, m.vrclass, RS1Class>,
319
+ Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
314
320
}
315
321
}
316
322
317
323
multiclass VPseudoVC_XV<LMULInfo m, DAGOperand RS1Class,
318
324
Operand OpClass = payload2> {
319
325
let VLMul = m.value in {
320
326
let Defs = [VCIX_STATE], Uses = [VCIX_STATE] in {
321
- def "PseudoVC_" # NAME # "_SE_" # m.MX : VPseudoVC_XV<OpClass, m.vrclass, RS1Class>;
322
- def "PseudoVC_V_" # NAME # "_SE_" # m.MX : VPseudoVC_V_XV<OpClass, m.vrclass, m.vrclass, RS1Class>;
327
+ def "PseudoVC_" # NAME # "_SE_" # m.MX
328
+ : VPseudoVC_XV<OpClass, m.vrclass, RS1Class>,
329
+ Sched<[!cast<SchedWrite>("WriteVC_" # NAME # "_" # m.MX)]>;
330
+ def "PseudoVC_V_" # NAME # "_SE_" # m.MX
331
+ : VPseudoVC_V_XV<OpClass, m.vrclass, m.vrclass, RS1Class>,
332
+ Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
323
333
}
324
- def "PseudoVC_V_" # NAME # "_" # m.MX : VPseudoVC_V_XV<OpClass, m.vrclass, m.vrclass, RS1Class>;
334
+ def "PseudoVC_V_" # NAME # "_" # m.MX
335
+ : VPseudoVC_V_XV<OpClass, m.vrclass, m.vrclass, RS1Class>,
336
+ Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
325
337
}
326
338
}
327
339
328
340
multiclass VPseudoVC_XVV<LMULInfo m, DAGOperand RS1Class,
329
341
Operand OpClass = payload2> {
330
342
let VLMul = m.value in {
331
343
let Defs = [VCIX_STATE], Uses = [VCIX_STATE] in {
332
- def "PseudoVC_" # NAME # "_SE_" # m.MX : VPseudoVC_XVV<OpClass, m.vrclass, m.vrclass, RS1Class>;
333
- def "PseudoVC_V_" # NAME # "_SE_" # m.MX : VPseudoVC_V_XVV<OpClass, m.vrclass, m.vrclass, RS1Class>;
344
+ def "PseudoVC_" # NAME # "_SE_" # m.MX
345
+ : VPseudoVC_XVV<OpClass, m.vrclass, m.vrclass, RS1Class>,
346
+ Sched<[!cast<SchedWrite>("WriteVC_" # NAME # "_" # m.MX)]>;
347
+ def "PseudoVC_V_" # NAME # "_SE_" # m.MX
348
+ : VPseudoVC_V_XVV<OpClass, m.vrclass, m.vrclass, RS1Class>,
349
+ Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
334
350
}
335
- def "PseudoVC_V_" # NAME # "_" # m.MX : VPseudoVC_V_XVV<OpClass, m.vrclass, m.vrclass, RS1Class>;
351
+ def "PseudoVC_V_" # NAME # "_" # m.MX
352
+ : VPseudoVC_V_XVV<OpClass, m.vrclass, m.vrclass, RS1Class>,
353
+ Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
336
354
}
337
355
}
338
356
339
357
multiclass VPseudoVC_XVW<LMULInfo m, DAGOperand RS1Class,
340
358
Operand OpClass = payload2> {
341
359
let VLMul = m.value in {
342
360
let Defs = [VCIX_STATE], Uses = [VCIX_STATE] in
343
- def "PseudoVC_" # NAME # "_SE_" # m.MX : VPseudoVC_XVV<OpClass, m.wvrclass, m.vrclass, RS1Class>;
361
+ def "PseudoVC_" # NAME # "_SE_" # m.MX
362
+ : VPseudoVC_XVV<OpClass, m.wvrclass, m.vrclass, RS1Class>,
363
+ Sched<[!cast<SchedWrite>("WriteVC_" # NAME # "_" # m.MX)]>;
344
364
let Constraints = "@earlyclobber $rd, $rd = $rs3" in {
345
365
let Defs = [VCIX_STATE], Uses = [VCIX_STATE] in
346
- def "PseudoVC_V_" # NAME # "_SE_" # m.MX : VPseudoVC_V_XVV<OpClass, m.wvrclass, m.vrclass, RS1Class>;
347
- def "PseudoVC_V_" # NAME # "_" # m.MX : VPseudoVC_V_XVV<OpClass, m.wvrclass, m.vrclass, RS1Class>;
366
+ def "PseudoVC_V_" # NAME # "_SE_" # m.MX
367
+ : VPseudoVC_V_XVV<OpClass, m.wvrclass, m.vrclass, RS1Class>,
368
+ Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
369
+ def "PseudoVC_V_" # NAME # "_" # m.MX
370
+ : VPseudoVC_V_XVV<OpClass, m.wvrclass, m.vrclass, RS1Class>,
371
+ Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
348
372
}
349
373
}
350
374
}
0 commit comments