Skip to content

Commit 89eeecd

Browse files
authored
[PowerPC][NFC] Simplify vector unpacked instr classes (llvm#160564)
Apply suggestion as per review comment in https://github.com/llvm/llvm-project/pull/151004/files#r2240893226
1 parent 3c53ade commit 89eeecd

File tree

1 file changed

+15
-35
lines changed

1 file changed

+15
-35
lines changed

llvm/lib/Target/PowerPC/PPCInstrFuture.td

Lines changed: 15 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -45,79 +45,59 @@ multiclass XOForm_RTAB5_L1r<bits<6> opcode, bits<9> xo, dag OOL, dag IOL,
4545
}
4646
}
4747

48-
class VXForm_VRTB5<bits<11> xo, bits<5> R, dag OOL, dag IOL, string asmstr,
49-
list<dag> pattern> : I<4, OOL, IOL, asmstr, NoItinerary> {
48+
class VXForm_VRTB5_Base<bits<11> xo, dag OOL, dag IOL, string asmstr,
49+
list<dag> pattern>
50+
: I<4, OOL, IOL, asmstr, NoItinerary> {
5051
bits<5> VRT;
5152
bits<5> VRB;
5253

5354
let Pattern = pattern;
5455

5556
let Inst{6...10} = VRT;
56-
let Inst{11...15} = R;
5757
let Inst{16...20} = VRB;
5858
let Inst{21...31} = xo;
5959
}
6060

61+
class VXForm_VRTB5<bits<11> xo, bits<5> R, dag OOL, dag IOL, string asmstr,
62+
list<dag> pattern>
63+
: VXForm_VRTB5_Base<xo, OOL, IOL, asmstr, pattern> {
64+
65+
let Inst{11...15} = R;
66+
}
67+
6168
class VXForm_VRTB5_UIM2<bits<11> xo, bits<3> R, dag OOL, dag IOL, string asmstr,
6269
list<dag> pattern>
63-
: I<4, OOL, IOL, asmstr, NoItinerary> {
64-
bits<5> VRT;
65-
bits<5> VRB;
70+
: VXForm_VRTB5_Base<xo, OOL, IOL, asmstr, pattern> {
6671
bits<2> UIM;
6772

68-
let Pattern = pattern;
69-
70-
let Inst{6...10} = VRT;
7173
let Inst{11...13} = R;
7274
let Inst{14...15} = UIM;
73-
let Inst{16...20} = VRB;
74-
let Inst{21...31} = xo;
7575
}
7676

7777
class VXForm_VRTB5_UIM1<bits<11> xo, bits<4> R, dag OOL, dag IOL, string asmstr,
7878
list<dag> pattern>
79-
: I<4, OOL, IOL, asmstr, NoItinerary> {
80-
bits<5> VRT;
81-
bits<5> VRB;
79+
: VXForm_VRTB5_Base<xo, OOL, IOL, asmstr, pattern> {
8280
bits<1> UIM;
8381

84-
let Pattern = pattern;
85-
86-
let Inst{6...10} = VRT;
8782
let Inst{11...14} = R;
8883
let Inst{15} = UIM;
89-
let Inst{16...20} = VRB;
90-
let Inst{21...31} = xo;
9184
}
9285

9386
class VXForm_VRTB5_UIM3<bits<11> xo, bits<2> R, dag OOL, dag IOL, string asmstr,
9487
list<dag> pattern>
95-
: I<4, OOL, IOL, asmstr, NoItinerary> {
96-
bits<5> VRT;
97-
bits<5> VRB;
88+
: VXForm_VRTB5_Base<xo, OOL, IOL, asmstr, pattern> {
9889
bits<3> UIM;
9990

100-
let Pattern = pattern;
101-
102-
let Inst{6...10} = VRT;
10391
let Inst{11...12} = R;
10492
let Inst{13...15} = UIM;
105-
let Inst{16...20} = VRB;
106-
let Inst{21...31} = xo;
10793
}
10894

10995
class VXForm_VRTAB5<bits<11> xo, dag OOL, dag IOL, string asmstr,
110-
list<dag> pattern> : I<4, OOL, IOL, asmstr, NoItinerary> {
111-
bits<5> VRT;
96+
list<dag> pattern>
97+
: VXForm_VRTB5_Base<xo, OOL, IOL, asmstr, pattern> {
11298
bits<5> VRA;
113-
bits<5> VRB;
11499

115-
let Pattern = pattern;
116-
117-
let Inst{6...10} = VRT;
118100
let Inst{11...15} = VRA;
119-
let Inst{16...20} = VRB;
120-
let Inst{21...31} = xo;
121101
}
122102

123103
class XX3Form_XTBp5_M2<bits<9> xo, dag OOL, dag IOL, string asmstr,

0 commit comments

Comments
 (0)