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