]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepInstrFormats.td
Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51
[FreeBSD/FreeBSD.git] / contrib / llvm-project / llvm / lib / Target / Hexagon / HexagonDepInstrFormats.td
1 //===----------------------------------------------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 // Automatically generated file, do not edit!
9 //===----------------------------------------------------------------------===//
10
11 class Enc_01d3d0 : OpcodeHexagon {
12   bits <5> Vu32;
13   let Inst{12-8} = Vu32{4-0};
14   bits <5> Rt32;
15   let Inst{20-16} = Rt32{4-0};
16   bits <5> Vdd32;
17   let Inst{4-0} = Vdd32{4-0};
18 }
19 class Enc_02553a : OpcodeHexagon {
20   bits <7> Ii;
21   let Inst{11-5} = Ii{6-0};
22   bits <5> Rs32;
23   let Inst{20-16} = Rs32{4-0};
24   bits <2> Pd4;
25   let Inst{1-0} = Pd4{1-0};
26 }
27 class Enc_03833b : OpcodeHexagon {
28   bits <5> Rss32;
29   let Inst{20-16} = Rss32{4-0};
30   bits <5> Rt32;
31   let Inst{12-8} = Rt32{4-0};
32   bits <2> Pd4;
33   let Inst{1-0} = Pd4{1-0};
34 }
35 class Enc_041d7b : OpcodeHexagon {
36   bits <11> Ii;
37   let Inst{21-20} = Ii{10-9};
38   let Inst{7-1} = Ii{8-2};
39   bits <4> Rs16;
40   let Inst{19-16} = Rs16{3-0};
41   bits <5> n1;
42   let Inst{28-28} = n1{4-4};
43   let Inst{24-23} = n1{3-2};
44   let Inst{13-13} = n1{1-1};
45   let Inst{8-8} = n1{0-0};
46 }
47 class Enc_046afa : OpcodeHexagon {
48   bits <1> Mu2;
49   let Inst{13-13} = Mu2{0-0};
50   bits <5> Vss32;
51   let Inst{4-0} = Vss32{4-0};
52   bits <5> Rx32;
53   let Inst{20-16} = Rx32{4-0};
54 }
55 class Enc_04c959 : OpcodeHexagon {
56   bits <2> Ii;
57   let Inst{13-13} = Ii{1-1};
58   let Inst{7-7} = Ii{0-0};
59   bits <6> II;
60   let Inst{11-8} = II{5-2};
61   let Inst{6-5} = II{1-0};
62   bits <5> Rt32;
63   let Inst{20-16} = Rt32{4-0};
64   bits <5> Ryy32;
65   let Inst{4-0} = Ryy32{4-0};
66 }
67 class Enc_0527db : OpcodeHexagon {
68   bits <4> Rs16;
69   let Inst{7-4} = Rs16{3-0};
70   bits <4> Rx16;
71   let Inst{3-0} = Rx16{3-0};
72 }
73 class Enc_052c7d : OpcodeHexagon {
74   bits <5> Ii;
75   let Inst{6-3} = Ii{4-1};
76   bits <5> Rt32;
77   let Inst{12-8} = Rt32{4-0};
78   bits <5> Rx32;
79   let Inst{20-16} = Rx32{4-0};
80 }
81 class Enc_08d755 : OpcodeHexagon {
82   bits <8> Ii;
83   let Inst{12-5} = Ii{7-0};
84   bits <5> Rs32;
85   let Inst{20-16} = Rs32{4-0};
86   bits <2> Pd4;
87   let Inst{1-0} = Pd4{1-0};
88 }
89 class Enc_0aa344 : OpcodeHexagon {
90   bits <5> Gss32;
91   let Inst{20-16} = Gss32{4-0};
92   bits <5> Rdd32;
93   let Inst{4-0} = Rdd32{4-0};
94 }
95 class Enc_0b2e5b : OpcodeHexagon {
96   bits <3> Ii;
97   let Inst{7-5} = Ii{2-0};
98   bits <5> Vu32;
99   let Inst{12-8} = Vu32{4-0};
100   bits <5> Vv32;
101   let Inst{20-16} = Vv32{4-0};
102   bits <5> Vd32;
103   let Inst{4-0} = Vd32{4-0};
104 }
105 class Enc_0b51ce : OpcodeHexagon {
106   bits <3> Ii;
107   let Inst{10-8} = Ii{2-0};
108   bits <2> Qv4;
109   let Inst{12-11} = Qv4{1-0};
110   bits <5> Vs32;
111   let Inst{4-0} = Vs32{4-0};
112   bits <5> Rx32;
113   let Inst{20-16} = Rx32{4-0};
114 }
115 class Enc_0cb018 : OpcodeHexagon {
116   bits <5> Cs32;
117   let Inst{20-16} = Cs32{4-0};
118   bits <5> Rd32;
119   let Inst{4-0} = Rd32{4-0};
120 }
121 class Enc_0d8870 : OpcodeHexagon {
122   bits <12> Ii;
123   let Inst{26-25} = Ii{11-10};
124   let Inst{13-13} = Ii{9-9};
125   let Inst{7-0} = Ii{8-1};
126   bits <5> Rs32;
127   let Inst{20-16} = Rs32{4-0};
128   bits <3> Nt8;
129   let Inst{10-8} = Nt8{2-0};
130 }
131 class Enc_0d8adb : OpcodeHexagon {
132   bits <8> Ii;
133   let Inst{12-5} = Ii{7-0};
134   bits <5> Rss32;
135   let Inst{20-16} = Rss32{4-0};
136   bits <2> Pd4;
137   let Inst{1-0} = Pd4{1-0};
138 }
139 class Enc_0e41fa : OpcodeHexagon {
140   bits <5> Vuu32;
141   let Inst{12-8} = Vuu32{4-0};
142   bits <5> Rt32;
143   let Inst{20-16} = Rt32{4-0};
144   bits <5> Vd32;
145   let Inst{4-0} = Vd32{4-0};
146 }
147 class Enc_0ed752 : OpcodeHexagon {
148   bits <5> Rss32;
149   let Inst{20-16} = Rss32{4-0};
150   bits <5> Cdd32;
151   let Inst{4-0} = Cdd32{4-0};
152 }
153 class Enc_0f8bab : OpcodeHexagon {
154   bits <5> Vu32;
155   let Inst{12-8} = Vu32{4-0};
156   bits <5> Rt32;
157   let Inst{20-16} = Rt32{4-0};
158   bits <2> Qd4;
159   let Inst{1-0} = Qd4{1-0};
160 }
161 class Enc_0fa531 : OpcodeHexagon {
162   bits <15> Ii;
163   let Inst{21-21} = Ii{14-14};
164   let Inst{13-13} = Ii{13-13};
165   let Inst{11-1} = Ii{12-2};
166   bits <5> Rs32;
167   let Inst{20-16} = Rs32{4-0};
168 }
169 class Enc_10bc21 : OpcodeHexagon {
170   bits <4> Ii;
171   let Inst{6-3} = Ii{3-0};
172   bits <5> Rt32;
173   let Inst{12-8} = Rt32{4-0};
174   bits <5> Rx32;
175   let Inst{20-16} = Rx32{4-0};
176 }
177 class Enc_1178da : OpcodeHexagon {
178   bits <3> Ii;
179   let Inst{7-5} = Ii{2-0};
180   bits <5> Vu32;
181   let Inst{12-8} = Vu32{4-0};
182   bits <5> Vv32;
183   let Inst{20-16} = Vv32{4-0};
184   bits <5> Vxx32;
185   let Inst{4-0} = Vxx32{4-0};
186 }
187 class Enc_11a146 : OpcodeHexagon {
188   bits <4> Ii;
189   let Inst{11-8} = Ii{3-0};
190   bits <5> Rss32;
191   let Inst{20-16} = Rss32{4-0};
192   bits <5> Rd32;
193   let Inst{4-0} = Rd32{4-0};
194 }
195 class Enc_12b6e9 : OpcodeHexagon {
196   bits <4> Ii;
197   let Inst{11-8} = Ii{3-0};
198   bits <5> Rss32;
199   let Inst{20-16} = Rss32{4-0};
200   bits <5> Rdd32;
201   let Inst{4-0} = Rdd32{4-0};
202 }
203 class Enc_134437 : OpcodeHexagon {
204   bits <2> Qs4;
205   let Inst{9-8} = Qs4{1-0};
206   bits <2> Qt4;
207   let Inst{23-22} = Qt4{1-0};
208   bits <2> Qd4;
209   let Inst{1-0} = Qd4{1-0};
210 }
211 class Enc_140c83 : OpcodeHexagon {
212   bits <10> Ii;
213   let Inst{21-21} = Ii{9-9};
214   let Inst{13-5} = Ii{8-0};
215   bits <5> Rs32;
216   let Inst{20-16} = Rs32{4-0};
217   bits <5> Rd32;
218   let Inst{4-0} = Rd32{4-0};
219 }
220 class Enc_143445 : OpcodeHexagon {
221   bits <13> Ii;
222   let Inst{26-25} = Ii{12-11};
223   let Inst{13-13} = Ii{10-10};
224   let Inst{7-0} = Ii{9-2};
225   bits <5> Rs32;
226   let Inst{20-16} = Rs32{4-0};
227   bits <5> Rt32;
228   let Inst{12-8} = Rt32{4-0};
229 }
230 class Enc_143a3c : OpcodeHexagon {
231   bits <6> Ii;
232   let Inst{13-8} = Ii{5-0};
233   bits <6> II;
234   let Inst{23-21} = II{5-3};
235   let Inst{7-5} = II{2-0};
236   bits <5> Rss32;
237   let Inst{20-16} = Rss32{4-0};
238   bits <5> Rxx32;
239   let Inst{4-0} = Rxx32{4-0};
240 }
241 class Enc_14640c : OpcodeHexagon {
242   bits <11> Ii;
243   let Inst{21-20} = Ii{10-9};
244   let Inst{7-1} = Ii{8-2};
245   bits <4> Rs16;
246   let Inst{19-16} = Rs16{3-0};
247   bits <5> n1;
248   let Inst{28-28} = n1{4-4};
249   let Inst{24-22} = n1{3-1};
250   let Inst{13-13} = n1{0-0};
251 }
252 class Enc_14d27a : OpcodeHexagon {
253   bits <5> II;
254   let Inst{12-8} = II{4-0};
255   bits <11> Ii;
256   let Inst{21-20} = Ii{10-9};
257   let Inst{7-1} = Ii{8-2};
258   bits <4> Rs16;
259   let Inst{19-16} = Rs16{3-0};
260 }
261 class Enc_152467 : OpcodeHexagon {
262   bits <5> Ii;
263   let Inst{8-5} = Ii{4-1};
264   bits <5> Rd32;
265   let Inst{4-0} = Rd32{4-0};
266   bits <5> Rx32;
267   let Inst{20-16} = Rx32{4-0};
268 }
269 class Enc_158beb : OpcodeHexagon {
270   bits <2> Qs4;
271   let Inst{6-5} = Qs4{1-0};
272   bits <5> Rt32;
273   let Inst{20-16} = Rt32{4-0};
274   bits <1> Mu2;
275   let Inst{13-13} = Mu2{0-0};
276   bits <5> Vv32;
277   let Inst{4-0} = Vv32{4-0};
278 }
279 class Enc_163a3c : OpcodeHexagon {
280   bits <7> Ii;
281   let Inst{12-7} = Ii{6-1};
282   bits <5> Rs32;
283   let Inst{20-16} = Rs32{4-0};
284   bits <5> Rt32;
285   let Inst{4-0} = Rt32{4-0};
286 }
287 class Enc_16c48b : OpcodeHexagon {
288   bits <5> Rt32;
289   let Inst{20-16} = Rt32{4-0};
290   bits <1> Mu2;
291   let Inst{13-13} = Mu2{0-0};
292   bits <5> Vv32;
293   let Inst{12-8} = Vv32{4-0};
294   bits <5> Vw32;
295   let Inst{4-0} = Vw32{4-0};
296 }
297 class Enc_178717 : OpcodeHexagon {
298   bits <11> Ii;
299   let Inst{21-20} = Ii{10-9};
300   let Inst{7-1} = Ii{8-2};
301   bits <4> Rs16;
302   let Inst{19-16} = Rs16{3-0};
303   bits <6> n1;
304   let Inst{28-28} = n1{5-5};
305   let Inst{25-23} = n1{4-2};
306   let Inst{13-13} = n1{1-1};
307   let Inst{8-8} = n1{0-0};
308 }
309 class Enc_179b35 : OpcodeHexagon {
310   bits <5> Rs32;
311   let Inst{20-16} = Rs32{4-0};
312   bits <5> Rtt32;
313   let Inst{12-8} = Rtt32{4-0};
314   bits <5> Rx32;
315   let Inst{4-0} = Rx32{4-0};
316 }
317 class Enc_18c338 : OpcodeHexagon {
318   bits <8> Ii;
319   let Inst{12-5} = Ii{7-0};
320   bits <8> II;
321   let Inst{22-16} = II{7-1};
322   let Inst{13-13} = II{0-0};
323   bits <5> Rdd32;
324   let Inst{4-0} = Rdd32{4-0};
325 }
326 class Enc_1a9974 : OpcodeHexagon {
327   bits <2> Ii;
328   let Inst{13-13} = Ii{1-1};
329   let Inst{7-7} = Ii{0-0};
330   bits <2> Pv4;
331   let Inst{6-5} = Pv4{1-0};
332   bits <5> Rs32;
333   let Inst{20-16} = Rs32{4-0};
334   bits <5> Ru32;
335   let Inst{12-8} = Ru32{4-0};
336   bits <5> Rtt32;
337   let Inst{4-0} = Rtt32{4-0};
338 }
339 class Enc_1aa186 : OpcodeHexagon {
340   bits <5> Rss32;
341   let Inst{20-16} = Rss32{4-0};
342   bits <5> Rt32;
343   let Inst{12-8} = Rt32{4-0};
344   bits <5> Rxx32;
345   let Inst{4-0} = Rxx32{4-0};
346 }
347 class Enc_1aaec1 : OpcodeHexagon {
348   bits <3> Ii;
349   let Inst{10-8} = Ii{2-0};
350   bits <3> Os8;
351   let Inst{2-0} = Os8{2-0};
352   bits <5> Rx32;
353   let Inst{20-16} = Rx32{4-0};
354 }
355 class Enc_1b64fb : OpcodeHexagon {
356   bits <16> Ii;
357   let Inst{26-25} = Ii{15-14};
358   let Inst{20-16} = Ii{13-9};
359   let Inst{13-13} = Ii{8-8};
360   let Inst{7-0} = Ii{7-0};
361   bits <5> Rt32;
362   let Inst{12-8} = Rt32{4-0};
363 }
364 class Enc_1bd127 : OpcodeHexagon {
365   bits <5> Vu32;
366   let Inst{12-8} = Vu32{4-0};
367   bits <3> Rt8;
368   let Inst{18-16} = Rt8{2-0};
369   bits <5> Vdddd32;
370   let Inst{4-0} = Vdddd32{4-0};
371 }
372 class Enc_1cf4ca : OpcodeHexagon {
373   bits <6> Ii;
374   let Inst{17-16} = Ii{5-4};
375   let Inst{6-3} = Ii{3-0};
376   bits <2> Pv4;
377   let Inst{1-0} = Pv4{1-0};
378   bits <5> Rt32;
379   let Inst{12-8} = Rt32{4-0};
380 }
381 class Enc_1de724 : OpcodeHexagon {
382   bits <11> Ii;
383   let Inst{21-20} = Ii{10-9};
384   let Inst{7-1} = Ii{8-2};
385   bits <4> Rs16;
386   let Inst{19-16} = Rs16{3-0};
387   bits <4> n1;
388   let Inst{28-28} = n1{3-3};
389   let Inst{24-22} = n1{2-0};
390 }
391 class Enc_1ef990 : OpcodeHexagon {
392   bits <2> Pv4;
393   let Inst{12-11} = Pv4{1-0};
394   bits <1> Mu2;
395   let Inst{13-13} = Mu2{0-0};
396   bits <5> Vs32;
397   let Inst{4-0} = Vs32{4-0};
398   bits <5> Rx32;
399   let Inst{20-16} = Rx32{4-0};
400 }
401 class Enc_1f19b5 : OpcodeHexagon {
402   bits <5> Ii;
403   let Inst{9-5} = Ii{4-0};
404   bits <5> Rss32;
405   let Inst{20-16} = Rss32{4-0};
406   bits <2> Pd4;
407   let Inst{1-0} = Pd4{1-0};
408 }
409 class Enc_1f5ba6 : OpcodeHexagon {
410   bits <4> Rd16;
411   let Inst{3-0} = Rd16{3-0};
412 }
413 class Enc_1f5d8f : OpcodeHexagon {
414   bits <1> Mu2;
415   let Inst{13-13} = Mu2{0-0};
416   bits <5> Ryy32;
417   let Inst{4-0} = Ryy32{4-0};
418   bits <5> Rx32;
419   let Inst{20-16} = Rx32{4-0};
420 }
421 class Enc_211aaa : OpcodeHexagon {
422   bits <11> Ii;
423   let Inst{26-25} = Ii{10-9};
424   let Inst{13-5} = Ii{8-0};
425   bits <5> Rs32;
426   let Inst{20-16} = Rs32{4-0};
427   bits <5> Rd32;
428   let Inst{4-0} = Rd32{4-0};
429 }
430 class Enc_217147 : OpcodeHexagon {
431   bits <2> Qv4;
432   let Inst{23-22} = Qv4{1-0};
433 }
434 class Enc_222336 : OpcodeHexagon {
435   bits <4> Ii;
436   let Inst{8-5} = Ii{3-0};
437   bits <5> Rd32;
438   let Inst{4-0} = Rd32{4-0};
439   bits <5> Rx32;
440   let Inst{20-16} = Rx32{4-0};
441 }
442 class Enc_223005 : OpcodeHexagon {
443   bits <6> Ii;
444   let Inst{6-3} = Ii{5-2};
445   bits <3> Nt8;
446   let Inst{10-8} = Nt8{2-0};
447   bits <5> Rx32;
448   let Inst{20-16} = Rx32{4-0};
449 }
450 class Enc_226535 : OpcodeHexagon {
451   bits <8> Ii;
452   let Inst{12-7} = Ii{7-2};
453   bits <5> Rs32;
454   let Inst{20-16} = Rs32{4-0};
455   bits <5> Rt32;
456   let Inst{4-0} = Rt32{4-0};
457 }
458 class Enc_22c845 : OpcodeHexagon {
459   bits <14> Ii;
460   let Inst{10-0} = Ii{13-3};
461   bits <5> Rx32;
462   let Inst{20-16} = Rx32{4-0};
463 }
464 class Enc_2301d6 : OpcodeHexagon {
465   bits <6> Ii;
466   let Inst{20-16} = Ii{5-1};
467   let Inst{8-8} = Ii{0-0};
468   bits <2> Pt4;
469   let Inst{10-9} = Pt4{1-0};
470   bits <5> Rd32;
471   let Inst{4-0} = Rd32{4-0};
472 }
473 class Enc_245865 : OpcodeHexagon {
474   bits <5> Vu32;
475   let Inst{12-8} = Vu32{4-0};
476   bits <5> Vv32;
477   let Inst{23-19} = Vv32{4-0};
478   bits <3> Rt8;
479   let Inst{18-16} = Rt8{2-0};
480   bits <5> Vx32;
481   let Inst{4-0} = Vx32{4-0};
482 }
483 class Enc_24a7dc : OpcodeHexagon {
484   bits <5> Vu32;
485   let Inst{12-8} = Vu32{4-0};
486   bits <5> Vv32;
487   let Inst{23-19} = Vv32{4-0};
488   bits <3> Rt8;
489   let Inst{18-16} = Rt8{2-0};
490   bits <5> Vdd32;
491   let Inst{4-0} = Vdd32{4-0};
492 }
493 class Enc_25bef0 : OpcodeHexagon {
494   bits <16> Ii;
495   let Inst{26-25} = Ii{15-14};
496   let Inst{20-16} = Ii{13-9};
497   let Inst{13-5} = Ii{8-0};
498   bits <5> Rd32;
499   let Inst{4-0} = Rd32{4-0};
500 }
501 class Enc_263841 : OpcodeHexagon {
502   bits <5> Vu32;
503   let Inst{12-8} = Vu32{4-0};
504   bits <5> Rtt32;
505   let Inst{20-16} = Rtt32{4-0};
506   bits <5> Vd32;
507   let Inst{4-0} = Vd32{4-0};
508 }
509 class Enc_277737 : OpcodeHexagon {
510   bits <8> Ii;
511   let Inst{22-21} = Ii{7-6};
512   let Inst{13-13} = Ii{5-5};
513   let Inst{7-5} = Ii{4-2};
514   bits <5> Ru32;
515   let Inst{4-0} = Ru32{4-0};
516   bits <5> Rs32;
517   let Inst{20-16} = Rs32{4-0};
518   bits <5> Rd32;
519   let Inst{12-8} = Rd32{4-0};
520 }
521 class Enc_27b757 : OpcodeHexagon {
522   bits <4> Ii;
523   let Inst{13-13} = Ii{3-3};
524   let Inst{10-8} = Ii{2-0};
525   bits <2> Pv4;
526   let Inst{12-11} = Pv4{1-0};
527   bits <5> Rt32;
528   let Inst{20-16} = Rt32{4-0};
529   bits <5> Vs32;
530   let Inst{4-0} = Vs32{4-0};
531 }
532 class Enc_27fd0e : OpcodeHexagon {
533   bits <6> Ii;
534   let Inst{8-5} = Ii{5-2};
535   bits <1> Mu2;
536   let Inst{13-13} = Mu2{0-0};
537   bits <5> Rd32;
538   let Inst{4-0} = Rd32{4-0};
539   bits <5> Rx32;
540   let Inst{20-16} = Rx32{4-0};
541 }
542 class Enc_284ebb : OpcodeHexagon {
543   bits <2> Ps4;
544   let Inst{17-16} = Ps4{1-0};
545   bits <2> Pt4;
546   let Inst{9-8} = Pt4{1-0};
547   bits <2> Pd4;
548   let Inst{1-0} = Pd4{1-0};
549 }
550 class Enc_28a2dc : OpcodeHexagon {
551   bits <5> Ii;
552   let Inst{12-8} = Ii{4-0};
553   bits <5> Rs32;
554   let Inst{20-16} = Rs32{4-0};
555   bits <5> Rx32;
556   let Inst{4-0} = Rx32{4-0};
557 }
558 class Enc_28dcbb : OpcodeHexagon {
559   bits <5> Rt32;
560   let Inst{20-16} = Rt32{4-0};
561   bits <1> Mu2;
562   let Inst{13-13} = Mu2{0-0};
563   bits <5> Vvv32;
564   let Inst{4-0} = Vvv32{4-0};
565 }
566 class Enc_2a3787 : OpcodeHexagon {
567   bits <13> Ii;
568   let Inst{26-25} = Ii{12-11};
569   let Inst{13-5} = Ii{10-2};
570   bits <5> Rs32;
571   let Inst{20-16} = Rs32{4-0};
572   bits <5> Rd32;
573   let Inst{4-0} = Rd32{4-0};
574 }
575 class Enc_2a7b91 : OpcodeHexagon {
576   bits <6> Ii;
577   let Inst{20-16} = Ii{5-1};
578   let Inst{8-8} = Ii{0-0};
579   bits <2> Pt4;
580   let Inst{10-9} = Pt4{1-0};
581   bits <5> Rdd32;
582   let Inst{4-0} = Rdd32{4-0};
583 }
584 class Enc_2ae154 : OpcodeHexagon {
585   bits <5> Rs32;
586   let Inst{20-16} = Rs32{4-0};
587   bits <5> Rt32;
588   let Inst{12-8} = Rt32{4-0};
589   bits <5> Rx32;
590   let Inst{4-0} = Rx32{4-0};
591 }
592 class Enc_2b3f60 : OpcodeHexagon {
593   bits <5> Rss32;
594   let Inst{20-16} = Rss32{4-0};
595   bits <5> Rtt32;
596   let Inst{12-8} = Rtt32{4-0};
597   bits <5> Rdd32;
598   let Inst{4-0} = Rdd32{4-0};
599   bits <2> Px4;
600   let Inst{6-5} = Px4{1-0};
601 }
602 class Enc_2b518f : OpcodeHexagon {
603   bits <32> Ii;
604   let Inst{27-16} = Ii{31-20};
605   let Inst{13-0} = Ii{19-6};
606 }
607 class Enc_2bae10 : OpcodeHexagon {
608   bits <4> Ii;
609   let Inst{10-8} = Ii{3-1};
610   bits <4> Rs16;
611   let Inst{7-4} = Rs16{3-0};
612   bits <4> Rd16;
613   let Inst{3-0} = Rd16{3-0};
614 }
615 class Enc_2d7491 : OpcodeHexagon {
616   bits <13> Ii;
617   let Inst{26-25} = Ii{12-11};
618   let Inst{13-5} = Ii{10-2};
619   bits <5> Rs32;
620   let Inst{20-16} = Rs32{4-0};
621   bits <5> Rdd32;
622   let Inst{4-0} = Rdd32{4-0};
623 }
624 class Enc_2d829e : OpcodeHexagon {
625   bits <14> Ii;
626   let Inst{10-0} = Ii{13-3};
627   bits <5> Rs32;
628   let Inst{20-16} = Rs32{4-0};
629 }
630 class Enc_2df31d : OpcodeHexagon {
631   bits <8> Ii;
632   let Inst{9-4} = Ii{7-2};
633   bits <4> Rd16;
634   let Inst{3-0} = Rd16{3-0};
635 }
636 class Enc_2e1979 : OpcodeHexagon {
637   bits <2> Ii;
638   let Inst{13-13} = Ii{1-1};
639   let Inst{7-7} = Ii{0-0};
640   bits <2> Pv4;
641   let Inst{6-5} = Pv4{1-0};
642   bits <5> Rs32;
643   let Inst{20-16} = Rs32{4-0};
644   bits <5> Rt32;
645   let Inst{12-8} = Rt32{4-0};
646   bits <5> Rd32;
647   let Inst{4-0} = Rd32{4-0};
648 }
649 class Enc_2ea740 : OpcodeHexagon {
650   bits <4> Ii;
651   let Inst{13-13} = Ii{3-3};
652   let Inst{10-8} = Ii{2-0};
653   bits <2> Qv4;
654   let Inst{12-11} = Qv4{1-0};
655   bits <5> Rt32;
656   let Inst{20-16} = Rt32{4-0};
657   bits <5> Vs32;
658   let Inst{4-0} = Vs32{4-0};
659 }
660 class Enc_2ebe3b : OpcodeHexagon {
661   bits <1> Mu2;
662   let Inst{13-13} = Mu2{0-0};
663   bits <5> Vd32;
664   let Inst{4-0} = Vd32{4-0};
665   bits <5> Rx32;
666   let Inst{20-16} = Rx32{4-0};
667 }
668 class Enc_2f2f04 : OpcodeHexagon {
669   bits <1> Ii;
670   let Inst{5-5} = Ii{0-0};
671   bits <5> Vuu32;
672   let Inst{12-8} = Vuu32{4-0};
673   bits <5> Rt32;
674   let Inst{20-16} = Rt32{4-0};
675   bits <5> Vdd32;
676   let Inst{4-0} = Vdd32{4-0};
677 }
678 class Enc_2fbf3c : OpcodeHexagon {
679   bits <3> Ii;
680   let Inst{10-8} = Ii{2-0};
681   bits <4> Rs16;
682   let Inst{7-4} = Rs16{3-0};
683   bits <4> Rd16;
684   let Inst{3-0} = Rd16{3-0};
685 }
686 class Enc_310ba1 : OpcodeHexagon {
687   bits <5> Vu32;
688   let Inst{12-8} = Vu32{4-0};
689   bits <5> Rtt32;
690   let Inst{20-16} = Rtt32{4-0};
691   bits <5> Vx32;
692   let Inst{4-0} = Vx32{4-0};
693 }
694 class Enc_311abd : OpcodeHexagon {
695   bits <5> Ii;
696   let Inst{12-8} = Ii{4-0};
697   bits <5> Rs32;
698   let Inst{20-16} = Rs32{4-0};
699   bits <5> Rdd32;
700   let Inst{4-0} = Rdd32{4-0};
701 }
702 class Enc_31aa6a : OpcodeHexagon {
703   bits <5> Ii;
704   let Inst{6-3} = Ii{4-1};
705   bits <2> Pv4;
706   let Inst{1-0} = Pv4{1-0};
707   bits <3> Nt8;
708   let Inst{10-8} = Nt8{2-0};
709   bits <5> Rx32;
710   let Inst{20-16} = Rx32{4-0};
711 }
712 class Enc_31db33 : OpcodeHexagon {
713   bits <2> Qt4;
714   let Inst{6-5} = Qt4{1-0};
715   bits <5> Vu32;
716   let Inst{12-8} = Vu32{4-0};
717   bits <5> Vv32;
718   let Inst{20-16} = Vv32{4-0};
719   bits <5> Vd32;
720   let Inst{4-0} = Vd32{4-0};
721 }
722 class Enc_322e1b : OpcodeHexagon {
723   bits <6> Ii;
724   let Inst{22-21} = Ii{5-4};
725   let Inst{13-13} = Ii{3-3};
726   let Inst{7-5} = Ii{2-0};
727   bits <6> II;
728   let Inst{23-23} = II{5-5};
729   let Inst{4-0} = II{4-0};
730   bits <5> Rs32;
731   let Inst{20-16} = Rs32{4-0};
732   bits <5> Rd32;
733   let Inst{12-8} = Rd32{4-0};
734 }
735 class Enc_323f2d : OpcodeHexagon {
736   bits <6> II;
737   let Inst{11-8} = II{5-2};
738   let Inst{6-5} = II{1-0};
739   bits <5> Rd32;
740   let Inst{4-0} = Rd32{4-0};
741   bits <5> Re32;
742   let Inst{20-16} = Re32{4-0};
743 }
744 class Enc_329361 : OpcodeHexagon {
745   bits <2> Pu4;
746   let Inst{6-5} = Pu4{1-0};
747   bits <5> Rss32;
748   let Inst{20-16} = Rss32{4-0};
749   bits <5> Rtt32;
750   let Inst{12-8} = Rtt32{4-0};
751   bits <5> Rdd32;
752   let Inst{4-0} = Rdd32{4-0};
753 }
754 class Enc_33f8ba : OpcodeHexagon {
755   bits <8> Ii;
756   let Inst{12-8} = Ii{7-3};
757   let Inst{4-2} = Ii{2-0};
758   bits <5> Rx32;
759   let Inst{20-16} = Rx32{4-0};
760 }
761 class Enc_3680c2 : OpcodeHexagon {
762   bits <7> Ii;
763   let Inst{11-5} = Ii{6-0};
764   bits <5> Rss32;
765   let Inst{20-16} = Rss32{4-0};
766   bits <2> Pd4;
767   let Inst{1-0} = Pd4{1-0};
768 }
769 class Enc_3694bd : OpcodeHexagon {
770   bits <11> Ii;
771   let Inst{21-20} = Ii{10-9};
772   let Inst{7-1} = Ii{8-2};
773   bits <3> Ns8;
774   let Inst{18-16} = Ns8{2-0};
775   bits <5> n1;
776   let Inst{29-29} = n1{4-4};
777   let Inst{26-25} = n1{3-2};
778   let Inst{23-22} = n1{1-0};
779 }
780 class Enc_372c9d : OpcodeHexagon {
781   bits <2> Pv4;
782   let Inst{12-11} = Pv4{1-0};
783   bits <1> Mu2;
784   let Inst{13-13} = Mu2{0-0};
785   bits <3> Os8;
786   let Inst{2-0} = Os8{2-0};
787   bits <5> Rx32;
788   let Inst{20-16} = Rx32{4-0};
789 }
790 class Enc_395cc4 : OpcodeHexagon {
791   bits <7> Ii;
792   let Inst{6-3} = Ii{6-3};
793   bits <1> Mu2;
794   let Inst{13-13} = Mu2{0-0};
795   bits <5> Rtt32;
796   let Inst{12-8} = Rtt32{4-0};
797   bits <5> Rx32;
798   let Inst{20-16} = Rx32{4-0};
799 }
800 class Enc_397f23 : OpcodeHexagon {
801   bits <8> Ii;
802   let Inst{13-13} = Ii{7-7};
803   let Inst{7-3} = Ii{6-2};
804   bits <2> Pv4;
805   let Inst{1-0} = Pv4{1-0};
806   bits <5> Rs32;
807   let Inst{20-16} = Rs32{4-0};
808   bits <5> Rt32;
809   let Inst{12-8} = Rt32{4-0};
810 }
811 class Enc_399e12 : OpcodeHexagon {
812   bits <4> Rs16;
813   let Inst{7-4} = Rs16{3-0};
814   bits <3> Rdd8;
815   let Inst{2-0} = Rdd8{2-0};
816 }
817 class Enc_3a2484 : OpcodeHexagon {
818   bits <11> Ii;
819   let Inst{21-20} = Ii{10-9};
820   let Inst{7-1} = Ii{8-2};
821   bits <4> Rs16;
822   let Inst{19-16} = Rs16{3-0};
823   bits <4> n1;
824   let Inst{28-28} = n1{3-3};
825   let Inst{24-23} = n1{2-1};
826   let Inst{13-13} = n1{0-0};
827 }
828 class Enc_3a3d62 : OpcodeHexagon {
829   bits <5> Rs32;
830   let Inst{20-16} = Rs32{4-0};
831   bits <5> Rdd32;
832   let Inst{4-0} = Rdd32{4-0};
833 }
834 class Enc_3b7631 : OpcodeHexagon {
835   bits <5> Vu32;
836   let Inst{12-8} = Vu32{4-0};
837   bits <5> Vdddd32;
838   let Inst{4-0} = Vdddd32{4-0};
839   bits <3> Rx8;
840   let Inst{18-16} = Rx8{2-0};
841 }
842 class Enc_3d5b28 : OpcodeHexagon {
843   bits <5> Rss32;
844   let Inst{20-16} = Rss32{4-0};
845   bits <5> Rt32;
846   let Inst{12-8} = Rt32{4-0};
847   bits <5> Rd32;
848   let Inst{4-0} = Rd32{4-0};
849 }
850 class Enc_3d6d37 : OpcodeHexagon {
851   bits <2> Qs4;
852   let Inst{6-5} = Qs4{1-0};
853   bits <5> Rt32;
854   let Inst{20-16} = Rt32{4-0};
855   bits <1> Mu2;
856   let Inst{13-13} = Mu2{0-0};
857   bits <5> Vvv32;
858   let Inst{12-8} = Vvv32{4-0};
859   bits <5> Vw32;
860   let Inst{4-0} = Vw32{4-0};
861 }
862 class Enc_3d920a : OpcodeHexagon {
863   bits <6> Ii;
864   let Inst{8-5} = Ii{5-2};
865   bits <5> Rd32;
866   let Inst{4-0} = Rd32{4-0};
867   bits <5> Rx32;
868   let Inst{20-16} = Rx32{4-0};
869 }
870 class Enc_3dac0b : OpcodeHexagon {
871   bits <2> Qt4;
872   let Inst{6-5} = Qt4{1-0};
873   bits <5> Vu32;
874   let Inst{12-8} = Vu32{4-0};
875   bits <5> Vv32;
876   let Inst{20-16} = Vv32{4-0};
877   bits <5> Vdd32;
878   let Inst{4-0} = Vdd32{4-0};
879 }
880 class Enc_3e3989 : OpcodeHexagon {
881   bits <11> Ii;
882   let Inst{21-20} = Ii{10-9};
883   let Inst{7-1} = Ii{8-2};
884   bits <4> Rs16;
885   let Inst{19-16} = Rs16{3-0};
886   bits <6> n1;
887   let Inst{28-28} = n1{5-5};
888   let Inst{25-22} = n1{4-1};
889   let Inst{8-8} = n1{0-0};
890 }
891 class Enc_3f97c8 : OpcodeHexagon {
892   bits <6> Ii;
893   let Inst{6-3} = Ii{5-2};
894   bits <1> Mu2;
895   let Inst{13-13} = Mu2{0-0};
896   bits <3> Nt8;
897   let Inst{10-8} = Nt8{2-0};
898   bits <5> Rx32;
899   let Inst{20-16} = Rx32{4-0};
900 }
901 class Enc_3fc427 : OpcodeHexagon {
902   bits <5> Vu32;
903   let Inst{12-8} = Vu32{4-0};
904   bits <5> Vv32;
905   let Inst{20-16} = Vv32{4-0};
906   bits <5> Vxx32;
907   let Inst{4-0} = Vxx32{4-0};
908 }
909 class Enc_403871 : OpcodeHexagon {
910   bits <5> Rx32;
911   let Inst{20-16} = Rx32{4-0};
912 }
913 class Enc_405228 : OpcodeHexagon {
914   bits <11> Ii;
915   let Inst{21-20} = Ii{10-9};
916   let Inst{7-1} = Ii{8-2};
917   bits <4> Rs16;
918   let Inst{19-16} = Rs16{3-0};
919   bits <3> n1;
920   let Inst{28-28} = n1{2-2};
921   let Inst{24-23} = n1{1-0};
922 }
923 class Enc_412ff0 : OpcodeHexagon {
924   bits <5> Rss32;
925   let Inst{20-16} = Rss32{4-0};
926   bits <5> Ru32;
927   let Inst{4-0} = Ru32{4-0};
928   bits <5> Rxx32;
929   let Inst{12-8} = Rxx32{4-0};
930 }
931 class Enc_420cf3 : OpcodeHexagon {
932   bits <6> Ii;
933   let Inst{22-21} = Ii{5-4};
934   let Inst{13-13} = Ii{3-3};
935   let Inst{7-5} = Ii{2-0};
936   bits <5> Ru32;
937   let Inst{4-0} = Ru32{4-0};
938   bits <5> Rs32;
939   let Inst{20-16} = Rs32{4-0};
940   bits <5> Rd32;
941   let Inst{12-8} = Rd32{4-0};
942 }
943 class Enc_437f33 : OpcodeHexagon {
944   bits <5> Rs32;
945   let Inst{20-16} = Rs32{4-0};
946   bits <5> Rt32;
947   let Inst{12-8} = Rt32{4-0};
948   bits <2> Pu4;
949   let Inst{6-5} = Pu4{1-0};
950   bits <5> Rx32;
951   let Inst{4-0} = Rx32{4-0};
952 }
953 class Enc_44215c : OpcodeHexagon {
954   bits <6> Ii;
955   let Inst{17-16} = Ii{5-4};
956   let Inst{6-3} = Ii{3-0};
957   bits <2> Pv4;
958   let Inst{1-0} = Pv4{1-0};
959   bits <3> Nt8;
960   let Inst{10-8} = Nt8{2-0};
961 }
962 class Enc_44271f : OpcodeHexagon {
963   bits <5> Gs32;
964   let Inst{20-16} = Gs32{4-0};
965   bits <5> Rd32;
966   let Inst{4-0} = Rd32{4-0};
967 }
968 class Enc_44661f : OpcodeHexagon {
969   bits <1> Mu2;
970   let Inst{13-13} = Mu2{0-0};
971   bits <5> Rx32;
972   let Inst{20-16} = Rx32{4-0};
973 }
974 class Enc_448f7f : OpcodeHexagon {
975   bits <11> Ii;
976   let Inst{26-25} = Ii{10-9};
977   let Inst{13-13} = Ii{8-8};
978   let Inst{7-0} = Ii{7-0};
979   bits <5> Rs32;
980   let Inst{20-16} = Rs32{4-0};
981   bits <5> Rt32;
982   let Inst{12-8} = Rt32{4-0};
983 }
984 class Enc_45364e : OpcodeHexagon {
985   bits <5> Vu32;
986   let Inst{12-8} = Vu32{4-0};
987   bits <5> Vv32;
988   let Inst{20-16} = Vv32{4-0};
989   bits <5> Vd32;
990   let Inst{4-0} = Vd32{4-0};
991 }
992 class Enc_454a26 : OpcodeHexagon {
993   bits <2> Pt4;
994   let Inst{9-8} = Pt4{1-0};
995   bits <2> Ps4;
996   let Inst{17-16} = Ps4{1-0};
997   bits <2> Pd4;
998   let Inst{1-0} = Pd4{1-0};
999 }
1000 class Enc_46c951 : OpcodeHexagon {
1001   bits <6> Ii;
1002   let Inst{12-7} = Ii{5-0};
1003   bits <5> II;
1004   let Inst{4-0} = II{4-0};
1005   bits <5> Rs32;
1006   let Inst{20-16} = Rs32{4-0};
1007 }
1008 class Enc_47ee5e : OpcodeHexagon {
1009   bits <2> Ii;
1010   let Inst{13-13} = Ii{1-1};
1011   let Inst{7-7} = Ii{0-0};
1012   bits <2> Pv4;
1013   let Inst{6-5} = Pv4{1-0};
1014   bits <5> Rs32;
1015   let Inst{20-16} = Rs32{4-0};
1016   bits <5> Ru32;
1017   let Inst{12-8} = Ru32{4-0};
1018   bits <3> Nt8;
1019   let Inst{2-0} = Nt8{2-0};
1020 }
1021 class Enc_47ef61 : OpcodeHexagon {
1022   bits <3> Ii;
1023   let Inst{7-5} = Ii{2-0};
1024   bits <5> Rt32;
1025   let Inst{12-8} = Rt32{4-0};
1026   bits <5> Rs32;
1027   let Inst{20-16} = Rs32{4-0};
1028   bits <5> Rd32;
1029   let Inst{4-0} = Rd32{4-0};
1030 }
1031 class Enc_48b75f : OpcodeHexagon {
1032   bits <5> Rs32;
1033   let Inst{20-16} = Rs32{4-0};
1034   bits <2> Pd4;
1035   let Inst{1-0} = Pd4{1-0};
1036 }
1037 class Enc_4aca3a : OpcodeHexagon {
1038   bits <11> Ii;
1039   let Inst{21-20} = Ii{10-9};
1040   let Inst{7-1} = Ii{8-2};
1041   bits <3> Ns8;
1042   let Inst{18-16} = Ns8{2-0};
1043   bits <3> n1;
1044   let Inst{29-29} = n1{2-2};
1045   let Inst{26-25} = n1{1-0};
1046 }
1047 class Enc_4b39e4 : OpcodeHexagon {
1048   bits <3> Ii;
1049   let Inst{7-5} = Ii{2-0};
1050   bits <5> Vu32;
1051   let Inst{12-8} = Vu32{4-0};
1052   bits <5> Vv32;
1053   let Inst{20-16} = Vv32{4-0};
1054   bits <5> Vdd32;
1055   let Inst{4-0} = Vdd32{4-0};
1056 }
1057 class Enc_4dc228 : OpcodeHexagon {
1058   bits <9> Ii;
1059   let Inst{12-8} = Ii{8-4};
1060   let Inst{4-3} = Ii{3-2};
1061   bits <10> II;
1062   let Inst{20-16} = II{9-5};
1063   let Inst{7-5} = II{4-2};
1064   let Inst{1-0} = II{1-0};
1065 }
1066 class Enc_4df4e9 : OpcodeHexagon {
1067   bits <11> Ii;
1068   let Inst{26-25} = Ii{10-9};
1069   let Inst{13-13} = Ii{8-8};
1070   let Inst{7-0} = Ii{7-0};
1071   bits <5> Rs32;
1072   let Inst{20-16} = Rs32{4-0};
1073   bits <3> Nt8;
1074   let Inst{10-8} = Nt8{2-0};
1075 }
1076 class Enc_4dff07 : OpcodeHexagon {
1077   bits <2> Qv4;
1078   let Inst{12-11} = Qv4{1-0};
1079   bits <1> Mu2;
1080   let Inst{13-13} = Mu2{0-0};
1081   bits <5> Vs32;
1082   let Inst{4-0} = Vs32{4-0};
1083   bits <5> Rx32;
1084   let Inst{20-16} = Rx32{4-0};
1085 }
1086 class Enc_4e4a80 : OpcodeHexagon {
1087   bits <2> Qs4;
1088   let Inst{6-5} = Qs4{1-0};
1089   bits <5> Rt32;
1090   let Inst{20-16} = Rt32{4-0};
1091   bits <1> Mu2;
1092   let Inst{13-13} = Mu2{0-0};
1093   bits <5> Vvv32;
1094   let Inst{4-0} = Vvv32{4-0};
1095 }
1096 class Enc_4f4ed7 : OpcodeHexagon {
1097   bits <18> Ii;
1098   let Inst{26-25} = Ii{17-16};
1099   let Inst{20-16} = Ii{15-11};
1100   let Inst{13-5} = Ii{10-2};
1101   bits <5> Rd32;
1102   let Inst{4-0} = Rd32{4-0};
1103 }
1104 class Enc_4f677b : OpcodeHexagon {
1105   bits <2> Ii;
1106   let Inst{13-13} = Ii{1-1};
1107   let Inst{7-7} = Ii{0-0};
1108   bits <6> II;
1109   let Inst{11-8} = II{5-2};
1110   let Inst{6-5} = II{1-0};
1111   bits <5> Rt32;
1112   let Inst{20-16} = Rt32{4-0};
1113   bits <5> Rd32;
1114   let Inst{4-0} = Rd32{4-0};
1115 }
1116 class Enc_500cb0 : OpcodeHexagon {
1117   bits <5> Vu32;
1118   let Inst{12-8} = Vu32{4-0};
1119   bits <5> Vxx32;
1120   let Inst{4-0} = Vxx32{4-0};
1121 }
1122 class Enc_509701 : OpcodeHexagon {
1123   bits <19> Ii;
1124   let Inst{26-25} = Ii{18-17};
1125   let Inst{20-16} = Ii{16-12};
1126   let Inst{13-5} = Ii{11-3};
1127   bits <5> Rdd32;
1128   let Inst{4-0} = Rdd32{4-0};
1129 }
1130 class Enc_50b5ac : OpcodeHexagon {
1131   bits <6> Ii;
1132   let Inst{17-16} = Ii{5-4};
1133   let Inst{6-3} = Ii{3-0};
1134   bits <2> Pv4;
1135   let Inst{1-0} = Pv4{1-0};
1136   bits <5> Rtt32;
1137   let Inst{12-8} = Rtt32{4-0};
1138 }
1139 class Enc_50e578 : OpcodeHexagon {
1140   bits <5> Vu32;
1141   let Inst{12-8} = Vu32{4-0};
1142   bits <5> Rs32;
1143   let Inst{20-16} = Rs32{4-0};
1144   bits <5> Rd32;
1145   let Inst{4-0} = Rd32{4-0};
1146 }
1147 class Enc_5138b3 : OpcodeHexagon {
1148   bits <5> Vu32;
1149   let Inst{12-8} = Vu32{4-0};
1150   bits <5> Rt32;
1151   let Inst{20-16} = Rt32{4-0};
1152   bits <5> Vx32;
1153   let Inst{4-0} = Vx32{4-0};
1154 }
1155 class Enc_51436c : OpcodeHexagon {
1156   bits <16> Ii;
1157   let Inst{23-22} = Ii{15-14};
1158   let Inst{13-0} = Ii{13-0};
1159   bits <5> Rx32;
1160   let Inst{20-16} = Rx32{4-0};
1161 }
1162 class Enc_51635c : OpcodeHexagon {
1163   bits <7> Ii;
1164   let Inst{8-4} = Ii{6-2};
1165   bits <4> Rd16;
1166   let Inst{3-0} = Rd16{3-0};
1167 }
1168 class Enc_527412 : OpcodeHexagon {
1169   bits <2> Ps4;
1170   let Inst{17-16} = Ps4{1-0};
1171   bits <2> Pt4;
1172   let Inst{9-8} = Pt4{1-0};
1173   bits <5> Rd32;
1174   let Inst{4-0} = Rd32{4-0};
1175 }
1176 class Enc_52a5dd : OpcodeHexagon {
1177   bits <4> Ii;
1178   let Inst{6-3} = Ii{3-0};
1179   bits <2> Pv4;
1180   let Inst{1-0} = Pv4{1-0};
1181   bits <3> Nt8;
1182   let Inst{10-8} = Nt8{2-0};
1183   bits <5> Rx32;
1184   let Inst{20-16} = Rx32{4-0};
1185 }
1186 class Enc_53dca9 : OpcodeHexagon {
1187   bits <6> Ii;
1188   let Inst{11-8} = Ii{5-2};
1189   bits <4> Rs16;
1190   let Inst{7-4} = Rs16{3-0};
1191   bits <4> Rd16;
1192   let Inst{3-0} = Rd16{3-0};
1193 }
1194 class Enc_541f26 : OpcodeHexagon {
1195   bits <18> Ii;
1196   let Inst{26-25} = Ii{17-16};
1197   let Inst{20-16} = Ii{15-11};
1198   let Inst{13-13} = Ii{10-10};
1199   let Inst{7-0} = Ii{9-2};
1200   bits <5> Rt32;
1201   let Inst{12-8} = Rt32{4-0};
1202 }
1203 class Enc_55355c : OpcodeHexagon {
1204   bits <2> Ii;
1205   let Inst{13-13} = Ii{1-1};
1206   let Inst{7-7} = Ii{0-0};
1207   bits <5> Rs32;
1208   let Inst{20-16} = Rs32{4-0};
1209   bits <5> Ru32;
1210   let Inst{12-8} = Ru32{4-0};
1211   bits <5> Rtt32;
1212   let Inst{4-0} = Rtt32{4-0};
1213 }
1214 class Enc_569cfe : OpcodeHexagon {
1215   bits <5> Rt32;
1216   let Inst{20-16} = Rt32{4-0};
1217   bits <5> Vx32;
1218   let Inst{4-0} = Vx32{4-0};
1219 }
1220 class Enc_57a33e : OpcodeHexagon {
1221   bits <9> Ii;
1222   let Inst{13-13} = Ii{8-8};
1223   let Inst{7-3} = Ii{7-3};
1224   bits <2> Pv4;
1225   let Inst{1-0} = Pv4{1-0};
1226   bits <5> Rs32;
1227   let Inst{20-16} = Rs32{4-0};
1228   bits <5> Rtt32;
1229   let Inst{12-8} = Rtt32{4-0};
1230 }
1231 class Enc_585242 : OpcodeHexagon {
1232   bits <6> Ii;
1233   let Inst{13-13} = Ii{5-5};
1234   let Inst{7-3} = Ii{4-0};
1235   bits <2> Pv4;
1236   let Inst{1-0} = Pv4{1-0};
1237   bits <5> Rs32;
1238   let Inst{20-16} = Rs32{4-0};
1239   bits <3> Nt8;
1240   let Inst{10-8} = Nt8{2-0};
1241 }
1242 class Enc_58a8bf : OpcodeHexagon {
1243   bits <3> Ii;
1244   let Inst{10-8} = Ii{2-0};
1245   bits <2> Pv4;
1246   let Inst{12-11} = Pv4{1-0};
1247   bits <5> Vd32;
1248   let Inst{4-0} = Vd32{4-0};
1249   bits <5> Rx32;
1250   let Inst{20-16} = Rx32{4-0};
1251 }
1252 class Enc_5a18b3 : OpcodeHexagon {
1253   bits <11> Ii;
1254   let Inst{21-20} = Ii{10-9};
1255   let Inst{7-1} = Ii{8-2};
1256   bits <3> Ns8;
1257   let Inst{18-16} = Ns8{2-0};
1258   bits <5> n1;
1259   let Inst{29-29} = n1{4-4};
1260   let Inst{26-25} = n1{3-2};
1261   let Inst{22-22} = n1{1-1};
1262   let Inst{13-13} = n1{0-0};
1263 }
1264 class Enc_5ab2be : OpcodeHexagon {
1265   bits <5> Rs32;
1266   let Inst{20-16} = Rs32{4-0};
1267   bits <5> Rt32;
1268   let Inst{12-8} = Rt32{4-0};
1269   bits <5> Rd32;
1270   let Inst{4-0} = Rd32{4-0};
1271 }
1272 class Enc_5bdd42 : OpcodeHexagon {
1273   bits <7> Ii;
1274   let Inst{8-5} = Ii{6-3};
1275   bits <5> Rdd32;
1276   let Inst{4-0} = Rdd32{4-0};
1277   bits <5> Rx32;
1278   let Inst{20-16} = Rx32{4-0};
1279 }
1280 class Enc_5c124a : OpcodeHexagon {
1281   bits <19> Ii;
1282   let Inst{26-25} = Ii{18-17};
1283   let Inst{20-16} = Ii{16-12};
1284   let Inst{13-13} = Ii{11-11};
1285   let Inst{7-0} = Ii{10-3};
1286   bits <5> Rtt32;
1287   let Inst{12-8} = Rtt32{4-0};
1288 }
1289 class Enc_5ccba9 : OpcodeHexagon {
1290   bits <8> Ii;
1291   let Inst{12-7} = Ii{7-2};
1292   bits <6> II;
1293   let Inst{13-13} = II{5-5};
1294   let Inst{4-0} = II{4-0};
1295   bits <2> Pv4;
1296   let Inst{6-5} = Pv4{1-0};
1297   bits <5> Rs32;
1298   let Inst{20-16} = Rs32{4-0};
1299 }
1300 class Enc_5cd7e9 : OpcodeHexagon {
1301   bits <12> Ii;
1302   let Inst{26-25} = Ii{11-10};
1303   let Inst{13-5} = Ii{9-1};
1304   bits <5> Rs32;
1305   let Inst{20-16} = Rs32{4-0};
1306   bits <5> Ryy32;
1307   let Inst{4-0} = Ryy32{4-0};
1308 }
1309 class Enc_5d6c34 : OpcodeHexagon {
1310   bits <6> Ii;
1311   let Inst{13-8} = Ii{5-0};
1312   bits <5> Rs32;
1313   let Inst{20-16} = Rs32{4-0};
1314   bits <2> Pd4;
1315   let Inst{1-0} = Pd4{1-0};
1316 }
1317 class Enc_5de85f : OpcodeHexagon {
1318   bits <11> Ii;
1319   let Inst{21-20} = Ii{10-9};
1320   let Inst{7-1} = Ii{8-2};
1321   bits <5> Rt32;
1322   let Inst{12-8} = Rt32{4-0};
1323   bits <3> Ns8;
1324   let Inst{18-16} = Ns8{2-0};
1325 }
1326 class Enc_5e2823 : OpcodeHexagon {
1327   bits <5> Rs32;
1328   let Inst{20-16} = Rs32{4-0};
1329   bits <5> Rd32;
1330   let Inst{4-0} = Rd32{4-0};
1331 }
1332 class Enc_5e8512 : OpcodeHexagon {
1333   bits <5> Vu32;
1334   let Inst{12-8} = Vu32{4-0};
1335   bits <5> Rt32;
1336   let Inst{20-16} = Rt32{4-0};
1337   bits <5> Vxx32;
1338   let Inst{4-0} = Vxx32{4-0};
1339 }
1340 class Enc_5e87ce : OpcodeHexagon {
1341   bits <16> Ii;
1342   let Inst{23-22} = Ii{15-14};
1343   let Inst{20-16} = Ii{13-9};
1344   let Inst{13-5} = Ii{8-0};
1345   bits <5> Rd32;
1346   let Inst{4-0} = Rd32{4-0};
1347 }
1348 class Enc_5eac98 : OpcodeHexagon {
1349   bits <6> Ii;
1350   let Inst{13-8} = Ii{5-0};
1351   bits <5> Rss32;
1352   let Inst{20-16} = Rss32{4-0};
1353   bits <5> Rdd32;
1354   let Inst{4-0} = Rdd32{4-0};
1355 }
1356 class Enc_5eb169 : OpcodeHexagon {
1357   bits <3> Ii;
1358   let Inst{10-8} = Ii{2-0};
1359   bits <5> Vdd32;
1360   let Inst{4-0} = Vdd32{4-0};
1361   bits <5> Rx32;
1362   let Inst{20-16} = Rx32{4-0};
1363 }
1364 class Enc_607661 : OpcodeHexagon {
1365   bits <6> Ii;
1366   let Inst{12-7} = Ii{5-0};
1367   bits <5> Rd32;
1368   let Inst{4-0} = Rd32{4-0};
1369 }
1370 class Enc_6185fe : OpcodeHexagon {
1371   bits <2> Ii;
1372   let Inst{13-13} = Ii{1-1};
1373   let Inst{7-7} = Ii{0-0};
1374   bits <6> II;
1375   let Inst{11-8} = II{5-2};
1376   let Inst{6-5} = II{1-0};
1377   bits <5> Rt32;
1378   let Inst{20-16} = Rt32{4-0};
1379   bits <5> Rdd32;
1380   let Inst{4-0} = Rdd32{4-0};
1381 }
1382 class Enc_61f0b0 : OpcodeHexagon {
1383   bits <5> Rs32;
1384   let Inst{20-16} = Rs32{4-0};
1385   bits <5> Rt32;
1386   let Inst{12-8} = Rt32{4-0};
1387   bits <5> Rxx32;
1388   let Inst{4-0} = Rxx32{4-0};
1389 }
1390 class Enc_621fba : OpcodeHexagon {
1391   bits <5> Rs32;
1392   let Inst{20-16} = Rs32{4-0};
1393   bits <5> Gd32;
1394   let Inst{4-0} = Gd32{4-0};
1395 }
1396 class Enc_625deb : OpcodeHexagon {
1397   bits <4> Ii;
1398   let Inst{10-8} = Ii{3-1};
1399   bits <4> Rs16;
1400   let Inst{7-4} = Rs16{3-0};
1401   bits <4> Rt16;
1402   let Inst{3-0} = Rt16{3-0};
1403 }
1404 class Enc_6339d5 : OpcodeHexagon {
1405   bits <2> Ii;
1406   let Inst{13-13} = Ii{1-1};
1407   let Inst{7-7} = Ii{0-0};
1408   bits <2> Pv4;
1409   let Inst{6-5} = Pv4{1-0};
1410   bits <5> Rs32;
1411   let Inst{20-16} = Rs32{4-0};
1412   bits <5> Ru32;
1413   let Inst{12-8} = Ru32{4-0};
1414   bits <5> Rt32;
1415   let Inst{4-0} = Rt32{4-0};
1416 }
1417 class Enc_634460 : OpcodeHexagon {
1418   bits <4> Ii;
1419   let Inst{13-13} = Ii{3-3};
1420   let Inst{10-8} = Ii{2-0};
1421   bits <5> Rt32;
1422   let Inst{20-16} = Rt32{4-0};
1423   bits <5> Vdd32;
1424   let Inst{4-0} = Vdd32{4-0};
1425 }
1426 class Enc_63eaeb : OpcodeHexagon {
1427   bits <2> Ii;
1428   let Inst{1-0} = Ii{1-0};
1429   bits <4> Rs16;
1430   let Inst{7-4} = Rs16{3-0};
1431 }
1432 class Enc_6413b6 : OpcodeHexagon {
1433   bits <11> Ii;
1434   let Inst{21-20} = Ii{10-9};
1435   let Inst{7-1} = Ii{8-2};
1436   bits <3> Ns8;
1437   let Inst{18-16} = Ns8{2-0};
1438   bits <5> n1;
1439   let Inst{29-29} = n1{4-4};
1440   let Inst{26-25} = n1{3-2};
1441   let Inst{23-23} = n1{1-1};
1442   let Inst{13-13} = n1{0-0};
1443 }
1444 class Enc_645d54 : OpcodeHexagon {
1445   bits <2> Ii;
1446   let Inst{13-13} = Ii{1-1};
1447   let Inst{5-5} = Ii{0-0};
1448   bits <5> Rss32;
1449   let Inst{20-16} = Rss32{4-0};
1450   bits <5> Rt32;
1451   let Inst{12-8} = Rt32{4-0};
1452   bits <5> Rdd32;
1453   let Inst{4-0} = Rdd32{4-0};
1454 }
1455 class Enc_65d691 : OpcodeHexagon {
1456   bits <2> Ps4;
1457   let Inst{17-16} = Ps4{1-0};
1458   bits <2> Pd4;
1459   let Inst{1-0} = Pd4{1-0};
1460 }
1461 class Enc_65f095 : OpcodeHexagon {
1462   bits <6> Ii;
1463   let Inst{6-3} = Ii{5-2};
1464   bits <2> Pv4;
1465   let Inst{1-0} = Pv4{1-0};
1466   bits <3> Nt8;
1467   let Inst{10-8} = Nt8{2-0};
1468   bits <5> Rx32;
1469   let Inst{20-16} = Rx32{4-0};
1470 }
1471 class Enc_667b39 : OpcodeHexagon {
1472   bits <5> Css32;
1473   let Inst{20-16} = Css32{4-0};
1474   bits <5> Rdd32;
1475   let Inst{4-0} = Rdd32{4-0};
1476 }
1477 class Enc_668704 : OpcodeHexagon {
1478   bits <11> Ii;
1479   let Inst{21-20} = Ii{10-9};
1480   let Inst{7-1} = Ii{8-2};
1481   bits <4> Rs16;
1482   let Inst{19-16} = Rs16{3-0};
1483   bits <5> n1;
1484   let Inst{28-28} = n1{4-4};
1485   let Inst{25-22} = n1{3-0};
1486 }
1487 class Enc_66bce1 : OpcodeHexagon {
1488   bits <11> Ii;
1489   let Inst{21-20} = Ii{10-9};
1490   let Inst{7-1} = Ii{8-2};
1491   bits <4> Rs16;
1492   let Inst{19-16} = Rs16{3-0};
1493   bits <4> Rd16;
1494   let Inst{11-8} = Rd16{3-0};
1495 }
1496 class Enc_690862 : OpcodeHexagon {
1497   bits <13> Ii;
1498   let Inst{26-25} = Ii{12-11};
1499   let Inst{13-13} = Ii{10-10};
1500   let Inst{7-0} = Ii{9-2};
1501   bits <5> Rs32;
1502   let Inst{20-16} = Rs32{4-0};
1503   bits <3> Nt8;
1504   let Inst{10-8} = Nt8{2-0};
1505 }
1506 class Enc_691712 : OpcodeHexagon {
1507   bits <2> Pv4;
1508   let Inst{12-11} = Pv4{1-0};
1509   bits <1> Mu2;
1510   let Inst{13-13} = Mu2{0-0};
1511   bits <5> Rx32;
1512   let Inst{20-16} = Rx32{4-0};
1513 }
1514 class Enc_69d63b : OpcodeHexagon {
1515   bits <11> Ii;
1516   let Inst{21-20} = Ii{10-9};
1517   let Inst{7-1} = Ii{8-2};
1518   bits <3> Ns8;
1519   let Inst{18-16} = Ns8{2-0};
1520 }
1521 class Enc_6a5972 : OpcodeHexagon {
1522   bits <11> Ii;
1523   let Inst{21-20} = Ii{10-9};
1524   let Inst{7-1} = Ii{8-2};
1525   bits <4> Rs16;
1526   let Inst{19-16} = Rs16{3-0};
1527   bits <4> Rt16;
1528   let Inst{11-8} = Rt16{3-0};
1529 }
1530 class Enc_6b197f : OpcodeHexagon {
1531   bits <4> Ii;
1532   let Inst{8-5} = Ii{3-0};
1533   bits <5> Ryy32;
1534   let Inst{4-0} = Ryy32{4-0};
1535   bits <5> Rx32;
1536   let Inst{20-16} = Rx32{4-0};
1537 }
1538 class Enc_6baed4 : OpcodeHexagon {
1539   bits <3> Ii;
1540   let Inst{10-8} = Ii{2-0};
1541   bits <2> Pv4;
1542   let Inst{12-11} = Pv4{1-0};
1543   bits <5> Rx32;
1544   let Inst{20-16} = Rx32{4-0};
1545 }
1546 class Enc_6c9440 : OpcodeHexagon {
1547   bits <10> Ii;
1548   let Inst{21-21} = Ii{9-9};
1549   let Inst{13-5} = Ii{8-0};
1550   bits <5> Rd32;
1551   let Inst{4-0} = Rd32{4-0};
1552 }
1553 class Enc_6c9ee0 : OpcodeHexagon {
1554   bits <3> Ii;
1555   let Inst{10-8} = Ii{2-0};
1556   bits <5> Rx32;
1557   let Inst{20-16} = Rx32{4-0};
1558 }
1559 class Enc_6f70ca : OpcodeHexagon {
1560   bits <8> Ii;
1561   let Inst{8-4} = Ii{7-3};
1562 }
1563 class Enc_6f83e7 : OpcodeHexagon {
1564   bits <2> Qv4;
1565   let Inst{23-22} = Qv4{1-0};
1566   bits <5> Vd32;
1567   let Inst{4-0} = Vd32{4-0};
1568 }
1569 class Enc_70b24b : OpcodeHexagon {
1570   bits <6> Ii;
1571   let Inst{8-5} = Ii{5-2};
1572   bits <1> Mu2;
1573   let Inst{13-13} = Mu2{0-0};
1574   bits <5> Rdd32;
1575   let Inst{4-0} = Rdd32{4-0};
1576   bits <5> Rx32;
1577   let Inst{20-16} = Rx32{4-0};
1578 }
1579 class Enc_70fb07 : OpcodeHexagon {
1580   bits <6> Ii;
1581   let Inst{13-8} = Ii{5-0};
1582   bits <5> Rss32;
1583   let Inst{20-16} = Rss32{4-0};
1584   bits <5> Rxx32;
1585   let Inst{4-0} = Rxx32{4-0};
1586 }
1587 class Enc_71bb9b : OpcodeHexagon {
1588   bits <5> Vu32;
1589   let Inst{12-8} = Vu32{4-0};
1590   bits <5> Vv32;
1591   let Inst{20-16} = Vv32{4-0};
1592   bits <5> Vdd32;
1593   let Inst{4-0} = Vdd32{4-0};
1594 }
1595 class Enc_71f1b4 : OpcodeHexagon {
1596   bits <6> Ii;
1597   let Inst{8-5} = Ii{5-2};
1598   bits <5> Rdd32;
1599   let Inst{4-0} = Rdd32{4-0};
1600   bits <5> Rx32;
1601   let Inst{20-16} = Rx32{4-0};
1602 }
1603 class Enc_7222b7 : OpcodeHexagon {
1604   bits <5> Rt32;
1605   let Inst{20-16} = Rt32{4-0};
1606   bits <2> Qd4;
1607   let Inst{1-0} = Qd4{1-0};
1608 }
1609 class Enc_724154 : OpcodeHexagon {
1610   bits <6> II;
1611   let Inst{5-0} = II{5-0};
1612   bits <3> Nt8;
1613   let Inst{10-8} = Nt8{2-0};
1614   bits <5> Re32;
1615   let Inst{20-16} = Re32{4-0};
1616 }
1617 class Enc_729ff7 : OpcodeHexagon {
1618   bits <3> Ii;
1619   let Inst{7-5} = Ii{2-0};
1620   bits <5> Rtt32;
1621   let Inst{12-8} = Rtt32{4-0};
1622   bits <5> Rss32;
1623   let Inst{20-16} = Rss32{4-0};
1624   bits <5> Rdd32;
1625   let Inst{4-0} = Rdd32{4-0};
1626 }
1627 class Enc_733b27 : OpcodeHexagon {
1628   bits <5> Ii;
1629   let Inst{8-5} = Ii{4-1};
1630   bits <2> Pt4;
1631   let Inst{10-9} = Pt4{1-0};
1632   bits <5> Rd32;
1633   let Inst{4-0} = Rd32{4-0};
1634   bits <5> Rx32;
1635   let Inst{20-16} = Rx32{4-0};
1636 }
1637 class Enc_736575 : OpcodeHexagon {
1638   bits <11> Ii;
1639   let Inst{21-20} = Ii{10-9};
1640   let Inst{7-1} = Ii{8-2};
1641   bits <4> Rs16;
1642   let Inst{19-16} = Rs16{3-0};
1643   bits <4> n1;
1644   let Inst{28-28} = n1{3-3};
1645   let Inst{25-23} = n1{2-0};
1646 }
1647 class Enc_74aef2 : OpcodeHexagon {
1648   bits <4> Ii;
1649   let Inst{8-5} = Ii{3-0};
1650   bits <1> Mu2;
1651   let Inst{13-13} = Mu2{0-0};
1652   bits <5> Ryy32;
1653   let Inst{4-0} = Ryy32{4-0};
1654   bits <5> Rx32;
1655   let Inst{20-16} = Rx32{4-0};
1656 }
1657 class Enc_74d4e5 : OpcodeHexagon {
1658   bits <1> Mu2;
1659   let Inst{13-13} = Mu2{0-0};
1660   bits <5> Rd32;
1661   let Inst{4-0} = Rd32{4-0};
1662   bits <5> Rx32;
1663   let Inst{20-16} = Rx32{4-0};
1664 }
1665 class Enc_770858 : OpcodeHexagon {
1666   bits <2> Ps4;
1667   let Inst{6-5} = Ps4{1-0};
1668   bits <5> Vu32;
1669   let Inst{12-8} = Vu32{4-0};
1670   bits <5> Vd32;
1671   let Inst{4-0} = Vd32{4-0};
1672 }
1673 class Enc_784502 : OpcodeHexagon {
1674   bits <3> Ii;
1675   let Inst{10-8} = Ii{2-0};
1676   bits <2> Pv4;
1677   let Inst{12-11} = Pv4{1-0};
1678   bits <3> Os8;
1679   let Inst{2-0} = Os8{2-0};
1680   bits <5> Rx32;
1681   let Inst{20-16} = Rx32{4-0};
1682 }
1683 class Enc_78cbf0 : OpcodeHexagon {
1684   bits <18> Ii;
1685   let Inst{26-25} = Ii{17-16};
1686   let Inst{20-16} = Ii{15-11};
1687   let Inst{13-13} = Ii{10-10};
1688   let Inst{7-0} = Ii{9-2};
1689   bits <3> Nt8;
1690   let Inst{10-8} = Nt8{2-0};
1691 }
1692 class Enc_78e566 : OpcodeHexagon {
1693   bits <2> Pt4;
1694   let Inst{9-8} = Pt4{1-0};
1695   bits <5> Rdd32;
1696   let Inst{4-0} = Rdd32{4-0};
1697 }
1698 class Enc_79b8c8 : OpcodeHexagon {
1699   bits <6> Ii;
1700   let Inst{6-3} = Ii{5-2};
1701   bits <1> Mu2;
1702   let Inst{13-13} = Mu2{0-0};
1703   bits <5> Rt32;
1704   let Inst{12-8} = Rt32{4-0};
1705   bits <5> Rx32;
1706   let Inst{20-16} = Rx32{4-0};
1707 }
1708 class Enc_7a0ea6 : OpcodeHexagon {
1709   bits <4> Rd16;
1710   let Inst{3-0} = Rd16{3-0};
1711   bits <1> n1;
1712   let Inst{9-9} = n1{0-0};
1713 }
1714 class Enc_7b523d : OpcodeHexagon {
1715   bits <5> Vu32;
1716   let Inst{12-8} = Vu32{4-0};
1717   bits <5> Vv32;
1718   let Inst{23-19} = Vv32{4-0};
1719   bits <3> Rt8;
1720   let Inst{18-16} = Rt8{2-0};
1721   bits <5> Vxx32;
1722   let Inst{4-0} = Vxx32{4-0};
1723 }
1724 class Enc_7b7ba8 : OpcodeHexagon {
1725   bits <2> Qu4;
1726   let Inst{9-8} = Qu4{1-0};
1727   bits <5> Rt32;
1728   let Inst{20-16} = Rt32{4-0};
1729   bits <5> Vd32;
1730   let Inst{4-0} = Vd32{4-0};
1731 }
1732 class Enc_7d1542 : OpcodeHexagon {
1733   bits <7> Ss128;
1734   let Inst{22-16} = Ss128{6-0};
1735   bits <5> Rd32;
1736   let Inst{4-0} = Rd32{4-0};
1737 }
1738 class Enc_7e5a82 : OpcodeHexagon {
1739   bits <5> Ii;
1740   let Inst{12-8} = Ii{4-0};
1741   bits <5> Rss32;
1742   let Inst{20-16} = Rss32{4-0};
1743   bits <5> Rdd32;
1744   let Inst{4-0} = Rdd32{4-0};
1745 }
1746 class Enc_7eaeb6 : OpcodeHexagon {
1747   bits <6> Ii;
1748   let Inst{6-3} = Ii{5-2};
1749   bits <2> Pv4;
1750   let Inst{1-0} = Pv4{1-0};
1751   bits <5> Rt32;
1752   let Inst{12-8} = Rt32{4-0};
1753   bits <5> Rx32;
1754   let Inst{20-16} = Rx32{4-0};
1755 }
1756 class Enc_7eb485 : OpcodeHexagon {
1757   bits <2> Ii;
1758   let Inst{13-13} = Ii{1-1};
1759   let Inst{6-6} = Ii{0-0};
1760   bits <6> II;
1761   let Inst{5-0} = II{5-0};
1762   bits <5> Ru32;
1763   let Inst{20-16} = Ru32{4-0};
1764   bits <3> Nt8;
1765   let Inst{10-8} = Nt8{2-0};
1766 }
1767 class Enc_7eee72 : OpcodeHexagon {
1768   bits <1> Mu2;
1769   let Inst{13-13} = Mu2{0-0};
1770   bits <5> Rdd32;
1771   let Inst{4-0} = Rdd32{4-0};
1772   bits <5> Rx32;
1773   let Inst{20-16} = Rx32{4-0};
1774 }
1775 class Enc_7f1a05 : OpcodeHexagon {
1776   bits <5> Ru32;
1777   let Inst{4-0} = Ru32{4-0};
1778   bits <5> Rs32;
1779   let Inst{20-16} = Rs32{4-0};
1780   bits <5> Ry32;
1781   let Inst{12-8} = Ry32{4-0};
1782 }
1783 class Enc_7fa7f6 : OpcodeHexagon {
1784   bits <6> II;
1785   let Inst{11-8} = II{5-2};
1786   let Inst{6-5} = II{1-0};
1787   bits <5> Rdd32;
1788   let Inst{4-0} = Rdd32{4-0};
1789   bits <5> Re32;
1790   let Inst{20-16} = Re32{4-0};
1791 }
1792 class Enc_800e04 : OpcodeHexagon {
1793   bits <11> Ii;
1794   let Inst{21-20} = Ii{10-9};
1795   let Inst{7-1} = Ii{8-2};
1796   bits <4> Rs16;
1797   let Inst{19-16} = Rs16{3-0};
1798   bits <6> n1;
1799   let Inst{28-28} = n1{5-5};
1800   let Inst{25-22} = n1{4-1};
1801   let Inst{13-13} = n1{0-0};
1802 }
1803 class Enc_80296d : OpcodeHexagon {
1804   bits <5> Rs32;
1805   let Inst{12-8} = Rs32{4-0};
1806   bits <5> Rtt32;
1807   let Inst{20-16} = Rtt32{4-0};
1808   bits <5> Rd32;
1809   let Inst{4-0} = Rd32{4-0};
1810 }
1811 class Enc_802dc0 : OpcodeHexagon {
1812   bits <1> Ii;
1813   let Inst{8-8} = Ii{0-0};
1814   bits <2> Qv4;
1815   let Inst{23-22} = Qv4{1-0};
1816 }
1817 class Enc_81ac1d : OpcodeHexagon {
1818   bits <24> Ii;
1819   let Inst{24-16} = Ii{23-15};
1820   let Inst{13-1} = Ii{14-2};
1821 }
1822 class Enc_8203bb : OpcodeHexagon {
1823   bits <6> Ii;
1824   let Inst{12-7} = Ii{5-0};
1825   bits <8> II;
1826   let Inst{13-13} = II{7-7};
1827   let Inst{6-0} = II{6-0};
1828   bits <5> Rs32;
1829   let Inst{20-16} = Rs32{4-0};
1830 }
1831 class Enc_829a68 : OpcodeHexagon {
1832   bits <1> Mu2;
1833   let Inst{13-13} = Mu2{0-0};
1834   bits <5> Vdd32;
1835   let Inst{4-0} = Vdd32{4-0};
1836   bits <5> Rx32;
1837   let Inst{20-16} = Rx32{4-0};
1838 }
1839 class Enc_830e5d : OpcodeHexagon {
1840   bits <8> Ii;
1841   let Inst{12-5} = Ii{7-0};
1842   bits <8> II;
1843   let Inst{22-16} = II{7-1};
1844   let Inst{13-13} = II{0-0};
1845   bits <2> Pu4;
1846   let Inst{24-23} = Pu4{1-0};
1847   bits <5> Rd32;
1848   let Inst{4-0} = Rd32{4-0};
1849 }
1850 class Enc_831a7d : OpcodeHexagon {
1851   bits <5> Rss32;
1852   let Inst{20-16} = Rss32{4-0};
1853   bits <5> Rtt32;
1854   let Inst{12-8} = Rtt32{4-0};
1855   bits <5> Rxx32;
1856   let Inst{4-0} = Rxx32{4-0};
1857   bits <2> Pe4;
1858   let Inst{6-5} = Pe4{1-0};
1859 }
1860 class Enc_83ee64 : OpcodeHexagon {
1861   bits <5> Ii;
1862   let Inst{12-8} = Ii{4-0};
1863   bits <5> Rs32;
1864   let Inst{20-16} = Rs32{4-0};
1865   bits <2> Pd4;
1866   let Inst{1-0} = Pd4{1-0};
1867 }
1868 class Enc_84b2cd : OpcodeHexagon {
1869   bits <8> Ii;
1870   let Inst{12-7} = Ii{7-2};
1871   bits <5> II;
1872   let Inst{4-0} = II{4-0};
1873   bits <5> Rs32;
1874   let Inst{20-16} = Rs32{4-0};
1875 }
1876 class Enc_84bff1 : OpcodeHexagon {
1877   bits <2> Ii;
1878   let Inst{13-13} = Ii{1-1};
1879   let Inst{7-7} = Ii{0-0};
1880   bits <5> Rs32;
1881   let Inst{20-16} = Rs32{4-0};
1882   bits <5> Rt32;
1883   let Inst{12-8} = Rt32{4-0};
1884   bits <5> Rdd32;
1885   let Inst{4-0} = Rdd32{4-0};
1886 }
1887 class Enc_84d359 : OpcodeHexagon {
1888   bits <4> Ii;
1889   let Inst{3-0} = Ii{3-0};
1890   bits <4> Rs16;
1891   let Inst{7-4} = Rs16{3-0};
1892 }
1893 class Enc_85bf58 : OpcodeHexagon {
1894   bits <7> Ii;
1895   let Inst{6-3} = Ii{6-3};
1896   bits <5> Rtt32;
1897   let Inst{12-8} = Rtt32{4-0};
1898   bits <5> Rx32;
1899   let Inst{20-16} = Rx32{4-0};
1900 }
1901 class Enc_864a5a : OpcodeHexagon {
1902   bits <9> Ii;
1903   let Inst{12-8} = Ii{8-4};
1904   let Inst{4-3} = Ii{3-2};
1905   bits <5> Rs32;
1906   let Inst{20-16} = Rs32{4-0};
1907 }
1908 class Enc_865390 : OpcodeHexagon {
1909   bits <3> Ii;
1910   let Inst{10-8} = Ii{2-0};
1911   bits <2> Pv4;
1912   let Inst{12-11} = Pv4{1-0};
1913   bits <5> Vs32;
1914   let Inst{4-0} = Vs32{4-0};
1915   bits <5> Rx32;
1916   let Inst{20-16} = Rx32{4-0};
1917 }
1918 class Enc_86a14b : OpcodeHexagon {
1919   bits <8> Ii;
1920   let Inst{7-3} = Ii{7-3};
1921   bits <3> Rdd8;
1922   let Inst{2-0} = Rdd8{2-0};
1923 }
1924 class Enc_87c142 : OpcodeHexagon {
1925   bits <7> Ii;
1926   let Inst{8-4} = Ii{6-2};
1927   bits <4> Rt16;
1928   let Inst{3-0} = Rt16{3-0};
1929 }
1930 class Enc_88c16c : OpcodeHexagon {
1931   bits <5> Rss32;
1932   let Inst{20-16} = Rss32{4-0};
1933   bits <5> Rtt32;
1934   let Inst{12-8} = Rtt32{4-0};
1935   bits <5> Rxx32;
1936   let Inst{4-0} = Rxx32{4-0};
1937 }
1938 class Enc_88d4d9 : OpcodeHexagon {
1939   bits <2> Pu4;
1940   let Inst{9-8} = Pu4{1-0};
1941   bits <5> Rs32;
1942   let Inst{20-16} = Rs32{4-0};
1943 }
1944 class Enc_890909 : OpcodeHexagon {
1945   bits <5> Rs32;
1946   let Inst{20-16} = Rs32{4-0};
1947   bits <5> Rd32;
1948   let Inst{4-0} = Rd32{4-0};
1949   bits <2> Pe4;
1950   let Inst{6-5} = Pe4{1-0};
1951 }
1952 class Enc_895bd9 : OpcodeHexagon {
1953   bits <2> Qu4;
1954   let Inst{9-8} = Qu4{1-0};
1955   bits <5> Rt32;
1956   let Inst{20-16} = Rt32{4-0};
1957   bits <5> Vx32;
1958   let Inst{4-0} = Vx32{4-0};
1959 }
1960 class Enc_8b8927 : OpcodeHexagon {
1961   bits <5> Rt32;
1962   let Inst{20-16} = Rt32{4-0};
1963   bits <1> Mu2;
1964   let Inst{13-13} = Mu2{0-0};
1965   bits <5> Vv32;
1966   let Inst{4-0} = Vv32{4-0};
1967 }
1968 class Enc_8b8d61 : OpcodeHexagon {
1969   bits <6> Ii;
1970   let Inst{22-21} = Ii{5-4};
1971   let Inst{13-13} = Ii{3-3};
1972   let Inst{7-5} = Ii{2-0};
1973   bits <5> Rs32;
1974   let Inst{20-16} = Rs32{4-0};
1975   bits <5> Ru32;
1976   let Inst{4-0} = Ru32{4-0};
1977   bits <5> Rd32;
1978   let Inst{12-8} = Rd32{4-0};
1979 }
1980 class Enc_8bcba4 : OpcodeHexagon {
1981   bits <6> II;
1982   let Inst{5-0} = II{5-0};
1983   bits <5> Rt32;
1984   let Inst{12-8} = Rt32{4-0};
1985   bits <5> Re32;
1986   let Inst{20-16} = Re32{4-0};
1987 }
1988 class Enc_8c2412 : OpcodeHexagon {
1989   bits <2> Ps4;
1990   let Inst{6-5} = Ps4{1-0};
1991   bits <5> Vu32;
1992   let Inst{12-8} = Vu32{4-0};
1993   bits <5> Vv32;
1994   let Inst{20-16} = Vv32{4-0};
1995   bits <5> Vdd32;
1996   let Inst{4-0} = Vdd32{4-0};
1997 }
1998 class Enc_8c6530 : OpcodeHexagon {
1999   bits <5> Rtt32;
2000   let Inst{12-8} = Rtt32{4-0};
2001   bits <5> Rss32;
2002   let Inst{20-16} = Rss32{4-0};
2003   bits <2> Pu4;
2004   let Inst{6-5} = Pu4{1-0};
2005   bits <5> Rdd32;
2006   let Inst{4-0} = Rdd32{4-0};
2007 }
2008 class Enc_8d8a30 : OpcodeHexagon {
2009   bits <4> Ii;
2010   let Inst{13-13} = Ii{3-3};
2011   let Inst{10-8} = Ii{2-0};
2012   bits <2> Pv4;
2013   let Inst{12-11} = Pv4{1-0};
2014   bits <5> Rt32;
2015   let Inst{20-16} = Rt32{4-0};
2016   bits <5> Vd32;
2017   let Inst{4-0} = Vd32{4-0};
2018 }
2019 class Enc_8dbdfe : OpcodeHexagon {
2020   bits <8> Ii;
2021   let Inst{13-13} = Ii{7-7};
2022   let Inst{7-3} = Ii{6-2};
2023   bits <2> Pv4;
2024   let Inst{1-0} = Pv4{1-0};
2025   bits <5> Rs32;
2026   let Inst{20-16} = Rs32{4-0};
2027   bits <3> Nt8;
2028   let Inst{10-8} = Nt8{2-0};
2029 }
2030 class Enc_8dbe85 : OpcodeHexagon {
2031   bits <1> Mu2;
2032   let Inst{13-13} = Mu2{0-0};
2033   bits <3> Nt8;
2034   let Inst{10-8} = Nt8{2-0};
2035   bits <5> Rx32;
2036   let Inst{20-16} = Rx32{4-0};
2037 }
2038 class Enc_8dec2e : OpcodeHexagon {
2039   bits <5> Ii;
2040   let Inst{12-8} = Ii{4-0};
2041   bits <5> Rss32;
2042   let Inst{20-16} = Rss32{4-0};
2043   bits <5> Rd32;
2044   let Inst{4-0} = Rd32{4-0};
2045 }
2046 class Enc_8df4be : OpcodeHexagon {
2047   bits <17> Ii;
2048   let Inst{26-25} = Ii{16-15};
2049   let Inst{20-16} = Ii{14-10};
2050   let Inst{13-5} = Ii{9-1};
2051   bits <5> Rd32;
2052   let Inst{4-0} = Rd32{4-0};
2053 }
2054 class Enc_8e583a : OpcodeHexagon {
2055   bits <11> Ii;
2056   let Inst{21-20} = Ii{10-9};
2057   let Inst{7-1} = Ii{8-2};
2058   bits <4> Rs16;
2059   let Inst{19-16} = Rs16{3-0};
2060   bits <5> n1;
2061   let Inst{28-28} = n1{4-4};
2062   let Inst{25-23} = n1{3-1};
2063   let Inst{13-13} = n1{0-0};
2064 }
2065 class Enc_8f7633 : OpcodeHexagon {
2066   bits <5> Rs32;
2067   let Inst{20-16} = Rs32{4-0};
2068   bits <7> Sd128;
2069   let Inst{6-0} = Sd128{6-0};
2070 }
2071 class Enc_90cd8b : OpcodeHexagon {
2072   bits <5> Rss32;
2073   let Inst{20-16} = Rss32{4-0};
2074   bits <5> Rd32;
2075   let Inst{4-0} = Rd32{4-0};
2076 }
2077 class Enc_91b9fe : OpcodeHexagon {
2078   bits <5> Ii;
2079   let Inst{6-3} = Ii{4-1};
2080   bits <1> Mu2;
2081   let Inst{13-13} = Mu2{0-0};
2082   bits <3> Nt8;
2083   let Inst{10-8} = Nt8{2-0};
2084   bits <5> Rx32;
2085   let Inst{20-16} = Rx32{4-0};
2086 }
2087 class Enc_927852 : OpcodeHexagon {
2088   bits <5> Rss32;
2089   let Inst{20-16} = Rss32{4-0};
2090   bits <5> Rt32;
2091   let Inst{12-8} = Rt32{4-0};
2092   bits <5> Rdd32;
2093   let Inst{4-0} = Rdd32{4-0};
2094 }
2095 class Enc_928ca1 : OpcodeHexagon {
2096   bits <1> Mu2;
2097   let Inst{13-13} = Mu2{0-0};
2098   bits <5> Rtt32;
2099   let Inst{12-8} = Rtt32{4-0};
2100   bits <5> Rx32;
2101   let Inst{20-16} = Rx32{4-0};
2102 }
2103 class Enc_935d9b : OpcodeHexagon {
2104   bits <5> Ii;
2105   let Inst{6-3} = Ii{4-1};
2106   bits <1> Mu2;
2107   let Inst{13-13} = Mu2{0-0};
2108   bits <5> Rt32;
2109   let Inst{12-8} = Rt32{4-0};
2110   bits <5> Rx32;
2111   let Inst{20-16} = Rx32{4-0};
2112 }
2113 class Enc_93af4c : OpcodeHexagon {
2114   bits <7> Ii;
2115   let Inst{10-4} = Ii{6-0};
2116   bits <4> Rx16;
2117   let Inst{3-0} = Rx16{3-0};
2118 }
2119 class Enc_95441f : OpcodeHexagon {
2120   bits <5> Vu32;
2121   let Inst{12-8} = Vu32{4-0};
2122   bits <5> Vv32;
2123   let Inst{20-16} = Vv32{4-0};
2124   bits <2> Qd4;
2125   let Inst{1-0} = Qd4{1-0};
2126 }
2127 class Enc_96ce4f : OpcodeHexagon {
2128   bits <4> Ii;
2129   let Inst{6-3} = Ii{3-0};
2130   bits <1> Mu2;
2131   let Inst{13-13} = Mu2{0-0};
2132   bits <3> Nt8;
2133   let Inst{10-8} = Nt8{2-0};
2134   bits <5> Rx32;
2135   let Inst{20-16} = Rx32{4-0};
2136 }
2137 class Enc_97d666 : OpcodeHexagon {
2138   bits <4> Rs16;
2139   let Inst{7-4} = Rs16{3-0};
2140   bits <4> Rd16;
2141   let Inst{3-0} = Rd16{3-0};
2142 }
2143 class Enc_989021 : OpcodeHexagon {
2144   bits <5> Rt32;
2145   let Inst{20-16} = Rt32{4-0};
2146   bits <5> Vy32;
2147   let Inst{12-8} = Vy32{4-0};
2148   bits <5> Vx32;
2149   let Inst{4-0} = Vx32{4-0};
2150 }
2151 class Enc_98c0b8 : OpcodeHexagon {
2152   bits <2> Ii;
2153   let Inst{13-13} = Ii{1-1};
2154   let Inst{7-7} = Ii{0-0};
2155   bits <2> Pv4;
2156   let Inst{6-5} = Pv4{1-0};
2157   bits <5> Rs32;
2158   let Inst{20-16} = Rs32{4-0};
2159   bits <5> Rt32;
2160   let Inst{12-8} = Rt32{4-0};
2161   bits <5> Rdd32;
2162   let Inst{4-0} = Rdd32{4-0};
2163 }
2164 class Enc_9a33d5 : OpcodeHexagon {
2165   bits <7> Ii;
2166   let Inst{6-3} = Ii{6-3};
2167   bits <2> Pv4;
2168   let Inst{1-0} = Pv4{1-0};
2169   bits <5> Rtt32;
2170   let Inst{12-8} = Rtt32{4-0};
2171   bits <5> Rx32;
2172   let Inst{20-16} = Rx32{4-0};
2173 }
2174 class Enc_9ac432 : OpcodeHexagon {
2175   bits <2> Ps4;
2176   let Inst{17-16} = Ps4{1-0};
2177   bits <2> Pt4;
2178   let Inst{9-8} = Pt4{1-0};
2179   bits <2> Pu4;
2180   let Inst{7-6} = Pu4{1-0};
2181   bits <2> Pd4;
2182   let Inst{1-0} = Pd4{1-0};
2183 }
2184 class Enc_9b0bc1 : OpcodeHexagon {
2185   bits <2> Pu4;
2186   let Inst{6-5} = Pu4{1-0};
2187   bits <5> Rt32;
2188   let Inst{12-8} = Rt32{4-0};
2189   bits <5> Rs32;
2190   let Inst{20-16} = Rs32{4-0};
2191   bits <5> Rd32;
2192   let Inst{4-0} = Rd32{4-0};
2193 }
2194 class Enc_9be1de : OpcodeHexagon {
2195   bits <2> Qs4;
2196   let Inst{6-5} = Qs4{1-0};
2197   bits <5> Rt32;
2198   let Inst{20-16} = Rt32{4-0};
2199   bits <1> Mu2;
2200   let Inst{13-13} = Mu2{0-0};
2201   bits <5> Vv32;
2202   let Inst{12-8} = Vv32{4-0};
2203   bits <5> Vw32;
2204   let Inst{4-0} = Vw32{4-0};
2205 }
2206 class Enc_9cdba7 : OpcodeHexagon {
2207   bits <8> Ii;
2208   let Inst{12-5} = Ii{7-0};
2209   bits <5> Rs32;
2210   let Inst{20-16} = Rs32{4-0};
2211   bits <5> Rdd32;
2212   let Inst{4-0} = Rdd32{4-0};
2213 }
2214 class Enc_9d1247 : OpcodeHexagon {
2215   bits <7> Ii;
2216   let Inst{8-5} = Ii{6-3};
2217   bits <2> Pt4;
2218   let Inst{10-9} = Pt4{1-0};
2219   bits <5> Rdd32;
2220   let Inst{4-0} = Rdd32{4-0};
2221   bits <5> Rx32;
2222   let Inst{20-16} = Rx32{4-0};
2223 }
2224 class Enc_9e2e1c : OpcodeHexagon {
2225   bits <5> Ii;
2226   let Inst{8-5} = Ii{4-1};
2227   bits <1> Mu2;
2228   let Inst{13-13} = Mu2{0-0};
2229   bits <5> Ryy32;
2230   let Inst{4-0} = Ryy32{4-0};
2231   bits <5> Rx32;
2232   let Inst{20-16} = Rx32{4-0};
2233 }
2234 class Enc_9e4c3f : OpcodeHexagon {
2235   bits <6> II;
2236   let Inst{13-8} = II{5-0};
2237   bits <11> Ii;
2238   let Inst{21-20} = Ii{10-9};
2239   let Inst{7-1} = Ii{8-2};
2240   bits <4> Rd16;
2241   let Inst{19-16} = Rd16{3-0};
2242 }
2243 class Enc_9ea4cf : OpcodeHexagon {
2244   bits <2> Ii;
2245   let Inst{13-13} = Ii{1-1};
2246   let Inst{6-6} = Ii{0-0};
2247   bits <6> II;
2248   let Inst{5-0} = II{5-0};
2249   bits <5> Ru32;
2250   let Inst{20-16} = Ru32{4-0};
2251   bits <5> Rt32;
2252   let Inst{12-8} = Rt32{4-0};
2253 }
2254 class Enc_9fae8a : OpcodeHexagon {
2255   bits <6> Ii;
2256   let Inst{13-8} = Ii{5-0};
2257   bits <5> Rs32;
2258   let Inst{20-16} = Rs32{4-0};
2259   bits <5> Rd32;
2260   let Inst{4-0} = Rd32{4-0};
2261 }
2262 class Enc_a05677 : OpcodeHexagon {
2263   bits <5> Ii;
2264   let Inst{12-8} = Ii{4-0};
2265   bits <5> Rs32;
2266   let Inst{20-16} = Rs32{4-0};
2267   bits <5> Rd32;
2268   let Inst{4-0} = Rd32{4-0};
2269 }
2270 class Enc_a1640c : OpcodeHexagon {
2271   bits <6> Ii;
2272   let Inst{13-8} = Ii{5-0};
2273   bits <5> Rss32;
2274   let Inst{20-16} = Rss32{4-0};
2275   bits <5> Rd32;
2276   let Inst{4-0} = Rd32{4-0};
2277 }
2278 class Enc_a198f6 : OpcodeHexagon {
2279   bits <7> Ii;
2280   let Inst{10-5} = Ii{6-1};
2281   bits <2> Pt4;
2282   let Inst{12-11} = Pt4{1-0};
2283   bits <5> Rs32;
2284   let Inst{20-16} = Rs32{4-0};
2285   bits <5> Rd32;
2286   let Inst{4-0} = Rd32{4-0};
2287 }
2288 class Enc_a1e29d : OpcodeHexagon {
2289   bits <5> Ii;
2290   let Inst{12-8} = Ii{4-0};
2291   bits <5> II;
2292   let Inst{22-21} = II{4-3};
2293   let Inst{7-5} = II{2-0};
2294   bits <5> Rs32;
2295   let Inst{20-16} = Rs32{4-0};
2296   bits <5> Rx32;
2297   let Inst{4-0} = Rx32{4-0};
2298 }
2299 class Enc_a21d47 : OpcodeHexagon {
2300   bits <6> Ii;
2301   let Inst{10-5} = Ii{5-0};
2302   bits <2> Pt4;
2303   let Inst{12-11} = Pt4{1-0};
2304   bits <5> Rs32;
2305   let Inst{20-16} = Rs32{4-0};
2306   bits <5> Rd32;
2307   let Inst{4-0} = Rd32{4-0};
2308 }
2309 class Enc_a255dc : OpcodeHexagon {
2310   bits <3> Ii;
2311   let Inst{10-8} = Ii{2-0};
2312   bits <5> Vd32;
2313   let Inst{4-0} = Vd32{4-0};
2314   bits <5> Rx32;
2315   let Inst{20-16} = Rx32{4-0};
2316 }
2317 class Enc_a27588 : OpcodeHexagon {
2318   bits <11> Ii;
2319   let Inst{26-25} = Ii{10-9};
2320   let Inst{13-5} = Ii{8-0};
2321   bits <5> Rs32;
2322   let Inst{20-16} = Rs32{4-0};
2323   bits <5> Ryy32;
2324   let Inst{4-0} = Ryy32{4-0};
2325 }
2326 class Enc_a30110 : OpcodeHexagon {
2327   bits <5> Vu32;
2328   let Inst{12-8} = Vu32{4-0};
2329   bits <5> Vv32;
2330   let Inst{23-19} = Vv32{4-0};
2331   bits <3> Rt8;
2332   let Inst{18-16} = Rt8{2-0};
2333   bits <5> Vd32;
2334   let Inst{4-0} = Vd32{4-0};
2335 }
2336 class Enc_a33d04 : OpcodeHexagon {
2337   bits <5> Vuu32;
2338   let Inst{12-8} = Vuu32{4-0};
2339   bits <5> Vd32;
2340   let Inst{4-0} = Vd32{4-0};
2341 }
2342 class Enc_a42857 : OpcodeHexagon {
2343   bits <11> Ii;
2344   let Inst{21-20} = Ii{10-9};
2345   let Inst{7-1} = Ii{8-2};
2346   bits <4> Rs16;
2347   let Inst{19-16} = Rs16{3-0};
2348   bits <5> n1;
2349   let Inst{28-28} = n1{4-4};
2350   let Inst{24-22} = n1{3-1};
2351   let Inst{8-8} = n1{0-0};
2352 }
2353 class Enc_a4ef14 : OpcodeHexagon {
2354   bits <5> Rd32;
2355   let Inst{4-0} = Rd32{4-0};
2356 }
2357 class Enc_a51a9a : OpcodeHexagon {
2358   bits <8> Ii;
2359   let Inst{12-8} = Ii{7-3};
2360   let Inst{4-2} = Ii{2-0};
2361 }
2362 class Enc_a56825 : OpcodeHexagon {
2363   bits <5> Rss32;
2364   let Inst{20-16} = Rss32{4-0};
2365   bits <5> Rtt32;
2366   let Inst{12-8} = Rtt32{4-0};
2367   bits <5> Rdd32;
2368   let Inst{4-0} = Rdd32{4-0};
2369 }
2370 class Enc_a568d4 : OpcodeHexagon {
2371   bits <5> Rt32;
2372   let Inst{12-8} = Rt32{4-0};
2373   bits <5> Rs32;
2374   let Inst{20-16} = Rs32{4-0};
2375   bits <5> Rx32;
2376   let Inst{4-0} = Rx32{4-0};
2377 }
2378 class Enc_a5ed8a : OpcodeHexagon {
2379   bits <5> Rt32;
2380   let Inst{20-16} = Rt32{4-0};
2381   bits <5> Vd32;
2382   let Inst{4-0} = Vd32{4-0};
2383 }
2384 class Enc_a641d0 : OpcodeHexagon {
2385   bits <5> Rt32;
2386   let Inst{20-16} = Rt32{4-0};
2387   bits <1> Mu2;
2388   let Inst{13-13} = Mu2{0-0};
2389   bits <5> Vvv32;
2390   let Inst{12-8} = Vvv32{4-0};
2391   bits <5> Vw32;
2392   let Inst{4-0} = Vw32{4-0};
2393 }
2394 class Enc_a6853f : OpcodeHexagon {
2395   bits <11> Ii;
2396   let Inst{21-20} = Ii{10-9};
2397   let Inst{7-1} = Ii{8-2};
2398   bits <3> Ns8;
2399   let Inst{18-16} = Ns8{2-0};
2400   bits <6> n1;
2401   let Inst{29-29} = n1{5-5};
2402   let Inst{26-25} = n1{4-3};
2403   let Inst{23-22} = n1{2-1};
2404   let Inst{13-13} = n1{0-0};
2405 }
2406 class Enc_a6ce9c : OpcodeHexagon {
2407   bits <6> Ii;
2408   let Inst{3-0} = Ii{5-2};
2409   bits <4> Rs16;
2410   let Inst{7-4} = Rs16{3-0};
2411 }
2412 class Enc_a705fc : OpcodeHexagon {
2413   bits <5> Rss32;
2414   let Inst{20-16} = Rss32{4-0};
2415   bits <7> Sdd128;
2416   let Inst{6-0} = Sdd128{6-0};
2417 }
2418 class Enc_a7341a : OpcodeHexagon {
2419   bits <5> Vu32;
2420   let Inst{12-8} = Vu32{4-0};
2421   bits <5> Vv32;
2422   let Inst{20-16} = Vv32{4-0};
2423   bits <5> Vx32;
2424   let Inst{4-0} = Vx32{4-0};
2425 }
2426 class Enc_a75aa6 : OpcodeHexagon {
2427   bits <5> Rs32;
2428   let Inst{20-16} = Rs32{4-0};
2429   bits <5> Rt32;
2430   let Inst{12-8} = Rt32{4-0};
2431   bits <1> Mu2;
2432   let Inst{13-13} = Mu2{0-0};
2433 }
2434 class Enc_a7b8e8 : OpcodeHexagon {
2435   bits <6> Ii;
2436   let Inst{22-21} = Ii{5-4};
2437   let Inst{13-13} = Ii{3-3};
2438   let Inst{7-5} = Ii{2-0};
2439   bits <5> Rs32;
2440   let Inst{20-16} = Rs32{4-0};
2441   bits <5> Rt32;
2442   let Inst{12-8} = Rt32{4-0};
2443   bits <5> Rd32;
2444   let Inst{4-0} = Rd32{4-0};
2445 }
2446 class Enc_a803e0 : OpcodeHexagon {
2447   bits <7> Ii;
2448   let Inst{12-7} = Ii{6-1};
2449   bits <8> II;
2450   let Inst{13-13} = II{7-7};
2451   let Inst{6-0} = II{6-0};
2452   bits <5> Rs32;
2453   let Inst{20-16} = Rs32{4-0};
2454 }
2455 class Enc_a90628 : OpcodeHexagon {
2456   bits <2> Qv4;
2457   let Inst{23-22} = Qv4{1-0};
2458   bits <5> Vu32;
2459   let Inst{12-8} = Vu32{4-0};
2460   bits <5> Vx32;
2461   let Inst{4-0} = Vx32{4-0};
2462 }
2463 class Enc_a94f3b : OpcodeHexagon {
2464   bits <5> Rs32;
2465   let Inst{20-16} = Rs32{4-0};
2466   bits <5> Rt32;
2467   let Inst{12-8} = Rt32{4-0};
2468   bits <5> Rd32;
2469   let Inst{4-0} = Rd32{4-0};
2470   bits <2> Pe4;
2471   let Inst{6-5} = Pe4{1-0};
2472 }
2473 class Enc_aad80c : OpcodeHexagon {
2474   bits <5> Vuu32;
2475   let Inst{12-8} = Vuu32{4-0};
2476   bits <5> Rt32;
2477   let Inst{20-16} = Rt32{4-0};
2478   bits <5> Vdd32;
2479   let Inst{4-0} = Vdd32{4-0};
2480 }
2481 class Enc_acd6ed : OpcodeHexagon {
2482   bits <9> Ii;
2483   let Inst{10-5} = Ii{8-3};
2484   bits <2> Pt4;
2485   let Inst{12-11} = Pt4{1-0};
2486   bits <5> Rs32;
2487   let Inst{20-16} = Rs32{4-0};
2488   bits <5> Rdd32;
2489   let Inst{4-0} = Rdd32{4-0};
2490 }
2491 class Enc_ad1831 : OpcodeHexagon {
2492   bits <16> Ii;
2493   let Inst{26-25} = Ii{15-14};
2494   let Inst{20-16} = Ii{13-9};
2495   let Inst{13-13} = Ii{8-8};
2496   let Inst{7-0} = Ii{7-0};
2497   bits <3> Nt8;
2498   let Inst{10-8} = Nt8{2-0};
2499 }
2500 class Enc_ad1c74 : OpcodeHexagon {
2501   bits <11> Ii;
2502   let Inst{21-20} = Ii{10-9};
2503   let Inst{7-1} = Ii{8-2};
2504   bits <4> Rs16;
2505   let Inst{19-16} = Rs16{3-0};
2506 }
2507 class Enc_ad9bef : OpcodeHexagon {
2508   bits <5> Vu32;
2509   let Inst{12-8} = Vu32{4-0};
2510   bits <5> Rtt32;
2511   let Inst{20-16} = Rtt32{4-0};
2512   bits <5> Vxx32;
2513   let Inst{4-0} = Vxx32{4-0};
2514 }
2515 class Enc_adf111 : OpcodeHexagon {
2516   bits <5> Vu32;
2517   let Inst{12-8} = Vu32{4-0};
2518   bits <5> Rt32;
2519   let Inst{20-16} = Rt32{4-0};
2520   bits <2> Qx4;
2521   let Inst{1-0} = Qx4{1-0};
2522 }
2523 class Enc_b00112 : OpcodeHexagon {
2524   bits <5> Rss32;
2525   let Inst{20-16} = Rss32{4-0};
2526   bits <5> Rtt32;
2527   let Inst{12-8} = Rtt32{4-0};
2528 }
2529 class Enc_b025d6 : OpcodeHexagon {
2530   bits <3> Ii;
2531   let Inst{10-8} = Ii{2-0};
2532   bits <5> Vss32;
2533   let Inst{4-0} = Vss32{4-0};
2534   bits <5> Rx32;
2535   let Inst{20-16} = Rx32{4-0};
2536 }
2537 class Enc_b05839 : OpcodeHexagon {
2538   bits <7> Ii;
2539   let Inst{8-5} = Ii{6-3};
2540   bits <1> Mu2;
2541   let Inst{13-13} = Mu2{0-0};
2542   bits <5> Rdd32;
2543   let Inst{4-0} = Rdd32{4-0};
2544   bits <5> Rx32;
2545   let Inst{20-16} = Rx32{4-0};
2546 }
2547 class Enc_b087ac : OpcodeHexagon {
2548   bits <5> Vu32;
2549   let Inst{12-8} = Vu32{4-0};
2550   bits <5> Rt32;
2551   let Inst{20-16} = Rt32{4-0};
2552   bits <5> Vd32;
2553   let Inst{4-0} = Vd32{4-0};
2554 }
2555 class Enc_b0e9d8 : OpcodeHexagon {
2556   bits <10> Ii;
2557   let Inst{21-21} = Ii{9-9};
2558   let Inst{13-5} = Ii{8-0};
2559   bits <5> Rs32;
2560   let Inst{20-16} = Rs32{4-0};
2561   bits <5> Rx32;
2562   let Inst{4-0} = Rx32{4-0};
2563 }
2564 class Enc_b15941 : OpcodeHexagon {
2565   bits <4> Ii;
2566   let Inst{6-3} = Ii{3-0};
2567   bits <1> Mu2;
2568   let Inst{13-13} = Mu2{0-0};
2569   bits <5> Rt32;
2570   let Inst{12-8} = Rt32{4-0};
2571   bits <5> Rx32;
2572   let Inst{20-16} = Rx32{4-0};
2573 }
2574 class Enc_b1e1fb : OpcodeHexagon {
2575   bits <11> Ii;
2576   let Inst{21-20} = Ii{10-9};
2577   let Inst{7-1} = Ii{8-2};
2578   bits <4> Rs16;
2579   let Inst{19-16} = Rs16{3-0};
2580   bits <5> n1;
2581   let Inst{28-28} = n1{4-4};
2582   let Inst{25-23} = n1{3-1};
2583   let Inst{8-8} = n1{0-0};
2584 }
2585 class Enc_b388cf : OpcodeHexagon {
2586   bits <5> Ii;
2587   let Inst{12-8} = Ii{4-0};
2588   bits <5> II;
2589   let Inst{22-21} = II{4-3};
2590   let Inst{7-5} = II{2-0};
2591   bits <5> Rs32;
2592   let Inst{20-16} = Rs32{4-0};
2593   bits <5> Rd32;
2594   let Inst{4-0} = Rd32{4-0};
2595 }
2596 class Enc_b38ffc : OpcodeHexagon {
2597   bits <4> Ii;
2598   let Inst{11-8} = Ii{3-0};
2599   bits <4> Rs16;
2600   let Inst{7-4} = Rs16{3-0};
2601   bits <4> Rt16;
2602   let Inst{3-0} = Rt16{3-0};
2603 }
2604 class Enc_b43b67 : OpcodeHexagon {
2605   bits <5> Vu32;
2606   let Inst{12-8} = Vu32{4-0};
2607   bits <5> Vv32;
2608   let Inst{20-16} = Vv32{4-0};
2609   bits <5> Vd32;
2610   let Inst{4-0} = Vd32{4-0};
2611   bits <2> Qx4;
2612   let Inst{6-5} = Qx4{1-0};
2613 }
2614 class Enc_b4e6cf : OpcodeHexagon {
2615   bits <10> Ii;
2616   let Inst{21-21} = Ii{9-9};
2617   let Inst{13-5} = Ii{8-0};
2618   bits <5> Ru32;
2619   let Inst{4-0} = Ru32{4-0};
2620   bits <5> Rx32;
2621   let Inst{20-16} = Rx32{4-0};
2622 }
2623 class Enc_b62ef7 : OpcodeHexagon {
2624   bits <3> Ii;
2625   let Inst{10-8} = Ii{2-0};
2626   bits <5> Vs32;
2627   let Inst{4-0} = Vs32{4-0};
2628   bits <5> Rx32;
2629   let Inst{20-16} = Rx32{4-0};
2630 }
2631 class Enc_b72622 : OpcodeHexagon {
2632   bits <2> Ii;
2633   let Inst{13-13} = Ii{1-1};
2634   let Inst{5-5} = Ii{0-0};
2635   bits <5> Rss32;
2636   let Inst{20-16} = Rss32{4-0};
2637   bits <5> Rt32;
2638   let Inst{12-8} = Rt32{4-0};
2639   bits <5> Rxx32;
2640   let Inst{4-0} = Rxx32{4-0};
2641 }
2642 class Enc_b78edd : OpcodeHexagon {
2643   bits <11> Ii;
2644   let Inst{21-20} = Ii{10-9};
2645   let Inst{7-1} = Ii{8-2};
2646   bits <4> Rs16;
2647   let Inst{19-16} = Rs16{3-0};
2648   bits <4> n1;
2649   let Inst{28-28} = n1{3-3};
2650   let Inst{24-23} = n1{2-1};
2651   let Inst{8-8} = n1{0-0};
2652 }
2653 class Enc_b7fad3 : OpcodeHexagon {
2654   bits <2> Pv4;
2655   let Inst{9-8} = Pv4{1-0};
2656   bits <5> Rs32;
2657   let Inst{20-16} = Rs32{4-0};
2658   bits <5> Rdd32;
2659   let Inst{4-0} = Rdd32{4-0};
2660 }
2661 class Enc_b8309d : OpcodeHexagon {
2662   bits <9> Ii;
2663   let Inst{8-3} = Ii{8-3};
2664   bits <3> Rtt8;
2665   let Inst{2-0} = Rtt8{2-0};
2666 }
2667 class Enc_b84c4c : OpcodeHexagon {
2668   bits <6> Ii;
2669   let Inst{13-8} = Ii{5-0};
2670   bits <6> II;
2671   let Inst{23-21} = II{5-3};
2672   let Inst{7-5} = II{2-0};
2673   bits <5> Rss32;
2674   let Inst{20-16} = Rss32{4-0};
2675   bits <5> Rdd32;
2676   let Inst{4-0} = Rdd32{4-0};
2677 }
2678 class Enc_b886fd : OpcodeHexagon {
2679   bits <5> Ii;
2680   let Inst{6-3} = Ii{4-1};
2681   bits <2> Pv4;
2682   let Inst{1-0} = Pv4{1-0};
2683   bits <5> Rt32;
2684   let Inst{12-8} = Rt32{4-0};
2685   bits <5> Rx32;
2686   let Inst{20-16} = Rx32{4-0};
2687 }
2688 class Enc_b8c967 : OpcodeHexagon {
2689   bits <8> Ii;
2690   let Inst{12-5} = Ii{7-0};
2691   bits <5> Rs32;
2692   let Inst{20-16} = Rs32{4-0};
2693   bits <5> Rd32;
2694   let Inst{4-0} = Rd32{4-0};
2695 }
2696 class Enc_b909d2 : OpcodeHexagon {
2697   bits <11> Ii;
2698   let Inst{21-20} = Ii{10-9};
2699   let Inst{7-1} = Ii{8-2};
2700   bits <4> Rs16;
2701   let Inst{19-16} = Rs16{3-0};
2702   bits <7> n1;
2703   let Inst{28-28} = n1{6-6};
2704   let Inst{25-22} = n1{5-2};
2705   let Inst{13-13} = n1{1-1};
2706   let Inst{8-8} = n1{0-0};
2707 }
2708 class Enc_b91167 : OpcodeHexagon {
2709   bits <2> Ii;
2710   let Inst{6-5} = Ii{1-0};
2711   bits <5> Vuu32;
2712   let Inst{12-8} = Vuu32{4-0};
2713   bits <5> Vvv32;
2714   let Inst{20-16} = Vvv32{4-0};
2715   bits <5> Vdd32;
2716   let Inst{4-0} = Vdd32{4-0};
2717 }
2718 class Enc_b97f71 : OpcodeHexagon {
2719   bits <6> Ii;
2720   let Inst{8-5} = Ii{5-2};
2721   bits <2> Pt4;
2722   let Inst{10-9} = Pt4{1-0};
2723   bits <5> Rd32;
2724   let Inst{4-0} = Rd32{4-0};
2725   bits <5> Rx32;
2726   let Inst{20-16} = Rx32{4-0};
2727 }
2728 class Enc_b98b95 : OpcodeHexagon {
2729   bits <4> Ii;
2730   let Inst{13-13} = Ii{3-3};
2731   let Inst{10-8} = Ii{2-0};
2732   bits <5> Rt32;
2733   let Inst{20-16} = Rt32{4-0};
2734   bits <5> Vss32;
2735   let Inst{4-0} = Vss32{4-0};
2736 }
2737 class Enc_b9c5fb : OpcodeHexagon {
2738   bits <5> Rss32;
2739   let Inst{20-16} = Rss32{4-0};
2740   bits <5> Rdd32;
2741   let Inst{4-0} = Rdd32{4-0};
2742 }
2743 class Enc_bc03e5 : OpcodeHexagon {
2744   bits <17> Ii;
2745   let Inst{26-25} = Ii{16-15};
2746   let Inst{20-16} = Ii{14-10};
2747   let Inst{13-13} = Ii{9-9};
2748   let Inst{7-0} = Ii{8-1};
2749   bits <3> Nt8;
2750   let Inst{10-8} = Nt8{2-0};
2751 }
2752 class Enc_bd0b33 : OpcodeHexagon {
2753   bits <10> Ii;
2754   let Inst{21-21} = Ii{9-9};
2755   let Inst{13-5} = Ii{8-0};
2756   bits <5> Rs32;
2757   let Inst{20-16} = Rs32{4-0};
2758   bits <2> Pd4;
2759   let Inst{1-0} = Pd4{1-0};
2760 }
2761 class Enc_bd1cbc : OpcodeHexagon {
2762   bits <5> Ii;
2763   let Inst{8-5} = Ii{4-1};
2764   bits <5> Ryy32;
2765   let Inst{4-0} = Ryy32{4-0};
2766   bits <5> Rx32;
2767   let Inst{20-16} = Rx32{4-0};
2768 }
2769 class Enc_bd6011 : OpcodeHexagon {
2770   bits <5> Rt32;
2771   let Inst{12-8} = Rt32{4-0};
2772   bits <5> Rs32;
2773   let Inst{20-16} = Rs32{4-0};
2774   bits <5> Rd32;
2775   let Inst{4-0} = Rd32{4-0};
2776 }
2777 class Enc_bd811a : OpcodeHexagon {
2778   bits <5> Rs32;
2779   let Inst{20-16} = Rs32{4-0};
2780   bits <5> Cd32;
2781   let Inst{4-0} = Cd32{4-0};
2782 }
2783 class Enc_bddee3 : OpcodeHexagon {
2784   bits <5> Vu32;
2785   let Inst{12-8} = Vu32{4-0};
2786   bits <5> Vyyyy32;
2787   let Inst{4-0} = Vyyyy32{4-0};
2788   bits <3> Rx8;
2789   let Inst{18-16} = Rx8{2-0};
2790 }
2791 class Enc_be32a5 : OpcodeHexagon {
2792   bits <5> Rs32;
2793   let Inst{20-16} = Rs32{4-0};
2794   bits <5> Rt32;
2795   let Inst{12-8} = Rt32{4-0};
2796   bits <5> Rdd32;
2797   let Inst{4-0} = Rdd32{4-0};
2798 }
2799 class Enc_bea5da : OpcodeHexagon {
2800   bits <10> Ii;
2801   let Inst{17-16} = Ii{9-8};
2802   let Inst{12-8} = Ii{7-3};
2803   let Inst{4-2} = Ii{2-0};
2804 }
2805 class Enc_bfbf03 : OpcodeHexagon {
2806   bits <2> Qs4;
2807   let Inst{9-8} = Qs4{1-0};
2808   bits <2> Qd4;
2809   let Inst{1-0} = Qd4{1-0};
2810 }
2811 class Enc_c0cdde : OpcodeHexagon {
2812   bits <9> Ii;
2813   let Inst{13-5} = Ii{8-0};
2814   bits <5> Rs32;
2815   let Inst{20-16} = Rs32{4-0};
2816   bits <2> Pd4;
2817   let Inst{1-0} = Pd4{1-0};
2818 }
2819 class Enc_c175d0 : OpcodeHexagon {
2820   bits <4> Ii;
2821   let Inst{11-8} = Ii{3-0};
2822   bits <4> Rs16;
2823   let Inst{7-4} = Rs16{3-0};
2824   bits <4> Rd16;
2825   let Inst{3-0} = Rd16{3-0};
2826 }
2827 class Enc_c1d806 : OpcodeHexagon {
2828   bits <5> Vu32;
2829   let Inst{12-8} = Vu32{4-0};
2830   bits <5> Vv32;
2831   let Inst{20-16} = Vv32{4-0};
2832   bits <5> Vd32;
2833   let Inst{4-0} = Vd32{4-0};
2834   bits <2> Qe4;
2835   let Inst{6-5} = Qe4{1-0};
2836 }
2837 class Enc_c2b48e : OpcodeHexagon {
2838   bits <5> Rs32;
2839   let Inst{20-16} = Rs32{4-0};
2840   bits <5> Rt32;
2841   let Inst{12-8} = Rt32{4-0};
2842   bits <2> Pd4;
2843   let Inst{1-0} = Pd4{1-0};
2844 }
2845 class Enc_c31910 : OpcodeHexagon {
2846   bits <8> Ii;
2847   let Inst{23-21} = Ii{7-5};
2848   let Inst{13-13} = Ii{4-4};
2849   let Inst{7-5} = Ii{3-1};
2850   let Inst{3-3} = Ii{0-0};
2851   bits <5> II;
2852   let Inst{12-8} = II{4-0};
2853   bits <5> Rx32;
2854   let Inst{20-16} = Rx32{4-0};
2855 }
2856 class Enc_c4dc92 : OpcodeHexagon {
2857   bits <2> Qv4;
2858   let Inst{23-22} = Qv4{1-0};
2859   bits <5> Vu32;
2860   let Inst{12-8} = Vu32{4-0};
2861   bits <5> Vd32;
2862   let Inst{4-0} = Vd32{4-0};
2863 }
2864 class Enc_c6220b : OpcodeHexagon {
2865   bits <2> Ii;
2866   let Inst{13-13} = Ii{1-1};
2867   let Inst{7-7} = Ii{0-0};
2868   bits <5> Rs32;
2869   let Inst{20-16} = Rs32{4-0};
2870   bits <5> Ru32;
2871   let Inst{12-8} = Ru32{4-0};
2872   bits <3> Nt8;
2873   let Inst{2-0} = Nt8{2-0};
2874 }
2875 class Enc_c7a204 : OpcodeHexagon {
2876   bits <6> II;
2877   let Inst{5-0} = II{5-0};
2878   bits <5> Rtt32;
2879   let Inst{12-8} = Rtt32{4-0};
2880   bits <5> Re32;
2881   let Inst{20-16} = Re32{4-0};
2882 }
2883 class Enc_c7cd90 : OpcodeHexagon {
2884   bits <4> Ii;
2885   let Inst{6-3} = Ii{3-0};
2886   bits <3> Nt8;
2887   let Inst{10-8} = Nt8{2-0};
2888   bits <5> Rx32;
2889   let Inst{20-16} = Rx32{4-0};
2890 }
2891 class Enc_c85e2a : OpcodeHexagon {
2892   bits <5> Ii;
2893   let Inst{12-8} = Ii{4-0};
2894   bits <5> II;
2895   let Inst{22-21} = II{4-3};
2896   let Inst{7-5} = II{2-0};
2897   bits <5> Rd32;
2898   let Inst{4-0} = Rd32{4-0};
2899 }
2900 class Enc_c89067 : OpcodeHexagon {
2901   bits <5> Rtt32;
2902   let Inst{20-16} = Rtt32{4-0};
2903   bits <5> Rdd32;
2904   let Inst{4-0} = Rdd32{4-0};
2905   bits <5> Rx32;
2906   let Inst{12-8} = Rx32{4-0};
2907 }
2908 class Enc_c90aca : OpcodeHexagon {
2909   bits <8> Ii;
2910   let Inst{12-5} = Ii{7-0};
2911   bits <5> Rs32;
2912   let Inst{20-16} = Rs32{4-0};
2913   bits <5> Rx32;
2914   let Inst{4-0} = Rx32{4-0};
2915 }
2916 class Enc_c9a18e : OpcodeHexagon {
2917   bits <11> Ii;
2918   let Inst{21-20} = Ii{10-9};
2919   let Inst{7-1} = Ii{8-2};
2920   bits <3> Ns8;
2921   let Inst{18-16} = Ns8{2-0};
2922   bits <5> Rt32;
2923   let Inst{12-8} = Rt32{4-0};
2924 }
2925 class Enc_c9e3bc : OpcodeHexagon {
2926   bits <4> Ii;
2927   let Inst{13-13} = Ii{3-3};
2928   let Inst{10-8} = Ii{2-0};
2929   bits <5> Rt32;
2930   let Inst{20-16} = Rt32{4-0};
2931   bits <5> Vs32;
2932   let Inst{4-0} = Vs32{4-0};
2933 }
2934 class Enc_ca3887 : OpcodeHexagon {
2935   bits <5> Rs32;
2936   let Inst{20-16} = Rs32{4-0};
2937   bits <5> Rt32;
2938   let Inst{12-8} = Rt32{4-0};
2939 }
2940 class Enc_cb4b4e : OpcodeHexagon {
2941   bits <2> Pu4;
2942   let Inst{6-5} = Pu4{1-0};
2943   bits <5> Rs32;
2944   let Inst{20-16} = Rs32{4-0};
2945   bits <5> Rt32;
2946   let Inst{12-8} = Rt32{4-0};
2947   bits <5> Rdd32;
2948   let Inst{4-0} = Rdd32{4-0};
2949 }
2950 class Enc_cb785b : OpcodeHexagon {
2951   bits <5> Vu32;
2952   let Inst{12-8} = Vu32{4-0};
2953   bits <5> Rtt32;
2954   let Inst{20-16} = Rtt32{4-0};
2955   bits <5> Vdd32;
2956   let Inst{4-0} = Vdd32{4-0};
2957 }
2958 class Enc_cb9321 : OpcodeHexagon {
2959   bits <16> Ii;
2960   let Inst{27-21} = Ii{15-9};
2961   let Inst{13-5} = Ii{8-0};
2962   bits <5> Rs32;
2963   let Inst{20-16} = Rs32{4-0};
2964   bits <5> Rd32;
2965   let Inst{4-0} = Rd32{4-0};
2966 }
2967 class Enc_cc449f : OpcodeHexagon {
2968   bits <4> Ii;
2969   let Inst{6-3} = Ii{3-0};
2970   bits <2> Pv4;
2971   let Inst{1-0} = Pv4{1-0};
2972   bits <5> Rt32;
2973   let Inst{12-8} = Rt32{4-0};
2974   bits <5> Rx32;
2975   let Inst{20-16} = Rx32{4-0};
2976 }
2977 class Enc_cc857d : OpcodeHexagon {
2978   bits <5> Vuu32;
2979   let Inst{12-8} = Vuu32{4-0};
2980   bits <5> Rt32;
2981   let Inst{20-16} = Rt32{4-0};
2982   bits <5> Vx32;
2983   let Inst{4-0} = Vx32{4-0};
2984 }
2985 class Enc_cd4705 : OpcodeHexagon {
2986   bits <3> Ii;
2987   let Inst{7-5} = Ii{2-0};
2988   bits <5> Vu32;
2989   let Inst{12-8} = Vu32{4-0};
2990   bits <5> Vv32;
2991   let Inst{20-16} = Vv32{4-0};
2992   bits <5> Vx32;
2993   let Inst{4-0} = Vx32{4-0};
2994 }
2995 class Enc_cd82bc : OpcodeHexagon {
2996   bits <4> Ii;
2997   let Inst{21-21} = Ii{3-3};
2998   let Inst{7-5} = Ii{2-0};
2999   bits <6> II;
3000   let Inst{13-8} = II{5-0};
3001   bits <5> Rs32;
3002   let Inst{20-16} = Rs32{4-0};
3003   bits <5> Rx32;
3004   let Inst{4-0} = Rx32{4-0};
3005 }
3006 class Enc_cda00a : OpcodeHexagon {
3007   bits <12> Ii;
3008   let Inst{19-16} = Ii{11-8};
3009   let Inst{12-5} = Ii{7-0};
3010   bits <2> Pu4;
3011   let Inst{22-21} = Pu4{1-0};
3012   bits <5> Rd32;
3013   let Inst{4-0} = Rd32{4-0};
3014 }
3015 class Enc_ce6828 : OpcodeHexagon {
3016   bits <14> Ii;
3017   let Inst{26-25} = Ii{13-12};
3018   let Inst{13-13} = Ii{11-11};
3019   let Inst{7-0} = Ii{10-3};
3020   bits <5> Rs32;
3021   let Inst{20-16} = Rs32{4-0};
3022   bits <5> Rtt32;
3023   let Inst{12-8} = Rtt32{4-0};
3024 }
3025 class Enc_cf1927 : OpcodeHexagon {
3026   bits <1> Mu2;
3027   let Inst{13-13} = Mu2{0-0};
3028   bits <3> Os8;
3029   let Inst{2-0} = Os8{2-0};
3030   bits <5> Rx32;
3031   let Inst{20-16} = Rx32{4-0};
3032 }
3033 class Enc_d0fe02 : OpcodeHexagon {
3034   bits <5> Rxx32;
3035   let Inst{20-16} = Rxx32{4-0};
3036   bits <0> sgp10;
3037 }
3038 class Enc_d15d19 : OpcodeHexagon {
3039   bits <1> Mu2;
3040   let Inst{13-13} = Mu2{0-0};
3041   bits <5> Vs32;
3042   let Inst{4-0} = Vs32{4-0};
3043   bits <5> Rx32;
3044   let Inst{20-16} = Rx32{4-0};
3045 }
3046 class Enc_d2216a : OpcodeHexagon {
3047   bits <5> Rss32;
3048   let Inst{20-16} = Rss32{4-0};
3049   bits <5> Rtt32;
3050   let Inst{12-8} = Rtt32{4-0};
3051   bits <5> Rd32;
3052   let Inst{4-0} = Rd32{4-0};
3053 }
3054 class Enc_d2c7f1 : OpcodeHexagon {
3055   bits <5> Rtt32;
3056   let Inst{12-8} = Rtt32{4-0};
3057   bits <5> Rss32;
3058   let Inst{20-16} = Rss32{4-0};
3059   bits <5> Rdd32;
3060   let Inst{4-0} = Rdd32{4-0};
3061   bits <2> Pe4;
3062   let Inst{6-5} = Pe4{1-0};
3063 }
3064 class Enc_d44e31 : OpcodeHexagon {
3065   bits <6> Ii;
3066   let Inst{12-7} = Ii{5-0};
3067   bits <5> Rs32;
3068   let Inst{20-16} = Rs32{4-0};
3069   bits <5> Rt32;
3070   let Inst{4-0} = Rt32{4-0};
3071 }
3072 class Enc_d483b9 : OpcodeHexagon {
3073   bits <1> Ii;
3074   let Inst{5-5} = Ii{0-0};
3075   bits <5> Vuu32;
3076   let Inst{12-8} = Vuu32{4-0};
3077   bits <5> Rt32;
3078   let Inst{20-16} = Rt32{4-0};
3079   bits <5> Vxx32;
3080   let Inst{4-0} = Vxx32{4-0};
3081 }
3082 class Enc_d50cd3 : OpcodeHexagon {
3083   bits <3> Ii;
3084   let Inst{7-5} = Ii{2-0};
3085   bits <5> Rss32;
3086   let Inst{20-16} = Rss32{4-0};
3087   bits <5> Rtt32;
3088   let Inst{12-8} = Rtt32{4-0};
3089   bits <5> Rdd32;
3090   let Inst{4-0} = Rdd32{4-0};
3091 }
3092 class Enc_d5c73f : OpcodeHexagon {
3093   bits <1> Mu2;
3094   let Inst{13-13} = Mu2{0-0};
3095   bits <5> Rt32;
3096   let Inst{12-8} = Rt32{4-0};
3097   bits <5> Rx32;
3098   let Inst{20-16} = Rx32{4-0};
3099 }
3100 class Enc_d6990d : OpcodeHexagon {
3101   bits <5> Vuu32;
3102   let Inst{12-8} = Vuu32{4-0};
3103   bits <5> Rt32;
3104   let Inst{20-16} = Rt32{4-0};
3105   bits <5> Vxx32;
3106   let Inst{4-0} = Vxx32{4-0};
3107 }
3108 class Enc_d7a65e : OpcodeHexagon {
3109   bits <6> Ii;
3110   let Inst{12-7} = Ii{5-0};
3111   bits <6> II;
3112   let Inst{13-13} = II{5-5};
3113   let Inst{4-0} = II{4-0};
3114   bits <2> Pv4;
3115   let Inst{6-5} = Pv4{1-0};
3116   bits <5> Rs32;
3117   let Inst{20-16} = Rs32{4-0};
3118 }
3119 class Enc_d7bc34 : OpcodeHexagon {
3120   bits <5> Vu32;
3121   let Inst{12-8} = Vu32{4-0};
3122   bits <3> Rt8;
3123   let Inst{18-16} = Rt8{2-0};
3124   bits <5> Vyyyy32;
3125   let Inst{4-0} = Vyyyy32{4-0};
3126 }
3127 class Enc_d7dc10 : OpcodeHexagon {
3128   bits <5> Rs32;
3129   let Inst{20-16} = Rs32{4-0};
3130   bits <5> Rtt32;
3131   let Inst{12-8} = Rtt32{4-0};
3132   bits <2> Pd4;
3133   let Inst{1-0} = Pd4{1-0};
3134 }
3135 class Enc_da664b : OpcodeHexagon {
3136   bits <2> Ii;
3137   let Inst{13-13} = Ii{1-1};
3138   let Inst{7-7} = Ii{0-0};
3139   bits <5> Rs32;
3140   let Inst{20-16} = Rs32{4-0};
3141   bits <5> Rt32;
3142   let Inst{12-8} = Rt32{4-0};
3143   bits <5> Rd32;
3144   let Inst{4-0} = Rd32{4-0};
3145 }
3146 class Enc_da8d43 : OpcodeHexagon {
3147   bits <6> Ii;
3148   let Inst{13-13} = Ii{5-5};
3149   let Inst{7-3} = Ii{4-0};
3150   bits <2> Pv4;
3151   let Inst{1-0} = Pv4{1-0};
3152   bits <5> Rs32;
3153   let Inst{20-16} = Rs32{4-0};
3154   bits <5> Rt32;
3155   let Inst{12-8} = Rt32{4-0};
3156 }
3157 class Enc_daea09 : OpcodeHexagon {
3158   bits <17> Ii;
3159   let Inst{23-22} = Ii{16-15};
3160   let Inst{20-16} = Ii{14-10};
3161   let Inst{13-13} = Ii{9-9};
3162   let Inst{7-1} = Ii{8-2};
3163   bits <2> Pu4;
3164   let Inst{9-8} = Pu4{1-0};
3165 }
3166 class Enc_db40cd : OpcodeHexagon {
3167   bits <6> Ii;
3168   let Inst{6-3} = Ii{5-2};
3169   bits <5> Rt32;
3170   let Inst{12-8} = Rt32{4-0};
3171   bits <5> Rx32;
3172   let Inst{20-16} = Rx32{4-0};
3173 }
3174 class Enc_dbd70c : OpcodeHexagon {
3175   bits <5> Rss32;
3176   let Inst{20-16} = Rss32{4-0};
3177   bits <5> Rtt32;
3178   let Inst{12-8} = Rtt32{4-0};
3179   bits <2> Pu4;
3180   let Inst{6-5} = Pu4{1-0};
3181   bits <5> Rdd32;
3182   let Inst{4-0} = Rdd32{4-0};
3183 }
3184 class Enc_dd766a : OpcodeHexagon {
3185   bits <5> Vu32;
3186   let Inst{12-8} = Vu32{4-0};
3187   bits <5> Vdd32;
3188   let Inst{4-0} = Vdd32{4-0};
3189 }
3190 class Enc_de0214 : OpcodeHexagon {
3191   bits <12> Ii;
3192   let Inst{26-25} = Ii{11-10};
3193   let Inst{13-5} = Ii{9-1};
3194   bits <5> Rs32;
3195   let Inst{20-16} = Rs32{4-0};
3196   bits <5> Rd32;
3197   let Inst{4-0} = Rd32{4-0};
3198 }
3199 class Enc_de5ea0 : OpcodeHexagon {
3200   bits <5> Vuu32;
3201   let Inst{12-8} = Vuu32{4-0};
3202   bits <5> Vv32;
3203   let Inst{20-16} = Vv32{4-0};
3204   bits <5> Vd32;
3205   let Inst{4-0} = Vd32{4-0};
3206 }
3207 class Enc_e07374 : OpcodeHexagon {
3208   bits <5> Rs32;
3209   let Inst{20-16} = Rs32{4-0};
3210   bits <5> Rtt32;
3211   let Inst{12-8} = Rtt32{4-0};
3212   bits <5> Rd32;
3213   let Inst{4-0} = Rd32{4-0};
3214 }
3215 class Enc_e0820b : OpcodeHexagon {
3216   bits <5> Vu32;
3217   let Inst{12-8} = Vu32{4-0};
3218   bits <5> Vv32;
3219   let Inst{20-16} = Vv32{4-0};
3220   bits <2> Qs4;
3221   let Inst{6-5} = Qs4{1-0};
3222   bits <5> Vd32;
3223   let Inst{4-0} = Vd32{4-0};
3224 }
3225 class Enc_e0a47a : OpcodeHexagon {
3226   bits <4> Ii;
3227   let Inst{8-5} = Ii{3-0};
3228   bits <1> Mu2;
3229   let Inst{13-13} = Mu2{0-0};
3230   bits <5> Rd32;
3231   let Inst{4-0} = Rd32{4-0};
3232   bits <5> Rx32;
3233   let Inst{20-16} = Rx32{4-0};
3234 }
3235 class Enc_e26546 : OpcodeHexagon {
3236   bits <5> Ii;
3237   let Inst{6-3} = Ii{4-1};
3238   bits <3> Nt8;
3239   let Inst{10-8} = Nt8{2-0};
3240   bits <5> Rx32;
3241   let Inst{20-16} = Rx32{4-0};
3242 }
3243 class Enc_e32517 : OpcodeHexagon {
3244   bits <7> Sss128;
3245   let Inst{22-16} = Sss128{6-0};
3246   bits <5> Rdd32;
3247   let Inst{4-0} = Rdd32{4-0};
3248 }
3249 class Enc_e38e1f : OpcodeHexagon {
3250   bits <8> Ii;
3251   let Inst{12-5} = Ii{7-0};
3252   bits <2> Pu4;
3253   let Inst{22-21} = Pu4{1-0};
3254   bits <5> Rs32;
3255   let Inst{20-16} = Rs32{4-0};
3256   bits <5> Rd32;
3257   let Inst{4-0} = Rd32{4-0};
3258 }
3259 class Enc_e39bb2 : OpcodeHexagon {
3260   bits <6> Ii;
3261   let Inst{9-4} = Ii{5-0};
3262   bits <4> Rd16;
3263   let Inst{3-0} = Rd16{3-0};
3264 }
3265 class Enc_e3b0c4 : OpcodeHexagon {
3266
3267 }
3268 class Enc_e66a97 : OpcodeHexagon {
3269   bits <7> Ii;
3270   let Inst{12-7} = Ii{6-1};
3271   bits <5> II;
3272   let Inst{4-0} = II{4-0};
3273   bits <5> Rs32;
3274   let Inst{20-16} = Rs32{4-0};
3275 }
3276 class Enc_e6abcf : OpcodeHexagon {
3277   bits <5> Rs32;
3278   let Inst{20-16} = Rs32{4-0};
3279   bits <5> Rtt32;
3280   let Inst{12-8} = Rtt32{4-0};
3281 }
3282 class Enc_e6c957 : OpcodeHexagon {
3283   bits <10> Ii;
3284   let Inst{21-21} = Ii{9-9};
3285   let Inst{13-5} = Ii{8-0};
3286   bits <5> Rdd32;
3287   let Inst{4-0} = Rdd32{4-0};
3288 }
3289 class Enc_e7581c : OpcodeHexagon {
3290   bits <5> Vu32;
3291   let Inst{12-8} = Vu32{4-0};
3292   bits <5> Vd32;
3293   let Inst{4-0} = Vd32{4-0};
3294 }
3295 class Enc_e83554 : OpcodeHexagon {
3296   bits <5> Ii;
3297   let Inst{8-5} = Ii{4-1};
3298   bits <1> Mu2;
3299   let Inst{13-13} = Mu2{0-0};
3300   bits <5> Rd32;
3301   let Inst{4-0} = Rd32{4-0};
3302   bits <5> Rx32;
3303   let Inst{20-16} = Rx32{4-0};
3304 }
3305 class Enc_e8c45e : OpcodeHexagon {
3306   bits <7> Ii;
3307   let Inst{13-13} = Ii{6-6};
3308   let Inst{7-3} = Ii{5-1};
3309   bits <2> Pv4;
3310   let Inst{1-0} = Pv4{1-0};
3311   bits <5> Rs32;
3312   let Inst{20-16} = Rs32{4-0};
3313   bits <5> Rt32;
3314   let Inst{12-8} = Rt32{4-0};
3315 }
3316 class Enc_e90a15 : OpcodeHexagon {
3317   bits <11> Ii;
3318   let Inst{21-20} = Ii{10-9};
3319   let Inst{7-1} = Ii{8-2};
3320   bits <3> Ns8;
3321   let Inst{18-16} = Ns8{2-0};
3322   bits <4> n1;
3323   let Inst{29-29} = n1{3-3};
3324   let Inst{26-25} = n1{2-1};
3325   let Inst{22-22} = n1{0-0};
3326 }
3327 class Enc_e957fb : OpcodeHexagon {
3328   bits <12> Ii;
3329   let Inst{26-25} = Ii{11-10};
3330   let Inst{13-13} = Ii{9-9};
3331   let Inst{7-0} = Ii{8-1};
3332   bits <5> Rs32;
3333   let Inst{20-16} = Rs32{4-0};
3334   bits <5> Rt32;
3335   let Inst{12-8} = Rt32{4-0};
3336 }
3337 class Enc_ea23e4 : OpcodeHexagon {
3338   bits <5> Rtt32;
3339   let Inst{12-8} = Rtt32{4-0};
3340   bits <5> Rss32;
3341   let Inst{20-16} = Rss32{4-0};
3342   bits <5> Rdd32;
3343   let Inst{4-0} = Rdd32{4-0};
3344 }
3345 class Enc_ea4c54 : OpcodeHexagon {
3346   bits <2> Pu4;
3347   let Inst{6-5} = Pu4{1-0};
3348   bits <5> Rs32;
3349   let Inst{20-16} = Rs32{4-0};
3350   bits <5> Rt32;
3351   let Inst{12-8} = Rt32{4-0};
3352   bits <5> Rd32;
3353   let Inst{4-0} = Rd32{4-0};
3354 }
3355 class Enc_eaa9f8 : OpcodeHexagon {
3356   bits <5> Vu32;
3357   let Inst{12-8} = Vu32{4-0};
3358   bits <5> Vv32;
3359   let Inst{20-16} = Vv32{4-0};
3360   bits <2> Qx4;
3361   let Inst{1-0} = Qx4{1-0};
3362 }
3363 class Enc_eafd18 : OpcodeHexagon {
3364   bits <5> II;
3365   let Inst{12-8} = II{4-0};
3366   bits <11> Ii;
3367   let Inst{21-20} = Ii{10-9};
3368   let Inst{7-1} = Ii{8-2};
3369   bits <3> Ns8;
3370   let Inst{18-16} = Ns8{2-0};
3371 }
3372 class Enc_eca7c8 : OpcodeHexagon {
3373   bits <2> Ii;
3374   let Inst{13-13} = Ii{1-1};
3375   let Inst{7-7} = Ii{0-0};
3376   bits <5> Rs32;
3377   let Inst{20-16} = Rs32{4-0};
3378   bits <5> Ru32;
3379   let Inst{12-8} = Ru32{4-0};
3380   bits <5> Rt32;
3381   let Inst{4-0} = Rt32{4-0};
3382 }
3383 class Enc_ecbcc8 : OpcodeHexagon {
3384   bits <5> Rs32;
3385   let Inst{20-16} = Rs32{4-0};
3386 }
3387 class Enc_ed48be : OpcodeHexagon {
3388   bits <2> Ii;
3389   let Inst{6-5} = Ii{1-0};
3390   bits <3> Rdd8;
3391   let Inst{2-0} = Rdd8{2-0};
3392 }
3393 class Enc_ed5027 : OpcodeHexagon {
3394   bits <5> Rss32;
3395   let Inst{20-16} = Rss32{4-0};
3396   bits <5> Gdd32;
3397   let Inst{4-0} = Gdd32{4-0};
3398 }
3399 class Enc_ee5ed0 : OpcodeHexagon {
3400   bits <4> Rs16;
3401   let Inst{7-4} = Rs16{3-0};
3402   bits <4> Rd16;
3403   let Inst{3-0} = Rd16{3-0};
3404   bits <2> n1;
3405   let Inst{9-8} = n1{1-0};
3406 }
3407 class Enc_ef601b : OpcodeHexagon {
3408   bits <4> Ii;
3409   let Inst{13-13} = Ii{3-3};
3410   let Inst{10-8} = Ii{2-0};
3411   bits <2> Pv4;
3412   let Inst{12-11} = Pv4{1-0};
3413   bits <5> Rt32;
3414   let Inst{20-16} = Rt32{4-0};
3415 }
3416 class Enc_efaed8 : OpcodeHexagon {
3417   bits <1> Ii;
3418   let Inst{8-8} = Ii{0-0};
3419 }
3420 class Enc_f0cca7 : OpcodeHexagon {
3421   bits <8> Ii;
3422   let Inst{12-5} = Ii{7-0};
3423   bits <6> II;
3424   let Inst{20-16} = II{5-1};
3425   let Inst{13-13} = II{0-0};
3426   bits <5> Rdd32;
3427   let Inst{4-0} = Rdd32{4-0};
3428 }
3429 class Enc_f20719 : OpcodeHexagon {
3430   bits <7> Ii;
3431   let Inst{12-7} = Ii{6-1};
3432   bits <6> II;
3433   let Inst{13-13} = II{5-5};
3434   let Inst{4-0} = II{4-0};
3435   bits <2> Pv4;
3436   let Inst{6-5} = Pv4{1-0};
3437   bits <5> Rs32;
3438   let Inst{20-16} = Rs32{4-0};
3439 }
3440 class Enc_f37377 : OpcodeHexagon {
3441   bits <8> Ii;
3442   let Inst{12-7} = Ii{7-2};
3443   bits <8> II;
3444   let Inst{13-13} = II{7-7};
3445   let Inst{6-0} = II{6-0};
3446   bits <5> Rs32;
3447   let Inst{20-16} = Rs32{4-0};
3448 }
3449 class Enc_f394d3 : OpcodeHexagon {
3450   bits <6> II;
3451   let Inst{11-8} = II{5-2};
3452   let Inst{6-5} = II{1-0};
3453   bits <5> Ryy32;
3454   let Inst{4-0} = Ryy32{4-0};
3455   bits <5> Re32;
3456   let Inst{20-16} = Re32{4-0};
3457 }
3458 class Enc_f3f408 : OpcodeHexagon {
3459   bits <4> Ii;
3460   let Inst{13-13} = Ii{3-3};
3461   let Inst{10-8} = Ii{2-0};
3462   bits <5> Rt32;
3463   let Inst{20-16} = Rt32{4-0};
3464   bits <5> Vd32;
3465   let Inst{4-0} = Vd32{4-0};
3466 }
3467 class Enc_f4413a : OpcodeHexagon {
3468   bits <4> Ii;
3469   let Inst{8-5} = Ii{3-0};
3470   bits <2> Pt4;
3471   let Inst{10-9} = Pt4{1-0};
3472   bits <5> Rd32;
3473   let Inst{4-0} = Rd32{4-0};
3474   bits <5> Rx32;
3475   let Inst{20-16} = Rx32{4-0};
3476 }
3477 class Enc_f44229 : OpcodeHexagon {
3478   bits <7> Ii;
3479   let Inst{13-13} = Ii{6-6};
3480   let Inst{7-3} = Ii{5-1};
3481   bits <2> Pv4;
3482   let Inst{1-0} = Pv4{1-0};
3483   bits <5> Rs32;
3484   let Inst{20-16} = Rs32{4-0};
3485   bits <3> Nt8;
3486   let Inst{10-8} = Nt8{2-0};
3487 }
3488 class Enc_f4f57b : OpcodeHexagon {
3489   bits <2> Ii;
3490   let Inst{6-5} = Ii{1-0};
3491   bits <5> Vuu32;
3492   let Inst{12-8} = Vuu32{4-0};
3493   bits <5> Vvv32;
3494   let Inst{20-16} = Vvv32{4-0};
3495   bits <5> Vxx32;
3496   let Inst{4-0} = Vxx32{4-0};
3497 }
3498 class Enc_f55a0c : OpcodeHexagon {
3499   bits <6> Ii;
3500   let Inst{11-8} = Ii{5-2};
3501   bits <4> Rs16;
3502   let Inst{7-4} = Rs16{3-0};
3503   bits <4> Rt16;
3504   let Inst{3-0} = Rt16{3-0};
3505 }
3506 class Enc_f5e933 : OpcodeHexagon {
3507   bits <2> Ps4;
3508   let Inst{17-16} = Ps4{1-0};
3509   bits <5> Rd32;
3510   let Inst{4-0} = Rd32{4-0};
3511 }
3512 class Enc_f6fe0b : OpcodeHexagon {
3513   bits <11> Ii;
3514   let Inst{21-20} = Ii{10-9};
3515   let Inst{7-1} = Ii{8-2};
3516   bits <4> Rs16;
3517   let Inst{19-16} = Rs16{3-0};
3518   bits <6> n1;
3519   let Inst{28-28} = n1{5-5};
3520   let Inst{24-22} = n1{4-2};
3521   let Inst{13-13} = n1{1-1};
3522   let Inst{8-8} = n1{0-0};
3523 }
3524 class Enc_f7430e : OpcodeHexagon {
3525   bits <4> Ii;
3526   let Inst{13-13} = Ii{3-3};
3527   let Inst{10-8} = Ii{2-0};
3528   bits <2> Pv4;
3529   let Inst{12-11} = Pv4{1-0};
3530   bits <5> Rt32;
3531   let Inst{20-16} = Rt32{4-0};
3532   bits <3> Os8;
3533   let Inst{2-0} = Os8{2-0};
3534 }
3535 class Enc_f77fbc : OpcodeHexagon {
3536   bits <4> Ii;
3537   let Inst{13-13} = Ii{3-3};
3538   let Inst{10-8} = Ii{2-0};
3539   bits <5> Rt32;
3540   let Inst{20-16} = Rt32{4-0};
3541   bits <3> Os8;
3542   let Inst{2-0} = Os8{2-0};
3543 }
3544 class Enc_f79415 : OpcodeHexagon {
3545   bits <2> Ii;
3546   let Inst{13-13} = Ii{1-1};
3547   let Inst{6-6} = Ii{0-0};
3548   bits <6> II;
3549   let Inst{5-0} = II{5-0};
3550   bits <5> Ru32;
3551   let Inst{20-16} = Ru32{4-0};
3552   bits <5> Rtt32;
3553   let Inst{12-8} = Rtt32{4-0};
3554 }
3555 class Enc_f7ea77 : OpcodeHexagon {
3556   bits <11> Ii;
3557   let Inst{21-20} = Ii{10-9};
3558   let Inst{7-1} = Ii{8-2};
3559   bits <3> Ns8;
3560   let Inst{18-16} = Ns8{2-0};
3561   bits <4> n1;
3562   let Inst{29-29} = n1{3-3};
3563   let Inst{26-25} = n1{2-1};
3564   let Inst{13-13} = n1{0-0};
3565 }
3566 class Enc_f82302 : OpcodeHexagon {
3567   bits <11> Ii;
3568   let Inst{21-20} = Ii{10-9};
3569   let Inst{7-1} = Ii{8-2};
3570   bits <3> Ns8;
3571   let Inst{18-16} = Ns8{2-0};
3572   bits <4> n1;
3573   let Inst{29-29} = n1{3-3};
3574   let Inst{26-25} = n1{2-1};
3575   let Inst{23-23} = n1{0-0};
3576 }
3577 class Enc_f82eaf : OpcodeHexagon {
3578   bits <8> Ii;
3579   let Inst{10-5} = Ii{7-2};
3580   bits <2> Pt4;
3581   let Inst{12-11} = Pt4{1-0};
3582   bits <5> Rs32;
3583   let Inst{20-16} = Rs32{4-0};
3584   bits <5> Rd32;
3585   let Inst{4-0} = Rd32{4-0};
3586 }
3587 class Enc_f8c1c4 : OpcodeHexagon {
3588   bits <2> Pv4;
3589   let Inst{12-11} = Pv4{1-0};
3590   bits <1> Mu2;
3591   let Inst{13-13} = Mu2{0-0};
3592   bits <5> Vd32;
3593   let Inst{4-0} = Vd32{4-0};
3594   bits <5> Rx32;
3595   let Inst{20-16} = Rx32{4-0};
3596 }
3597 class Enc_f8ecf9 : OpcodeHexagon {
3598   bits <5> Vuu32;
3599   let Inst{12-8} = Vuu32{4-0};
3600   bits <5> Vvv32;
3601   let Inst{20-16} = Vvv32{4-0};
3602   bits <5> Vdd32;
3603   let Inst{4-0} = Vdd32{4-0};
3604 }
3605 class Enc_fa3ba4 : OpcodeHexagon {
3606   bits <14> Ii;
3607   let Inst{26-25} = Ii{13-12};
3608   let Inst{13-5} = Ii{11-3};
3609   bits <5> Rs32;
3610   let Inst{20-16} = Rs32{4-0};
3611   bits <5> Rdd32;
3612   let Inst{4-0} = Rdd32{4-0};
3613 }
3614 class Enc_fb6577 : OpcodeHexagon {
3615   bits <2> Pu4;
3616   let Inst{9-8} = Pu4{1-0};
3617   bits <5> Rs32;
3618   let Inst{20-16} = Rs32{4-0};
3619   bits <5> Rd32;
3620   let Inst{4-0} = Rd32{4-0};
3621 }
3622 class Enc_fc4562 : OpcodeHexagon {
3623   bits <5> Rs32;
3624   let Inst{12-8} = Rs32{4-0};
3625   bits <5> Rtt32;
3626   let Inst{20-16} = Rtt32{4-0};
3627   bits <5> Rdd32;
3628   let Inst{4-0} = Rdd32{4-0};
3629 }
3630 class Enc_fcf7a7 : OpcodeHexagon {
3631   bits <5> Rss32;
3632   let Inst{20-16} = Rss32{4-0};
3633   bits <5> Rtt32;
3634   let Inst{12-8} = Rtt32{4-0};
3635   bits <2> Pd4;
3636   let Inst{1-0} = Pd4{1-0};
3637 }
3638 class Enc_fda92c : OpcodeHexagon {
3639   bits <17> Ii;
3640   let Inst{26-25} = Ii{16-15};
3641   let Inst{20-16} = Ii{14-10};
3642   let Inst{13-13} = Ii{9-9};
3643   let Inst{7-0} = Ii{8-1};
3644   bits <5> Rt32;
3645   let Inst{12-8} = Rt32{4-0};
3646 }
3647 class Enc_fef969 : OpcodeHexagon {
3648   bits <6> Ii;
3649   let Inst{20-16} = Ii{5-1};
3650   let Inst{5-5} = Ii{0-0};
3651   bits <5> Rt32;
3652   let Inst{12-8} = Rt32{4-0};
3653   bits <5> Rd32;
3654   let Inst{4-0} = Rd32{4-0};
3655 }
3656 class Enc_ff3442 : OpcodeHexagon {
3657   bits <4> Ii;
3658   let Inst{13-13} = Ii{3-3};
3659   let Inst{10-8} = Ii{2-0};
3660   bits <5> Rt32;
3661   let Inst{20-16} = Rt32{4-0};
3662 }