@@ -494,7 +494,7 @@ multiclass VPseudoVREV8 {
494
494
}
495
495
}
496
496
497
- multiclass VPseudoVROL {
497
+ multiclass VPseudoVROT_VV_VX {
498
498
foreach m = MxList in {
499
499
defm "" : VPseudoBinaryV_VV<m>,
500
500
SchedBinary<"WriteVRotV", "ReadVRotV", "ReadVRotV", m.MX,
@@ -505,18 +505,12 @@ multiclass VPseudoVROL {
505
505
}
506
506
}
507
507
508
- multiclass VPseudoVROR<Operand ImmType> {
509
- defvar Constraint = "";
508
+ multiclass VPseudoVROT_VV_VX_VI
509
+ : VPseudoVROT_VV_VX {
510
510
foreach m = MxList in {
511
- defvar mx = m.MX;
512
- defm "" : VPseudoBinaryV_VV<m>,
513
- SchedBinary<"WriteVRotV", "ReadVRotV", "ReadVRotV", mx,
514
- forceMergeOpRead=true>;
515
- defm "" : VPseudoBinaryV_VX<m>,
516
- SchedBinary<"WriteVRotX", "ReadVRotV", "ReadVRotX", mx,
517
- forceMergeOpRead=true>;
518
- defm "" : VPseudoBinaryV_VI<ImmType, m>,
519
- SchedUnary<"WriteVRotI", "ReadVRotV", mx, forceMergeOpRead=true>;
511
+ defm "" : VPseudoBinaryV_VI<uimm6, m>,
512
+ SchedUnary<"WriteVRotI", "ReadVRotV", m.MX,
513
+ forceMergeOpRead=true>;
520
514
}
521
515
}
522
516
@@ -537,8 +531,8 @@ let Predicates = [HasStdExtZvkb] in {
537
531
defm PseudoVANDN : VPseudoVANDN;
538
532
defm PseudoVBREV8 : VPseudoVBREV8;
539
533
defm PseudoVREV8 : VPseudoVREV8;
540
- defm PseudoVROL : VPseudoVROL ;
541
- defm PseudoVROR : VPseudoVROR<uimm6> ;
534
+ defm PseudoVROL : VPseudoVROT_VV_VX ;
535
+ defm PseudoVROR : VPseudoVROT_VV_VX_VI ;
542
536
} // Predicates = [HasStdExtZvkb]
543
537
544
538
let Predicates = [HasStdExtZvkg] in {
0 commit comments