@@ -307,44 +307,68 @@ multiclass VPseudoVC_X<LMULInfo m, DAGOperand RS1Class,
307307 Operand OpClass = payload2> {
308308 let VLMul = m.value in {
309309 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)]>;
312316 }
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)]>;
314320 }
315321}
316322
317323multiclass VPseudoVC_XV<LMULInfo m, DAGOperand RS1Class,
318324 Operand OpClass = payload2> {
319325 let VLMul = m.value in {
320326 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)]>;
323333 }
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)]>;
325337 }
326338}
327339
328340multiclass VPseudoVC_XVV<LMULInfo m, DAGOperand RS1Class,
329341 Operand OpClass = payload2> {
330342 let VLMul = m.value in {
331343 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)]>;
334350 }
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)]>;
336354 }
337355}
338356
339357multiclass VPseudoVC_XVW<LMULInfo m, DAGOperand RS1Class,
340358 Operand OpClass = payload2> {
341359 let VLMul = m.value in {
342360 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)]>;
344364 let Constraints = "@earlyclobber $rd, $rd = $rs3" in {
345365 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)]>;
348372 }
349373 }
350374}
0 commit comments