Skip to content

Commit 5fc1b82

Browse files
committed
[RISCV] Refactor VPseudoVROL and VPseudoVROR multiclasses to use inheritance. NFC
VPseudoVROR can inherit from VPseudoVROL. Adjust the names to VPseudoVROT_VV_VX and VPseudoVROT_VV_VX_VI.
1 parent 5422b5f commit 5fc1b82

File tree

1 file changed

+8
-14
lines changed

1 file changed

+8
-14
lines changed

llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ multiclass VPseudoVREV8 {
494494
}
495495
}
496496

497-
multiclass VPseudoVROL {
497+
multiclass VPseudoVROT_VV_VX {
498498
foreach m = MxList in {
499499
defm "" : VPseudoBinaryV_VV<m>,
500500
SchedBinary<"WriteVRotV", "ReadVRotV", "ReadVRotV", m.MX,
@@ -505,18 +505,12 @@ multiclass VPseudoVROL {
505505
}
506506
}
507507

508-
multiclass VPseudoVROR<Operand ImmType> {
509-
defvar Constraint = "";
508+
multiclass VPseudoVROT_VV_VX_VI
509+
: VPseudoVROT_VV_VX {
510510
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>;
520514
}
521515
}
522516

@@ -537,8 +531,8 @@ let Predicates = [HasStdExtZvkb] in {
537531
defm PseudoVANDN : VPseudoVANDN;
538532
defm PseudoVBREV8 : VPseudoVBREV8;
539533
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;
542536
} // Predicates = [HasStdExtZvkb]
543537

544538
let Predicates = [HasStdExtZvkg] in {

0 commit comments

Comments
 (0)