Lines Matching refs:class
1 class Enc_COPROC_VX_3op_v<bits<15> opc> : OpcodeHexagon {
10 class V6_vtmpyb_enc : Enc_COPROC_VX_3op_v<0b000110010000000>;
11 class V6_vtmpybus_enc : Enc_COPROC_VX_3op_v<0b000110010000001>;
12 class V6_vdmpyhb_enc : Enc_COPROC_VX_3op_v<0b000110010000010>;
13 class V6_vrmpyub_enc : Enc_COPROC_VX_3op_v<0b000110010000011>;
14 class V6_vrmpybus_enc : Enc_COPROC_VX_3op_v<0b000110010000100>;
15 class V6_vdsaduh_enc : Enc_COPROC_VX_3op_v<0b000110010000101>;
16 class V6_vdmpybus_enc : Enc_COPROC_VX_3op_v<0b000110010000110>;
17 class V6_vdmpybus_dv_enc : Enc_COPROC_VX_3op_v<0b000110010000111>;
18 class V6_vtmpyb_acc_enc : Enc_COPROC_VX_3op_v<0b000110010001000>;
19 class V6_vtmpybus_acc_enc : Enc_COPROC_VX_3op_v<0b000110010001001>;
20 class V6_vtmpyhb_acc_enc : Enc_COPROC_VX_3op_v<0b000110010001010>;
21 class V6_vdmpyhb_acc_enc : Enc_COPROC_VX_3op_v<0b000110010001011>;
22 class V6_vrmpyub_acc_enc : Enc_COPROC_VX_3op_v<0b000110010001100>;
23 class V6_vrmpybus_acc_enc : Enc_COPROC_VX_3op_v<0b000110010001101>;
24 class V6_vdmpybus_acc_enc : Enc_COPROC_VX_3op_v<0b000110010001110>;
25 class V6_vdmpybus_dv_acc_enc : Enc_COPROC_VX_3op_v<0b000110010001111>;
26 class V6_vdmpyhsusat_enc : Enc_COPROC_VX_3op_v<0b000110010010000>;
27 class V6_vdmpyhsuisat_enc : Enc_COPROC_VX_3op_v<0b000110010010001>;
28 class V6_vdmpyhsat_enc : Enc_COPROC_VX_3op_v<0b000110010010010>;
29 class V6_vdmpyhisat_enc : Enc_COPROC_VX_3op_v<0b000110010010011>;
30 class V6_vdmpyhb_dv_enc : Enc_COPROC_VX_3op_v<0b000110010010100>;
31 class V6_vmpybus_enc : Enc_COPROC_VX_3op_v<0b000110010010101>;
32 class V6_vmpabus_enc : Enc_COPROC_VX_3op_v<0b000110010010110>;
33 class V6_vmpahb_enc : Enc_COPROC_VX_3op_v<0b000110010010111>;
34 class V6_vdmpyhsusat_acc_enc : Enc_COPROC_VX_3op_v<0b000110010011000>;
35 class V6_vdmpyhsuisat_acc_enc : Enc_COPROC_VX_3op_v<0b000110010011001>;
36 class V6_vdmpyhisat_acc_enc : Enc_COPROC_VX_3op_v<0b000110010011010>;
37 class V6_vdmpyhsat_acc_enc : Enc_COPROC_VX_3op_v<0b000110010011011>;
38 class V6_vdmpyhb_dv_acc_enc : Enc_COPROC_VX_3op_v<0b000110010011100>;
39 class V6_vmpybus_acc_enc : Enc_COPROC_VX_3op_v<0b000110010011101>;
40 class V6_vmpabus_acc_enc : Enc_COPROC_VX_3op_v<0b000110010011110>;
41 class V6_vmpahb_acc_enc : Enc_COPROC_VX_3op_v<0b000110010011111>;
42 class V6_vmpyh_enc : Enc_COPROC_VX_3op_v<0b000110010100000>;
43 class V6_vmpyhss_enc : Enc_COPROC_VX_3op_v<0b000110010100001>;
44 class V6_vmpyhsrs_enc : Enc_COPROC_VX_3op_v<0b000110010100010>;
45 class V6_vmpyuh_enc : Enc_COPROC_VX_3op_v<0b000110010100011>;
46 class V6_vmpyhsat_acc_enc : Enc_COPROC_VX_3op_v<0b000110010101000>;
47 class V6_vmpyuh_acc_enc : Enc_COPROC_VX_3op_v<0b000110010101001>;
48 class V6_vmpyiwb_acc_enc : Enc_COPROC_VX_3op_v<0b000110010101010>;
49 class V6_vmpyiwh_acc_enc : Enc_COPROC_VX_3op_v<0b000110010101011>;
50 class V6_vmpyihb_enc : Enc_COPROC_VX_3op_v<0b000110010110000>;
51 class V6_vror_enc : Enc_COPROC_VX_3op_v<0b000110010110001>;
52 class V6_vasrw_enc : Enc_COPROC_VX_3op_v<0b000110010110101>;
53 class V6_vasrh_enc : Enc_COPROC_VX_3op_v<0b000110010110110>;
54 class V6_vaslw_enc : Enc_COPROC_VX_3op_v<0b000110010110111>;
55 class V6_vdsaduh_acc_enc : Enc_COPROC_VX_3op_v<0b000110010111000>;
56 class V6_vmpyihb_acc_enc : Enc_COPROC_VX_3op_v<0b000110010111001>;
57 class V6_vaslw_acc_enc : Enc_COPROC_VX_3op_v<0b000110010111010>;
58 class V6_vasrw_acc_enc : Enc_COPROC_VX_3op_v<0b000110010111101>;
59 class V6_vaslh_enc : Enc_COPROC_VX_3op_v<0b000110011000000>;
60 class V6_vlsrw_enc : Enc_COPROC_VX_3op_v<0b000110011000001>;
61 class V6_vlsrh_enc : Enc_COPROC_VX_3op_v<0b000110011000010>;
62 class V6_vmpyiwh_enc : Enc_COPROC_VX_3op_v<0b000110011000111>;
63 class V6_vmpyub_acc_enc : Enc_COPROC_VX_3op_v<0b000110011001000>;
64 class V6_vmpyiwb_enc : Enc_COPROC_VX_3op_v<0b000110011010000>;
65 class V6_vtmpyhb_enc : Enc_COPROC_VX_3op_v<0b000110011010100>;
66 class V6_vmpyub_enc : Enc_COPROC_VX_3op_v<0b000110011100000>;
67 class V6_vrmpyubv_enc : Enc_COPROC_VX_3op_v<0b000111000000000>;
68 class V6_vrmpybv_enc : Enc_COPROC_VX_3op_v<0b000111000000001>;
69 class V6_vrmpybusv_enc : Enc_COPROC_VX_3op_v<0b000111000000010>;
70 class V6_vdmpyhvsat_enc : Enc_COPROC_VX_3op_v<0b000111000000011>;
71 class V6_vmpybv_enc : Enc_COPROC_VX_3op_v<0b000111000000100>;
72 class V6_vmpyubv_enc : Enc_COPROC_VX_3op_v<0b000111000000101>;
73 class V6_vmpybusv_enc : Enc_COPROC_VX_3op_v<0b000111000000110>;
74 class V6_vmpyhv_enc : Enc_COPROC_VX_3op_v<0b000111000000111>;
75 class V6_vrmpyubv_acc_enc : Enc_COPROC_VX_3op_v<0b000111000001000>;
76 class V6_vrmpybv_acc_enc : Enc_COPROC_VX_3op_v<0b000111000001001>;
77 class V6_vrmpybusv_acc_enc : Enc_COPROC_VX_3op_v<0b000111000001010>;
78 class V6_vdmpyhvsat_acc_enc : Enc_COPROC_VX_3op_v<0b000111000001011>;
79 class V6_vmpybv_acc_enc : Enc_COPROC_VX_3op_v<0b000111000001100>;
80 class V6_vmpyubv_acc_enc : Enc_COPROC_VX_3op_v<0b000111000001101>;
81 class V6_vmpybusv_acc_enc : Enc_COPROC_VX_3op_v<0b000111000001110>;
82 class V6_vmpyhv_acc_enc : Enc_COPROC_VX_3op_v<0b000111000001111>;
83 class V6_vmpyuhv_enc : Enc_COPROC_VX_3op_v<0b000111000010000>;
84 class V6_vmpyhvsrs_enc : Enc_COPROC_VX_3op_v<0b000111000010001>;
85 class V6_vmpyhus_enc : Enc_COPROC_VX_3op_v<0b000111000010010>;
86 class V6_vmpabusv_enc : Enc_COPROC_VX_3op_v<0b000111000010011>;
87 class V6_vmpyih_enc : Enc_COPROC_VX_3op_v<0b000111000010100>;
88 class V6_vand_enc : Enc_COPROC_VX_3op_v<0b000111000010101>;
89 class V6_vor_enc : Enc_COPROC_VX_3op_v<0b000111000010110>;
90 class V6_vxor_enc : Enc_COPROC_VX_3op_v<0b000111000010111>;
91 class V6_vmpyuhv_acc_enc : Enc_COPROC_VX_3op_v<0b000111000011000>;
92 class V6_vmpyhus_acc_enc : Enc_COPROC_VX_3op_v<0b000111000011001>;
93 class V6_vmpyih_acc_enc : Enc_COPROC_VX_3op_v<0b000111000011100>;
94 class V6_vmpyiewuh_acc_enc : Enc_COPROC_VX_3op_v<0b000111000011101>;
95 class V6_vmpyowh_sacc_enc : Enc_COPROC_VX_3op_v<0b000111000011110>;
96 class V6_vmpyowh_rnd_sacc_enc : Enc_COPROC_VX_3op_v<0b000111000011111>;
97 class V6_vaddw_enc : Enc_COPROC_VX_3op_v<0b000111000100000>;
98 class V6_vaddubsat_enc : Enc_COPROC_VX_3op_v<0b000111000100001>;
99 class V6_vadduhsat_enc : Enc_COPROC_VX_3op_v<0b000111000100010>;
100 class V6_vaddhsat_enc : Enc_COPROC_VX_3op_v<0b000111000100011>;
101 class V6_vaddwsat_enc : Enc_COPROC_VX_3op_v<0b000111000100100>;
102 class V6_vsubb_enc : Enc_COPROC_VX_3op_v<0b000111000100101>;
103 class V6_vsubh_enc : Enc_COPROC_VX_3op_v<0b000111000100110>;
104 class V6_vsubw_enc : Enc_COPROC_VX_3op_v<0b000111000100111>;
105 class V6_vmpyiewh_acc_enc : Enc_COPROC_VX_3op_v<0b000111000101000>;
106 class V6_vsububsat_enc : Enc_COPROC_VX_3op_v<0b000111000110000>;
107 class V6_vsubuhsat_enc : Enc_COPROC_VX_3op_v<0b000111000110001>;
108 class V6_vsubhsat_enc : Enc_COPROC_VX_3op_v<0b000111000110010>;
109 class V6_vsubwsat_enc : Enc_COPROC_VX_3op_v<0b000111000110011>;
110 class V6_vaddb_dv_enc : Enc_COPROC_VX_3op_v<0b000111000110100>;
111 class V6_vaddh_dv_enc : Enc_COPROC_VX_3op_v<0b000111000110101>;
112 class V6_vaddw_dv_enc : Enc_COPROC_VX_3op_v<0b000111000110110>;
113 class V6_vaddubsat_dv_enc : Enc_COPROC_VX_3op_v<0b000111000110111>;
114 class V6_vadduhsat_dv_enc : Enc_COPROC_VX_3op_v<0b000111001000000>;
115 class V6_vaddhsat_dv_enc : Enc_COPROC_VX_3op_v<0b000111001000001>;
116 class V6_vaddwsat_dv_enc : Enc_COPROC_VX_3op_v<0b000111001000010>;
117 class V6_vsubb_dv_enc : Enc_COPROC_VX_3op_v<0b000111001000011>;
118 class V6_vsubh_dv_enc : Enc_COPROC_VX_3op_v<0b000111001000100>;
119 class V6_vsubw_dv_enc : Enc_COPROC_VX_3op_v<0b000111001000101>;
120 class V6_vsububsat_dv_enc : Enc_COPROC_VX_3op_v<0b000111001000110>;
121 class V6_vsubuhsat_dv_enc : Enc_COPROC_VX_3op_v<0b000111001000111>;
122 class V6_vsubhsat_dv_enc : Enc_COPROC_VX_3op_v<0b000111001010000>;
123 class V6_vsubwsat_dv_enc : Enc_COPROC_VX_3op_v<0b000111001010001>;
124 class V6_vaddubh_enc : Enc_COPROC_VX_3op_v<0b000111001010010>;
125 class V6_vadduhw_enc : Enc_COPROC_VX_3op_v<0b000111001010011>;
126 class V6_vaddhw_enc : Enc_COPROC_VX_3op_v<0b000111001010100>;
127 class V6_vsububh_enc : Enc_COPROC_VX_3op_v<0b000111001010101>;
128 class V6_vsubuhw_enc : Enc_COPROC_VX_3op_v<0b000111001010110>;
129 class V6_vsubhw_enc : Enc_COPROC_VX_3op_v<0b000111001010111>;
130 class V6_vabsdiffub_enc : Enc_COPROC_VX_3op_v<0b000111001100000>;
131 class V6_vabsdiffh_enc : Enc_COPROC_VX_3op_v<0b000111001100001>;
132 class V6_vabsdiffuh_enc : Enc_COPROC_VX_3op_v<0b000111001100010>;
133 class V6_vabsdiffw_enc : Enc_COPROC_VX_3op_v<0b000111001100011>;
134 class V6_vavgub_enc : Enc_COPROC_VX_3op_v<0b000111001100100>;
135 class V6_vavguh_enc : Enc_COPROC_VX_3op_v<0b000111001100101>;
136 class V6_vavgh_enc : Enc_COPROC_VX_3op_v<0b000111001100110>;
137 class V6_vavgw_enc : Enc_COPROC_VX_3op_v<0b000111001100111>;
138 class V6_vnavgub_enc : Enc_COPROC_VX_3op_v<0b000111001110000>;
139 class V6_vnavgh_enc : Enc_COPROC_VX_3op_v<0b000111001110001>;
140 class V6_vnavgw_enc : Enc_COPROC_VX_3op_v<0b000111001110010>;
141 class V6_vavgubrnd_enc : Enc_COPROC_VX_3op_v<0b000111001110011>;
142 class V6_vavguhrnd_enc : Enc_COPROC_VX_3op_v<0b000111001110100>;
143 class V6_vavghrnd_enc : Enc_COPROC_VX_3op_v<0b000111001110101>;
144 class V6_vavgwrnd_enc : Enc_COPROC_VX_3op_v<0b000111001110110>;
145 class V6_vmpabuuv_enc : Enc_COPROC_VX_3op_v<0b000111001110111>;
146 class V6_vminub_enc : Enc_COPROC_VX_3op_v<0b000111110000001>;
147 class V6_vminuh_enc : Enc_COPROC_VX_3op_v<0b000111110000010>;
148 class V6_vminh_enc : Enc_COPROC_VX_3op_v<0b000111110000011>;
149 class V6_vminw_enc : Enc_COPROC_VX_3op_v<0b000111110000100>;
150 class V6_vmaxub_enc : Enc_COPROC_VX_3op_v<0b000111110000101>;
151 class V6_vmaxuh_enc : Enc_COPROC_VX_3op_v<0b000111110000110>;
152 class V6_vmaxh_enc : Enc_COPROC_VX_3op_v<0b000111110000111>;
153 class V6_vmaxw_enc : Enc_COPROC_VX_3op_v<0b000111110010000>;
154 class V6_vdelta_enc : Enc_COPROC_VX_3op_v<0b000111110010001>;
155 class V6_vrdelta_enc : Enc_COPROC_VX_3op_v<0b000111110010011>;
156 class V6_vdealb4w_enc : Enc_COPROC_VX_3op_v<0b000111110010111>;
157 class V6_vmpyowh_rnd_enc : Enc_COPROC_VX_3op_v<0b000111110100000>;
158 class V6_vshuffeb_enc : Enc_COPROC_VX_3op_v<0b000111110100001>;
159 class V6_vshuffob_enc : Enc_COPROC_VX_3op_v<0b000111110100010>;
160 class V6_vshufeh_enc : Enc_COPROC_VX_3op_v<0b000111110100011>;
161 class V6_vshufoh_enc : Enc_COPROC_VX_3op_v<0b000111110100100>;
162 class V6_vshufoeh_enc : Enc_COPROC_VX_3op_v<0b000111110100101>;
163 class V6_vshufoeb_enc : Enc_COPROC_VX_3op_v<0b000111110100110>;
164 class V6_vcombine_enc : Enc_COPROC_VX_3op_v<0b000111110100111>;
165 class V6_vmpyieoh_enc : Enc_COPROC_VX_3op_v<0b000111110110000>;
166 class V6_vsathub_enc : Enc_COPROC_VX_3op_v<0b000111110110010>;
167 class V6_vsatwh_enc : Enc_COPROC_VX_3op_v<0b000111110110011>;
168 class V6_vroundwh_enc : Enc_COPROC_VX_3op_v<0b000111110110100>;
169 class V6_vroundwuh_enc : Enc_COPROC_VX_3op_v<0b000111110110101>;
170 class V6_vroundhb_enc : Enc_COPROC_VX_3op_v<0b000111110110110>;
171 class V6_vroundhub_enc : Enc_COPROC_VX_3op_v<0b000111110110111>;
172 class V6_vasrwv_enc : Enc_COPROC_VX_3op_v<0b000111111010000>;
173 class V6_vlsrwv_enc : Enc_COPROC_VX_3op_v<0b000111111010001>;
174 class V6_vlsrhv_enc : Enc_COPROC_VX_3op_v<0b000111111010010>;
175 class V6_vasrhv_enc : Enc_COPROC_VX_3op_v<0b000111111010011>;
176 class V6_vaslwv_enc : Enc_COPROC_VX_3op_v<0b000111111010100>;
177 class V6_vaslhv_enc : Enc_COPROC_VX_3op_v<0b000111111010101>;
178 class V6_vaddb_enc : Enc_COPROC_VX_3op_v<0b000111111010110>;
179 class V6_vaddh_enc : Enc_COPROC_VX_3op_v<0b000111111010111>;
180 class V6_vmpyiewuh_enc : Enc_COPROC_VX_3op_v<0b000111111100000>;
181 class V6_vmpyiowh_enc : Enc_COPROC_VX_3op_v<0b000111111100001>;
182 class V6_vpackeb_enc : Enc_COPROC_VX_3op_v<0b000111111100010>;
183 class V6_vpackeh_enc : Enc_COPROC_VX_3op_v<0b000111111100011>;
184 class V6_vpackhub_sat_enc : Enc_COPROC_VX_3op_v<0b000111111100101>;
185 class V6_vpackhb_sat_enc : Enc_COPROC_VX_3op_v<0b000111111100110>;
186 class V6_vpackwuh_sat_enc : Enc_COPROC_VX_3op_v<0b000111111100111>;
187 class V6_vpackwh_sat_enc : Enc_COPROC_VX_3op_v<0b000111111110000>;
188 class V6_vpackob_enc : Enc_COPROC_VX_3op_v<0b000111111110001>;
189 class V6_vpackoh_enc : Enc_COPROC_VX_3op_v<0b000111111110010>;
190 class V6_vmpyewuh_enc : Enc_COPROC_VX_3op_v<0b000111111110101>;
191 class V6_vmpyowh_enc : Enc_COPROC_VX_3op_v<0b000111111110111>;
192 class V6_extractw_enc : Enc_COPROC_VX_3op_v<0b100100100000001>;
193 class M6_vabsdiffub_enc : Enc_COPROC_VX_3op_v<0b111010001010000>;
194 class M6_vabsdiffb_enc : Enc_COPROC_VX_3op_v<0b111010001110000>;
196 class Enc_COPROC_VX_cmp<bits<13> opc> : OpcodeHexagon {
205 class V6_vandvrt_acc_enc : Enc_COPROC_VX_cmp<0b0010111100000>;
206 class V6_vandvrt_enc : Enc_COPROC_VX_cmp<0b0011010010010>;
207 class V6_veqb_and_enc : Enc_COPROC_VX_cmp<0b1001001000000>;
208 class V6_veqh_and_enc : Enc_COPROC_VX_cmp<0b1001001000001>;
209 class V6_veqw_and_enc : Enc_COPROC_VX_cmp<0b1001001000010>;
210 class V6_vgtb_and_enc : Enc_COPROC_VX_cmp<0b1001001000100>;
211 class V6_vgth_and_enc : Enc_COPROC_VX_cmp<0b1001001000101>;
212 class V6_vgtw_and_enc : Enc_COPROC_VX_cmp<0b1001001000110>;
213 class V6_vgtub_and_enc : Enc_COPROC_VX_cmp<0b1001001001000>;
214 class V6_vgtuh_and_enc : Enc_COPROC_VX_cmp<0b1001001001001>;
215 class V6_vgtuw_and_enc : Enc_COPROC_VX_cmp<0b1001001001010>;
216 class V6_veqb_or_enc : Enc_COPROC_VX_cmp<0b1001001010000>;
217 class V6_veqh_or_enc : Enc_COPROC_VX_cmp<0b1001001010001>;
218 class V6_veqw_or_enc : Enc_COPROC_VX_cmp<0b1001001010010>;
219 class V6_vgtb_or_enc : Enc_COPROC_VX_cmp<0b1001001010100>;
220 class V6_vgth_or_enc : Enc_COPROC_VX_cmp<0b1001001010101>;
221 class V6_vgtw_or_enc : Enc_COPROC_VX_cmp<0b1001001010110>;
222 class V6_vgtub_or_enc : Enc_COPROC_VX_cmp<0b1001001011000>;
223 class V6_vgtuh_or_enc : Enc_COPROC_VX_cmp<0b1001001011001>;
224 class V6_vgtuw_or_enc : Enc_COPROC_VX_cmp<0b1001001011010>;
225 class V6_veqb_xor_enc : Enc_COPROC_VX_cmp<0b1001001100000>;
226 class V6_veqh_xor_enc : Enc_COPROC_VX_cmp<0b1001001100001>;
227 class V6_veqw_xor_enc : Enc_COPROC_VX_cmp<0b1001001100010>;
228 class V6_vgtb_xor_enc : Enc_COPROC_VX_cmp<0b1001001100100>;
229 class V6_vgth_xor_enc : Enc_COPROC_VX_cmp<0b1001001100101>;
230 class V6_vgtw_xor_enc : Enc_COPROC_VX_cmp<0b1001001100110>;
231 class V6_vgtub_xor_enc : Enc_COPROC_VX_cmp<0b1001001101000>;
232 class V6_vgtuh_xor_enc : Enc_COPROC_VX_cmp<0b1001001101001>;
233 class V6_vgtuw_xor_enc : Enc_COPROC_VX_cmp<0b1001001101010>;
234 class V6_veqb_enc : Enc_COPROC_VX_cmp<0b1111000000000>;
235 class V6_veqh_enc : Enc_COPROC_VX_cmp<0b1111000000001>;
236 class V6_veqw_enc : Enc_COPROC_VX_cmp<0b1111000000010>;
237 class V6_vgtb_enc : Enc_COPROC_VX_cmp<0b1111000000100>;
238 class V6_vgth_enc : Enc_COPROC_VX_cmp<0b1111000000101>;
239 class V6_vgtw_enc : Enc_COPROC_VX_cmp<0b1111000000110>;
240 class V6_vgtub_enc : Enc_COPROC_VX_cmp<0b1111000001000>;
241 class V6_vgtuh_enc : Enc_COPROC_VX_cmp<0b1111000001001>;
242 class V6_vgtuw_enc : Enc_COPROC_VX_cmp<0b1111000001010>;
244 class Enc_COPROC_VX_p2op<bits<5> opc> : OpcodeHexagon {
253 class V6_vaddbq_enc : Enc_COPROC_VX_p2op<0b01000>;
254 class V6_vaddhq_enc : Enc_COPROC_VX_p2op<0b01001>;
255 class V6_vaddwq_enc : Enc_COPROC_VX_p2op<0b01010>;
256 class V6_vaddbnq_enc : Enc_COPROC_VX_p2op<0b01011>;
257 class V6_vaddhnq_enc : Enc_COPROC_VX_p2op<0b01100>;
258 class V6_vaddwnq_enc : Enc_COPROC_VX_p2op<0b01101>;
259 class V6_vsubbq_enc : Enc_COPROC_VX_p2op<0b01110>;
260 class V6_vsubhq_enc : Enc_COPROC_VX_p2op<0b01111>;
261 class V6_vsubwq_enc : Enc_COPROC_VX_p2op<0b10000>;
262 class V6_vsubbnq_enc : Enc_COPROC_VX_p2op<0b10001>;
263 class V6_vsubhnq_enc : Enc_COPROC_VX_p2op<0b10010>;
264 class V6_vsubwnq_enc : Enc_COPROC_VX_p2op<0b10011>;
266 class Enc_COPROC_VX_2op<bits<6> opc> : OpcodeHexagon {
274 class V6_vabsh_enc : Enc_COPROC_VX_2op<0b000000>;
275 class V6_vabsh_sat_enc : Enc_COPROC_VX_2op<0b000001>;
276 class V6_vabsw_enc : Enc_COPROC_VX_2op<0b000010>;
277 class V6_vabsw_sat_enc : Enc_COPROC_VX_2op<0b000011>;
278 class V6_vnot_enc : Enc_COPROC_VX_2op<0b000100>;
279 class V6_vdealh_enc : Enc_COPROC_VX_2op<0b000110>;
280 class V6_vdealb_enc : Enc_COPROC_VX_2op<0b000111>;
281 class V6_vunpackob_enc : Enc_COPROC_VX_2op<0b001000>;
282 class V6_vunpackoh_enc : Enc_COPROC_VX_2op<0b001001>;
283 class V6_vunpackub_enc : Enc_COPROC_VX_2op<0b010000>;
284 class V6_vunpackuh_enc : Enc_COPROC_VX_2op<0b010001>;
285 class V6_vunpackb_enc : Enc_COPROC_VX_2op<0b010010>;
286 class V6_vunpackh_enc : Enc_COPROC_VX_2op<0b010011>;
287 class V6_vshuffh_enc : Enc_COPROC_VX_2op<0b010111>;
288 class V6_vshuffb_enc : Enc_COPROC_VX_2op<0b100000>;
289 class V6_vzb_enc : Enc_COPROC_VX_2op<0b100001>;
290 class V6_vzh_enc : Enc_COPROC_VX_2op<0b100010>;
291 class V6_vsb_enc : Enc_COPROC_VX_2op<0b100011>;
292 class V6_vsh_enc : Enc_COPROC_VX_2op<0b100100>;
293 class V6_vcl0w_enc : Enc_COPROC_VX_2op<0b100101>;
294 class V6_vpopcounth_enc : Enc_COPROC_VX_2op<0b100110>;
295 class V6_vcl0h_enc : Enc_COPROC_VX_2op<0b100111>;
296 class V6_vnormamtw_enc : Enc_COPROC_VX_2op<0b110100>;
297 class V6_vnormamth_enc : Enc_COPROC_VX_2op<0b110101>;
298 class V6_vassign_enc : Enc_COPROC_VX_2op<0b111111>;
300 class Enc_COPROC_VMEM_vL32_b_ai<bits<4> opc> : OpcodeHexagon {
311 class V6_vL32b_ai_enc : Enc_COPROC_VMEM_vL32_b_ai<0b0000>;
312 class V6_vL32b_cur_ai_enc : Enc_COPROC_VMEM_vL32_b_ai<0b0001>;
313 class V6_vL32b_tmp_ai_enc : Enc_COPROC_VMEM_vL32_b_ai<0b0010>;
314 class V6_vL32Ub_ai_enc : Enc_COPROC_VMEM_vL32_b_ai<0b0111>;
315 class V6_vL32b_nt_ai_enc : Enc_COPROC_VMEM_vL32_b_ai<0b1000>;
316 class V6_vL32b_nt_cur_ai_enc : Enc_COPROC_VMEM_vL32_b_ai<0b1001>;
317 class V6_vL32b_nt_tmp_ai_enc : Enc_COPROC_VMEM_vL32_b_ai<0b1010>;
319 class Enc_COPROC_VMEM_vL32_b_ai_128B<bits<4> opc> : OpcodeHexagon {
330 class V6_vL32b_ai_128B_enc : Enc_COPROC_VMEM_vL32_b_ai_128B<0b0000>;
331 class V6_vL32b_cur_ai_128B_enc : Enc_COPROC_VMEM_vL32_b_ai_128B<0b0001>;
332 class V6_vL32b_tmp_ai_128B_enc : Enc_COPROC_VMEM_vL32_b_ai_128B<0b0010>;
333 class V6_vL32Ub_ai_128B_enc : Enc_COPROC_VMEM_vL32_b_ai_128B<0b0111>;
334 class V6_vL32b_nt_ai_128B_enc : Enc_COPROC_VMEM_vL32_b_ai_128B<0b1000>;
335 class V6_vL32b_nt_cur_ai_128B_enc : Enc_COPROC_VMEM_vL32_b_ai_128B<0b1001>;
336 class V6_vL32b_nt_tmp_ai_128B_enc : Enc_COPROC_VMEM_vL32_b_ai_128B<0b1010>;
338 class Enc_COPROC_VMEM_vS32_b_ai_64B<bits<4> opc> : OpcodeHexagon {
349 class Enc_COPROC_VMEM_vS32_b_ai_128B<bits<4> opc> : OpcodeHexagon {
360 class V6_vS32b_ai_enc : Enc_COPROC_VMEM_vS32_b_ai_64B<0b0000>;
361 class V6_vS32Ub_ai_enc : Enc_COPROC_VMEM_vS32_b_ai_64B<0b0111>;
362 class V6_vS32b_nt_ai_enc : Enc_COPROC_VMEM_vS32_b_ai_64B<0b1000>;
364 class V6_vS32b_ai_128B_enc : Enc_COPROC_VMEM_vS32_b_ai_128B<0b0000>;
365 class V6_vS32Ub_ai_128B_enc : Enc_COPROC_VMEM_vS32_b_ai_128B<0b0111>;
366 class V6_vS32b_nt_ai_128B_enc : Enc_COPROC_VMEM_vS32_b_ai_128B<0b1000>;
368 class Enc_COPROC_VMEM_vS32b_n_ew_ai_64B<bits<1> opc> : OpcodeHexagon {
379 class V6_vS32b_new_ai_enc : Enc_COPROC_VMEM_vS32b_n_ew_ai_64B<0>;
380 class V6_vS32b_nt_new_ai_enc : Enc_COPROC_VMEM_vS32b_n_ew_ai_64B<1>;
382 class Enc_COPROC_VMEM_vS32b_n_ew_ai_128B<bits<1> opc> : OpcodeHexagon {
393 class V6_vS32b_new_ai_128B_enc : Enc_COPROC_VMEM_vS32b_n_ew_ai_128B<0>;
394 class V6_vS32b_nt_new_ai_128B_enc : Enc_COPROC_VMEM_vS32b_n_ew_ai_128B<1>;
396 class Enc_COPROC_VMEM_vS32_b_pred_ai<bits<5> opc> : OpcodeHexagon {
408 class Enc_COPROC_VMEM_vS32_b_pred_ai_128B<bits<5> opc> : OpcodeHexagon {
420 class V6_vS32b_qpred_ai_enc : Enc_COPROC_VMEM_vS32_b_pred_ai<0b00000>;
421 class V6_vS32b_nqpred_ai_enc : Enc_COPROC_VMEM_vS32_b_pred_ai<0b00001>;
422 class V6_vS32b_pred_ai_enc : Enc_COPROC_VMEM_vS32_b_pred_ai<0b01000>;
423 class V6_vS32b_npred_ai_enc : Enc_COPROC_VMEM_vS32_b_pred_ai<0b01001>;
424 class V6_vS32Ub_pred_ai_enc : Enc_COPROC_VMEM_vS32_b_pred_ai<0b01110>;
425 class V6_vS32Ub_npred_ai_enc : Enc_COPROC_VMEM_vS32_b_pred_ai<0b01111>;
426 class V6_vS32b_nt_qpred_ai_enc : Enc_COPROC_VMEM_vS32_b_pred_ai<0b10000>;
427 class V6_vS32b_nt_nqpred_ai_enc : Enc_COPROC_VMEM_vS32_b_pred_ai<0b10001>;
428 class V6_vS32b_nt_pred_ai_enc : Enc_COPROC_VMEM_vS32_b_pred_ai<0b11000>;
429 class V6_vS32b_nt_npred_ai_enc : Enc_COPROC_VMEM_vS32_b_pred_ai<0b11001>;
431 class V6_vS32b_qpred_ai_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_ai_128B<0b00000>;
432 class V6_vS32b_nqpred_ai_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_ai_128B<0b00001>;
433 class V6_vS32b_pred_ai_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_ai_128B<0b01000>;
434 class V6_vS32b_npred_ai_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_ai_128B<0b01001>;
435 class V6_vS32Ub_pred_ai_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_ai_128B<0b01110>;
436 class V6_vS32Ub_npred_ai_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_ai_128B<0b01111>;
437 class V6_vS32b_nt_qpred_ai_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_ai_128B<0b10000>;
438 class V6_vS32b_nt_nqpred_ai_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_ai_128B<0b10001>;
439 class V6_vS32b_nt_pred_ai_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_ai_128B<0b11000>;
440 class V6_vS32b_nt_npred_ai_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_ai_128B<0b11001>;
442 class Enc_COPROC_VMEM_vS32b_n_ew_pred_ai<bits<4> opc> : OpcodeHexagon {
454 class V6_vS32b_new_pred_ai_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_ai<0b0000>;
455 class V6_vS32b_new_npred_ai_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_ai<0b0101>;
456 class V6_vS32b_nt_new_pred_ai_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_ai<0b1010>;
457 class V6_vS32b_nt_new_npred_ai_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_ai<0b1111>;
459 class Enc_COPROC_VMEM_vS32b_n_ew_pred_ai_128B<bits<4> opc> : OpcodeHexagon {
471 class V6_vS32b_new_pred_ai_128B_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_ai_128B<0b0000>;
472 class V6_vS32b_new_npred_ai_128B_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_ai_128B<0b0101>;
473 class V6_vS32b_nt_new_pred_ai_128B_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_ai_128B<0b1010>;
474 class V6_vS32b_nt_new_npred_ai_128B_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_ai_128B<0b1111>;
478 class Enc_COPROC_VMEM_vL32_b_pi<bits<4> opc> : OpcodeHexagon {
489 class V6_vL32b_pi_enc : Enc_COPROC_VMEM_vL32_b_pi<0b0000>;
490 class V6_vL32b_cur_pi_enc : Enc_COPROC_VMEM_vL32_b_pi<0b0001>;
491 class V6_vL32b_tmp_pi_enc : Enc_COPROC_VMEM_vL32_b_pi<0b0010>;
492 class V6_vL32Ub_pi_enc : Enc_COPROC_VMEM_vL32_b_pi<0b0111>;
493 class V6_vL32b_nt_pi_enc : Enc_COPROC_VMEM_vL32_b_pi<0b1000>;
494 class V6_vL32b_nt_cur_pi_enc : Enc_COPROC_VMEM_vL32_b_pi<0b1001>;
495 class V6_vL32b_nt_tmp_pi_enc : Enc_COPROC_VMEM_vL32_b_pi<0b1010>;
497 class Enc_COPROC_VMEM_vL32_b_pi_128B<bits<4> opc> : OpcodeHexagon {
508 class V6_vL32b_pi_128B_enc : Enc_COPROC_VMEM_vL32_b_pi_128B<0b0000>;
509 class V6_vL32b_cur_pi_128B_enc : Enc_COPROC_VMEM_vL32_b_pi_128B<0b0001>;
510 class V6_vL32b_tmp_pi_128B_enc : Enc_COPROC_VMEM_vL32_b_pi_128B<0b0010>;
511 class V6_vL32Ub_pi_128B_enc : Enc_COPROC_VMEM_vL32_b_pi_128B<0b0111>;
512 class V6_vL32b_nt_pi_128B_enc : Enc_COPROC_VMEM_vL32_b_pi_128B<0b1000>;
513 class V6_vL32b_nt_cur_pi_128B_enc : Enc_COPROC_VMEM_vL32_b_pi_128B<0b1001>;
514 class V6_vL32b_nt_tmp_pi_128B_enc : Enc_COPROC_VMEM_vL32_b_pi_128B<0b1010>;
519 class Enc_COPROC_VMEM_vS32_b_pi<bits<4> opc> : OpcodeHexagon {
530 class V6_vS32b_pi_enc : Enc_COPROC_VMEM_vS32_b_pi<0b0000>;
531 class V6_vS32Ub_pi_enc : Enc_COPROC_VMEM_vS32_b_pi<0b0111>;
532 class V6_vS32b_nt_pi_enc : Enc_COPROC_VMEM_vS32_b_pi<0b1000>;
534 class Enc_COPROC_VMEM_vS32_b_pi_128B<bits<4> opc> : OpcodeHexagon {
545 class V6_vS32b_pi_128B_enc : Enc_COPROC_VMEM_vS32_b_pi_128B<0b0000>;
546 class V6_vS32Ub_pi_128B_enc : Enc_COPROC_VMEM_vS32_b_pi_128B<0b0111>;
547 class V6_vS32b_nt_pi_128B_enc : Enc_COPROC_VMEM_vS32_b_pi_128B<0b1000>;
551 class Enc_COPROC_VMEM_vS32b_n_ew_pi<bits<1> opc> : OpcodeHexagon {
562 class V6_vS32b_new_pi_enc : Enc_COPROC_VMEM_vS32b_n_ew_pi<0>;
563 class V6_vS32b_nt_new_pi_enc : Enc_COPROC_VMEM_vS32b_n_ew_pi<1>;
565 class Enc_COPROC_VMEM_vS32b_n_ew_pi_128B<bits<1> opc> : OpcodeHexagon {
576 class V6_vS32b_new_pi_128B_enc : Enc_COPROC_VMEM_vS32b_n_ew_pi_128B<0>;
577 class V6_vS32b_nt_new_pi_128B_enc : Enc_COPROC_VMEM_vS32b_n_ew_pi_128B<1>;
581 class Enc_COPROC_VMEM_vS32_b_pred_pi<bits<5> opc> : OpcodeHexagon {
593 class V6_vS32b_qpred_pi_enc : Enc_COPROC_VMEM_vS32_b_pred_pi<0b00000>;
594 class V6_vS32b_nqpred_pi_enc : Enc_COPROC_VMEM_vS32_b_pred_pi<0b00001>;
595 class V6_vS32b_pred_pi_enc : Enc_COPROC_VMEM_vS32_b_pred_pi<0b01000>;
596 class V6_vS32b_npred_pi_enc : Enc_COPROC_VMEM_vS32_b_pred_pi<0b01001>;
597 class V6_vS32Ub_pred_pi_enc : Enc_COPROC_VMEM_vS32_b_pred_pi<0b01110>;
598 class V6_vS32Ub_npred_pi_enc : Enc_COPROC_VMEM_vS32_b_pred_pi<0b01111>;
599 class V6_vS32b_nt_qpred_pi_enc : Enc_COPROC_VMEM_vS32_b_pred_pi<0b10000>;
600 class V6_vS32b_nt_nqpred_pi_enc : Enc_COPROC_VMEM_vS32_b_pred_pi<0b10001>;
601 class V6_vS32b_nt_pred_pi_enc : Enc_COPROC_VMEM_vS32_b_pred_pi<0b11000>;
602 class V6_vS32b_nt_npred_pi_enc : Enc_COPROC_VMEM_vS32_b_pred_pi<0b11001>;
606 class Enc_COPROC_VMEM_vS32_b_pred_pi_128B<bits<5> opc> : OpcodeHexagon {
618 class V6_vS32b_qpred_pi_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_pi_128B<0b00000>;
619 class V6_vS32b_nqpred_pi_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_pi_128B<0b00001>;
620 class V6_vS32b_pred_pi_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_pi_128B<0b01000>;
621 class V6_vS32b_npred_pi_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_pi_128B<0b01001>;
622 class V6_vS32Ub_pred_pi_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_pi_128B<0b01110>;
623 class V6_vS32Ub_npred_pi_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_pi_128B<0b01111>;
624 class V6_vS32b_nt_qpred_pi_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_pi_128B<0b10000>;
625 class V6_vS32b_nt_nqpred_pi_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_pi_128B<0b10001>;
626 class V6_vS32b_nt_pred_pi_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_pi_128B<0b11000>;
627 class V6_vS32b_nt_npred_pi_128B_enc : Enc_COPROC_VMEM_vS32_b_pred_pi_128B<0b11001>;
629 class Enc_COPROC_VMEM_vS32b_n_ew_pred_pi<bits<4> opc> : OpcodeHexagon {
641 class V6_vS32b_new_pred_pi_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_pi<0b0000>;
642 class V6_vS32b_new_npred_pi_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_pi<0b0101>;
643 class V6_vS32b_nt_new_pred_pi_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_pi<0b1010>;
644 class V6_vS32b_nt_new_npred_pi_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_pi<0b1111>;
646 class Enc_COPROC_VMEM_vS32b_n_ew_pred_pi_128B<bits<4> opc> : OpcodeHexagon {
658 class V6_vS32b_new_pred_pi_128B_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_pi_128B<0b0000>;
659 class V6_vS32b_new_npred_pi_128B_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_pi_128B<0b0101>;
660 class V6_vS32b_nt_new_pred_pi_128B_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_pi_128B<0b1010>;
661 class V6_vS32b_nt_new_npred_pi_128B_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_pi_128B<0b1111>;
663 class Enc_LD_load_m<bits<13> opc> : OpcodeHexagon {
672 class V6_vL32b_ppu_enc : Enc_LD_load_m<0b0100110000000>;
673 class V6_vL32b_cur_ppu_enc : Enc_LD_load_m<0b0100110000001>;
674 class V6_vL32b_tmp_ppu_enc : Enc_LD_load_m<0b0100110000010>;
675 class V6_vL32Ub_ppu_enc : Enc_LD_load_m<0b0100110000111>;
676 class V6_vL32b_nt_ppu_enc : Enc_LD_load_m<0b0100110100000>;
677 class V6_vL32b_nt_cur_ppu_enc : Enc_LD_load_m<0b0100110100001>;
678 class V6_vL32b_nt_tmp_ppu_enc : Enc_LD_load_m<0b0100110100010>;
680 class Enc_COPROC_VMEM_vS32_b_ppu<bits<4> opc> : OpcodeHexagon {
689 class V6_vS32b_ppu_enc : Enc_COPROC_VMEM_vS32_b_ppu<0b0000>;
690 class V6_vS32Ub_ppu_enc : Enc_COPROC_VMEM_vS32_b_ppu<0b0111>;
691 class V6_vS32b_nt_ppu_enc : Enc_COPROC_VMEM_vS32_b_ppu<0b1000>;
693 class Enc_COPROC_VMEM_vS32b_new_ppu<bits<1> opc> : OpcodeHexagon {
702 class V6_vS32b_new_ppu_enc : Enc_COPROC_VMEM_vS32b_new_ppu<0>;
703 class V6_vS32b_nt_new_ppu_enc : Enc_COPROC_VMEM_vS32b_new_ppu<1>;
705 class Enc_COPROC_VMEM_vS32_b_pred_ppu<bits<5> opc> : OpcodeHexagon {
715 class V6_vS32b_qpred_ppu_enc : Enc_COPROC_VMEM_vS32_b_pred_ppu<0b00000>;
716 class V6_vS32b_nqpred_ppu_enc : Enc_COPROC_VMEM_vS32_b_pred_ppu<0b00001>;
717 class V6_vS32b_pred_ppu_enc : Enc_COPROC_VMEM_vS32_b_pred_ppu<0b01000>;
718 class V6_vS32b_npred_ppu_enc : Enc_COPROC_VMEM_vS32_b_pred_ppu<0b01001>;
719 class V6_vS32Ub_pred_ppu_enc : Enc_COPROC_VMEM_vS32_b_pred_ppu<0b01110>;
720 class V6_vS32Ub_npred_ppu_enc : Enc_COPROC_VMEM_vS32_b_pred_ppu<0b01111>;
721 class V6_vS32b_nt_qpred_ppu_enc : Enc_COPROC_VMEM_vS32_b_pred_ppu<0b10000>;
722 class V6_vS32b_nt_nqpred_ppu_enc : Enc_COPROC_VMEM_vS32_b_pred_ppu<0b10001>;
723 class V6_vS32b_nt_pred_ppu_enc : Enc_COPROC_VMEM_vS32_b_pred_ppu<0b11000>;
724 class V6_vS32b_nt_npred_ppu_enc : Enc_COPROC_VMEM_vS32_b_pred_ppu<0b11001>;
726 class Enc_COPROC_VMEM_vS32b_n_ew_pred_ppu<bits<4> opc> : OpcodeHexagon {
736 class V6_vS32b_new_pred_ppu_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_ppu<0b0000>;
737 class V6_vS32b_new_npred_ppu_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_ppu<0b0101>;
738 class V6_vS32b_nt_new_pred_ppu_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_ppu<0b1010>;
739 class V6_vS32b_nt_new_npred_ppu_enc : Enc_COPROC_VMEM_vS32b_n_ew_pred_ppu<0b1111>;
742 class Enc_COPROC_VX_4op_i<bits<5> opc> : OpcodeHexagon {
752 class V6_vrmpybusi_enc : Enc_COPROC_VX_4op_i<0b01000>;
753 class V6_vrsadubi_enc : Enc_COPROC_VX_4op_i<0b01001>;
754 class V6_vrmpybusi_acc_enc : Enc_COPROC_VX_4op_i<0b01010>;
755 class V6_vrsadubi_acc_enc : Enc_COPROC_VX_4op_i<0b01011>;
756 class V6_vrmpyubi_acc_enc : Enc_COPROC_VX_4op_i<0b01111>;
757 class V6_vrmpyubi_enc : Enc_COPROC_VX_4op_i<0b10101>;
759 class Enc_COPROC_VX_vandqrt<bits<5> opc> : OpcodeHexagon {
768 class V6_vandqrt_acc_enc : Enc_COPROC_VX_vandqrt<0b01101>;
769 class V6_vandqrt_enc : Enc_COPROC_VX_vandqrt<0b10010>;
771 class Enc_COPROC_VX_cards<bits<2> opc> : OpcodeHexagon {
780 class V6_vshuff_enc : Enc_COPROC_VX_cards<0b01>;
781 class V6_vdeal_enc : Enc_COPROC_VX_cards<0b10>;
784 class Enc_COPROC_VX_v_cmov<bits<1> opc> : OpcodeHexagon {
793 class V6_vcmov_enc : Enc_COPROC_VX_v_cmov<0>;
794 class V6_vncmov_enc : Enc_COPROC_VX_v_cmov<1>;
796 class Enc_X_p3op<bits<8> opc> : OpcodeHexagon {
806 class V6_vnccombine_enc : Enc_X_p3op<0b00001000>;
807 class V6_vccombine_enc : Enc_X_p3op<0b00001100>;
809 class Enc_COPROC_VX_4op_r<bits<4> opc> : OpcodeHexagon {
819 class V6_valignb_enc : Enc_COPROC_VX_4op_r<0b0000>;
820 class V6_vlalignb_enc : Enc_COPROC_VX_4op_r<0b0001>;
821 class V6_vasrwh_enc : Enc_COPROC_VX_4op_r<0b0010>;
822 class V6_vasrwhsat_enc : Enc_COPROC_VX_4op_r<0b0011>;
823 class V6_vasrwhrndsat_enc : Enc_COPROC_VX_4op_r<0b0100>;
824 class V6_vasrwuhsat_enc : Enc_COPROC_VX_4op_r<0b0101>;
825 class V6_vasrhubsat_enc : Enc_COPROC_VX_4op_r<0b0110>;
826 class V6_vasrhubrndsat_enc : Enc_COPROC_VX_4op_r<0b0111>;
827 class V6_vasrhbrndsat_enc : Enc_COPROC_VX_4op_r<0b1000>;
828 class V6_vlutvvb_enc : Enc_COPROC_VX_4op_r<0b1001>;
829 class V6_vshuffvdd_enc : Enc_COPROC_VX_4op_r<0b1011>;
830 class V6_vdealvdd_enc : Enc_COPROC_VX_4op_r<0b1100>;
831 class V6_vlutvvb_oracc_enc : Enc_COPROC_VX_4op_r<0b1101>;
832 class V6_vlutvwh_enc : Enc_COPROC_VX_4op_r<0b1110>;
833 class V6_vlutvwh_oracc_enc : Enc_COPROC_VX_4op_r<0b1111>;
835 class Enc_S_3op_valign_i<bits<9> opc> : OpcodeHexagon {
845 class V6_vlutb_enc : Enc_S_3op_valign_i<0b001100000>;
846 class V6_vlutb_dv_enc : Enc_S_3op_valign_i<0b001100010>;
847 class V6_vlutb_acc_enc : Enc_S_3op_valign_i<0b001100100>;
848 class V6_vlutb_dv_acc_enc : Enc_S_3op_valign_i<0b001100110>;
849 class V6_valignbi_enc : Enc_S_3op_valign_i<0b001111011>;
850 class V6_vlalignbi_enc : Enc_S_3op_valign_i<0b001111111>;
851 class S2_valignib_enc : Enc_S_3op_valign_i<0b110000000>;
852 class S2_addasl_rrri_enc : Enc_S_3op_valign_i<0b110010000>;
854 class Enc_COPROC_VX_3op_q<bits<3> opc> : OpcodeHexagon {
863 class V6_pred_and_enc : Enc_COPROC_VX_3op_q<0b000>;
864 class V6_pred_or_enc : Enc_COPROC_VX_3op_q<0b001>;
865 class V6_pred_xor_enc : Enc_COPROC_VX_3op_q<0b011>;
866 class V6_pred_or_n_enc : Enc_COPROC_VX_3op_q<0b100>;
867 class V6_pred_and_n_enc : Enc_COPROC_VX_3op_q<0b101>;
869 class V6_pred_not_enc : OpcodeHexagon {
877 class Enc_COPROC_VX_4op_q<bits<1> opc> : OpcodeHexagon {
887 class V6_vswap_enc : Enc_COPROC_VX_4op_q<0>;
888 class V6_vmux_enc : Enc_COPROC_VX_4op_q<1>;
890 class Enc_X_2op<bits<16> opc> : OpcodeHexagon {
898 class V6_lvsplatw_enc : Enc_X_2op<0b0001100110100001>;
899 class V6_vinsertwr_enc : Enc_X_2op<0b0001100110110001>;
900 class S6_vsplatrbp_enc : Enc_X_2op<0b1000010001000100>;
903 class Enc_CR_2op_r<bits<12> opc> : OpcodeHexagon {
911 class V6_pred_scalar2_enc : Enc_CR_2op_r<0b001101101011>;
912 class Y5_l2locka_enc : Enc_CR_2op_r<0b110000111100>;
914 class Enc_S_3op_i6<bits<9> opc> : OpcodeHexagon {
923 class S6_rol_i_p_enc : Enc_S_3op_i6<0b000000011>;
924 class S6_rol_i_p_nac_enc : Enc_S_3op_i6<0b001000011>;
925 class S6_rol_i_p_acc_enc : Enc_S_3op_i6<0b001000111>;
926 class S6_rol_i_p_and_enc : Enc_S_3op_i6<0b001010011>;
927 class S6_rol_i_p_or_enc : Enc_S_3op_i6<0b001010111>;
928 class S6_rol_i_p_xacc_enc : Enc_S_3op_i6<0b001100011>;
930 class Enc_X_3op_r<bits<15> opc> : OpcodeHexagon {
939 class S6_rol_i_r_enc : Enc_X_3op_r<0b100011000000011>;
940 class S6_rol_i_r_nac_enc : Enc_X_3op_r<0b100011100000011>;
941 class S6_rol_i_r_acc_enc : Enc_X_3op_r<0b100011100000111>;
942 class S6_rol_i_r_and_enc : Enc_X_3op_r<0b100011100100011>;
943 class S6_rol_i_r_or_enc : Enc_X_3op_r<0b100011100100111>;
944 class S6_rol_i_r_xacc_enc : Enc_X_3op_r<0b100011101000011>;
945 class S6_vtrunehb_ppp_enc : Enc_X_3op_r<0b110000011000011>;
946 class S6_vtrunohb_ppp_enc : Enc_X_3op_r<0b110000011000101>;
948 class Enc_no_operands<bits<25> opc> : OpcodeHexagon {
954 class Y5_l2gunlock_enc : Enc_no_operands<0b1010100000100000010000000>;
955 class Y5_l2gclean_enc : Enc_no_operands<0b1010100000100000100000000>;
956 class Y5_l2gcleaninv_enc : Enc_no_operands<0b1010100000100000110000000>;
957 class V6_vhist_enc : Enc_no_operands<0b0001111000000001001000000>;
959 class Enc_J_jumpr<bits<13> opc> : OpcodeHexagon {
966 class Y5_l2unlocka_enc : Enc_J_jumpr<0b1010011011000>;
967 class Y2_l2cleaninvidx_enc : Enc_J_jumpr<0b1010100011000>;
969 class Enc_ST_l2gclean_pa<bits<2> opc> : OpcodeHexagon {
976 class Y6_l2gcleanpa_enc : Enc_ST_l2gclean_pa<0b01>;
977 class Y6_l2gcleaninvpa_enc : Enc_ST_l2gclean_pa<0b10>;
979 class A5_ACS_enc : OpcodeHexagon {
989 class Enc_X_4op_r<bits<8> opc> : OpcodeHexagon {
999 class S2_vsplicerb_enc : Enc_X_4op_r<0b00001000>;
1000 class S2_cabacencbin_enc : Enc_X_4op_r<0b00001010>;
1001 class F2_sffma_sc_enc : Enc_X_4op_r<0b11110111>;
1003 class V6_vhistq_enc : OpcodeHexagon {
1011 class A6_vminub_RdP_enc : OpcodeHexagon {