@@ -45,79 +45,59 @@ multiclass XOForm_RTAB5_L1r<bits<6> opcode, bits<9> xo, dag OOL, dag IOL,
45
45
}
46
46
}
47
47
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> {
50
51
bits<5> VRT;
51
52
bits<5> VRB;
52
53
53
54
let Pattern = pattern;
54
55
55
56
let Inst{6...10} = VRT;
56
- let Inst{11...15} = R;
57
57
let Inst{16...20} = VRB;
58
58
let Inst{21...31} = xo;
59
59
}
60
60
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
+
61
68
class VXForm_VRTB5_UIM2<bits<11> xo, bits<3> R, dag OOL, dag IOL, string asmstr,
62
69
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> {
66
71
bits<2> UIM;
67
72
68
- let Pattern = pattern;
69
-
70
- let Inst{6...10} = VRT;
71
73
let Inst{11...13} = R;
72
74
let Inst{14...15} = UIM;
73
- let Inst{16...20} = VRB;
74
- let Inst{21...31} = xo;
75
75
}
76
76
77
77
class VXForm_VRTB5_UIM1<bits<11> xo, bits<4> R, dag OOL, dag IOL, string asmstr,
78
78
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> {
82
80
bits<1> UIM;
83
81
84
- let Pattern = pattern;
85
-
86
- let Inst{6...10} = VRT;
87
82
let Inst{11...14} = R;
88
83
let Inst{15} = UIM;
89
- let Inst{16...20} = VRB;
90
- let Inst{21...31} = xo;
91
84
}
92
85
93
86
class VXForm_VRTB5_UIM3<bits<11> xo, bits<2> R, dag OOL, dag IOL, string asmstr,
94
87
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> {
98
89
bits<3> UIM;
99
90
100
- let Pattern = pattern;
101
-
102
- let Inst{6...10} = VRT;
103
91
let Inst{11...12} = R;
104
92
let Inst{13...15} = UIM;
105
- let Inst{16...20} = VRB;
106
- let Inst{21...31} = xo;
107
93
}
108
94
109
95
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> {
112
98
bits<5> VRA;
113
- bits<5> VRB;
114
99
115
- let Pattern = pattern;
116
-
117
- let Inst{6...10} = VRT;
118
100
let Inst{11...15} = VRA;
119
- let Inst{16...20} = VRB;
120
- let Inst{21...31} = xo;
121
101
}
122
102
123
103
class XX3Form_XTBp5_M2<bits<9> xo, dag OOL, dag IOL, string asmstr,
0 commit comments