arch/tile: core support for Tilera 32-bit chips.
[firefly-linux-kernel-4.4.55.git] / arch / tile / kernel / tile-desc_32.c
1 /* Define to include "bfd.h" and get actual BFD relocations below. */
2 /* #define WANT_BFD_RELOCS */
3
4 #ifdef WANT_BFD_RELOCS
5 #include "bfd.h"
6 #define MAYBE_BFD_RELOC(X) (X)
7 #else
8 #define MAYBE_BFD_RELOC(X) -1
9 #endif
10
11 /* Special registers. */
12 #define TREG_LR 55
13 #define TREG_SN 56
14 #define TREG_ZERO 63
15
16 /* FIXME: Rename this. */
17 #include <asm/opcode-tile.h>
18
19
20 const struct tile_opcode tile_opcodes[394] =
21 {
22  { "bpt", TILE_OPC_BPT, 0x2 /* pipes */, 0 /* num_operands */,
23     TREG_ZERO, /* implicitly_written_register */
24     0, /* can_bundle */
25     {
26       /* operands */
27       { 0, },
28       {  },
29       { 0, },
30       { 0, },
31       { 0, }
32     },
33     {
34       /* fixed_bit_masks */
35       0ULL,
36       0xfbffffff80000000ULL,
37       0ULL,
38       0ULL,
39       0ULL
40     },
41     {
42       /* fixed_bit_values */
43       -1ULL,
44       0x400b3cae00000000ULL,
45       -1ULL,
46       -1ULL,
47       -1ULL
48     }
49   },
50   { "info", TILE_OPC_INFO, 0xf /* pipes */, 1 /* num_operands */,
51     TREG_ZERO, /* implicitly_written_register */
52     1, /* can_bundle */
53     {
54       /* operands */
55       { 0 },
56       { 1 },
57       { 2 },
58       { 3 },
59       { 0, }
60     },
61     {
62       /* fixed_bit_masks */
63       0x800000007ff00fffULL,
64       0xfff807ff80000000ULL,
65       0x8000000078000fffULL,
66       0xf80007ff80000000ULL,
67       0ULL
68     },
69     {
70       /* fixed_bit_values */
71       0x0000000050100fffULL,
72       0x302007ff80000000ULL,
73       0x8000000050000fffULL,
74       0xc00007ff80000000ULL,
75       -1ULL
76     }
77   },
78   { "infol", TILE_OPC_INFOL, 0x3 /* pipes */, 1 /* num_operands */,
79     TREG_ZERO, /* implicitly_written_register */
80     1, /* can_bundle */
81     {
82       /* operands */
83       { 4 },
84       { 5 },
85       { 0, },
86       { 0, },
87       { 0, }
88     },
89     {
90       /* fixed_bit_masks */
91       0x8000000070000fffULL,
92       0xf80007ff80000000ULL,
93       0ULL,
94       0ULL,
95       0ULL
96     },
97     {
98       /* fixed_bit_values */
99       0x0000000030000fffULL,
100       0x200007ff80000000ULL,
101       -1ULL,
102       -1ULL,
103       -1ULL
104     }
105   },
106   { "j", TILE_OPC_J, 0x2 /* pipes */, 1 /* num_operands */,
107     TREG_ZERO, /* implicitly_written_register */
108     1, /* can_bundle */
109     {
110       /* operands */
111       { 0, },
112       { 6 },
113       { 0, },
114       { 0, },
115       { 0, }
116     },
117     {
118       /* fixed_bit_masks */
119       0ULL,
120       0xf000000000000000ULL,
121       0ULL,
122       0ULL,
123       0ULL
124     },
125     {
126       /* fixed_bit_values */
127       -1ULL,
128       0x5000000000000000ULL,
129       -1ULL,
130       -1ULL,
131       -1ULL
132     }
133   },
134   { "jal", TILE_OPC_JAL, 0x2 /* pipes */, 1 /* num_operands */,
135     TREG_LR, /* implicitly_written_register */
136     1, /* can_bundle */
137     {
138       /* operands */
139       { 0, },
140       { 6 },
141       { 0, },
142       { 0, },
143       { 0, }
144     },
145     {
146       /* fixed_bit_masks */
147       0ULL,
148       0xf000000000000000ULL,
149       0ULL,
150       0ULL,
151       0ULL
152     },
153     {
154       /* fixed_bit_values */
155       -1ULL,
156       0x6000000000000000ULL,
157       -1ULL,
158       -1ULL,
159       -1ULL
160     }
161   },
162   { "move", TILE_OPC_MOVE, 0xf /* pipes */, 2 /* num_operands */,
163     TREG_ZERO, /* implicitly_written_register */
164     1, /* can_bundle */
165     {
166       /* operands */
167       { 7, 8 },
168       { 9, 10 },
169       { 11, 12 },
170       { 13, 14 },
171       { 0, }
172     },
173     {
174       /* fixed_bit_masks */
175       0x800000007ffff000ULL,
176       0xfffff80000000000ULL,
177       0x80000000780ff000ULL,
178       0xf807f80000000000ULL,
179       0ULL
180     },
181     {
182       /* fixed_bit_values */
183       0x0000000000cff000ULL,
184       0x0833f80000000000ULL,
185       0x80000000180bf000ULL,
186       0x9805f80000000000ULL,
187       -1ULL
188     }
189   },
190   { "move.sn", TILE_OPC_MOVE_SN, 0x3 /* pipes */, 2 /* num_operands */,
191     TREG_SN, /* implicitly_written_register */
192     1, /* can_bundle */
193     {
194       /* operands */
195       { 7, 8 },
196       { 9, 10 },
197       { 0, },
198       { 0, },
199       { 0, }
200     },
201     {
202       /* fixed_bit_masks */
203       0x800000007ffff000ULL,
204       0xfffff80000000000ULL,
205       0ULL,
206       0ULL,
207       0ULL
208     },
209     {
210       /* fixed_bit_values */
211       0x0000000008cff000ULL,
212       0x0c33f80000000000ULL,
213       -1ULL,
214       -1ULL,
215       -1ULL
216     }
217   },
218   { "movei", TILE_OPC_MOVEI, 0xf /* pipes */, 2 /* num_operands */,
219     TREG_ZERO, /* implicitly_written_register */
220     1, /* can_bundle */
221     {
222       /* operands */
223       { 7, 0 },
224       { 9, 1 },
225       { 11, 2 },
226       { 13, 3 },
227       { 0, }
228     },
229     {
230       /* fixed_bit_masks */
231       0x800000007ff00fc0ULL,
232       0xfff807e000000000ULL,
233       0x8000000078000fc0ULL,
234       0xf80007e000000000ULL,
235       0ULL
236     },
237     {
238       /* fixed_bit_values */
239       0x0000000040800fc0ULL,
240       0x305807e000000000ULL,
241       0x8000000058000fc0ULL,
242       0xc80007e000000000ULL,
243       -1ULL
244     }
245   },
246   { "movei.sn", TILE_OPC_MOVEI_SN, 0x3 /* pipes */, 2 /* num_operands */,
247     TREG_SN, /* implicitly_written_register */
248     1, /* can_bundle */
249     {
250       /* operands */
251       { 7, 0 },
252       { 9, 1 },
253       { 0, },
254       { 0, },
255       { 0, }
256     },
257     {
258       /* fixed_bit_masks */
259       0x800000007ff00fc0ULL,
260       0xfff807e000000000ULL,
261       0ULL,
262       0ULL,
263       0ULL
264     },
265     {
266       /* fixed_bit_values */
267       0x0000000048800fc0ULL,
268       0x345807e000000000ULL,
269       -1ULL,
270       -1ULL,
271       -1ULL
272     }
273   },
274   { "moveli", TILE_OPC_MOVELI, 0x3 /* pipes */, 2 /* num_operands */,
275     TREG_ZERO, /* implicitly_written_register */
276     1, /* can_bundle */
277     {
278       /* operands */
279       { 7, 4 },
280       { 9, 5 },
281       { 0, },
282       { 0, },
283       { 0, }
284     },
285     {
286       /* fixed_bit_masks */
287       0x8000000070000fc0ULL,
288       0xf80007e000000000ULL,
289       0ULL,
290       0ULL,
291       0ULL
292     },
293     {
294       /* fixed_bit_values */
295       0x0000000020000fc0ULL,
296       0x180007e000000000ULL,
297       -1ULL,
298       -1ULL,
299       -1ULL
300     }
301   },
302   { "moveli.sn", TILE_OPC_MOVELI_SN, 0x3 /* pipes */, 2 /* num_operands */,
303     TREG_SN, /* implicitly_written_register */
304     1, /* can_bundle */
305     {
306       /* operands */
307       { 7, 4 },
308       { 9, 5 },
309       { 0, },
310       { 0, },
311       { 0, }
312     },
313     {
314       /* fixed_bit_masks */
315       0x8000000070000fc0ULL,
316       0xf80007e000000000ULL,
317       0ULL,
318       0ULL,
319       0ULL
320     },
321     {
322       /* fixed_bit_values */
323       0x0000000010000fc0ULL,
324       0x100007e000000000ULL,
325       -1ULL,
326       -1ULL,
327       -1ULL
328     }
329   },
330   { "movelis", TILE_OPC_MOVELIS, 0x3 /* pipes */, 2 /* num_operands */,
331     TREG_SN, /* implicitly_written_register */
332     1, /* can_bundle */
333     {
334       /* operands */
335       { 7, 4 },
336       { 9, 5 },
337       { 0, },
338       { 0, },
339       { 0, }
340     },
341     {
342       /* fixed_bit_masks */
343       0x8000000070000fc0ULL,
344       0xf80007e000000000ULL,
345       0ULL,
346       0ULL,
347       0ULL
348     },
349     {
350       /* fixed_bit_values */
351       0x0000000010000fc0ULL,
352       0x100007e000000000ULL,
353       -1ULL,
354       -1ULL,
355       -1ULL
356     }
357   },
358   { "prefetch", TILE_OPC_PREFETCH, 0x12 /* pipes */, 1 /* num_operands */,
359     TREG_ZERO, /* implicitly_written_register */
360     1, /* can_bundle */
361     {
362       /* operands */
363       { 0, },
364       { 10 },
365       { 0, },
366       { 0, },
367       { 15 }
368     },
369     {
370       /* fixed_bit_masks */
371       0ULL,
372       0xfffff81f80000000ULL,
373       0ULL,
374       0ULL,
375       0x8700000003f00000ULL
376     },
377     {
378       /* fixed_bit_values */
379       -1ULL,
380       0x400b501f80000000ULL,
381       -1ULL,
382       -1ULL,
383       0x8000000003f00000ULL
384     }
385   },
386   { "add", TILE_OPC_ADD, 0xf /* pipes */, 3 /* num_operands */,
387     TREG_ZERO, /* implicitly_written_register */
388     1, /* can_bundle */
389     {
390       /* operands */
391       { 7, 8, 16 },
392       { 9, 10, 17 },
393       { 11, 12, 18 },
394       { 13, 14, 19 },
395       { 0, }
396     },
397     {
398       /* fixed_bit_masks */
399       0x800000007ffc0000ULL,
400       0xfffe000000000000ULL,
401       0x80000000780c0000ULL,
402       0xf806000000000000ULL,
403       0ULL
404     },
405     {
406       /* fixed_bit_values */
407       0x00000000000c0000ULL,
408       0x0806000000000000ULL,
409       0x8000000008000000ULL,
410       0x8800000000000000ULL,
411       -1ULL
412     }
413   },
414   { "add.sn", TILE_OPC_ADD_SN, 0x3 /* pipes */, 3 /* num_operands */,
415     TREG_SN, /* implicitly_written_register */
416     1, /* can_bundle */
417     {
418       /* operands */
419       { 7, 8, 16 },
420       { 9, 10, 17 },
421       { 0, },
422       { 0, },
423       { 0, }
424     },
425     {
426       /* fixed_bit_masks */
427       0x800000007ffc0000ULL,
428       0xfffe000000000000ULL,
429       0ULL,
430       0ULL,
431       0ULL
432     },
433     {
434       /* fixed_bit_values */
435       0x00000000080c0000ULL,
436       0x0c06000000000000ULL,
437       -1ULL,
438       -1ULL,
439       -1ULL
440     }
441   },
442   { "addb", TILE_OPC_ADDB, 0x3 /* pipes */, 3 /* num_operands */,
443     TREG_ZERO, /* implicitly_written_register */
444     1, /* can_bundle */
445     {
446       /* operands */
447       { 7, 8, 16 },
448       { 9, 10, 17 },
449       { 0, },
450       { 0, },
451       { 0, }
452     },
453     {
454       /* fixed_bit_masks */
455       0x800000007ffc0000ULL,
456       0xfffe000000000000ULL,
457       0ULL,
458       0ULL,
459       0ULL
460     },
461     {
462       /* fixed_bit_values */
463       0x0000000000040000ULL,
464       0x0802000000000000ULL,
465       -1ULL,
466       -1ULL,
467       -1ULL
468     }
469   },
470   { "addb.sn", TILE_OPC_ADDB_SN, 0x3 /* pipes */, 3 /* num_operands */,
471     TREG_SN, /* implicitly_written_register */
472     1, /* can_bundle */
473     {
474       /* operands */
475       { 7, 8, 16 },
476       { 9, 10, 17 },
477       { 0, },
478       { 0, },
479       { 0, }
480     },
481     {
482       /* fixed_bit_masks */
483       0x800000007ffc0000ULL,
484       0xfffe000000000000ULL,
485       0ULL,
486       0ULL,
487       0ULL
488     },
489     {
490       /* fixed_bit_values */
491       0x0000000008040000ULL,
492       0x0c02000000000000ULL,
493       -1ULL,
494       -1ULL,
495       -1ULL
496     }
497   },
498   { "addbs_u", TILE_OPC_ADDBS_U, 0x3 /* pipes */, 3 /* num_operands */,
499     TREG_ZERO, /* implicitly_written_register */
500     1, /* can_bundle */
501     {
502       /* operands */
503       { 7, 8, 16 },
504       { 9, 10, 17 },
505       { 0, },
506       { 0, },
507       { 0, }
508     },
509     {
510       /* fixed_bit_masks */
511       0x800000007ffc0000ULL,
512       0xfffe000000000000ULL,
513       0ULL,
514       0ULL,
515       0ULL
516     },
517     {
518       /* fixed_bit_values */
519       0x0000000001880000ULL,
520       0x0888000000000000ULL,
521       -1ULL,
522       -1ULL,
523       -1ULL
524     }
525   },
526   { "addbs_u.sn", TILE_OPC_ADDBS_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
527     TREG_SN, /* implicitly_written_register */
528     1, /* can_bundle */
529     {
530       /* operands */
531       { 7, 8, 16 },
532       { 9, 10, 17 },
533       { 0, },
534       { 0, },
535       { 0, }
536     },
537     {
538       /* fixed_bit_masks */
539       0x800000007ffc0000ULL,
540       0xfffe000000000000ULL,
541       0ULL,
542       0ULL,
543       0ULL
544     },
545     {
546       /* fixed_bit_values */
547       0x0000000009880000ULL,
548       0x0c88000000000000ULL,
549       -1ULL,
550       -1ULL,
551       -1ULL
552     }
553   },
554   { "addh", TILE_OPC_ADDH, 0x3 /* pipes */, 3 /* num_operands */,
555     TREG_ZERO, /* implicitly_written_register */
556     1, /* can_bundle */
557     {
558       /* operands */
559       { 7, 8, 16 },
560       { 9, 10, 17 },
561       { 0, },
562       { 0, },
563       { 0, }
564     },
565     {
566       /* fixed_bit_masks */
567       0x800000007ffc0000ULL,
568       0xfffe000000000000ULL,
569       0ULL,
570       0ULL,
571       0ULL
572     },
573     {
574       /* fixed_bit_values */
575       0x0000000000080000ULL,
576       0x0804000000000000ULL,
577       -1ULL,
578       -1ULL,
579       -1ULL
580     }
581   },
582   { "addh.sn", TILE_OPC_ADDH_SN, 0x3 /* pipes */, 3 /* num_operands */,
583     TREG_SN, /* implicitly_written_register */
584     1, /* can_bundle */
585     {
586       /* operands */
587       { 7, 8, 16 },
588       { 9, 10, 17 },
589       { 0, },
590       { 0, },
591       { 0, }
592     },
593     {
594       /* fixed_bit_masks */
595       0x800000007ffc0000ULL,
596       0xfffe000000000000ULL,
597       0ULL,
598       0ULL,
599       0ULL
600     },
601     {
602       /* fixed_bit_values */
603       0x0000000008080000ULL,
604       0x0c04000000000000ULL,
605       -1ULL,
606       -1ULL,
607       -1ULL
608     }
609   },
610   { "addhs", TILE_OPC_ADDHS, 0x3 /* pipes */, 3 /* num_operands */,
611     TREG_ZERO, /* implicitly_written_register */
612     1, /* can_bundle */
613     {
614       /* operands */
615       { 7, 8, 16 },
616       { 9, 10, 17 },
617       { 0, },
618       { 0, },
619       { 0, }
620     },
621     {
622       /* fixed_bit_masks */
623       0x800000007ffc0000ULL,
624       0xfffe000000000000ULL,
625       0ULL,
626       0ULL,
627       0ULL
628     },
629     {
630       /* fixed_bit_values */
631       0x00000000018c0000ULL,
632       0x088a000000000000ULL,
633       -1ULL,
634       -1ULL,
635       -1ULL
636     }
637   },
638   { "addhs.sn", TILE_OPC_ADDHS_SN, 0x3 /* pipes */, 3 /* num_operands */,
639     TREG_SN, /* implicitly_written_register */
640     1, /* can_bundle */
641     {
642       /* operands */
643       { 7, 8, 16 },
644       { 9, 10, 17 },
645       { 0, },
646       { 0, },
647       { 0, }
648     },
649     {
650       /* fixed_bit_masks */
651       0x800000007ffc0000ULL,
652       0xfffe000000000000ULL,
653       0ULL,
654       0ULL,
655       0ULL
656     },
657     {
658       /* fixed_bit_values */
659       0x00000000098c0000ULL,
660       0x0c8a000000000000ULL,
661       -1ULL,
662       -1ULL,
663       -1ULL
664     }
665   },
666   { "addi", TILE_OPC_ADDI, 0xf /* pipes */, 3 /* num_operands */,
667     TREG_ZERO, /* implicitly_written_register */
668     1, /* can_bundle */
669     {
670       /* operands */
671       { 7, 8, 0 },
672       { 9, 10, 1 },
673       { 11, 12, 2 },
674       { 13, 14, 3 },
675       { 0, }
676     },
677     {
678       /* fixed_bit_masks */
679       0x800000007ff00000ULL,
680       0xfff8000000000000ULL,
681       0x8000000078000000ULL,
682       0xf800000000000000ULL,
683       0ULL
684     },
685     {
686       /* fixed_bit_values */
687       0x0000000040300000ULL,
688       0x3018000000000000ULL,
689       0x8000000048000000ULL,
690       0xb800000000000000ULL,
691       -1ULL
692     }
693   },
694   { "addi.sn", TILE_OPC_ADDI_SN, 0x3 /* pipes */, 3 /* num_operands */,
695     TREG_SN, /* implicitly_written_register */
696     1, /* can_bundle */
697     {
698       /* operands */
699       { 7, 8, 0 },
700       { 9, 10, 1 },
701       { 0, },
702       { 0, },
703       { 0, }
704     },
705     {
706       /* fixed_bit_masks */
707       0x800000007ff00000ULL,
708       0xfff8000000000000ULL,
709       0ULL,
710       0ULL,
711       0ULL
712     },
713     {
714       /* fixed_bit_values */
715       0x0000000048300000ULL,
716       0x3418000000000000ULL,
717       -1ULL,
718       -1ULL,
719       -1ULL
720     }
721   },
722   { "addib", TILE_OPC_ADDIB, 0x3 /* pipes */, 3 /* num_operands */,
723     TREG_ZERO, /* implicitly_written_register */
724     1, /* can_bundle */
725     {
726       /* operands */
727       { 7, 8, 0 },
728       { 9, 10, 1 },
729       { 0, },
730       { 0, },
731       { 0, }
732     },
733     {
734       /* fixed_bit_masks */
735       0x800000007ff00000ULL,
736       0xfff8000000000000ULL,
737       0ULL,
738       0ULL,
739       0ULL
740     },
741     {
742       /* fixed_bit_values */
743       0x0000000040100000ULL,
744       0x3008000000000000ULL,
745       -1ULL,
746       -1ULL,
747       -1ULL
748     }
749   },
750   { "addib.sn", TILE_OPC_ADDIB_SN, 0x3 /* pipes */, 3 /* num_operands */,
751     TREG_SN, /* implicitly_written_register */
752     1, /* can_bundle */
753     {
754       /* operands */
755       { 7, 8, 0 },
756       { 9, 10, 1 },
757       { 0, },
758       { 0, },
759       { 0, }
760     },
761     {
762       /* fixed_bit_masks */
763       0x800000007ff00000ULL,
764       0xfff8000000000000ULL,
765       0ULL,
766       0ULL,
767       0ULL
768     },
769     {
770       /* fixed_bit_values */
771       0x0000000048100000ULL,
772       0x3408000000000000ULL,
773       -1ULL,
774       -1ULL,
775       -1ULL
776     }
777   },
778   { "addih", TILE_OPC_ADDIH, 0x3 /* pipes */, 3 /* num_operands */,
779     TREG_ZERO, /* implicitly_written_register */
780     1, /* can_bundle */
781     {
782       /* operands */
783       { 7, 8, 0 },
784       { 9, 10, 1 },
785       { 0, },
786       { 0, },
787       { 0, }
788     },
789     {
790       /* fixed_bit_masks */
791       0x800000007ff00000ULL,
792       0xfff8000000000000ULL,
793       0ULL,
794       0ULL,
795       0ULL
796     },
797     {
798       /* fixed_bit_values */
799       0x0000000040200000ULL,
800       0x3010000000000000ULL,
801       -1ULL,
802       -1ULL,
803       -1ULL
804     }
805   },
806   { "addih.sn", TILE_OPC_ADDIH_SN, 0x3 /* pipes */, 3 /* num_operands */,
807     TREG_SN, /* implicitly_written_register */
808     1, /* can_bundle */
809     {
810       /* operands */
811       { 7, 8, 0 },
812       { 9, 10, 1 },
813       { 0, },
814       { 0, },
815       { 0, }
816     },
817     {
818       /* fixed_bit_masks */
819       0x800000007ff00000ULL,
820       0xfff8000000000000ULL,
821       0ULL,
822       0ULL,
823       0ULL
824     },
825     {
826       /* fixed_bit_values */
827       0x0000000048200000ULL,
828       0x3410000000000000ULL,
829       -1ULL,
830       -1ULL,
831       -1ULL
832     }
833   },
834   { "addli", TILE_OPC_ADDLI, 0x3 /* pipes */, 3 /* num_operands */,
835     TREG_ZERO, /* implicitly_written_register */
836     1, /* can_bundle */
837     {
838       /* operands */
839       { 7, 8, 4 },
840       { 9, 10, 5 },
841       { 0, },
842       { 0, },
843       { 0, }
844     },
845     {
846       /* fixed_bit_masks */
847       0x8000000070000000ULL,
848       0xf800000000000000ULL,
849       0ULL,
850       0ULL,
851       0ULL
852     },
853     {
854       /* fixed_bit_values */
855       0x0000000020000000ULL,
856       0x1800000000000000ULL,
857       -1ULL,
858       -1ULL,
859       -1ULL
860     }
861   },
862   { "addli.sn", TILE_OPC_ADDLI_SN, 0x3 /* pipes */, 3 /* num_operands */,
863     TREG_SN, /* implicitly_written_register */
864     1, /* can_bundle */
865     {
866       /* operands */
867       { 7, 8, 4 },
868       { 9, 10, 5 },
869       { 0, },
870       { 0, },
871       { 0, }
872     },
873     {
874       /* fixed_bit_masks */
875       0x8000000070000000ULL,
876       0xf800000000000000ULL,
877       0ULL,
878       0ULL,
879       0ULL
880     },
881     {
882       /* fixed_bit_values */
883       0x0000000010000000ULL,
884       0x1000000000000000ULL,
885       -1ULL,
886       -1ULL,
887       -1ULL
888     }
889   },
890   { "addlis", TILE_OPC_ADDLIS, 0x3 /* pipes */, 3 /* num_operands */,
891     TREG_SN, /* implicitly_written_register */
892     1, /* can_bundle */
893     {
894       /* operands */
895       { 7, 8, 4 },
896       { 9, 10, 5 },
897       { 0, },
898       { 0, },
899       { 0, }
900     },
901     {
902       /* fixed_bit_masks */
903       0x8000000070000000ULL,
904       0xf800000000000000ULL,
905       0ULL,
906       0ULL,
907       0ULL
908     },
909     {
910       /* fixed_bit_values */
911       0x0000000010000000ULL,
912       0x1000000000000000ULL,
913       -1ULL,
914       -1ULL,
915       -1ULL
916     }
917   },
918   { "adds", TILE_OPC_ADDS, 0x3 /* pipes */, 3 /* num_operands */,
919     TREG_ZERO, /* implicitly_written_register */
920     1, /* can_bundle */
921     {
922       /* operands */
923       { 7, 8, 16 },
924       { 9, 10, 17 },
925       { 0, },
926       { 0, },
927       { 0, }
928     },
929     {
930       /* fixed_bit_masks */
931       0x800000007ffc0000ULL,
932       0xfffe000000000000ULL,
933       0ULL,
934       0ULL,
935       0ULL
936     },
937     {
938       /* fixed_bit_values */
939       0x0000000001800000ULL,
940       0x0884000000000000ULL,
941       -1ULL,
942       -1ULL,
943       -1ULL
944     }
945   },
946   { "adds.sn", TILE_OPC_ADDS_SN, 0x3 /* pipes */, 3 /* num_operands */,
947     TREG_SN, /* implicitly_written_register */
948     1, /* can_bundle */
949     {
950       /* operands */
951       { 7, 8, 16 },
952       { 9, 10, 17 },
953       { 0, },
954       { 0, },
955       { 0, }
956     },
957     {
958       /* fixed_bit_masks */
959       0x800000007ffc0000ULL,
960       0xfffe000000000000ULL,
961       0ULL,
962       0ULL,
963       0ULL
964     },
965     {
966       /* fixed_bit_values */
967       0x0000000009800000ULL,
968       0x0c84000000000000ULL,
969       -1ULL,
970       -1ULL,
971       -1ULL
972     }
973   },
974   { "adiffb_u", TILE_OPC_ADIFFB_U, 0x1 /* pipes */, 3 /* num_operands */,
975     TREG_ZERO, /* implicitly_written_register */
976     1, /* can_bundle */
977     {
978       /* operands */
979       { 7, 8, 16 },
980       { 0, },
981       { 0, },
982       { 0, },
983       { 0, }
984     },
985     {
986       /* fixed_bit_masks */
987       0x800000007ffc0000ULL,
988       0ULL,
989       0ULL,
990       0ULL,
991       0ULL
992     },
993     {
994       /* fixed_bit_values */
995       0x0000000000100000ULL,
996       -1ULL,
997       -1ULL,
998       -1ULL,
999       -1ULL
1000     }
1001   },
1002   { "adiffb_u.sn", TILE_OPC_ADIFFB_U_SN, 0x1 /* pipes */, 3 /* num_operands */,
1003     TREG_SN, /* implicitly_written_register */
1004     1, /* can_bundle */
1005     {
1006       /* operands */
1007       { 7, 8, 16 },
1008       { 0, },
1009       { 0, },
1010       { 0, },
1011       { 0, }
1012     },
1013     {
1014       /* fixed_bit_masks */
1015       0x800000007ffc0000ULL,
1016       0ULL,
1017       0ULL,
1018       0ULL,
1019       0ULL
1020     },
1021     {
1022       /* fixed_bit_values */
1023       0x0000000008100000ULL,
1024       -1ULL,
1025       -1ULL,
1026       -1ULL,
1027       -1ULL
1028     }
1029   },
1030   { "adiffh", TILE_OPC_ADIFFH, 0x1 /* pipes */, 3 /* num_operands */,
1031     TREG_ZERO, /* implicitly_written_register */
1032     1, /* can_bundle */
1033     {
1034       /* operands */
1035       { 7, 8, 16 },
1036       { 0, },
1037       { 0, },
1038       { 0, },
1039       { 0, }
1040     },
1041     {
1042       /* fixed_bit_masks */
1043       0x800000007ffc0000ULL,
1044       0ULL,
1045       0ULL,
1046       0ULL,
1047       0ULL
1048     },
1049     {
1050       /* fixed_bit_values */
1051       0x0000000000140000ULL,
1052       -1ULL,
1053       -1ULL,
1054       -1ULL,
1055       -1ULL
1056     }
1057   },
1058   { "adiffh.sn", TILE_OPC_ADIFFH_SN, 0x1 /* pipes */, 3 /* num_operands */,
1059     TREG_SN, /* implicitly_written_register */
1060     1, /* can_bundle */
1061     {
1062       /* operands */
1063       { 7, 8, 16 },
1064       { 0, },
1065       { 0, },
1066       { 0, },
1067       { 0, }
1068     },
1069     {
1070       /* fixed_bit_masks */
1071       0x800000007ffc0000ULL,
1072       0ULL,
1073       0ULL,
1074       0ULL,
1075       0ULL
1076     },
1077     {
1078       /* fixed_bit_values */
1079       0x0000000008140000ULL,
1080       -1ULL,
1081       -1ULL,
1082       -1ULL,
1083       -1ULL
1084     }
1085   },
1086   { "and", TILE_OPC_AND, 0xf /* pipes */, 3 /* num_operands */,
1087     TREG_ZERO, /* implicitly_written_register */
1088     1, /* can_bundle */
1089     {
1090       /* operands */
1091       { 7, 8, 16 },
1092       { 9, 10, 17 },
1093       { 11, 12, 18 },
1094       { 13, 14, 19 },
1095       { 0, }
1096     },
1097     {
1098       /* fixed_bit_masks */
1099       0x800000007ffc0000ULL,
1100       0xfffe000000000000ULL,
1101       0x80000000780c0000ULL,
1102       0xf806000000000000ULL,
1103       0ULL
1104     },
1105     {
1106       /* fixed_bit_values */
1107       0x0000000000180000ULL,
1108       0x0808000000000000ULL,
1109       0x8000000018000000ULL,
1110       0x9800000000000000ULL,
1111       -1ULL
1112     }
1113   },
1114   { "and.sn", TILE_OPC_AND_SN, 0x3 /* pipes */, 3 /* num_operands */,
1115     TREG_SN, /* implicitly_written_register */
1116     1, /* can_bundle */
1117     {
1118       /* operands */
1119       { 7, 8, 16 },
1120       { 9, 10, 17 },
1121       { 0, },
1122       { 0, },
1123       { 0, }
1124     },
1125     {
1126       /* fixed_bit_masks */
1127       0x800000007ffc0000ULL,
1128       0xfffe000000000000ULL,
1129       0ULL,
1130       0ULL,
1131       0ULL
1132     },
1133     {
1134       /* fixed_bit_values */
1135       0x0000000008180000ULL,
1136       0x0c08000000000000ULL,
1137       -1ULL,
1138       -1ULL,
1139       -1ULL
1140     }
1141   },
1142   { "andi", TILE_OPC_ANDI, 0xf /* pipes */, 3 /* num_operands */,
1143     TREG_ZERO, /* implicitly_written_register */
1144     1, /* can_bundle */
1145     {
1146       /* operands */
1147       { 7, 8, 0 },
1148       { 9, 10, 1 },
1149       { 11, 12, 2 },
1150       { 13, 14, 3 },
1151       { 0, }
1152     },
1153     {
1154       /* fixed_bit_masks */
1155       0x800000007ff00000ULL,
1156       0xfff8000000000000ULL,
1157       0x8000000078000000ULL,
1158       0xf800000000000000ULL,
1159       0ULL
1160     },
1161     {
1162       /* fixed_bit_values */
1163       0x0000000050100000ULL,
1164       0x3020000000000000ULL,
1165       0x8000000050000000ULL,
1166       0xc000000000000000ULL,
1167       -1ULL
1168     }
1169   },
1170   { "andi.sn", TILE_OPC_ANDI_SN, 0x3 /* pipes */, 3 /* num_operands */,
1171     TREG_SN, /* implicitly_written_register */
1172     1, /* can_bundle */
1173     {
1174       /* operands */
1175       { 7, 8, 0 },
1176       { 9, 10, 1 },
1177       { 0, },
1178       { 0, },
1179       { 0, }
1180     },
1181     {
1182       /* fixed_bit_masks */
1183       0x800000007ff00000ULL,
1184       0xfff8000000000000ULL,
1185       0ULL,
1186       0ULL,
1187       0ULL
1188     },
1189     {
1190       /* fixed_bit_values */
1191       0x0000000058100000ULL,
1192       0x3420000000000000ULL,
1193       -1ULL,
1194       -1ULL,
1195       -1ULL
1196     }
1197   },
1198   { "auli", TILE_OPC_AULI, 0x3 /* pipes */, 3 /* num_operands */,
1199     TREG_ZERO, /* implicitly_written_register */
1200     1, /* can_bundle */
1201     {
1202       /* operands */
1203       { 7, 8, 4 },
1204       { 9, 10, 5 },
1205       { 0, },
1206       { 0, },
1207       { 0, }
1208     },
1209     {
1210       /* fixed_bit_masks */
1211       0x8000000070000000ULL,
1212       0xf800000000000000ULL,
1213       0ULL,
1214       0ULL,
1215       0ULL
1216     },
1217     {
1218       /* fixed_bit_values */
1219       0x0000000030000000ULL,
1220       0x2000000000000000ULL,
1221       -1ULL,
1222       -1ULL,
1223       -1ULL
1224     }
1225   },
1226   { "avgb_u", TILE_OPC_AVGB_U, 0x1 /* pipes */, 3 /* num_operands */,
1227     TREG_ZERO, /* implicitly_written_register */
1228     1, /* can_bundle */
1229     {
1230       /* operands */
1231       { 7, 8, 16 },
1232       { 0, },
1233       { 0, },
1234       { 0, },
1235       { 0, }
1236     },
1237     {
1238       /* fixed_bit_masks */
1239       0x800000007ffc0000ULL,
1240       0ULL,
1241       0ULL,
1242       0ULL,
1243       0ULL
1244     },
1245     {
1246       /* fixed_bit_values */
1247       0x00000000001c0000ULL,
1248       -1ULL,
1249       -1ULL,
1250       -1ULL,
1251       -1ULL
1252     }
1253   },
1254   { "avgb_u.sn", TILE_OPC_AVGB_U_SN, 0x1 /* pipes */, 3 /* num_operands */,
1255     TREG_SN, /* implicitly_written_register */
1256     1, /* can_bundle */
1257     {
1258       /* operands */
1259       { 7, 8, 16 },
1260       { 0, },
1261       { 0, },
1262       { 0, },
1263       { 0, }
1264     },
1265     {
1266       /* fixed_bit_masks */
1267       0x800000007ffc0000ULL,
1268       0ULL,
1269       0ULL,
1270       0ULL,
1271       0ULL
1272     },
1273     {
1274       /* fixed_bit_values */
1275       0x00000000081c0000ULL,
1276       -1ULL,
1277       -1ULL,
1278       -1ULL,
1279       -1ULL
1280     }
1281   },
1282   { "avgh", TILE_OPC_AVGH, 0x1 /* pipes */, 3 /* num_operands */,
1283     TREG_ZERO, /* implicitly_written_register */
1284     1, /* can_bundle */
1285     {
1286       /* operands */
1287       { 7, 8, 16 },
1288       { 0, },
1289       { 0, },
1290       { 0, },
1291       { 0, }
1292     },
1293     {
1294       /* fixed_bit_masks */
1295       0x800000007ffc0000ULL,
1296       0ULL,
1297       0ULL,
1298       0ULL,
1299       0ULL
1300     },
1301     {
1302       /* fixed_bit_values */
1303       0x0000000000200000ULL,
1304       -1ULL,
1305       -1ULL,
1306       -1ULL,
1307       -1ULL
1308     }
1309   },
1310   { "avgh.sn", TILE_OPC_AVGH_SN, 0x1 /* pipes */, 3 /* num_operands */,
1311     TREG_SN, /* implicitly_written_register */
1312     1, /* can_bundle */
1313     {
1314       /* operands */
1315       { 7, 8, 16 },
1316       { 0, },
1317       { 0, },
1318       { 0, },
1319       { 0, }
1320     },
1321     {
1322       /* fixed_bit_masks */
1323       0x800000007ffc0000ULL,
1324       0ULL,
1325       0ULL,
1326       0ULL,
1327       0ULL
1328     },
1329     {
1330       /* fixed_bit_values */
1331       0x0000000008200000ULL,
1332       -1ULL,
1333       -1ULL,
1334       -1ULL,
1335       -1ULL
1336     }
1337   },
1338   { "bbns", TILE_OPC_BBNS, 0x2 /* pipes */, 2 /* num_operands */,
1339     TREG_ZERO, /* implicitly_written_register */
1340     1, /* can_bundle */
1341     {
1342       /* operands */
1343       { 0, },
1344       { 10, 20 },
1345       { 0, },
1346       { 0, },
1347       { 0, }
1348     },
1349     {
1350       /* fixed_bit_masks */
1351       0ULL,
1352       0xfc00000780000000ULL,
1353       0ULL,
1354       0ULL,
1355       0ULL
1356     },
1357     {
1358       /* fixed_bit_values */
1359       -1ULL,
1360       0x2800000700000000ULL,
1361       -1ULL,
1362       -1ULL,
1363       -1ULL
1364     }
1365   },
1366   { "bbns.sn", TILE_OPC_BBNS_SN, 0x2 /* pipes */, 2 /* num_operands */,
1367     TREG_SN, /* implicitly_written_register */
1368     1, /* can_bundle */
1369     {
1370       /* operands */
1371       { 0, },
1372       { 10, 20 },
1373       { 0, },
1374       { 0, },
1375       { 0, }
1376     },
1377     {
1378       /* fixed_bit_masks */
1379       0ULL,
1380       0xfc00000780000000ULL,
1381       0ULL,
1382       0ULL,
1383       0ULL
1384     },
1385     {
1386       /* fixed_bit_values */
1387       -1ULL,
1388       0x2c00000700000000ULL,
1389       -1ULL,
1390       -1ULL,
1391       -1ULL
1392     }
1393   },
1394   { "bbnst", TILE_OPC_BBNST, 0x2 /* pipes */, 2 /* num_operands */,
1395     TREG_ZERO, /* implicitly_written_register */
1396     1, /* can_bundle */
1397     {
1398       /* operands */
1399       { 0, },
1400       { 10, 20 },
1401       { 0, },
1402       { 0, },
1403       { 0, }
1404     },
1405     {
1406       /* fixed_bit_masks */
1407       0ULL,
1408       0xfc00000780000000ULL,
1409       0ULL,
1410       0ULL,
1411       0ULL
1412     },
1413     {
1414       /* fixed_bit_values */
1415       -1ULL,
1416       0x2800000780000000ULL,
1417       -1ULL,
1418       -1ULL,
1419       -1ULL
1420     }
1421   },
1422   { "bbnst.sn", TILE_OPC_BBNST_SN, 0x2 /* pipes */, 2 /* num_operands */,
1423     TREG_SN, /* implicitly_written_register */
1424     1, /* can_bundle */
1425     {
1426       /* operands */
1427       { 0, },
1428       { 10, 20 },
1429       { 0, },
1430       { 0, },
1431       { 0, }
1432     },
1433     {
1434       /* fixed_bit_masks */
1435       0ULL,
1436       0xfc00000780000000ULL,
1437       0ULL,
1438       0ULL,
1439       0ULL
1440     },
1441     {
1442       /* fixed_bit_values */
1443       -1ULL,
1444       0x2c00000780000000ULL,
1445       -1ULL,
1446       -1ULL,
1447       -1ULL
1448     }
1449   },
1450   { "bbs", TILE_OPC_BBS, 0x2 /* pipes */, 2 /* num_operands */,
1451     TREG_ZERO, /* implicitly_written_register */
1452     1, /* can_bundle */
1453     {
1454       /* operands */
1455       { 0, },
1456       { 10, 20 },
1457       { 0, },
1458       { 0, },
1459       { 0, }
1460     },
1461     {
1462       /* fixed_bit_masks */
1463       0ULL,
1464       0xfc00000780000000ULL,
1465       0ULL,
1466       0ULL,
1467       0ULL
1468     },
1469     {
1470       /* fixed_bit_values */
1471       -1ULL,
1472       0x2800000600000000ULL,
1473       -1ULL,
1474       -1ULL,
1475       -1ULL
1476     }
1477   },
1478   { "bbs.sn", TILE_OPC_BBS_SN, 0x2 /* pipes */, 2 /* num_operands */,
1479     TREG_SN, /* implicitly_written_register */
1480     1, /* can_bundle */
1481     {
1482       /* operands */
1483       { 0, },
1484       { 10, 20 },
1485       { 0, },
1486       { 0, },
1487       { 0, }
1488     },
1489     {
1490       /* fixed_bit_masks */
1491       0ULL,
1492       0xfc00000780000000ULL,
1493       0ULL,
1494       0ULL,
1495       0ULL
1496     },
1497     {
1498       /* fixed_bit_values */
1499       -1ULL,
1500       0x2c00000600000000ULL,
1501       -1ULL,
1502       -1ULL,
1503       -1ULL
1504     }
1505   },
1506   { "bbst", TILE_OPC_BBST, 0x2 /* pipes */, 2 /* num_operands */,
1507     TREG_ZERO, /* implicitly_written_register */
1508     1, /* can_bundle */
1509     {
1510       /* operands */
1511       { 0, },
1512       { 10, 20 },
1513       { 0, },
1514       { 0, },
1515       { 0, }
1516     },
1517     {
1518       /* fixed_bit_masks */
1519       0ULL,
1520       0xfc00000780000000ULL,
1521       0ULL,
1522       0ULL,
1523       0ULL
1524     },
1525     {
1526       /* fixed_bit_values */
1527       -1ULL,
1528       0x2800000680000000ULL,
1529       -1ULL,
1530       -1ULL,
1531       -1ULL
1532     }
1533   },
1534   { "bbst.sn", TILE_OPC_BBST_SN, 0x2 /* pipes */, 2 /* num_operands */,
1535     TREG_SN, /* implicitly_written_register */
1536     1, /* can_bundle */
1537     {
1538       /* operands */
1539       { 0, },
1540       { 10, 20 },
1541       { 0, },
1542       { 0, },
1543       { 0, }
1544     },
1545     {
1546       /* fixed_bit_masks */
1547       0ULL,
1548       0xfc00000780000000ULL,
1549       0ULL,
1550       0ULL,
1551       0ULL
1552     },
1553     {
1554       /* fixed_bit_values */
1555       -1ULL,
1556       0x2c00000680000000ULL,
1557       -1ULL,
1558       -1ULL,
1559       -1ULL
1560     }
1561   },
1562   { "bgez", TILE_OPC_BGEZ, 0x2 /* pipes */, 2 /* num_operands */,
1563     TREG_ZERO, /* implicitly_written_register */
1564     1, /* can_bundle */
1565     {
1566       /* operands */
1567       { 0, },
1568       { 10, 20 },
1569       { 0, },
1570       { 0, },
1571       { 0, }
1572     },
1573     {
1574       /* fixed_bit_masks */
1575       0ULL,
1576       0xfc00000780000000ULL,
1577       0ULL,
1578       0ULL,
1579       0ULL
1580     },
1581     {
1582       /* fixed_bit_values */
1583       -1ULL,
1584       0x2800000300000000ULL,
1585       -1ULL,
1586       -1ULL,
1587       -1ULL
1588     }
1589   },
1590   { "bgez.sn", TILE_OPC_BGEZ_SN, 0x2 /* pipes */, 2 /* num_operands */,
1591     TREG_SN, /* implicitly_written_register */
1592     1, /* can_bundle */
1593     {
1594       /* operands */
1595       { 0, },
1596       { 10, 20 },
1597       { 0, },
1598       { 0, },
1599       { 0, }
1600     },
1601     {
1602       /* fixed_bit_masks */
1603       0ULL,
1604       0xfc00000780000000ULL,
1605       0ULL,
1606       0ULL,
1607       0ULL
1608     },
1609     {
1610       /* fixed_bit_values */
1611       -1ULL,
1612       0x2c00000300000000ULL,
1613       -1ULL,
1614       -1ULL,
1615       -1ULL
1616     }
1617   },
1618   { "bgezt", TILE_OPC_BGEZT, 0x2 /* pipes */, 2 /* num_operands */,
1619     TREG_ZERO, /* implicitly_written_register */
1620     1, /* can_bundle */
1621     {
1622       /* operands */
1623       { 0, },
1624       { 10, 20 },
1625       { 0, },
1626       { 0, },
1627       { 0, }
1628     },
1629     {
1630       /* fixed_bit_masks */
1631       0ULL,
1632       0xfc00000780000000ULL,
1633       0ULL,
1634       0ULL,
1635       0ULL
1636     },
1637     {
1638       /* fixed_bit_values */
1639       -1ULL,
1640       0x2800000380000000ULL,
1641       -1ULL,
1642       -1ULL,
1643       -1ULL
1644     }
1645   },
1646   { "bgezt.sn", TILE_OPC_BGEZT_SN, 0x2 /* pipes */, 2 /* num_operands */,
1647     TREG_SN, /* implicitly_written_register */
1648     1, /* can_bundle */
1649     {
1650       /* operands */
1651       { 0, },
1652       { 10, 20 },
1653       { 0, },
1654       { 0, },
1655       { 0, }
1656     },
1657     {
1658       /* fixed_bit_masks */
1659       0ULL,
1660       0xfc00000780000000ULL,
1661       0ULL,
1662       0ULL,
1663       0ULL
1664     },
1665     {
1666       /* fixed_bit_values */
1667       -1ULL,
1668       0x2c00000380000000ULL,
1669       -1ULL,
1670       -1ULL,
1671       -1ULL
1672     }
1673   },
1674   { "bgz", TILE_OPC_BGZ, 0x2 /* pipes */, 2 /* num_operands */,
1675     TREG_ZERO, /* implicitly_written_register */
1676     1, /* can_bundle */
1677     {
1678       /* operands */
1679       { 0, },
1680       { 10, 20 },
1681       { 0, },
1682       { 0, },
1683       { 0, }
1684     },
1685     {
1686       /* fixed_bit_masks */
1687       0ULL,
1688       0xfc00000780000000ULL,
1689       0ULL,
1690       0ULL,
1691       0ULL
1692     },
1693     {
1694       /* fixed_bit_values */
1695       -1ULL,
1696       0x2800000200000000ULL,
1697       -1ULL,
1698       -1ULL,
1699       -1ULL
1700     }
1701   },
1702   { "bgz.sn", TILE_OPC_BGZ_SN, 0x2 /* pipes */, 2 /* num_operands */,
1703     TREG_SN, /* implicitly_written_register */
1704     1, /* can_bundle */
1705     {
1706       /* operands */
1707       { 0, },
1708       { 10, 20 },
1709       { 0, },
1710       { 0, },
1711       { 0, }
1712     },
1713     {
1714       /* fixed_bit_masks */
1715       0ULL,
1716       0xfc00000780000000ULL,
1717       0ULL,
1718       0ULL,
1719       0ULL
1720     },
1721     {
1722       /* fixed_bit_values */
1723       -1ULL,
1724       0x2c00000200000000ULL,
1725       -1ULL,
1726       -1ULL,
1727       -1ULL
1728     }
1729   },
1730   { "bgzt", TILE_OPC_BGZT, 0x2 /* pipes */, 2 /* num_operands */,
1731     TREG_ZERO, /* implicitly_written_register */
1732     1, /* can_bundle */
1733     {
1734       /* operands */
1735       { 0, },
1736       { 10, 20 },
1737       { 0, },
1738       { 0, },
1739       { 0, }
1740     },
1741     {
1742       /* fixed_bit_masks */
1743       0ULL,
1744       0xfc00000780000000ULL,
1745       0ULL,
1746       0ULL,
1747       0ULL
1748     },
1749     {
1750       /* fixed_bit_values */
1751       -1ULL,
1752       0x2800000280000000ULL,
1753       -1ULL,
1754       -1ULL,
1755       -1ULL
1756     }
1757   },
1758   { "bgzt.sn", TILE_OPC_BGZT_SN, 0x2 /* pipes */, 2 /* num_operands */,
1759     TREG_SN, /* implicitly_written_register */
1760     1, /* can_bundle */
1761     {
1762       /* operands */
1763       { 0, },
1764       { 10, 20 },
1765       { 0, },
1766       { 0, },
1767       { 0, }
1768     },
1769     {
1770       /* fixed_bit_masks */
1771       0ULL,
1772       0xfc00000780000000ULL,
1773       0ULL,
1774       0ULL,
1775       0ULL
1776     },
1777     {
1778       /* fixed_bit_values */
1779       -1ULL,
1780       0x2c00000280000000ULL,
1781       -1ULL,
1782       -1ULL,
1783       -1ULL
1784     }
1785   },
1786   { "bitx", TILE_OPC_BITX, 0x5 /* pipes */, 2 /* num_operands */,
1787     TREG_ZERO, /* implicitly_written_register */
1788     1, /* can_bundle */
1789     {
1790       /* operands */
1791       { 7, 8 },
1792       { 0, },
1793       { 11, 12 },
1794       { 0, },
1795       { 0, }
1796     },
1797     {
1798       /* fixed_bit_masks */
1799       0x800000007ffff000ULL,
1800       0ULL,
1801       0x80000000780ff000ULL,
1802       0ULL,
1803       0ULL
1804     },
1805     {
1806       /* fixed_bit_values */
1807       0x0000000070161000ULL,
1808       -1ULL,
1809       0x80000000680a1000ULL,
1810       -1ULL,
1811       -1ULL
1812     }
1813   },
1814   { "bitx.sn", TILE_OPC_BITX_SN, 0x1 /* pipes */, 2 /* num_operands */,
1815     TREG_SN, /* implicitly_written_register */
1816     1, /* can_bundle */
1817     {
1818       /* operands */
1819       { 7, 8 },
1820       { 0, },
1821       { 0, },
1822       { 0, },
1823       { 0, }
1824     },
1825     {
1826       /* fixed_bit_masks */
1827       0x800000007ffff000ULL,
1828       0ULL,
1829       0ULL,
1830       0ULL,
1831       0ULL
1832     },
1833     {
1834       /* fixed_bit_values */
1835       0x0000000078161000ULL,
1836       -1ULL,
1837       -1ULL,
1838       -1ULL,
1839       -1ULL
1840     }
1841   },
1842   { "blez", TILE_OPC_BLEZ, 0x2 /* pipes */, 2 /* num_operands */,
1843     TREG_ZERO, /* implicitly_written_register */
1844     1, /* can_bundle */
1845     {
1846       /* operands */
1847       { 0, },
1848       { 10, 20 },
1849       { 0, },
1850       { 0, },
1851       { 0, }
1852     },
1853     {
1854       /* fixed_bit_masks */
1855       0ULL,
1856       0xfc00000780000000ULL,
1857       0ULL,
1858       0ULL,
1859       0ULL
1860     },
1861     {
1862       /* fixed_bit_values */
1863       -1ULL,
1864       0x2800000500000000ULL,
1865       -1ULL,
1866       -1ULL,
1867       -1ULL
1868     }
1869   },
1870   { "blez.sn", TILE_OPC_BLEZ_SN, 0x2 /* pipes */, 2 /* num_operands */,
1871     TREG_SN, /* implicitly_written_register */
1872     1, /* can_bundle */
1873     {
1874       /* operands */
1875       { 0, },
1876       { 10, 20 },
1877       { 0, },
1878       { 0, },
1879       { 0, }
1880     },
1881     {
1882       /* fixed_bit_masks */
1883       0ULL,
1884       0xfc00000780000000ULL,
1885       0ULL,
1886       0ULL,
1887       0ULL
1888     },
1889     {
1890       /* fixed_bit_values */
1891       -1ULL,
1892       0x2c00000500000000ULL,
1893       -1ULL,
1894       -1ULL,
1895       -1ULL
1896     }
1897   },
1898   { "blezt", TILE_OPC_BLEZT, 0x2 /* pipes */, 2 /* num_operands */,
1899     TREG_ZERO, /* implicitly_written_register */
1900     1, /* can_bundle */
1901     {
1902       /* operands */
1903       { 0, },
1904       { 10, 20 },
1905       { 0, },
1906       { 0, },
1907       { 0, }
1908     },
1909     {
1910       /* fixed_bit_masks */
1911       0ULL,
1912       0xfc00000780000000ULL,
1913       0ULL,
1914       0ULL,
1915       0ULL
1916     },
1917     {
1918       /* fixed_bit_values */
1919       -1ULL,
1920       0x2800000580000000ULL,
1921       -1ULL,
1922       -1ULL,
1923       -1ULL
1924     }
1925   },
1926   { "blezt.sn", TILE_OPC_BLEZT_SN, 0x2 /* pipes */, 2 /* num_operands */,
1927     TREG_SN, /* implicitly_written_register */
1928     1, /* can_bundle */
1929     {
1930       /* operands */
1931       { 0, },
1932       { 10, 20 },
1933       { 0, },
1934       { 0, },
1935       { 0, }
1936     },
1937     {
1938       /* fixed_bit_masks */
1939       0ULL,
1940       0xfc00000780000000ULL,
1941       0ULL,
1942       0ULL,
1943       0ULL
1944     },
1945     {
1946       /* fixed_bit_values */
1947       -1ULL,
1948       0x2c00000580000000ULL,
1949       -1ULL,
1950       -1ULL,
1951       -1ULL
1952     }
1953   },
1954   { "blz", TILE_OPC_BLZ, 0x2 /* pipes */, 2 /* num_operands */,
1955     TREG_ZERO, /* implicitly_written_register */
1956     1, /* can_bundle */
1957     {
1958       /* operands */
1959       { 0, },
1960       { 10, 20 },
1961       { 0, },
1962       { 0, },
1963       { 0, }
1964     },
1965     {
1966       /* fixed_bit_masks */
1967       0ULL,
1968       0xfc00000780000000ULL,
1969       0ULL,
1970       0ULL,
1971       0ULL
1972     },
1973     {
1974       /* fixed_bit_values */
1975       -1ULL,
1976       0x2800000400000000ULL,
1977       -1ULL,
1978       -1ULL,
1979       -1ULL
1980     }
1981   },
1982   { "blz.sn", TILE_OPC_BLZ_SN, 0x2 /* pipes */, 2 /* num_operands */,
1983     TREG_SN, /* implicitly_written_register */
1984     1, /* can_bundle */
1985     {
1986       /* operands */
1987       { 0, },
1988       { 10, 20 },
1989       { 0, },
1990       { 0, },
1991       { 0, }
1992     },
1993     {
1994       /* fixed_bit_masks */
1995       0ULL,
1996       0xfc00000780000000ULL,
1997       0ULL,
1998       0ULL,
1999       0ULL
2000     },
2001     {
2002       /* fixed_bit_values */
2003       -1ULL,
2004       0x2c00000400000000ULL,
2005       -1ULL,
2006       -1ULL,
2007       -1ULL
2008     }
2009   },
2010   { "blzt", TILE_OPC_BLZT, 0x2 /* pipes */, 2 /* num_operands */,
2011     TREG_ZERO, /* implicitly_written_register */
2012     1, /* can_bundle */
2013     {
2014       /* operands */
2015       { 0, },
2016       { 10, 20 },
2017       { 0, },
2018       { 0, },
2019       { 0, }
2020     },
2021     {
2022       /* fixed_bit_masks */
2023       0ULL,
2024       0xfc00000780000000ULL,
2025       0ULL,
2026       0ULL,
2027       0ULL
2028     },
2029     {
2030       /* fixed_bit_values */
2031       -1ULL,
2032       0x2800000480000000ULL,
2033       -1ULL,
2034       -1ULL,
2035       -1ULL
2036     }
2037   },
2038   { "blzt.sn", TILE_OPC_BLZT_SN, 0x2 /* pipes */, 2 /* num_operands */,
2039     TREG_SN, /* implicitly_written_register */
2040     1, /* can_bundle */
2041     {
2042       /* operands */
2043       { 0, },
2044       { 10, 20 },
2045       { 0, },
2046       { 0, },
2047       { 0, }
2048     },
2049     {
2050       /* fixed_bit_masks */
2051       0ULL,
2052       0xfc00000780000000ULL,
2053       0ULL,
2054       0ULL,
2055       0ULL
2056     },
2057     {
2058       /* fixed_bit_values */
2059       -1ULL,
2060       0x2c00000480000000ULL,
2061       -1ULL,
2062       -1ULL,
2063       -1ULL
2064     }
2065   },
2066   { "bnz", TILE_OPC_BNZ, 0x2 /* pipes */, 2 /* num_operands */,
2067     TREG_ZERO, /* implicitly_written_register */
2068     1, /* can_bundle */
2069     {
2070       /* operands */
2071       { 0, },
2072       { 10, 20 },
2073       { 0, },
2074       { 0, },
2075       { 0, }
2076     },
2077     {
2078       /* fixed_bit_masks */
2079       0ULL,
2080       0xfc00000780000000ULL,
2081       0ULL,
2082       0ULL,
2083       0ULL
2084     },
2085     {
2086       /* fixed_bit_values */
2087       -1ULL,
2088       0x2800000100000000ULL,
2089       -1ULL,
2090       -1ULL,
2091       -1ULL
2092     }
2093   },
2094   { "bnz.sn", TILE_OPC_BNZ_SN, 0x2 /* pipes */, 2 /* num_operands */,
2095     TREG_SN, /* implicitly_written_register */
2096     1, /* can_bundle */
2097     {
2098       /* operands */
2099       { 0, },
2100       { 10, 20 },
2101       { 0, },
2102       { 0, },
2103       { 0, }
2104     },
2105     {
2106       /* fixed_bit_masks */
2107       0ULL,
2108       0xfc00000780000000ULL,
2109       0ULL,
2110       0ULL,
2111       0ULL
2112     },
2113     {
2114       /* fixed_bit_values */
2115       -1ULL,
2116       0x2c00000100000000ULL,
2117       -1ULL,
2118       -1ULL,
2119       -1ULL
2120     }
2121   },
2122   { "bnzt", TILE_OPC_BNZT, 0x2 /* pipes */, 2 /* num_operands */,
2123     TREG_ZERO, /* implicitly_written_register */
2124     1, /* can_bundle */
2125     {
2126       /* operands */
2127       { 0, },
2128       { 10, 20 },
2129       { 0, },
2130       { 0, },
2131       { 0, }
2132     },
2133     {
2134       /* fixed_bit_masks */
2135       0ULL,
2136       0xfc00000780000000ULL,
2137       0ULL,
2138       0ULL,
2139       0ULL
2140     },
2141     {
2142       /* fixed_bit_values */
2143       -1ULL,
2144       0x2800000180000000ULL,
2145       -1ULL,
2146       -1ULL,
2147       -1ULL
2148     }
2149   },
2150   { "bnzt.sn", TILE_OPC_BNZT_SN, 0x2 /* pipes */, 2 /* num_operands */,
2151     TREG_SN, /* implicitly_written_register */
2152     1, /* can_bundle */
2153     {
2154       /* operands */
2155       { 0, },
2156       { 10, 20 },
2157       { 0, },
2158       { 0, },
2159       { 0, }
2160     },
2161     {
2162       /* fixed_bit_masks */
2163       0ULL,
2164       0xfc00000780000000ULL,
2165       0ULL,
2166       0ULL,
2167       0ULL
2168     },
2169     {
2170       /* fixed_bit_values */
2171       -1ULL,
2172       0x2c00000180000000ULL,
2173       -1ULL,
2174       -1ULL,
2175       -1ULL
2176     }
2177   },
2178   { "bytex", TILE_OPC_BYTEX, 0x5 /* pipes */, 2 /* num_operands */,
2179     TREG_ZERO, /* implicitly_written_register */
2180     1, /* can_bundle */
2181     {
2182       /* operands */
2183       { 7, 8 },
2184       { 0, },
2185       { 11, 12 },
2186       { 0, },
2187       { 0, }
2188     },
2189     {
2190       /* fixed_bit_masks */
2191       0x800000007ffff000ULL,
2192       0ULL,
2193       0x80000000780ff000ULL,
2194       0ULL,
2195       0ULL
2196     },
2197     {
2198       /* fixed_bit_values */
2199       0x0000000070162000ULL,
2200       -1ULL,
2201       0x80000000680a2000ULL,
2202       -1ULL,
2203       -1ULL
2204     }
2205   },
2206   { "bytex.sn", TILE_OPC_BYTEX_SN, 0x1 /* pipes */, 2 /* num_operands */,
2207     TREG_SN, /* implicitly_written_register */
2208     1, /* can_bundle */
2209     {
2210       /* operands */
2211       { 7, 8 },
2212       { 0, },
2213       { 0, },
2214       { 0, },
2215       { 0, }
2216     },
2217     {
2218       /* fixed_bit_masks */
2219       0x800000007ffff000ULL,
2220       0ULL,
2221       0ULL,
2222       0ULL,
2223       0ULL
2224     },
2225     {
2226       /* fixed_bit_values */
2227       0x0000000078162000ULL,
2228       -1ULL,
2229       -1ULL,
2230       -1ULL,
2231       -1ULL
2232     }
2233   },
2234   { "bz", TILE_OPC_BZ, 0x2 /* pipes */, 2 /* num_operands */,
2235     TREG_ZERO, /* implicitly_written_register */
2236     1, /* can_bundle */
2237     {
2238       /* operands */
2239       { 0, },
2240       { 10, 20 },
2241       { 0, },
2242       { 0, },
2243       { 0, }
2244     },
2245     {
2246       /* fixed_bit_masks */
2247       0ULL,
2248       0xfc00000780000000ULL,
2249       0ULL,
2250       0ULL,
2251       0ULL
2252     },
2253     {
2254       /* fixed_bit_values */
2255       -1ULL,
2256       0x2800000000000000ULL,
2257       -1ULL,
2258       -1ULL,
2259       -1ULL
2260     }
2261   },
2262   { "bz.sn", TILE_OPC_BZ_SN, 0x2 /* pipes */, 2 /* num_operands */,
2263     TREG_SN, /* implicitly_written_register */
2264     1, /* can_bundle */
2265     {
2266       /* operands */
2267       { 0, },
2268       { 10, 20 },
2269       { 0, },
2270       { 0, },
2271       { 0, }
2272     },
2273     {
2274       /* fixed_bit_masks */
2275       0ULL,
2276       0xfc00000780000000ULL,
2277       0ULL,
2278       0ULL,
2279       0ULL
2280     },
2281     {
2282       /* fixed_bit_values */
2283       -1ULL,
2284       0x2c00000000000000ULL,
2285       -1ULL,
2286       -1ULL,
2287       -1ULL
2288     }
2289   },
2290   { "bzt", TILE_OPC_BZT, 0x2 /* pipes */, 2 /* num_operands */,
2291     TREG_ZERO, /* implicitly_written_register */
2292     1, /* can_bundle */
2293     {
2294       /* operands */
2295       { 0, },
2296       { 10, 20 },
2297       { 0, },
2298       { 0, },
2299       { 0, }
2300     },
2301     {
2302       /* fixed_bit_masks */
2303       0ULL,
2304       0xfc00000780000000ULL,
2305       0ULL,
2306       0ULL,
2307       0ULL
2308     },
2309     {
2310       /* fixed_bit_values */
2311       -1ULL,
2312       0x2800000080000000ULL,
2313       -1ULL,
2314       -1ULL,
2315       -1ULL
2316     }
2317   },
2318   { "bzt.sn", TILE_OPC_BZT_SN, 0x2 /* pipes */, 2 /* num_operands */,
2319     TREG_SN, /* implicitly_written_register */
2320     1, /* can_bundle */
2321     {
2322       /* operands */
2323       { 0, },
2324       { 10, 20 },
2325       { 0, },
2326       { 0, },
2327       { 0, }
2328     },
2329     {
2330       /* fixed_bit_masks */
2331       0ULL,
2332       0xfc00000780000000ULL,
2333       0ULL,
2334       0ULL,
2335       0ULL
2336     },
2337     {
2338       /* fixed_bit_values */
2339       -1ULL,
2340       0x2c00000080000000ULL,
2341       -1ULL,
2342       -1ULL,
2343       -1ULL
2344     }
2345   },
2346   { "clz", TILE_OPC_CLZ, 0x5 /* pipes */, 2 /* num_operands */,
2347     TREG_ZERO, /* implicitly_written_register */
2348     1, /* can_bundle */
2349     {
2350       /* operands */
2351       { 7, 8 },
2352       { 0, },
2353       { 11, 12 },
2354       { 0, },
2355       { 0, }
2356     },
2357     {
2358       /* fixed_bit_masks */
2359       0x800000007ffff000ULL,
2360       0ULL,
2361       0x80000000780ff000ULL,
2362       0ULL,
2363       0ULL
2364     },
2365     {
2366       /* fixed_bit_values */
2367       0x0000000070163000ULL,
2368       -1ULL,
2369       0x80000000680a3000ULL,
2370       -1ULL,
2371       -1ULL
2372     }
2373   },
2374   { "clz.sn", TILE_OPC_CLZ_SN, 0x1 /* pipes */, 2 /* num_operands */,
2375     TREG_SN, /* implicitly_written_register */
2376     1, /* can_bundle */
2377     {
2378       /* operands */
2379       { 7, 8 },
2380       { 0, },
2381       { 0, },
2382       { 0, },
2383       { 0, }
2384     },
2385     {
2386       /* fixed_bit_masks */
2387       0x800000007ffff000ULL,
2388       0ULL,
2389       0ULL,
2390       0ULL,
2391       0ULL
2392     },
2393     {
2394       /* fixed_bit_values */
2395       0x0000000078163000ULL,
2396       -1ULL,
2397       -1ULL,
2398       -1ULL,
2399       -1ULL
2400     }
2401   },
2402   { "crc32_32", TILE_OPC_CRC32_32, 0x1 /* pipes */, 3 /* num_operands */,
2403     TREG_ZERO, /* implicitly_written_register */
2404     1, /* can_bundle */
2405     {
2406       /* operands */
2407       { 7, 8, 16 },
2408       { 0, },
2409       { 0, },
2410       { 0, },
2411       { 0, }
2412     },
2413     {
2414       /* fixed_bit_masks */
2415       0x800000007ffc0000ULL,
2416       0ULL,
2417       0ULL,
2418       0ULL,
2419       0ULL
2420     },
2421     {
2422       /* fixed_bit_values */
2423       0x0000000000240000ULL,
2424       -1ULL,
2425       -1ULL,
2426       -1ULL,
2427       -1ULL
2428     }
2429   },
2430   { "crc32_32.sn", TILE_OPC_CRC32_32_SN, 0x1 /* pipes */, 3 /* num_operands */,
2431     TREG_SN, /* implicitly_written_register */
2432     1, /* can_bundle */
2433     {
2434       /* operands */
2435       { 7, 8, 16 },
2436       { 0, },
2437       { 0, },
2438       { 0, },
2439       { 0, }
2440     },
2441     {
2442       /* fixed_bit_masks */
2443       0x800000007ffc0000ULL,
2444       0ULL,
2445       0ULL,
2446       0ULL,
2447       0ULL
2448     },
2449     {
2450       /* fixed_bit_values */
2451       0x0000000008240000ULL,
2452       -1ULL,
2453       -1ULL,
2454       -1ULL,
2455       -1ULL
2456     }
2457   },
2458   { "crc32_8", TILE_OPC_CRC32_8, 0x1 /* pipes */, 3 /* num_operands */,
2459     TREG_ZERO, /* implicitly_written_register */
2460     1, /* can_bundle */
2461     {
2462       /* operands */
2463       { 7, 8, 16 },
2464       { 0, },
2465       { 0, },
2466       { 0, },
2467       { 0, }
2468     },
2469     {
2470       /* fixed_bit_masks */
2471       0x800000007ffc0000ULL,
2472       0ULL,
2473       0ULL,
2474       0ULL,
2475       0ULL
2476     },
2477     {
2478       /* fixed_bit_values */
2479       0x0000000000280000ULL,
2480       -1ULL,
2481       -1ULL,
2482       -1ULL,
2483       -1ULL
2484     }
2485   },
2486   { "crc32_8.sn", TILE_OPC_CRC32_8_SN, 0x1 /* pipes */, 3 /* num_operands */,
2487     TREG_SN, /* implicitly_written_register */
2488     1, /* can_bundle */
2489     {
2490       /* operands */
2491       { 7, 8, 16 },
2492       { 0, },
2493       { 0, },
2494       { 0, },
2495       { 0, }
2496     },
2497     {
2498       /* fixed_bit_masks */
2499       0x800000007ffc0000ULL,
2500       0ULL,
2501       0ULL,
2502       0ULL,
2503       0ULL
2504     },
2505     {
2506       /* fixed_bit_values */
2507       0x0000000008280000ULL,
2508       -1ULL,
2509       -1ULL,
2510       -1ULL,
2511       -1ULL
2512     }
2513   },
2514   { "ctz", TILE_OPC_CTZ, 0x5 /* pipes */, 2 /* num_operands */,
2515     TREG_ZERO, /* implicitly_written_register */
2516     1, /* can_bundle */
2517     {
2518       /* operands */
2519       { 7, 8 },
2520       { 0, },
2521       { 11, 12 },
2522       { 0, },
2523       { 0, }
2524     },
2525     {
2526       /* fixed_bit_masks */
2527       0x800000007ffff000ULL,
2528       0ULL,
2529       0x80000000780ff000ULL,
2530       0ULL,
2531       0ULL
2532     },
2533     {
2534       /* fixed_bit_values */
2535       0x0000000070164000ULL,
2536       -1ULL,
2537       0x80000000680a4000ULL,
2538       -1ULL,
2539       -1ULL
2540     }
2541   },
2542   { "ctz.sn", TILE_OPC_CTZ_SN, 0x1 /* pipes */, 2 /* num_operands */,
2543     TREG_SN, /* implicitly_written_register */
2544     1, /* can_bundle */
2545     {
2546       /* operands */
2547       { 7, 8 },
2548       { 0, },
2549       { 0, },
2550       { 0, },
2551       { 0, }
2552     },
2553     {
2554       /* fixed_bit_masks */
2555       0x800000007ffff000ULL,
2556       0ULL,
2557       0ULL,
2558       0ULL,
2559       0ULL
2560     },
2561     {
2562       /* fixed_bit_values */
2563       0x0000000078164000ULL,
2564       -1ULL,
2565       -1ULL,
2566       -1ULL,
2567       -1ULL
2568     }
2569   },
2570   { "drain", TILE_OPC_DRAIN, 0x2 /* pipes */, 0 /* num_operands */,
2571     TREG_ZERO, /* implicitly_written_register */
2572     0, /* can_bundle */
2573     {
2574       /* operands */
2575       { 0, },
2576       {  },
2577       { 0, },
2578       { 0, },
2579       { 0, }
2580     },
2581     {
2582       /* fixed_bit_masks */
2583       0ULL,
2584       0xfbfff80000000000ULL,
2585       0ULL,
2586       0ULL,
2587       0ULL
2588     },
2589     {
2590       /* fixed_bit_values */
2591       -1ULL,
2592       0x400b080000000000ULL,
2593       -1ULL,
2594       -1ULL,
2595       -1ULL
2596     }
2597   },
2598   { "dtlbpr", TILE_OPC_DTLBPR, 0x2 /* pipes */, 1 /* num_operands */,
2599     TREG_ZERO, /* implicitly_written_register */
2600     1, /* can_bundle */
2601     {
2602       /* operands */
2603       { 0, },
2604       { 10 },
2605       { 0, },
2606       { 0, },
2607       { 0, }
2608     },
2609     {
2610       /* fixed_bit_masks */
2611       0ULL,
2612       0xfbfff80000000000ULL,
2613       0ULL,
2614       0ULL,
2615       0ULL
2616     },
2617     {
2618       /* fixed_bit_values */
2619       -1ULL,
2620       0x400b100000000000ULL,
2621       -1ULL,
2622       -1ULL,
2623       -1ULL
2624     }
2625   },
2626   { "dword_align", TILE_OPC_DWORD_ALIGN, 0x1 /* pipes */, 3 /* num_operands */,
2627     TREG_ZERO, /* implicitly_written_register */
2628     1, /* can_bundle */
2629     {
2630       /* operands */
2631       { 21, 8, 16 },
2632       { 0, },
2633       { 0, },
2634       { 0, },
2635       { 0, }
2636     },
2637     {
2638       /* fixed_bit_masks */
2639       0x800000007ffc0000ULL,
2640       0ULL,
2641       0ULL,
2642       0ULL,
2643       0ULL
2644     },
2645     {
2646       /* fixed_bit_values */
2647       0x00000000017c0000ULL,
2648       -1ULL,
2649       -1ULL,
2650       -1ULL,
2651       -1ULL
2652     }
2653   },
2654   { "dword_align.sn", TILE_OPC_DWORD_ALIGN_SN, 0x1 /* pipes */, 3 /* num_operands */,
2655     TREG_SN, /* implicitly_written_register */
2656     1, /* can_bundle */
2657     {
2658       /* operands */
2659       { 21, 8, 16 },
2660       { 0, },
2661       { 0, },
2662       { 0, },
2663       { 0, }
2664     },
2665     {
2666       /* fixed_bit_masks */
2667       0x800000007ffc0000ULL,
2668       0ULL,
2669       0ULL,
2670       0ULL,
2671       0ULL
2672     },
2673     {
2674       /* fixed_bit_values */
2675       0x00000000097c0000ULL,
2676       -1ULL,
2677       -1ULL,
2678       -1ULL,
2679       -1ULL
2680     }
2681   },
2682   { "finv", TILE_OPC_FINV, 0x2 /* pipes */, 1 /* num_operands */,
2683     TREG_ZERO, /* implicitly_written_register */
2684     1, /* can_bundle */
2685     {
2686       /* operands */
2687       { 0, },
2688       { 10 },
2689       { 0, },
2690       { 0, },
2691       { 0, }
2692     },
2693     {
2694       /* fixed_bit_masks */
2695       0ULL,
2696       0xfbfff80000000000ULL,
2697       0ULL,
2698       0ULL,
2699       0ULL
2700     },
2701     {
2702       /* fixed_bit_values */
2703       -1ULL,
2704       0x400b180000000000ULL,
2705       -1ULL,
2706       -1ULL,
2707       -1ULL
2708     }
2709   },
2710   { "flush", TILE_OPC_FLUSH, 0x2 /* pipes */, 1 /* num_operands */,
2711     TREG_ZERO, /* implicitly_written_register */
2712     1, /* can_bundle */
2713     {
2714       /* operands */
2715       { 0, },
2716       { 10 },
2717       { 0, },
2718       { 0, },
2719       { 0, }
2720     },
2721     {
2722       /* fixed_bit_masks */
2723       0ULL,
2724       0xfbfff80000000000ULL,
2725       0ULL,
2726       0ULL,
2727       0ULL
2728     },
2729     {
2730       /* fixed_bit_values */
2731       -1ULL,
2732       0x400b200000000000ULL,
2733       -1ULL,
2734       -1ULL,
2735       -1ULL
2736     }
2737   },
2738   { "fnop", TILE_OPC_FNOP, 0xf /* pipes */, 0 /* num_operands */,
2739     TREG_ZERO, /* implicitly_written_register */
2740     1, /* can_bundle */
2741     {
2742       /* operands */
2743       {  },
2744       {  },
2745       {  },
2746       {  },
2747       { 0, }
2748     },
2749     {
2750       /* fixed_bit_masks */
2751       0x8000000077fff000ULL,
2752       0xfbfff80000000000ULL,
2753       0x80000000780ff000ULL,
2754       0xf807f80000000000ULL,
2755       0ULL
2756     },
2757     {
2758       /* fixed_bit_values */
2759       0x0000000070165000ULL,
2760       0x400b280000000000ULL,
2761       0x80000000680a5000ULL,
2762       0xd805080000000000ULL,
2763       -1ULL
2764     }
2765   },
2766   { "icoh", TILE_OPC_ICOH, 0x2 /* pipes */, 1 /* num_operands */,
2767     TREG_ZERO, /* implicitly_written_register */
2768     1, /* can_bundle */
2769     {
2770       /* operands */
2771       { 0, },
2772       { 10 },
2773       { 0, },
2774       { 0, },
2775       { 0, }
2776     },
2777     {
2778       /* fixed_bit_masks */
2779       0ULL,
2780       0xfbfff80000000000ULL,
2781       0ULL,
2782       0ULL,
2783       0ULL
2784     },
2785     {
2786       /* fixed_bit_values */
2787       -1ULL,
2788       0x400b300000000000ULL,
2789       -1ULL,
2790       -1ULL,
2791       -1ULL
2792     }
2793   },
2794   { "ill", TILE_OPC_ILL, 0xa /* pipes */, 0 /* num_operands */,
2795     TREG_ZERO, /* implicitly_written_register */
2796     1, /* can_bundle */
2797     {
2798       /* operands */
2799       { 0, },
2800       {  },
2801       { 0, },
2802       {  },
2803       { 0, }
2804     },
2805     {
2806       /* fixed_bit_masks */
2807       0ULL,
2808       0xfbfff80000000000ULL,
2809       0ULL,
2810       0xf807f80000000000ULL,
2811       0ULL
2812     },
2813     {
2814       /* fixed_bit_values */
2815       -1ULL,
2816       0x400b380000000000ULL,
2817       -1ULL,
2818       0xd805100000000000ULL,
2819       -1ULL
2820     }
2821   },
2822   { "inthb", TILE_OPC_INTHB, 0x3 /* pipes */, 3 /* num_operands */,
2823     TREG_ZERO, /* implicitly_written_register */
2824     1, /* can_bundle */
2825     {
2826       /* operands */
2827       { 7, 8, 16 },
2828       { 9, 10, 17 },
2829       { 0, },
2830       { 0, },
2831       { 0, }
2832     },
2833     {
2834       /* fixed_bit_masks */
2835       0x800000007ffc0000ULL,
2836       0xfffe000000000000ULL,
2837       0ULL,
2838       0ULL,
2839       0ULL
2840     },
2841     {
2842       /* fixed_bit_values */
2843       0x00000000002c0000ULL,
2844       0x080a000000000000ULL,
2845       -1ULL,
2846       -1ULL,
2847       -1ULL
2848     }
2849   },
2850   { "inthb.sn", TILE_OPC_INTHB_SN, 0x3 /* pipes */, 3 /* num_operands */,
2851     TREG_SN, /* implicitly_written_register */
2852     1, /* can_bundle */
2853     {
2854       /* operands */
2855       { 7, 8, 16 },
2856       { 9, 10, 17 },
2857       { 0, },
2858       { 0, },
2859       { 0, }
2860     },
2861     {
2862       /* fixed_bit_masks */
2863       0x800000007ffc0000ULL,
2864       0xfffe000000000000ULL,
2865       0ULL,
2866       0ULL,
2867       0ULL
2868     },
2869     {
2870       /* fixed_bit_values */
2871       0x00000000082c0000ULL,
2872       0x0c0a000000000000ULL,
2873       -1ULL,
2874       -1ULL,
2875       -1ULL
2876     }
2877   },
2878   { "inthh", TILE_OPC_INTHH, 0x3 /* pipes */, 3 /* num_operands */,
2879     TREG_ZERO, /* implicitly_written_register */
2880     1, /* can_bundle */
2881     {
2882       /* operands */
2883       { 7, 8, 16 },
2884       { 9, 10, 17 },
2885       { 0, },
2886       { 0, },
2887       { 0, }
2888     },
2889     {
2890       /* fixed_bit_masks */
2891       0x800000007ffc0000ULL,
2892       0xfffe000000000000ULL,
2893       0ULL,
2894       0ULL,
2895       0ULL
2896     },
2897     {
2898       /* fixed_bit_values */
2899       0x0000000000300000ULL,
2900       0x080c000000000000ULL,
2901       -1ULL,
2902       -1ULL,
2903       -1ULL
2904     }
2905   },
2906   { "inthh.sn", TILE_OPC_INTHH_SN, 0x3 /* pipes */, 3 /* num_operands */,
2907     TREG_SN, /* implicitly_written_register */
2908     1, /* can_bundle */
2909     {
2910       /* operands */
2911       { 7, 8, 16 },
2912       { 9, 10, 17 },
2913       { 0, },
2914       { 0, },
2915       { 0, }
2916     },
2917     {
2918       /* fixed_bit_masks */
2919       0x800000007ffc0000ULL,
2920       0xfffe000000000000ULL,
2921       0ULL,
2922       0ULL,
2923       0ULL
2924     },
2925     {
2926       /* fixed_bit_values */
2927       0x0000000008300000ULL,
2928       0x0c0c000000000000ULL,
2929       -1ULL,
2930       -1ULL,
2931       -1ULL
2932     }
2933   },
2934   { "intlb", TILE_OPC_INTLB, 0x3 /* pipes */, 3 /* num_operands */,
2935     TREG_ZERO, /* implicitly_written_register */
2936     1, /* can_bundle */
2937     {
2938       /* operands */
2939       { 7, 8, 16 },
2940       { 9, 10, 17 },
2941       { 0, },
2942       { 0, },
2943       { 0, }
2944     },
2945     {
2946       /* fixed_bit_masks */
2947       0x800000007ffc0000ULL,
2948       0xfffe000000000000ULL,
2949       0ULL,
2950       0ULL,
2951       0ULL
2952     },
2953     {
2954       /* fixed_bit_values */
2955       0x0000000000340000ULL,
2956       0x080e000000000000ULL,
2957       -1ULL,
2958       -1ULL,
2959       -1ULL
2960     }
2961   },
2962   { "intlb.sn", TILE_OPC_INTLB_SN, 0x3 /* pipes */, 3 /* num_operands */,
2963     TREG_SN, /* implicitly_written_register */
2964     1, /* can_bundle */
2965     {
2966       /* operands */
2967       { 7, 8, 16 },
2968       { 9, 10, 17 },
2969       { 0, },
2970       { 0, },
2971       { 0, }
2972     },
2973     {
2974       /* fixed_bit_masks */
2975       0x800000007ffc0000ULL,
2976       0xfffe000000000000ULL,
2977       0ULL,
2978       0ULL,
2979       0ULL
2980     },
2981     {
2982       /* fixed_bit_values */
2983       0x0000000008340000ULL,
2984       0x0c0e000000000000ULL,
2985       -1ULL,
2986       -1ULL,
2987       -1ULL
2988     }
2989   },
2990   { "intlh", TILE_OPC_INTLH, 0x3 /* pipes */, 3 /* num_operands */,
2991     TREG_ZERO, /* implicitly_written_register */
2992     1, /* can_bundle */
2993     {
2994       /* operands */
2995       { 7, 8, 16 },
2996       { 9, 10, 17 },
2997       { 0, },
2998       { 0, },
2999       { 0, }
3000     },
3001     {
3002       /* fixed_bit_masks */
3003       0x800000007ffc0000ULL,
3004       0xfffe000000000000ULL,
3005       0ULL,
3006       0ULL,
3007       0ULL
3008     },
3009     {
3010       /* fixed_bit_values */
3011       0x0000000000380000ULL,
3012       0x0810000000000000ULL,
3013       -1ULL,
3014       -1ULL,
3015       -1ULL
3016     }
3017   },
3018   { "intlh.sn", TILE_OPC_INTLH_SN, 0x3 /* pipes */, 3 /* num_operands */,
3019     TREG_SN, /* implicitly_written_register */
3020     1, /* can_bundle */
3021     {
3022       /* operands */
3023       { 7, 8, 16 },
3024       { 9, 10, 17 },
3025       { 0, },
3026       { 0, },
3027       { 0, }
3028     },
3029     {
3030       /* fixed_bit_masks */
3031       0x800000007ffc0000ULL,
3032       0xfffe000000000000ULL,
3033       0ULL,
3034       0ULL,
3035       0ULL
3036     },
3037     {
3038       /* fixed_bit_values */
3039       0x0000000008380000ULL,
3040       0x0c10000000000000ULL,
3041       -1ULL,
3042       -1ULL,
3043       -1ULL
3044     }
3045   },
3046   { "inv", TILE_OPC_INV, 0x2 /* pipes */, 1 /* num_operands */,
3047     TREG_ZERO, /* implicitly_written_register */
3048     1, /* can_bundle */
3049     {
3050       /* operands */
3051       { 0, },
3052       { 10 },
3053       { 0, },
3054       { 0, },
3055       { 0, }
3056     },
3057     {
3058       /* fixed_bit_masks */
3059       0ULL,
3060       0xfbfff80000000000ULL,
3061       0ULL,
3062       0ULL,
3063       0ULL
3064     },
3065     {
3066       /* fixed_bit_values */
3067       -1ULL,
3068       0x400b400000000000ULL,
3069       -1ULL,
3070       -1ULL,
3071       -1ULL
3072     }
3073   },
3074   { "iret", TILE_OPC_IRET, 0x2 /* pipes */, 0 /* num_operands */,
3075     TREG_ZERO, /* implicitly_written_register */
3076     1, /* can_bundle */
3077     {
3078       /* operands */
3079       { 0, },
3080       {  },
3081       { 0, },
3082       { 0, },
3083       { 0, }
3084     },
3085     {
3086       /* fixed_bit_masks */
3087       0ULL,
3088       0xfbfff80000000000ULL,
3089       0ULL,
3090       0ULL,
3091       0ULL
3092     },
3093     {
3094       /* fixed_bit_values */
3095       -1ULL,
3096       0x400b480000000000ULL,
3097       -1ULL,
3098       -1ULL,
3099       -1ULL
3100     }
3101   },
3102   { "jalb", TILE_OPC_JALB, 0x2 /* pipes */, 1 /* num_operands */,
3103     TREG_LR, /* implicitly_written_register */
3104     1, /* can_bundle */
3105     {
3106       /* operands */
3107       { 0, },
3108       { 22 },
3109       { 0, },
3110       { 0, },
3111       { 0, }
3112     },
3113     {
3114       /* fixed_bit_masks */
3115       0ULL,
3116       0xf800000000000000ULL,
3117       0ULL,
3118       0ULL,
3119       0ULL
3120     },
3121     {
3122       /* fixed_bit_values */
3123       -1ULL,
3124       0x6800000000000000ULL,
3125       -1ULL,
3126       -1ULL,
3127       -1ULL
3128     }
3129   },
3130   { "jalf", TILE_OPC_JALF, 0x2 /* pipes */, 1 /* num_operands */,
3131     TREG_LR, /* implicitly_written_register */
3132     1, /* can_bundle */
3133     {
3134       /* operands */
3135       { 0, },
3136       { 22 },
3137       { 0, },
3138       { 0, },
3139       { 0, }
3140     },
3141     {
3142       /* fixed_bit_masks */
3143       0ULL,
3144       0xf800000000000000ULL,
3145       0ULL,
3146       0ULL,
3147       0ULL
3148     },
3149     {
3150       /* fixed_bit_values */
3151       -1ULL,
3152       0x6000000000000000ULL,
3153       -1ULL,
3154       -1ULL,
3155       -1ULL
3156     }
3157   },
3158   { "jalr", TILE_OPC_JALR, 0x2 /* pipes */, 1 /* num_operands */,
3159     TREG_LR, /* implicitly_written_register */
3160     1, /* can_bundle */
3161     {
3162       /* operands */
3163       { 0, },
3164       { 10 },
3165       { 0, },
3166       { 0, },
3167       { 0, }
3168     },
3169     {
3170       /* fixed_bit_masks */
3171       0ULL,
3172       0xfbfe000000000000ULL,
3173       0ULL,
3174       0ULL,
3175       0ULL
3176     },
3177     {
3178       /* fixed_bit_values */
3179       -1ULL,
3180       0x0814000000000000ULL,
3181       -1ULL,
3182       -1ULL,
3183       -1ULL
3184     }
3185   },
3186   { "jalrp", TILE_OPC_JALRP, 0x2 /* pipes */, 1 /* num_operands */,
3187     TREG_LR, /* implicitly_written_register */
3188     1, /* can_bundle */
3189     {
3190       /* operands */
3191       { 0, },
3192       { 10 },
3193       { 0, },
3194       { 0, },
3195       { 0, }
3196     },
3197     {
3198       /* fixed_bit_masks */
3199       0ULL,
3200       0xfbfe000000000000ULL,
3201       0ULL,
3202       0ULL,
3203       0ULL
3204     },
3205     {
3206       /* fixed_bit_values */
3207       -1ULL,
3208       0x0812000000000000ULL,
3209       -1ULL,
3210       -1ULL,
3211       -1ULL
3212     }
3213   },
3214   { "jb", TILE_OPC_JB, 0x2 /* pipes */, 1 /* num_operands */,
3215     TREG_ZERO, /* implicitly_written_register */
3216     1, /* can_bundle */
3217     {
3218       /* operands */
3219       { 0, },
3220       { 22 },
3221       { 0, },
3222       { 0, },
3223       { 0, }
3224     },
3225     {
3226       /* fixed_bit_masks */
3227       0ULL,
3228       0xf800000000000000ULL,
3229       0ULL,
3230       0ULL,
3231       0ULL
3232     },
3233     {
3234       /* fixed_bit_values */
3235       -1ULL,
3236       0x5800000000000000ULL,
3237       -1ULL,
3238       -1ULL,
3239       -1ULL
3240     }
3241   },
3242   { "jf", TILE_OPC_JF, 0x2 /* pipes */, 1 /* num_operands */,
3243     TREG_ZERO, /* implicitly_written_register */
3244     1, /* can_bundle */
3245     {
3246       /* operands */
3247       { 0, },
3248       { 22 },
3249       { 0, },
3250       { 0, },
3251       { 0, }
3252     },
3253     {
3254       /* fixed_bit_masks */
3255       0ULL,
3256       0xf800000000000000ULL,
3257       0ULL,
3258       0ULL,
3259       0ULL
3260     },
3261     {
3262       /* fixed_bit_values */
3263       -1ULL,
3264       0x5000000000000000ULL,
3265       -1ULL,
3266       -1ULL,
3267       -1ULL
3268     }
3269   },
3270   { "jr", TILE_OPC_JR, 0x2 /* pipes */, 1 /* num_operands */,
3271     TREG_ZERO, /* implicitly_written_register */
3272     1, /* can_bundle */
3273     {
3274       /* operands */
3275       { 0, },
3276       { 10 },
3277       { 0, },
3278       { 0, },
3279       { 0, }
3280     },
3281     {
3282       /* fixed_bit_masks */
3283       0ULL,
3284       0xfbfe000000000000ULL,
3285       0ULL,
3286       0ULL,
3287       0ULL
3288     },
3289     {
3290       /* fixed_bit_values */
3291       -1ULL,
3292       0x0818000000000000ULL,
3293       -1ULL,
3294       -1ULL,
3295       -1ULL
3296     }
3297   },
3298   { "jrp", TILE_OPC_JRP, 0x2 /* pipes */, 1 /* num_operands */,
3299     TREG_ZERO, /* implicitly_written_register */
3300     1, /* can_bundle */
3301     {
3302       /* operands */
3303       { 0, },
3304       { 10 },
3305       { 0, },
3306       { 0, },
3307       { 0, }
3308     },
3309     {
3310       /* fixed_bit_masks */
3311       0ULL,
3312       0xfbfe000000000000ULL,
3313       0ULL,
3314       0ULL,
3315       0ULL
3316     },
3317     {
3318       /* fixed_bit_values */
3319       -1ULL,
3320       0x0816000000000000ULL,
3321       -1ULL,
3322       -1ULL,
3323       -1ULL
3324     }
3325   },
3326   { "lb", TILE_OPC_LB, 0x12 /* pipes */, 2 /* num_operands */,
3327     TREG_ZERO, /* implicitly_written_register */
3328     1, /* can_bundle */
3329     {
3330       /* operands */
3331       { 0, },
3332       { 9, 10 },
3333       { 0, },
3334       { 0, },
3335       { 23, 15 }
3336     },
3337     {
3338       /* fixed_bit_masks */
3339       0ULL,
3340       0xfffff80000000000ULL,
3341       0ULL,
3342       0ULL,
3343       0x8700000000000000ULL
3344     },
3345     {
3346       /* fixed_bit_values */
3347       -1ULL,
3348       0x400b500000000000ULL,
3349       -1ULL,
3350       -1ULL,
3351       0x8000000000000000ULL
3352     }
3353   },
3354   { "lb.sn", TILE_OPC_LB_SN, 0x2 /* pipes */, 2 /* num_operands */,
3355     TREG_SN, /* implicitly_written_register */
3356     1, /* can_bundle */
3357     {
3358       /* operands */
3359       { 0, },
3360       { 9, 10 },
3361       { 0, },
3362       { 0, },
3363       { 0, }
3364     },
3365     {
3366       /* fixed_bit_masks */
3367       0ULL,
3368       0xfffff80000000000ULL,
3369       0ULL,
3370       0ULL,
3371       0ULL
3372     },
3373     {
3374       /* fixed_bit_values */
3375       -1ULL,
3376       0x440b500000000000ULL,
3377       -1ULL,
3378       -1ULL,
3379       -1ULL
3380     }
3381   },
3382   { "lb_u", TILE_OPC_LB_U, 0x12 /* pipes */, 2 /* num_operands */,
3383     TREG_ZERO, /* implicitly_written_register */
3384     1, /* can_bundle */
3385     {
3386       /* operands */
3387       { 0, },
3388       { 9, 10 },
3389       { 0, },
3390       { 0, },
3391       { 23, 15 }
3392     },
3393     {
3394       /* fixed_bit_masks */
3395       0ULL,
3396       0xfffff80000000000ULL,
3397       0ULL,
3398       0ULL,
3399       0x8700000000000000ULL
3400     },
3401     {
3402       /* fixed_bit_values */
3403       -1ULL,
3404       0x400b580000000000ULL,
3405       -1ULL,
3406       -1ULL,
3407       0x8100000000000000ULL
3408     }
3409   },
3410   { "lb_u.sn", TILE_OPC_LB_U_SN, 0x2 /* pipes */, 2 /* num_operands */,
3411     TREG_SN, /* implicitly_written_register */
3412     1, /* can_bundle */
3413     {
3414       /* operands */
3415       { 0, },
3416       { 9, 10 },
3417       { 0, },
3418       { 0, },
3419       { 0, }
3420     },
3421     {
3422       /* fixed_bit_masks */
3423       0ULL,
3424       0xfffff80000000000ULL,
3425       0ULL,
3426       0ULL,
3427       0ULL
3428     },
3429     {
3430       /* fixed_bit_values */
3431       -1ULL,
3432       0x440b580000000000ULL,
3433       -1ULL,
3434       -1ULL,
3435       -1ULL
3436     }
3437   },
3438   { "lbadd", TILE_OPC_LBADD, 0x2 /* pipes */, 3 /* num_operands */,
3439     TREG_ZERO, /* implicitly_written_register */
3440     1, /* can_bundle */
3441     {
3442       /* operands */
3443       { 0, },
3444       { 9, 24, 1 },
3445       { 0, },
3446       { 0, },
3447       { 0, }
3448     },
3449     {
3450       /* fixed_bit_masks */
3451       0ULL,
3452       0xfff8000000000000ULL,
3453       0ULL,
3454       0ULL,
3455       0ULL
3456     },
3457     {
3458       /* fixed_bit_values */
3459       -1ULL,
3460       0x30b0000000000000ULL,
3461       -1ULL,
3462       -1ULL,
3463       -1ULL
3464     }
3465   },
3466   { "lbadd.sn", TILE_OPC_LBADD_SN, 0x2 /* pipes */, 3 /* num_operands */,
3467     TREG_SN, /* implicitly_written_register */
3468     1, /* can_bundle */
3469     {
3470       /* operands */
3471       { 0, },
3472       { 9, 24, 1 },
3473       { 0, },
3474       { 0, },
3475       { 0, }
3476     },
3477     {
3478       /* fixed_bit_masks */
3479       0ULL,
3480       0xfff8000000000000ULL,
3481       0ULL,
3482       0ULL,
3483       0ULL
3484     },
3485     {
3486       /* fixed_bit_values */
3487       -1ULL,
3488       0x34b0000000000000ULL,
3489       -1ULL,
3490       -1ULL,
3491       -1ULL
3492     }
3493   },
3494   { "lbadd_u", TILE_OPC_LBADD_U, 0x2 /* pipes */, 3 /* num_operands */,
3495     TREG_ZERO, /* implicitly_written_register */
3496     1, /* can_bundle */
3497     {
3498       /* operands */
3499       { 0, },
3500       { 9, 24, 1 },
3501       { 0, },
3502       { 0, },
3503       { 0, }
3504     },
3505     {
3506       /* fixed_bit_masks */
3507       0ULL,
3508       0xfff8000000000000ULL,
3509       0ULL,
3510       0ULL,
3511       0ULL
3512     },
3513     {
3514       /* fixed_bit_values */
3515       -1ULL,
3516       0x30b8000000000000ULL,
3517       -1ULL,
3518       -1ULL,
3519       -1ULL
3520     }
3521   },
3522   { "lbadd_u.sn", TILE_OPC_LBADD_U_SN, 0x2 /* pipes */, 3 /* num_operands */,
3523     TREG_SN, /* implicitly_written_register */
3524     1, /* can_bundle */
3525     {
3526       /* operands */
3527       { 0, },
3528       { 9, 24, 1 },
3529       { 0, },
3530       { 0, },
3531       { 0, }
3532     },
3533     {
3534       /* fixed_bit_masks */
3535       0ULL,
3536       0xfff8000000000000ULL,
3537       0ULL,
3538       0ULL,
3539       0ULL
3540     },
3541     {
3542       /* fixed_bit_values */
3543       -1ULL,
3544       0x34b8000000000000ULL,
3545       -1ULL,
3546       -1ULL,
3547       -1ULL
3548     }
3549   },
3550   { "lh", TILE_OPC_LH, 0x12 /* pipes */, 2 /* num_operands */,
3551     TREG_ZERO, /* implicitly_written_register */
3552     1, /* can_bundle */
3553     {
3554       /* operands */
3555       { 0, },
3556       { 9, 10 },
3557       { 0, },
3558       { 0, },
3559       { 23, 15 }
3560     },
3561     {
3562       /* fixed_bit_masks */
3563       0ULL,
3564       0xfffff80000000000ULL,
3565       0ULL,
3566       0ULL,
3567       0x8700000000000000ULL
3568     },
3569     {
3570       /* fixed_bit_values */
3571       -1ULL,
3572       0x400b600000000000ULL,
3573       -1ULL,
3574       -1ULL,
3575       0x8200000000000000ULL
3576     }
3577   },
3578   { "lh.sn", TILE_OPC_LH_SN, 0x2 /* pipes */, 2 /* num_operands */,
3579     TREG_SN, /* implicitly_written_register */
3580     1, /* can_bundle */
3581     {
3582       /* operands */
3583       { 0, },
3584       { 9, 10 },
3585       { 0, },
3586       { 0, },
3587       { 0, }
3588     },
3589     {
3590       /* fixed_bit_masks */
3591       0ULL,
3592       0xfffff80000000000ULL,
3593       0ULL,
3594       0ULL,
3595       0ULL
3596     },
3597     {
3598       /* fixed_bit_values */
3599       -1ULL,
3600       0x440b600000000000ULL,
3601       -1ULL,
3602       -1ULL,
3603       -1ULL
3604     }
3605   },
3606   { "lh_u", TILE_OPC_LH_U, 0x12 /* pipes */, 2 /* num_operands */,
3607     TREG_ZERO, /* implicitly_written_register */
3608     1, /* can_bundle */
3609     {
3610       /* operands */
3611       { 0, },
3612       { 9, 10 },
3613       { 0, },
3614       { 0, },
3615       { 23, 15 }
3616     },
3617     {
3618       /* fixed_bit_masks */
3619       0ULL,
3620       0xfffff80000000000ULL,
3621       0ULL,
3622       0ULL,
3623       0x8700000000000000ULL
3624     },
3625     {
3626       /* fixed_bit_values */
3627       -1ULL,
3628       0x400b680000000000ULL,
3629       -1ULL,
3630       -1ULL,
3631       0x8300000000000000ULL
3632     }
3633   },
3634   { "lh_u.sn", TILE_OPC_LH_U_SN, 0x2 /* pipes */, 2 /* num_operands */,
3635     TREG_SN, /* implicitly_written_register */
3636     1, /* can_bundle */
3637     {
3638       /* operands */
3639       { 0, },
3640       { 9, 10 },
3641       { 0, },
3642       { 0, },
3643       { 0, }
3644     },
3645     {
3646       /* fixed_bit_masks */
3647       0ULL,
3648       0xfffff80000000000ULL,
3649       0ULL,
3650       0ULL,
3651       0ULL
3652     },
3653     {
3654       /* fixed_bit_values */
3655       -1ULL,
3656       0x440b680000000000ULL,
3657       -1ULL,
3658       -1ULL,
3659       -1ULL
3660     }
3661   },
3662   { "lhadd", TILE_OPC_LHADD, 0x2 /* pipes */, 3 /* num_operands */,
3663     TREG_ZERO, /* implicitly_written_register */
3664     1, /* can_bundle */
3665     {
3666       /* operands */
3667       { 0, },
3668       { 9, 24, 1 },
3669       { 0, },
3670       { 0, },
3671       { 0, }
3672     },
3673     {
3674       /* fixed_bit_masks */
3675       0ULL,
3676       0xfff8000000000000ULL,
3677       0ULL,
3678       0ULL,
3679       0ULL
3680     },
3681     {
3682       /* fixed_bit_values */
3683       -1ULL,
3684       0x30c0000000000000ULL,
3685       -1ULL,
3686       -1ULL,
3687       -1ULL
3688     }
3689   },
3690   { "lhadd.sn", TILE_OPC_LHADD_SN, 0x2 /* pipes */, 3 /* num_operands */,
3691     TREG_SN, /* implicitly_written_register */
3692     1, /* can_bundle */
3693     {
3694       /* operands */
3695       { 0, },
3696       { 9, 24, 1 },
3697       { 0, },
3698       { 0, },
3699       { 0, }
3700     },
3701     {
3702       /* fixed_bit_masks */
3703       0ULL,
3704       0xfff8000000000000ULL,
3705       0ULL,
3706       0ULL,
3707       0ULL
3708     },
3709     {
3710       /* fixed_bit_values */
3711       -1ULL,
3712       0x34c0000000000000ULL,
3713       -1ULL,
3714       -1ULL,
3715       -1ULL
3716     }
3717   },
3718   { "lhadd_u", TILE_OPC_LHADD_U, 0x2 /* pipes */, 3 /* num_operands */,
3719     TREG_ZERO, /* implicitly_written_register */
3720     1, /* can_bundle */
3721     {
3722       /* operands */
3723       { 0, },
3724       { 9, 24, 1 },
3725       { 0, },
3726       { 0, },
3727       { 0, }
3728     },
3729     {
3730       /* fixed_bit_masks */
3731       0ULL,
3732       0xfff8000000000000ULL,
3733       0ULL,
3734       0ULL,
3735       0ULL
3736     },
3737     {
3738       /* fixed_bit_values */
3739       -1ULL,
3740       0x30c8000000000000ULL,
3741       -1ULL,
3742       -1ULL,
3743       -1ULL
3744     }
3745   },
3746   { "lhadd_u.sn", TILE_OPC_LHADD_U_SN, 0x2 /* pipes */, 3 /* num_operands */,
3747     TREG_SN, /* implicitly_written_register */
3748     1, /* can_bundle */
3749     {
3750       /* operands */
3751       { 0, },
3752       { 9, 24, 1 },
3753       { 0, },
3754       { 0, },
3755       { 0, }
3756     },
3757     {
3758       /* fixed_bit_masks */
3759       0ULL,
3760       0xfff8000000000000ULL,
3761       0ULL,
3762       0ULL,
3763       0ULL
3764     },
3765     {
3766       /* fixed_bit_values */
3767       -1ULL,
3768       0x34c8000000000000ULL,
3769       -1ULL,
3770       -1ULL,
3771       -1ULL
3772     }
3773   },
3774   { "lnk", TILE_OPC_LNK, 0x2 /* pipes */, 1 /* num_operands */,
3775     TREG_ZERO, /* implicitly_written_register */
3776     1, /* can_bundle */
3777     {
3778       /* operands */
3779       { 0, },
3780       { 9 },
3781       { 0, },
3782       { 0, },
3783       { 0, }
3784     },
3785     {
3786       /* fixed_bit_masks */
3787       0ULL,
3788       0xfffe000000000000ULL,
3789       0ULL,
3790       0ULL,
3791       0ULL
3792     },
3793     {
3794       /* fixed_bit_values */
3795       -1ULL,
3796       0x081a000000000000ULL,
3797       -1ULL,
3798       -1ULL,
3799       -1ULL
3800     }
3801   },
3802   { "lnk.sn", TILE_OPC_LNK_SN, 0x2 /* pipes */, 1 /* num_operands */,
3803     TREG_SN, /* implicitly_written_register */
3804     1, /* can_bundle */
3805     {
3806       /* operands */
3807       { 0, },
3808       { 9 },
3809       { 0, },
3810       { 0, },
3811       { 0, }
3812     },
3813     {
3814       /* fixed_bit_masks */
3815       0ULL,
3816       0xfffe000000000000ULL,
3817       0ULL,
3818       0ULL,
3819       0ULL
3820     },
3821     {
3822       /* fixed_bit_values */
3823       -1ULL,
3824       0x0c1a000000000000ULL,
3825       -1ULL,
3826       -1ULL,
3827       -1ULL
3828     }
3829   },
3830   { "lw", TILE_OPC_LW, 0x12 /* pipes */, 2 /* num_operands */,
3831     TREG_ZERO, /* implicitly_written_register */
3832     1, /* can_bundle */
3833     {
3834       /* operands */
3835       { 0, },
3836       { 9, 10 },
3837       { 0, },
3838       { 0, },
3839       { 23, 15 }
3840     },
3841     {
3842       /* fixed_bit_masks */
3843       0ULL,
3844       0xfffff80000000000ULL,
3845       0ULL,
3846       0ULL,
3847       0x8700000000000000ULL
3848     },
3849     {
3850       /* fixed_bit_values */
3851       -1ULL,
3852       0x400b700000000000ULL,
3853       -1ULL,
3854       -1ULL,
3855       0x8400000000000000ULL
3856     }
3857   },
3858   { "lw.sn", TILE_OPC_LW_SN, 0x2 /* pipes */, 2 /* num_operands */,
3859     TREG_SN, /* implicitly_written_register */
3860     1, /* can_bundle */
3861     {
3862       /* operands */
3863       { 0, },
3864       { 9, 10 },
3865       { 0, },
3866       { 0, },
3867       { 0, }
3868     },
3869     {
3870       /* fixed_bit_masks */
3871       0ULL,
3872       0xfffff80000000000ULL,
3873       0ULL,
3874       0ULL,
3875       0ULL
3876     },
3877     {
3878       /* fixed_bit_values */
3879       -1ULL,
3880       0x440b700000000000ULL,
3881       -1ULL,
3882       -1ULL,
3883       -1ULL
3884     }
3885   },
3886   { "lw_na", TILE_OPC_LW_NA, 0x2 /* pipes */, 2 /* num_operands */,
3887     TREG_ZERO, /* implicitly_written_register */
3888     1, /* can_bundle */
3889     {
3890       /* operands */
3891       { 0, },
3892       { 9, 10 },
3893       { 0, },
3894       { 0, },
3895       { 0, }
3896     },
3897     {
3898       /* fixed_bit_masks */
3899       0ULL,
3900       0xfffff80000000000ULL,
3901       0ULL,
3902       0ULL,
3903       0ULL
3904     },
3905     {
3906       /* fixed_bit_values */
3907       -1ULL,
3908       0x400bc00000000000ULL,
3909       -1ULL,
3910       -1ULL,
3911       -1ULL
3912     }
3913   },
3914   { "lw_na.sn", TILE_OPC_LW_NA_SN, 0x2 /* pipes */, 2 /* num_operands */,
3915     TREG_SN, /* implicitly_written_register */
3916     1, /* can_bundle */
3917     {
3918       /* operands */
3919       { 0, },
3920       { 9, 10 },
3921       { 0, },
3922       { 0, },
3923       { 0, }
3924     },
3925     {
3926       /* fixed_bit_masks */
3927       0ULL,
3928       0xfffff80000000000ULL,
3929       0ULL,
3930       0ULL,
3931       0ULL
3932     },
3933     {
3934       /* fixed_bit_values */
3935       -1ULL,
3936       0x440bc00000000000ULL,
3937       -1ULL,
3938       -1ULL,
3939       -1ULL
3940     }
3941   },
3942   { "lwadd", TILE_OPC_LWADD, 0x2 /* pipes */, 3 /* num_operands */,
3943     TREG_ZERO, /* implicitly_written_register */
3944     1, /* can_bundle */
3945     {
3946       /* operands */
3947       { 0, },
3948       { 9, 24, 1 },
3949       { 0, },
3950       { 0, },
3951       { 0, }
3952     },
3953     {
3954       /* fixed_bit_masks */
3955       0ULL,
3956       0xfff8000000000000ULL,
3957       0ULL,
3958       0ULL,
3959       0ULL
3960     },
3961     {
3962       /* fixed_bit_values */
3963       -1ULL,
3964       0x30d0000000000000ULL,
3965       -1ULL,
3966       -1ULL,
3967       -1ULL
3968     }
3969   },
3970   { "lwadd.sn", TILE_OPC_LWADD_SN, 0x2 /* pipes */, 3 /* num_operands */,
3971     TREG_SN, /* implicitly_written_register */
3972     1, /* can_bundle */
3973     {
3974       /* operands */
3975       { 0, },
3976       { 9, 24, 1 },
3977       { 0, },
3978       { 0, },
3979       { 0, }
3980     },
3981     {
3982       /* fixed_bit_masks */
3983       0ULL,
3984       0xfff8000000000000ULL,
3985       0ULL,
3986       0ULL,
3987       0ULL
3988     },
3989     {
3990       /* fixed_bit_values */
3991       -1ULL,
3992       0x34d0000000000000ULL,
3993       -1ULL,
3994       -1ULL,
3995       -1ULL
3996     }
3997   },
3998   { "lwadd_na", TILE_OPC_LWADD_NA, 0x2 /* pipes */, 3 /* num_operands */,
3999     TREG_ZERO, /* implicitly_written_register */
4000     1, /* can_bundle */
4001     {
4002       /* operands */
4003       { 0, },
4004       { 9, 24, 1 },
4005       { 0, },
4006       { 0, },
4007       { 0, }
4008     },
4009     {
4010       /* fixed_bit_masks */
4011       0ULL,
4012       0xfff8000000000000ULL,
4013       0ULL,
4014       0ULL,
4015       0ULL
4016     },
4017     {
4018       /* fixed_bit_values */
4019       -1ULL,
4020       0x30d8000000000000ULL,
4021       -1ULL,
4022       -1ULL,
4023       -1ULL
4024     }
4025   },
4026   { "lwadd_na.sn", TILE_OPC_LWADD_NA_SN, 0x2 /* pipes */, 3 /* num_operands */,
4027     TREG_SN, /* implicitly_written_register */
4028     1, /* can_bundle */
4029     {
4030       /* operands */
4031       { 0, },
4032       { 9, 24, 1 },
4033       { 0, },
4034       { 0, },
4035       { 0, }
4036     },
4037     {
4038       /* fixed_bit_masks */
4039       0ULL,
4040       0xfff8000000000000ULL,
4041       0ULL,
4042       0ULL,
4043       0ULL
4044     },
4045     {
4046       /* fixed_bit_values */
4047       -1ULL,
4048       0x34d8000000000000ULL,
4049       -1ULL,
4050       -1ULL,
4051       -1ULL
4052     }
4053   },
4054   { "maxb_u", TILE_OPC_MAXB_U, 0x3 /* pipes */, 3 /* num_operands */,
4055     TREG_ZERO, /* implicitly_written_register */
4056     1, /* can_bundle */
4057     {
4058       /* operands */
4059       { 7, 8, 16 },
4060       { 9, 10, 17 },
4061       { 0, },
4062       { 0, },
4063       { 0, }
4064     },
4065     {
4066       /* fixed_bit_masks */
4067       0x800000007ffc0000ULL,
4068       0xfffe000000000000ULL,
4069       0ULL,
4070       0ULL,
4071       0ULL
4072     },
4073     {
4074       /* fixed_bit_values */
4075       0x00000000003c0000ULL,
4076       0x081c000000000000ULL,
4077       -1ULL,
4078       -1ULL,
4079       -1ULL
4080     }
4081   },
4082   { "maxb_u.sn", TILE_OPC_MAXB_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
4083     TREG_SN, /* implicitly_written_register */
4084     1, /* can_bundle */
4085     {
4086       /* operands */
4087       { 7, 8, 16 },
4088       { 9, 10, 17 },
4089       { 0, },
4090       { 0, },
4091       { 0, }
4092     },
4093     {
4094       /* fixed_bit_masks */
4095       0x800000007ffc0000ULL,
4096       0xfffe000000000000ULL,
4097       0ULL,
4098       0ULL,
4099       0ULL
4100     },
4101     {
4102       /* fixed_bit_values */
4103       0x00000000083c0000ULL,
4104       0x0c1c000000000000ULL,
4105       -1ULL,
4106       -1ULL,
4107       -1ULL
4108     }
4109   },
4110   { "maxh", TILE_OPC_MAXH, 0x3 /* pipes */, 3 /* num_operands */,
4111     TREG_ZERO, /* implicitly_written_register */
4112     1, /* can_bundle */
4113     {
4114       /* operands */
4115       { 7, 8, 16 },
4116       { 9, 10, 17 },
4117       { 0, },
4118       { 0, },
4119       { 0, }
4120     },
4121     {
4122       /* fixed_bit_masks */
4123       0x800000007ffc0000ULL,
4124       0xfffe000000000000ULL,
4125       0ULL,
4126       0ULL,
4127       0ULL
4128     },
4129     {
4130       /* fixed_bit_values */
4131       0x0000000000400000ULL,
4132       0x081e000000000000ULL,
4133       -1ULL,
4134       -1ULL,
4135       -1ULL
4136     }
4137   },
4138   { "maxh.sn", TILE_OPC_MAXH_SN, 0x3 /* pipes */, 3 /* num_operands */,
4139     TREG_SN, /* implicitly_written_register */
4140     1, /* can_bundle */
4141     {
4142       /* operands */
4143       { 7, 8, 16 },
4144       { 9, 10, 17 },
4145       { 0, },
4146       { 0, },
4147       { 0, }
4148     },
4149     {
4150       /* fixed_bit_masks */
4151       0x800000007ffc0000ULL,
4152       0xfffe000000000000ULL,
4153       0ULL,
4154       0ULL,
4155       0ULL
4156     },
4157     {
4158       /* fixed_bit_values */
4159       0x0000000008400000ULL,
4160       0x0c1e000000000000ULL,
4161       -1ULL,
4162       -1ULL,
4163       -1ULL
4164     }
4165   },
4166   { "maxib_u", TILE_OPC_MAXIB_U, 0x3 /* pipes */, 3 /* num_operands */,
4167     TREG_ZERO, /* implicitly_written_register */
4168     1, /* can_bundle */
4169     {
4170       /* operands */
4171       { 7, 8, 0 },
4172       { 9, 10, 1 },
4173       { 0, },
4174       { 0, },
4175       { 0, }
4176     },
4177     {
4178       /* fixed_bit_masks */
4179       0x800000007ff00000ULL,
4180       0xfff8000000000000ULL,
4181       0ULL,
4182       0ULL,
4183       0ULL
4184     },
4185     {
4186       /* fixed_bit_values */
4187       0x0000000040400000ULL,
4188       0x3028000000000000ULL,
4189       -1ULL,
4190       -1ULL,
4191       -1ULL
4192     }
4193   },
4194   { "maxib_u.sn", TILE_OPC_MAXIB_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
4195     TREG_SN, /* implicitly_written_register */
4196     1, /* can_bundle */
4197     {
4198       /* operands */
4199       { 7, 8, 0 },
4200       { 9, 10, 1 },
4201       { 0, },
4202       { 0, },
4203       { 0, }
4204     },
4205     {
4206       /* fixed_bit_masks */
4207       0x800000007ff00000ULL,
4208       0xfff8000000000000ULL,
4209       0ULL,
4210       0ULL,
4211       0ULL
4212     },
4213     {
4214       /* fixed_bit_values */
4215       0x0000000048400000ULL,
4216       0x3428000000000000ULL,
4217       -1ULL,
4218       -1ULL,
4219       -1ULL
4220     }
4221   },
4222   { "maxih", TILE_OPC_MAXIH, 0x3 /* pipes */, 3 /* num_operands */,
4223     TREG_ZERO, /* implicitly_written_register */
4224     1, /* can_bundle */
4225     {
4226       /* operands */
4227       { 7, 8, 0 },
4228       { 9, 10, 1 },
4229       { 0, },
4230       { 0, },
4231       { 0, }
4232     },
4233     {
4234       /* fixed_bit_masks */
4235       0x800000007ff00000ULL,
4236       0xfff8000000000000ULL,
4237       0ULL,
4238       0ULL,
4239       0ULL
4240     },
4241     {
4242       /* fixed_bit_values */
4243       0x0000000040500000ULL,
4244       0x3030000000000000ULL,
4245       -1ULL,
4246       -1ULL,
4247       -1ULL
4248     }
4249   },
4250   { "maxih.sn", TILE_OPC_MAXIH_SN, 0x3 /* pipes */, 3 /* num_operands */,
4251     TREG_SN, /* implicitly_written_register */
4252     1, /* can_bundle */
4253     {
4254       /* operands */
4255       { 7, 8, 0 },
4256       { 9, 10, 1 },
4257       { 0, },
4258       { 0, },
4259       { 0, }
4260     },
4261     {
4262       /* fixed_bit_masks */
4263       0x800000007ff00000ULL,
4264       0xfff8000000000000ULL,
4265       0ULL,
4266       0ULL,
4267       0ULL
4268     },
4269     {
4270       /* fixed_bit_values */
4271       0x0000000048500000ULL,
4272       0x3430000000000000ULL,
4273       -1ULL,
4274       -1ULL,
4275       -1ULL
4276     }
4277   },
4278   { "mf", TILE_OPC_MF, 0x2 /* pipes */, 0 /* num_operands */,
4279     TREG_ZERO, /* implicitly_written_register */
4280     1, /* can_bundle */
4281     {
4282       /* operands */
4283       { 0, },
4284       {  },
4285       { 0, },
4286       { 0, },
4287       { 0, }
4288     },
4289     {
4290       /* fixed_bit_masks */
4291       0ULL,
4292       0xfbfff80000000000ULL,
4293       0ULL,
4294       0ULL,
4295       0ULL
4296     },
4297     {
4298       /* fixed_bit_values */
4299       -1ULL,
4300       0x400b780000000000ULL,
4301       -1ULL,
4302       -1ULL,
4303       -1ULL
4304     }
4305   },
4306   { "mfspr", TILE_OPC_MFSPR, 0x2 /* pipes */, 2 /* num_operands */,
4307     TREG_ZERO, /* implicitly_written_register */
4308     1, /* can_bundle */
4309     {
4310       /* operands */
4311       { 0, },
4312       { 9, 25 },
4313       { 0, },
4314       { 0, },
4315       { 0, }
4316     },
4317     {
4318       /* fixed_bit_masks */
4319       0ULL,
4320       0xfbf8000000000000ULL,
4321       0ULL,
4322       0ULL,
4323       0ULL
4324     },
4325     {
4326       /* fixed_bit_values */
4327       -1ULL,
4328       0x3038000000000000ULL,
4329       -1ULL,
4330       -1ULL,
4331       -1ULL
4332     }
4333   },
4334   { "minb_u", TILE_OPC_MINB_U, 0x3 /* pipes */, 3 /* num_operands */,
4335     TREG_ZERO, /* implicitly_written_register */
4336     1, /* can_bundle */
4337     {
4338       /* operands */
4339       { 7, 8, 16 },
4340       { 9, 10, 17 },
4341       { 0, },
4342       { 0, },
4343       { 0, }
4344     },
4345     {
4346       /* fixed_bit_masks */
4347       0x800000007ffc0000ULL,
4348       0xfffe000000000000ULL,
4349       0ULL,
4350       0ULL,
4351       0ULL
4352     },
4353     {
4354       /* fixed_bit_values */
4355       0x0000000000440000ULL,
4356       0x0820000000000000ULL,
4357       -1ULL,
4358       -1ULL,
4359       -1ULL
4360     }
4361   },
4362   { "minb_u.sn", TILE_OPC_MINB_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
4363     TREG_SN, /* implicitly_written_register */
4364     1, /* can_bundle */
4365     {
4366       /* operands */
4367       { 7, 8, 16 },
4368       { 9, 10, 17 },
4369       { 0, },
4370       { 0, },
4371       { 0, }
4372     },
4373     {
4374       /* fixed_bit_masks */
4375       0x800000007ffc0000ULL,
4376       0xfffe000000000000ULL,
4377       0ULL,
4378       0ULL,
4379       0ULL
4380     },
4381     {
4382       /* fixed_bit_values */
4383       0x0000000008440000ULL,
4384       0x0c20000000000000ULL,
4385       -1ULL,
4386       -1ULL,
4387       -1ULL
4388     }
4389   },
4390   { "minh", TILE_OPC_MINH, 0x3 /* pipes */, 3 /* num_operands */,
4391     TREG_ZERO, /* implicitly_written_register */
4392     1, /* can_bundle */
4393     {
4394       /* operands */
4395       { 7, 8, 16 },
4396       { 9, 10, 17 },
4397       { 0, },
4398       { 0, },
4399       { 0, }
4400     },
4401     {
4402       /* fixed_bit_masks */
4403       0x800000007ffc0000ULL,
4404       0xfffe000000000000ULL,
4405       0ULL,
4406       0ULL,
4407       0ULL
4408     },
4409     {
4410       /* fixed_bit_values */
4411       0x0000000000480000ULL,
4412       0x0822000000000000ULL,
4413       -1ULL,
4414       -1ULL,
4415       -1ULL
4416     }
4417   },
4418   { "minh.sn", TILE_OPC_MINH_SN, 0x3 /* pipes */, 3 /* num_operands */,
4419     TREG_SN, /* implicitly_written_register */
4420     1, /* can_bundle */
4421     {
4422       /* operands */
4423       { 7, 8, 16 },
4424       { 9, 10, 17 },
4425       { 0, },
4426       { 0, },
4427       { 0, }
4428     },
4429     {
4430       /* fixed_bit_masks */
4431       0x800000007ffc0000ULL,
4432       0xfffe000000000000ULL,
4433       0ULL,
4434       0ULL,
4435       0ULL
4436     },
4437     {
4438       /* fixed_bit_values */
4439       0x0000000008480000ULL,
4440       0x0c22000000000000ULL,
4441       -1ULL,
4442       -1ULL,
4443       -1ULL
4444     }
4445   },
4446   { "minib_u", TILE_OPC_MINIB_U, 0x3 /* pipes */, 3 /* num_operands */,
4447     TREG_ZERO, /* implicitly_written_register */
4448     1, /* can_bundle */
4449     {
4450       /* operands */
4451       { 7, 8, 0 },
4452       { 9, 10, 1 },
4453       { 0, },
4454       { 0, },
4455       { 0, }
4456     },
4457     {
4458       /* fixed_bit_masks */
4459       0x800000007ff00000ULL,
4460       0xfff8000000000000ULL,
4461       0ULL,
4462       0ULL,
4463       0ULL
4464     },
4465     {
4466       /* fixed_bit_values */
4467       0x0000000040600000ULL,
4468       0x3040000000000000ULL,
4469       -1ULL,
4470       -1ULL,
4471       -1ULL
4472     }
4473   },
4474   { "minib_u.sn", TILE_OPC_MINIB_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
4475     TREG_SN, /* implicitly_written_register */
4476     1, /* can_bundle */
4477     {
4478       /* operands */
4479       { 7, 8, 0 },
4480       { 9, 10, 1 },
4481       { 0, },
4482       { 0, },
4483       { 0, }
4484     },
4485     {
4486       /* fixed_bit_masks */
4487       0x800000007ff00000ULL,
4488       0xfff8000000000000ULL,
4489       0ULL,
4490       0ULL,
4491       0ULL
4492     },
4493     {
4494       /* fixed_bit_values */
4495       0x0000000048600000ULL,
4496       0x3440000000000000ULL,
4497       -1ULL,
4498       -1ULL,
4499       -1ULL
4500     }
4501   },
4502   { "minih", TILE_OPC_MINIH, 0x3 /* pipes */, 3 /* num_operands */,
4503     TREG_ZERO, /* implicitly_written_register */
4504     1, /* can_bundle */
4505     {
4506       /* operands */
4507       { 7, 8, 0 },
4508       { 9, 10, 1 },
4509       { 0, },
4510       { 0, },
4511       { 0, }
4512     },
4513     {
4514       /* fixed_bit_masks */
4515       0x800000007ff00000ULL,
4516       0xfff8000000000000ULL,
4517       0ULL,
4518       0ULL,
4519       0ULL
4520     },
4521     {
4522       /* fixed_bit_values */
4523       0x0000000040700000ULL,
4524       0x3048000000000000ULL,
4525       -1ULL,
4526       -1ULL,
4527       -1ULL
4528     }
4529   },
4530   { "minih.sn", TILE_OPC_MINIH_SN, 0x3 /* pipes */, 3 /* num_operands */,
4531     TREG_SN, /* implicitly_written_register */
4532     1, /* can_bundle */
4533     {
4534       /* operands */
4535       { 7, 8, 0 },
4536       { 9, 10, 1 },
4537       { 0, },
4538       { 0, },
4539       { 0, }
4540     },
4541     {
4542       /* fixed_bit_masks */
4543       0x800000007ff00000ULL,
4544       0xfff8000000000000ULL,
4545       0ULL,
4546       0ULL,
4547       0ULL
4548     },
4549     {
4550       /* fixed_bit_values */
4551       0x0000000048700000ULL,
4552       0x3448000000000000ULL,
4553       -1ULL,
4554       -1ULL,
4555       -1ULL
4556     }
4557   },
4558   { "mm", TILE_OPC_MM, 0x3 /* pipes */, 5 /* num_operands */,
4559     TREG_ZERO, /* implicitly_written_register */
4560     1, /* can_bundle */
4561     {
4562       /* operands */
4563       { 7, 8, 16, 26, 27 },
4564       { 9, 10, 17, 28, 29 },
4565       { 0, },
4566       { 0, },
4567       { 0, }
4568     },
4569     {
4570       /* fixed_bit_masks */
4571       0x8000000070000000ULL,
4572       0xf800000000000000ULL,
4573       0ULL,
4574       0ULL,
4575       0ULL
4576     },
4577     {
4578       /* fixed_bit_values */
4579       0x0000000060000000ULL,
4580       0x3800000000000000ULL,
4581       -1ULL,
4582       -1ULL,
4583       -1ULL
4584     }
4585   },
4586   { "mnz", TILE_OPC_MNZ, 0xf /* pipes */, 3 /* num_operands */,
4587     TREG_ZERO, /* implicitly_written_register */
4588     1, /* can_bundle */
4589     {
4590       /* operands */
4591       { 7, 8, 16 },
4592       { 9, 10, 17 },
4593       { 11, 12, 18 },
4594       { 13, 14, 19 },
4595       { 0, }
4596     },
4597     {
4598       /* fixed_bit_masks */
4599       0x800000007ffc0000ULL,
4600       0xfffe000000000000ULL,
4601       0x80000000780c0000ULL,
4602       0xf806000000000000ULL,
4603       0ULL
4604     },
4605     {
4606       /* fixed_bit_values */
4607       0x0000000000540000ULL,
4608       0x0828000000000000ULL,
4609       0x8000000010000000ULL,
4610       0x9002000000000000ULL,
4611       -1ULL
4612     }
4613   },
4614   { "mnz.sn", TILE_OPC_MNZ_SN, 0x3 /* pipes */, 3 /* num_operands */,
4615     TREG_SN, /* implicitly_written_register */
4616     1, /* can_bundle */
4617     {
4618       /* operands */
4619       { 7, 8, 16 },
4620       { 9, 10, 17 },
4621       { 0, },
4622       { 0, },
4623       { 0, }
4624     },
4625     {
4626       /* fixed_bit_masks */
4627       0x800000007ffc0000ULL,
4628       0xfffe000000000000ULL,
4629       0ULL,
4630       0ULL,
4631       0ULL
4632     },
4633     {
4634       /* fixed_bit_values */
4635       0x0000000008540000ULL,
4636       0x0c28000000000000ULL,
4637       -1ULL,
4638       -1ULL,
4639       -1ULL
4640     }
4641   },
4642   { "mnzb", TILE_OPC_MNZB, 0x3 /* pipes */, 3 /* num_operands */,
4643     TREG_ZERO, /* implicitly_written_register */
4644     1, /* can_bundle */
4645     {
4646       /* operands */
4647       { 7, 8, 16 },
4648       { 9, 10, 17 },
4649       { 0, },
4650       { 0, },
4651       { 0, }
4652     },
4653     {
4654       /* fixed_bit_masks */
4655       0x800000007ffc0000ULL,
4656       0xfffe000000000000ULL,
4657       0ULL,
4658       0ULL,
4659       0ULL
4660     },
4661     {
4662       /* fixed_bit_values */
4663       0x00000000004c0000ULL,
4664       0x0824000000000000ULL,
4665       -1ULL,
4666       -1ULL,
4667       -1ULL
4668     }
4669   },
4670   { "mnzb.sn", TILE_OPC_MNZB_SN, 0x3 /* pipes */, 3 /* num_operands */,
4671     TREG_SN, /* implicitly_written_register */
4672     1, /* can_bundle */
4673     {
4674       /* operands */
4675       { 7, 8, 16 },
4676       { 9, 10, 17 },
4677       { 0, },
4678       { 0, },
4679       { 0, }
4680     },
4681     {
4682       /* fixed_bit_masks */
4683       0x800000007ffc0000ULL,
4684       0xfffe000000000000ULL,
4685       0ULL,
4686       0ULL,
4687       0ULL
4688     },
4689     {
4690       /* fixed_bit_values */
4691       0x00000000084c0000ULL,
4692       0x0c24000000000000ULL,
4693       -1ULL,
4694       -1ULL,
4695       -1ULL
4696     }
4697   },
4698   { "mnzh", TILE_OPC_MNZH, 0x3 /* pipes */, 3 /* num_operands */,
4699     TREG_ZERO, /* implicitly_written_register */
4700     1, /* can_bundle */
4701     {
4702       /* operands */
4703       { 7, 8, 16 },
4704       { 9, 10, 17 },
4705       { 0, },
4706       { 0, },
4707       { 0, }
4708     },
4709     {
4710       /* fixed_bit_masks */
4711       0x800000007ffc0000ULL,
4712       0xfffe000000000000ULL,
4713       0ULL,
4714       0ULL,
4715       0ULL
4716     },
4717     {
4718       /* fixed_bit_values */
4719       0x0000000000500000ULL,
4720       0x0826000000000000ULL,
4721       -1ULL,
4722       -1ULL,
4723       -1ULL
4724     }
4725   },
4726   { "mnzh.sn", TILE_OPC_MNZH_SN, 0x3 /* pipes */, 3 /* num_operands */,
4727     TREG_SN, /* implicitly_written_register */
4728     1, /* can_bundle */
4729     {
4730       /* operands */
4731       { 7, 8, 16 },
4732       { 9, 10, 17 },
4733       { 0, },
4734       { 0, },
4735       { 0, }
4736     },
4737     {
4738       /* fixed_bit_masks */
4739       0x800000007ffc0000ULL,
4740       0xfffe000000000000ULL,
4741       0ULL,
4742       0ULL,
4743       0ULL
4744     },
4745     {
4746       /* fixed_bit_values */
4747       0x0000000008500000ULL,
4748       0x0c26000000000000ULL,
4749       -1ULL,
4750       -1ULL,
4751       -1ULL
4752     }
4753   },
4754   { "mtspr", TILE_OPC_MTSPR, 0x2 /* pipes */, 2 /* num_operands */,
4755     TREG_ZERO, /* implicitly_written_register */
4756     1, /* can_bundle */
4757     {
4758       /* operands */
4759       { 0, },
4760       { 30, 10 },
4761       { 0, },
4762       { 0, },
4763       { 0, }
4764     },
4765     {
4766       /* fixed_bit_masks */
4767       0ULL,
4768       0xfbf8000000000000ULL,
4769       0ULL,
4770       0ULL,
4771       0ULL
4772     },
4773     {
4774       /* fixed_bit_values */
4775       -1ULL,
4776       0x3050000000000000ULL,
4777       -1ULL,
4778       -1ULL,
4779       -1ULL
4780     }
4781   },
4782   { "mulhh_ss", TILE_OPC_MULHH_SS, 0x5 /* pipes */, 3 /* num_operands */,
4783     TREG_ZERO, /* implicitly_written_register */
4784     1, /* can_bundle */
4785     {
4786       /* operands */
4787       { 7, 8, 16 },
4788       { 0, },
4789       { 11, 12, 18 },
4790       { 0, },
4791       { 0, }
4792     },
4793     {
4794       /* fixed_bit_masks */
4795       0x800000007ffc0000ULL,
4796       0ULL,
4797       0x80000000780c0000ULL,
4798       0ULL,
4799       0ULL
4800     },
4801     {
4802       /* fixed_bit_values */
4803       0x0000000000680000ULL,
4804       -1ULL,
4805       0x8000000038000000ULL,
4806       -1ULL,
4807       -1ULL
4808     }
4809   },
4810   { "mulhh_ss.sn", TILE_OPC_MULHH_SS_SN, 0x1 /* pipes */, 3 /* num_operands */,
4811     TREG_SN, /* implicitly_written_register */
4812     1, /* can_bundle */
4813     {
4814       /* operands */
4815       { 7, 8, 16 },
4816       { 0, },
4817       { 0, },
4818       { 0, },
4819       { 0, }
4820     },
4821     {
4822       /* fixed_bit_masks */
4823       0x800000007ffc0000ULL,
4824       0ULL,
4825       0ULL,
4826       0ULL,
4827       0ULL
4828     },
4829     {
4830       /* fixed_bit_values */
4831       0x0000000008680000ULL,
4832       -1ULL,
4833       -1ULL,
4834       -1ULL,
4835       -1ULL
4836     }
4837   },
4838   { "mulhh_su", TILE_OPC_MULHH_SU, 0x1 /* pipes */, 3 /* num_operands */,
4839     TREG_ZERO, /* implicitly_written_register */
4840     1, /* can_bundle */
4841     {
4842       /* operands */
4843       { 7, 8, 16 },
4844       { 0, },
4845       { 0, },
4846       { 0, },
4847       { 0, }
4848     },
4849     {
4850       /* fixed_bit_masks */
4851       0x800000007ffc0000ULL,
4852       0ULL,
4853       0ULL,
4854       0ULL,
4855       0ULL
4856     },
4857     {
4858       /* fixed_bit_values */
4859       0x00000000006c0000ULL,
4860       -1ULL,
4861       -1ULL,
4862       -1ULL,
4863       -1ULL
4864     }
4865   },
4866   { "mulhh_su.sn", TILE_OPC_MULHH_SU_SN, 0x1 /* pipes */, 3 /* num_operands */,
4867     TREG_SN, /* implicitly_written_register */
4868     1, /* can_bundle */
4869     {
4870       /* operands */
4871       { 7, 8, 16 },
4872       { 0, },
4873       { 0, },
4874       { 0, },
4875       { 0, }
4876     },
4877     {
4878       /* fixed_bit_masks */
4879       0x800000007ffc0000ULL,
4880       0ULL,
4881       0ULL,
4882       0ULL,
4883       0ULL
4884     },
4885     {
4886       /* fixed_bit_values */
4887       0x00000000086c0000ULL,
4888       -1ULL,
4889       -1ULL,
4890       -1ULL,
4891       -1ULL
4892     }
4893   },
4894   { "mulhh_uu", TILE_OPC_MULHH_UU, 0x5 /* pipes */, 3 /* num_operands */,
4895     TREG_ZERO, /* implicitly_written_register */
4896     1, /* can_bundle */
4897     {
4898       /* operands */
4899       { 7, 8, 16 },
4900       { 0, },
4901       { 11, 12, 18 },
4902       { 0, },
4903       { 0, }
4904     },
4905     {
4906       /* fixed_bit_masks */
4907       0x800000007ffc0000ULL,
4908       0ULL,
4909       0x80000000780c0000ULL,
4910       0ULL,
4911       0ULL
4912     },
4913     {
4914       /* fixed_bit_values */
4915       0x0000000000700000ULL,
4916       -1ULL,
4917       0x8000000038040000ULL,
4918       -1ULL,
4919       -1ULL
4920     }
4921   },
4922   { "mulhh_uu.sn", TILE_OPC_MULHH_UU_SN, 0x1 /* pipes */, 3 /* num_operands */,
4923     TREG_SN, /* implicitly_written_register */
4924     1, /* can_bundle */
4925     {
4926       /* operands */
4927       { 7, 8, 16 },
4928       { 0, },
4929       { 0, },
4930       { 0, },
4931       { 0, }
4932     },
4933     {
4934       /* fixed_bit_masks */
4935       0x800000007ffc0000ULL,
4936       0ULL,
4937       0ULL,
4938       0ULL,
4939       0ULL
4940     },
4941     {
4942       /* fixed_bit_values */
4943       0x0000000008700000ULL,
4944       -1ULL,
4945       -1ULL,
4946       -1ULL,
4947       -1ULL
4948     }
4949   },
4950   { "mulhha_ss", TILE_OPC_MULHHA_SS, 0x5 /* pipes */, 3 /* num_operands */,
4951     TREG_ZERO, /* implicitly_written_register */
4952     1, /* can_bundle */
4953     {
4954       /* operands */
4955       { 21, 8, 16 },
4956       { 0, },
4957       { 31, 12, 18 },
4958       { 0, },
4959       { 0, }
4960     },
4961     {
4962       /* fixed_bit_masks */
4963       0x800000007ffc0000ULL,
4964       0ULL,
4965       0x80000000780c0000ULL,
4966       0ULL,
4967       0ULL
4968     },
4969     {
4970       /* fixed_bit_values */
4971       0x0000000000580000ULL,
4972       -1ULL,
4973       0x8000000040000000ULL,
4974       -1ULL,
4975       -1ULL
4976     }
4977   },
4978   { "mulhha_ss.sn", TILE_OPC_MULHHA_SS_SN, 0x1 /* pipes */, 3 /* num_operands */,
4979     TREG_SN, /* implicitly_written_register */
4980     1, /* can_bundle */
4981     {
4982       /* operands */
4983       { 21, 8, 16 },
4984       { 0, },
4985       { 0, },
4986       { 0, },
4987       { 0, }
4988     },
4989     {
4990       /* fixed_bit_masks */
4991       0x800000007ffc0000ULL,
4992       0ULL,
4993       0ULL,
4994       0ULL,
4995       0ULL
4996     },
4997     {
4998       /* fixed_bit_values */
4999       0x0000000008580000ULL,
5000       -1ULL,
5001       -1ULL,
5002       -1ULL,
5003       -1ULL
5004     }
5005   },
5006   { "mulhha_su", TILE_OPC_MULHHA_SU, 0x1 /* pipes */, 3 /* num_operands */,
5007     TREG_ZERO, /* implicitly_written_register */
5008     1, /* can_bundle */
5009     {
5010       /* operands */
5011       { 21, 8, 16 },
5012       { 0, },
5013       { 0, },
5014       { 0, },
5015       { 0, }
5016     },
5017     {
5018       /* fixed_bit_masks */
5019       0x800000007ffc0000ULL,
5020       0ULL,
5021       0ULL,
5022       0ULL,
5023       0ULL
5024     },
5025     {
5026       /* fixed_bit_values */
5027       0x00000000005c0000ULL,
5028       -1ULL,
5029       -1ULL,
5030       -1ULL,
5031       -1ULL
5032     }
5033   },
5034   { "mulhha_su.sn", TILE_OPC_MULHHA_SU_SN, 0x1 /* pipes */, 3 /* num_operands */,
5035     TREG_SN, /* implicitly_written_register */
5036     1, /* can_bundle */
5037     {
5038       /* operands */
5039       { 21, 8, 16 },
5040       { 0, },
5041       { 0, },
5042       { 0, },
5043       { 0, }
5044     },
5045     {
5046       /* fixed_bit_masks */
5047       0x800000007ffc0000ULL,
5048       0ULL,
5049       0ULL,
5050       0ULL,
5051       0ULL
5052     },
5053     {
5054       /* fixed_bit_values */
5055       0x00000000085c0000ULL,
5056       -1ULL,
5057       -1ULL,
5058       -1ULL,
5059       -1ULL
5060     }
5061   },
5062   { "mulhha_uu", TILE_OPC_MULHHA_UU, 0x5 /* pipes */, 3 /* num_operands */,
5063     TREG_ZERO, /* implicitly_written_register */
5064     1, /* can_bundle */
5065     {
5066       /* operands */
5067       { 21, 8, 16 },
5068       { 0, },
5069       { 31, 12, 18 },
5070       { 0, },
5071       { 0, }
5072     },
5073     {
5074       /* fixed_bit_masks */
5075       0x800000007ffc0000ULL,
5076       0ULL,
5077       0x80000000780c0000ULL,
5078       0ULL,
5079       0ULL
5080     },
5081     {
5082       /* fixed_bit_values */
5083       0x0000000000600000ULL,
5084       -1ULL,
5085       0x8000000040040000ULL,
5086       -1ULL,
5087       -1ULL
5088     }
5089   },
5090   { "mulhha_uu.sn", TILE_OPC_MULHHA_UU_SN, 0x1 /* pipes */, 3 /* num_operands */,
5091     TREG_SN, /* implicitly_written_register */
5092     1, /* can_bundle */
5093     {
5094       /* operands */
5095       { 21, 8, 16 },
5096       { 0, },
5097       { 0, },
5098       { 0, },
5099       { 0, }
5100     },
5101     {
5102       /* fixed_bit_masks */
5103       0x800000007ffc0000ULL,
5104       0ULL,
5105       0ULL,
5106       0ULL,
5107       0ULL
5108     },
5109     {
5110       /* fixed_bit_values */
5111       0x0000000008600000ULL,
5112       -1ULL,
5113       -1ULL,
5114       -1ULL,
5115       -1ULL
5116     }
5117   },
5118   { "mulhhsa_uu", TILE_OPC_MULHHSA_UU, 0x1 /* pipes */, 3 /* num_operands */,
5119     TREG_ZERO, /* implicitly_written_register */
5120     1, /* can_bundle */
5121     {
5122       /* operands */
5123       { 21, 8, 16 },
5124       { 0, },
5125       { 0, },
5126       { 0, },
5127       { 0, }
5128     },
5129     {
5130       /* fixed_bit_masks */
5131       0x800000007ffc0000ULL,
5132       0ULL,
5133       0ULL,
5134       0ULL,
5135       0ULL
5136     },
5137     {
5138       /* fixed_bit_values */
5139       0x0000000000640000ULL,
5140       -1ULL,
5141       -1ULL,
5142       -1ULL,
5143       -1ULL
5144     }
5145   },
5146   { "mulhhsa_uu.sn", TILE_OPC_MULHHSA_UU_SN, 0x1 /* pipes */, 3 /* num_operands */,
5147     TREG_SN, /* implicitly_written_register */
5148     1, /* can_bundle */
5149     {
5150       /* operands */
5151       { 21, 8, 16 },
5152       { 0, },
5153       { 0, },
5154       { 0, },
5155       { 0, }
5156     },
5157     {
5158       /* fixed_bit_masks */
5159       0x800000007ffc0000ULL,
5160       0ULL,
5161       0ULL,
5162       0ULL,
5163       0ULL
5164     },
5165     {
5166       /* fixed_bit_values */
5167       0x0000000008640000ULL,
5168       -1ULL,
5169       -1ULL,
5170       -1ULL,
5171       -1ULL
5172     }
5173   },
5174   { "mulhl_ss", TILE_OPC_MULHL_SS, 0x1 /* pipes */, 3 /* num_operands */,
5175     TREG_ZERO, /* implicitly_written_register */
5176     1, /* can_bundle */
5177     {
5178       /* operands */
5179       { 7, 8, 16 },
5180       { 0, },
5181       { 0, },
5182       { 0, },
5183       { 0, }
5184     },
5185     {
5186       /* fixed_bit_masks */
5187       0x800000007ffc0000ULL,
5188       0ULL,
5189       0ULL,
5190       0ULL,
5191       0ULL
5192     },
5193     {
5194       /* fixed_bit_values */
5195       0x0000000000880000ULL,
5196       -1ULL,
5197       -1ULL,
5198       -1ULL,
5199       -1ULL
5200     }
5201   },
5202   { "mulhl_ss.sn", TILE_OPC_MULHL_SS_SN, 0x1 /* pipes */, 3 /* num_operands */,
5203     TREG_SN, /* implicitly_written_register */
5204     1, /* can_bundle */
5205     {
5206       /* operands */
5207       { 7, 8, 16 },
5208       { 0, },
5209       { 0, },
5210       { 0, },
5211       { 0, }
5212     },
5213     {
5214       /* fixed_bit_masks */
5215       0x800000007ffc0000ULL,
5216       0ULL,
5217       0ULL,
5218       0ULL,
5219       0ULL
5220     },
5221     {
5222       /* fixed_bit_values */
5223       0x0000000008880000ULL,
5224       -1ULL,
5225       -1ULL,
5226       -1ULL,
5227       -1ULL
5228     }
5229   },
5230   { "mulhl_su", TILE_OPC_MULHL_SU, 0x1 /* pipes */, 3 /* num_operands */,
5231     TREG_ZERO, /* implicitly_written_register */
5232     1, /* can_bundle */
5233     {
5234       /* operands */
5235       { 7, 8, 16 },
5236       { 0, },
5237       { 0, },
5238       { 0, },
5239       { 0, }
5240     },
5241     {
5242       /* fixed_bit_masks */
5243       0x800000007ffc0000ULL,
5244       0ULL,
5245       0ULL,
5246       0ULL,
5247       0ULL
5248     },
5249     {
5250       /* fixed_bit_values */
5251       0x00000000008c0000ULL,
5252       -1ULL,
5253       -1ULL,
5254       -1ULL,
5255       -1ULL
5256     }
5257   },
5258   { "mulhl_su.sn", TILE_OPC_MULHL_SU_SN, 0x1 /* pipes */, 3 /* num_operands */,
5259     TREG_SN, /* implicitly_written_register */
5260     1, /* can_bundle */
5261     {
5262       /* operands */
5263       { 7, 8, 16 },
5264       { 0, },
5265       { 0, },
5266       { 0, },
5267       { 0, }
5268     },
5269     {
5270       /* fixed_bit_masks */
5271       0x800000007ffc0000ULL,
5272       0ULL,
5273       0ULL,
5274       0ULL,
5275       0ULL
5276     },
5277     {
5278       /* fixed_bit_values */
5279       0x00000000088c0000ULL,
5280       -1ULL,
5281       -1ULL,
5282       -1ULL,
5283       -1ULL
5284     }
5285   },
5286   { "mulhl_us", TILE_OPC_MULHL_US, 0x1 /* pipes */, 3 /* num_operands */,
5287     TREG_ZERO, /* implicitly_written_register */
5288     1, /* can_bundle */
5289     {
5290       /* operands */
5291       { 7, 8, 16 },
5292       { 0, },
5293       { 0, },
5294       { 0, },
5295       { 0, }
5296     },
5297     {
5298       /* fixed_bit_masks */
5299       0x800000007ffc0000ULL,
5300       0ULL,
5301       0ULL,
5302       0ULL,
5303       0ULL
5304     },
5305     {
5306       /* fixed_bit_values */
5307       0x0000000000900000ULL,
5308       -1ULL,
5309       -1ULL,
5310       -1ULL,
5311       -1ULL
5312     }
5313   },
5314   { "mulhl_us.sn", TILE_OPC_MULHL_US_SN, 0x1 /* pipes */, 3 /* num_operands */,
5315     TREG_SN, /* implicitly_written_register */
5316     1, /* can_bundle */
5317     {
5318       /* operands */
5319       { 7, 8, 16 },
5320       { 0, },
5321       { 0, },
5322       { 0, },
5323       { 0, }
5324     },
5325     {
5326       /* fixed_bit_masks */
5327       0x800000007ffc0000ULL,
5328       0ULL,
5329       0ULL,
5330       0ULL,
5331       0ULL
5332     },
5333     {
5334       /* fixed_bit_values */
5335       0x0000000008900000ULL,
5336       -1ULL,
5337       -1ULL,
5338       -1ULL,
5339       -1ULL
5340     }
5341   },
5342   { "mulhl_uu", TILE_OPC_MULHL_UU, 0x1 /* pipes */, 3 /* num_operands */,
5343     TREG_ZERO, /* implicitly_written_register */
5344     1, /* can_bundle */
5345     {
5346       /* operands */
5347       { 7, 8, 16 },
5348       { 0, },
5349       { 0, },
5350       { 0, },
5351       { 0, }
5352     },
5353     {
5354       /* fixed_bit_masks */
5355       0x800000007ffc0000ULL,
5356       0ULL,
5357       0ULL,
5358       0ULL,
5359       0ULL
5360     },
5361     {
5362       /* fixed_bit_values */
5363       0x0000000000940000ULL,
5364       -1ULL,
5365       -1ULL,
5366       -1ULL,
5367       -1ULL
5368     }
5369   },
5370   { "mulhl_uu.sn", TILE_OPC_MULHL_UU_SN, 0x1 /* pipes */, 3 /* num_operands */,
5371     TREG_SN, /* implicitly_written_register */
5372     1, /* can_bundle */
5373     {
5374       /* operands */
5375       { 7, 8, 16 },
5376       { 0, },
5377       { 0, },
5378       { 0, },
5379       { 0, }
5380     },
5381     {
5382       /* fixed_bit_masks */
5383       0x800000007ffc0000ULL,
5384       0ULL,
5385       0ULL,
5386       0ULL,
5387       0ULL
5388     },
5389     {
5390       /* fixed_bit_values */
5391       0x0000000008940000ULL,
5392       -1ULL,
5393       -1ULL,
5394       -1ULL,
5395       -1ULL
5396     }
5397   },
5398   { "mulhla_ss", TILE_OPC_MULHLA_SS, 0x1 /* pipes */, 3 /* num_operands */,
5399     TREG_ZERO, /* implicitly_written_register */
5400     1, /* can_bundle */
5401     {
5402       /* operands */
5403       { 21, 8, 16 },
5404       { 0, },
5405       { 0, },
5406       { 0, },
5407       { 0, }
5408     },
5409     {
5410       /* fixed_bit_masks */
5411       0x800000007ffc0000ULL,
5412       0ULL,
5413       0ULL,
5414       0ULL,
5415       0ULL
5416     },
5417     {
5418       /* fixed_bit_values */
5419       0x0000000000740000ULL,
5420       -1ULL,
5421       -1ULL,
5422       -1ULL,
5423       -1ULL
5424     }
5425   },
5426   { "mulhla_ss.sn", TILE_OPC_MULHLA_SS_SN, 0x1 /* pipes */, 3 /* num_operands */,
5427     TREG_SN, /* implicitly_written_register */
5428     1, /* can_bundle */
5429     {
5430       /* operands */
5431       { 21, 8, 16 },
5432       { 0, },
5433       { 0, },
5434       { 0, },
5435       { 0, }
5436     },
5437     {
5438       /* fixed_bit_masks */
5439       0x800000007ffc0000ULL,
5440       0ULL,
5441       0ULL,
5442       0ULL,
5443       0ULL
5444     },
5445     {
5446       /* fixed_bit_values */
5447       0x0000000008740000ULL,
5448       -1ULL,
5449       -1ULL,
5450       -1ULL,
5451       -1ULL
5452     }
5453   },
5454   { "mulhla_su", TILE_OPC_MULHLA_SU, 0x1 /* pipes */, 3 /* num_operands */,
5455     TREG_ZERO, /* implicitly_written_register */
5456     1, /* can_bundle */
5457     {
5458       /* operands */
5459       { 21, 8, 16 },
5460       { 0, },
5461       { 0, },
5462       { 0, },
5463       { 0, }
5464     },
5465     {
5466       /* fixed_bit_masks */
5467       0x800000007ffc0000ULL,
5468       0ULL,
5469       0ULL,
5470       0ULL,
5471       0ULL
5472     },
5473     {
5474       /* fixed_bit_values */
5475       0x0000000000780000ULL,
5476       -1ULL,
5477       -1ULL,
5478       -1ULL,
5479       -1ULL
5480     }
5481   },
5482   { "mulhla_su.sn", TILE_OPC_MULHLA_SU_SN, 0x1 /* pipes */, 3 /* num_operands */,
5483     TREG_SN, /* implicitly_written_register */
5484     1, /* can_bundle */
5485     {
5486       /* operands */
5487       { 21, 8, 16 },
5488       { 0, },
5489       { 0, },
5490       { 0, },
5491       { 0, }
5492     },
5493     {
5494       /* fixed_bit_masks */
5495       0x800000007ffc0000ULL,
5496       0ULL,
5497       0ULL,
5498       0ULL,
5499       0ULL
5500     },
5501     {
5502       /* fixed_bit_values */
5503       0x0000000008780000ULL,
5504       -1ULL,
5505       -1ULL,
5506       -1ULL,
5507       -1ULL
5508     }
5509   },
5510   { "mulhla_us", TILE_OPC_MULHLA_US, 0x1 /* pipes */, 3 /* num_operands */,
5511     TREG_ZERO, /* implicitly_written_register */
5512     1, /* can_bundle */
5513     {
5514       /* operands */
5515       { 21, 8, 16 },
5516       { 0, },
5517       { 0, },
5518       { 0, },
5519       { 0, }
5520     },
5521     {
5522       /* fixed_bit_masks */
5523       0x800000007ffc0000ULL,
5524       0ULL,
5525       0ULL,
5526       0ULL,
5527       0ULL
5528     },
5529     {
5530       /* fixed_bit_values */
5531       0x00000000007c0000ULL,
5532       -1ULL,
5533       -1ULL,
5534       -1ULL,
5535       -1ULL
5536     }
5537   },
5538   { "mulhla_us.sn", TILE_OPC_MULHLA_US_SN, 0x1 /* pipes */, 3 /* num_operands */,
5539     TREG_SN, /* implicitly_written_register */
5540     1, /* can_bundle */
5541     {
5542       /* operands */
5543       { 21, 8, 16 },
5544       { 0, },
5545       { 0, },
5546       { 0, },
5547       { 0, }
5548     },
5549     {
5550       /* fixed_bit_masks */
5551       0x800000007ffc0000ULL,
5552       0ULL,
5553       0ULL,
5554       0ULL,
5555       0ULL
5556     },
5557     {
5558       /* fixed_bit_values */
5559       0x00000000087c0000ULL,
5560       -1ULL,
5561       -1ULL,
5562       -1ULL,
5563       -1ULL
5564     }
5565   },
5566   { "mulhla_uu", TILE_OPC_MULHLA_UU, 0x1 /* pipes */, 3 /* num_operands */,
5567     TREG_ZERO, /* implicitly_written_register */
5568     1, /* can_bundle */
5569     {
5570       /* operands */
5571       { 21, 8, 16 },
5572       { 0, },
5573       { 0, },
5574       { 0, },
5575       { 0, }
5576     },
5577     {
5578       /* fixed_bit_masks */
5579       0x800000007ffc0000ULL,
5580       0ULL,
5581       0ULL,
5582       0ULL,
5583       0ULL
5584     },
5585     {
5586       /* fixed_bit_values */
5587       0x0000000000800000ULL,
5588       -1ULL,
5589       -1ULL,
5590       -1ULL,
5591       -1ULL
5592     }
5593   },
5594   { "mulhla_uu.sn", TILE_OPC_MULHLA_UU_SN, 0x1 /* pipes */, 3 /* num_operands */,
5595     TREG_SN, /* implicitly_written_register */
5596     1, /* can_bundle */
5597     {
5598       /* operands */
5599       { 21, 8, 16 },
5600       { 0, },
5601       { 0, },
5602       { 0, },
5603       { 0, }
5604     },
5605     {
5606       /* fixed_bit_masks */
5607       0x800000007ffc0000ULL,
5608       0ULL,
5609       0ULL,
5610       0ULL,
5611       0ULL
5612     },
5613     {
5614       /* fixed_bit_values */
5615       0x0000000008800000ULL,
5616       -1ULL,
5617       -1ULL,
5618       -1ULL,
5619       -1ULL
5620     }
5621   },
5622   { "mulhlsa_uu", TILE_OPC_MULHLSA_UU, 0x5 /* pipes */, 3 /* num_operands */,
5623     TREG_ZERO, /* implicitly_written_register */
5624     1, /* can_bundle */
5625     {
5626       /* operands */
5627       { 21, 8, 16 },
5628       { 0, },
5629       { 31, 12, 18 },
5630       { 0, },
5631       { 0, }
5632     },
5633     {
5634       /* fixed_bit_masks */
5635       0x800000007ffc0000ULL,
5636       0ULL,
5637       0x80000000780c0000ULL,
5638       0ULL,
5639       0ULL
5640     },
5641     {
5642       /* fixed_bit_values */
5643       0x0000000000840000ULL,
5644       -1ULL,
5645       0x8000000030000000ULL,
5646       -1ULL,
5647       -1ULL
5648     }
5649   },
5650   { "mulhlsa_uu.sn", TILE_OPC_MULHLSA_UU_SN, 0x1 /* pipes */, 3 /* num_operands */,
5651     TREG_SN, /* implicitly_written_register */
5652     1, /* can_bundle */
5653     {
5654       /* operands */
5655       { 21, 8, 16 },
5656       { 0, },
5657       { 0, },
5658       { 0, },
5659       { 0, }
5660     },
5661     {
5662       /* fixed_bit_masks */
5663       0x800000007ffc0000ULL,
5664       0ULL,
5665       0ULL,
5666       0ULL,
5667       0ULL
5668     },
5669     {
5670       /* fixed_bit_values */
5671       0x0000000008840000ULL,
5672       -1ULL,
5673       -1ULL,
5674       -1ULL,
5675       -1ULL
5676     }
5677   },
5678   { "mulll_ss", TILE_OPC_MULLL_SS, 0x5 /* pipes */, 3 /* num_operands */,
5679     TREG_ZERO, /* implicitly_written_register */
5680     1, /* can_bundle */
5681     {
5682       /* operands */
5683       { 7, 8, 16 },
5684       { 0, },
5685       { 11, 12, 18 },
5686       { 0, },
5687       { 0, }
5688     },
5689     {
5690       /* fixed_bit_masks */
5691       0x800000007ffc0000ULL,
5692       0ULL,
5693       0x80000000780c0000ULL,
5694       0ULL,
5695       0ULL
5696     },
5697     {
5698       /* fixed_bit_values */
5699       0x0000000000a80000ULL,
5700       -1ULL,
5701       0x8000000038080000ULL,
5702       -1ULL,
5703       -1ULL
5704     }
5705   },
5706   { "mulll_ss.sn", TILE_OPC_MULLL_SS_SN, 0x1 /* pipes */, 3 /* num_operands */,
5707     TREG_SN, /* implicitly_written_register */
5708     1, /* can_bundle */
5709     {
5710       /* operands */
5711       { 7, 8, 16 },
5712       { 0, },
5713       { 0, },
5714       { 0, },
5715       { 0, }
5716     },
5717     {
5718       /* fixed_bit_masks */
5719       0x800000007ffc0000ULL,
5720       0ULL,
5721       0ULL,
5722       0ULL,
5723       0ULL
5724     },
5725     {
5726       /* fixed_bit_values */
5727       0x0000000008a80000ULL,
5728       -1ULL,
5729       -1ULL,
5730       -1ULL,
5731       -1ULL
5732     }
5733   },
5734   { "mulll_su", TILE_OPC_MULLL_SU, 0x1 /* pipes */, 3 /* num_operands */,
5735     TREG_ZERO, /* implicitly_written_register */
5736     1, /* can_bundle */
5737     {
5738       /* operands */
5739       { 7, 8, 16 },
5740       { 0, },
5741       { 0, },
5742       { 0, },
5743       { 0, }
5744     },
5745     {
5746       /* fixed_bit_masks */
5747       0x800000007ffc0000ULL,
5748       0ULL,
5749       0ULL,
5750       0ULL,
5751       0ULL
5752     },
5753     {
5754       /* fixed_bit_values */
5755       0x0000000000ac0000ULL,
5756       -1ULL,
5757       -1ULL,
5758       -1ULL,
5759       -1ULL
5760     }
5761   },
5762   { "mulll_su.sn", TILE_OPC_MULLL_SU_SN, 0x1 /* pipes */, 3 /* num_operands */,
5763     TREG_SN, /* implicitly_written_register */
5764     1, /* can_bundle */
5765     {
5766       /* operands */
5767       { 7, 8, 16 },
5768       { 0, },
5769       { 0, },
5770       { 0, },
5771       { 0, }
5772     },
5773     {
5774       /* fixed_bit_masks */
5775       0x800000007ffc0000ULL,
5776       0ULL,
5777       0ULL,
5778       0ULL,
5779       0ULL
5780     },
5781     {
5782       /* fixed_bit_values */
5783       0x0000000008ac0000ULL,
5784       -1ULL,
5785       -1ULL,
5786       -1ULL,
5787       -1ULL
5788     }
5789   },
5790   { "mulll_uu", TILE_OPC_MULLL_UU, 0x5 /* pipes */, 3 /* num_operands */,
5791     TREG_ZERO, /* implicitly_written_register */
5792     1, /* can_bundle */
5793     {
5794       /* operands */
5795       { 7, 8, 16 },
5796       { 0, },
5797       { 11, 12, 18 },
5798       { 0, },
5799       { 0, }
5800     },
5801     {
5802       /* fixed_bit_masks */
5803       0x800000007ffc0000ULL,
5804       0ULL,
5805       0x80000000780c0000ULL,
5806       0ULL,
5807       0ULL
5808     },
5809     {
5810       /* fixed_bit_values */
5811       0x0000000000b00000ULL,
5812       -1ULL,
5813       0x80000000380c0000ULL,
5814       -1ULL,
5815       -1ULL
5816     }
5817   },
5818   { "mulll_uu.sn", TILE_OPC_MULLL_UU_SN, 0x1 /* pipes */, 3 /* num_operands */,
5819     TREG_SN, /* implicitly_written_register */
5820     1, /* can_bundle */
5821     {
5822       /* operands */
5823       { 7, 8, 16 },
5824       { 0, },
5825       { 0, },
5826       { 0, },
5827       { 0, }
5828     },
5829     {
5830       /* fixed_bit_masks */
5831       0x800000007ffc0000ULL,
5832       0ULL,
5833       0ULL,
5834       0ULL,
5835       0ULL
5836     },
5837     {
5838       /* fixed_bit_values */
5839       0x0000000008b00000ULL,
5840       -1ULL,
5841       -1ULL,
5842       -1ULL,
5843       -1ULL
5844     }
5845   },
5846   { "mullla_ss", TILE_OPC_MULLLA_SS, 0x5 /* pipes */, 3 /* num_operands */,
5847     TREG_ZERO, /* implicitly_written_register */
5848     1, /* can_bundle */
5849     {
5850       /* operands */
5851       { 21, 8, 16 },
5852       { 0, },
5853       { 31, 12, 18 },
5854       { 0, },
5855       { 0, }
5856     },
5857     {
5858       /* fixed_bit_masks */
5859       0x800000007ffc0000ULL,
5860       0ULL,
5861       0x80000000780c0000ULL,
5862       0ULL,
5863       0ULL
5864     },
5865     {
5866       /* fixed_bit_values */
5867       0x0000000000980000ULL,
5868       -1ULL,
5869       0x8000000040080000ULL,
5870       -1ULL,
5871       -1ULL
5872     }
5873   },
5874   { "mullla_ss.sn", TILE_OPC_MULLLA_SS_SN, 0x1 /* pipes */, 3 /* num_operands */,
5875     TREG_SN, /* implicitly_written_register */
5876     1, /* can_bundle */
5877     {
5878       /* operands */
5879       { 21, 8, 16 },
5880       { 0, },
5881       { 0, },
5882       { 0, },
5883       { 0, }
5884     },
5885     {
5886       /* fixed_bit_masks */
5887       0x800000007ffc0000ULL,
5888       0ULL,
5889       0ULL,
5890       0ULL,
5891       0ULL
5892     },
5893     {
5894       /* fixed_bit_values */
5895       0x0000000008980000ULL,
5896       -1ULL,
5897       -1ULL,
5898       -1ULL,
5899       -1ULL
5900     }
5901   },
5902   { "mullla_su", TILE_OPC_MULLLA_SU, 0x1 /* pipes */, 3 /* num_operands */,
5903     TREG_ZERO, /* implicitly_written_register */
5904     1, /* can_bundle */
5905     {
5906       /* operands */
5907       { 21, 8, 16 },
5908       { 0, },
5909       { 0, },
5910       { 0, },
5911       { 0, }
5912     },
5913     {
5914       /* fixed_bit_masks */
5915       0x800000007ffc0000ULL,
5916       0ULL,
5917       0ULL,
5918       0ULL,
5919       0ULL
5920     },
5921     {
5922       /* fixed_bit_values */
5923       0x00000000009c0000ULL,
5924       -1ULL,
5925       -1ULL,
5926       -1ULL,
5927       -1ULL
5928     }
5929   },
5930   { "mullla_su.sn", TILE_OPC_MULLLA_SU_SN, 0x1 /* pipes */, 3 /* num_operands */,
5931     TREG_SN, /* implicitly_written_register */
5932     1, /* can_bundle */
5933     {
5934       /* operands */
5935       { 21, 8, 16 },
5936       { 0, },
5937       { 0, },
5938       { 0, },
5939       { 0, }
5940     },
5941     {
5942       /* fixed_bit_masks */
5943       0x800000007ffc0000ULL,
5944       0ULL,
5945       0ULL,
5946       0ULL,
5947       0ULL
5948     },
5949     {
5950       /* fixed_bit_values */
5951       0x00000000089c0000ULL,
5952       -1ULL,
5953       -1ULL,
5954       -1ULL,
5955       -1ULL
5956     }
5957   },
5958   { "mullla_uu", TILE_OPC_MULLLA_UU, 0x5 /* pipes */, 3 /* num_operands */,
5959     TREG_ZERO, /* implicitly_written_register */
5960     1, /* can_bundle */
5961     {
5962       /* operands */
5963       { 21, 8, 16 },
5964       { 0, },
5965       { 31, 12, 18 },
5966       { 0, },
5967       { 0, }
5968     },
5969     {
5970       /* fixed_bit_masks */
5971       0x800000007ffc0000ULL,
5972       0ULL,
5973       0x80000000780c0000ULL,
5974       0ULL,
5975       0ULL
5976     },
5977     {
5978       /* fixed_bit_values */
5979       0x0000000000a00000ULL,
5980       -1ULL,
5981       0x80000000400c0000ULL,
5982       -1ULL,
5983       -1ULL
5984     }
5985   },
5986   { "mullla_uu.sn", TILE_OPC_MULLLA_UU_SN, 0x1 /* pipes */, 3 /* num_operands */,
5987     TREG_SN, /* implicitly_written_register */
5988     1, /* can_bundle */
5989     {
5990       /* operands */
5991       { 21, 8, 16 },
5992       { 0, },
5993       { 0, },
5994       { 0, },
5995       { 0, }
5996     },
5997     {
5998       /* fixed_bit_masks */
5999       0x800000007ffc0000ULL,
6000       0ULL,
6001       0ULL,
6002       0ULL,
6003       0ULL
6004     },
6005     {
6006       /* fixed_bit_values */
6007       0x0000000008a00000ULL,
6008       -1ULL,
6009       -1ULL,
6010       -1ULL,
6011       -1ULL
6012     }
6013   },
6014   { "mulllsa_uu", TILE_OPC_MULLLSA_UU, 0x1 /* pipes */, 3 /* num_operands */,
6015     TREG_ZERO, /* implicitly_written_register */
6016     1, /* can_bundle */
6017     {
6018       /* operands */
6019       { 21, 8, 16 },
6020       { 0, },
6021       { 0, },
6022       { 0, },
6023       { 0, }
6024     },
6025     {
6026       /* fixed_bit_masks */
6027       0x800000007ffc0000ULL,
6028       0ULL,
6029       0ULL,
6030       0ULL,
6031       0ULL
6032     },
6033     {
6034       /* fixed_bit_values */
6035       0x0000000000a40000ULL,
6036       -1ULL,
6037       -1ULL,
6038       -1ULL,
6039       -1ULL
6040     }
6041   },
6042   { "mulllsa_uu.sn", TILE_OPC_MULLLSA_UU_SN, 0x1 /* pipes */, 3 /* num_operands */,
6043     TREG_SN, /* implicitly_written_register */
6044     1, /* can_bundle */
6045     {
6046       /* operands */
6047       { 21, 8, 16 },
6048       { 0, },
6049       { 0, },
6050       { 0, },
6051       { 0, }
6052     },
6053     {
6054       /* fixed_bit_masks */
6055       0x800000007ffc0000ULL,
6056       0ULL,
6057       0ULL,
6058       0ULL,
6059       0ULL
6060     },
6061     {
6062       /* fixed_bit_values */
6063       0x0000000008a40000ULL,
6064       -1ULL,
6065       -1ULL,
6066       -1ULL,
6067       -1ULL
6068     }
6069   },
6070   { "mvnz", TILE_OPC_MVNZ, 0x5 /* pipes */, 3 /* num_operands */,
6071     TREG_ZERO, /* implicitly_written_register */
6072     1, /* can_bundle */
6073     {
6074       /* operands */
6075       { 21, 8, 16 },
6076       { 0, },
6077       { 31, 12, 18 },
6078       { 0, },
6079       { 0, }
6080     },
6081     {
6082       /* fixed_bit_masks */
6083       0x800000007ffc0000ULL,
6084       0ULL,
6085       0x80000000780c0000ULL,
6086       0ULL,
6087       0ULL
6088     },
6089     {
6090       /* fixed_bit_values */
6091       0x0000000000b40000ULL,
6092       -1ULL,
6093       0x8000000010040000ULL,
6094       -1ULL,
6095       -1ULL
6096     }
6097   },
6098   { "mvnz.sn", TILE_OPC_MVNZ_SN, 0x1 /* pipes */, 3 /* num_operands */,
6099     TREG_SN, /* implicitly_written_register */
6100     1, /* can_bundle */
6101     {
6102       /* operands */
6103       { 21, 8, 16 },
6104       { 0, },
6105       { 0, },
6106       { 0, },
6107       { 0, }
6108     },
6109     {
6110       /* fixed_bit_masks */
6111       0x800000007ffc0000ULL,
6112       0ULL,
6113       0ULL,
6114       0ULL,
6115       0ULL
6116     },
6117     {
6118       /* fixed_bit_values */
6119       0x0000000008b40000ULL,
6120       -1ULL,
6121       -1ULL,
6122       -1ULL,
6123       -1ULL
6124     }
6125   },
6126   { "mvz", TILE_OPC_MVZ, 0x5 /* pipes */, 3 /* num_operands */,
6127     TREG_ZERO, /* implicitly_written_register */
6128     1, /* can_bundle */
6129     {
6130       /* operands */
6131       { 21, 8, 16 },
6132       { 0, },
6133       { 31, 12, 18 },
6134       { 0, },
6135       { 0, }
6136     },
6137     {
6138       /* fixed_bit_masks */
6139       0x800000007ffc0000ULL,
6140       0ULL,
6141       0x80000000780c0000ULL,
6142       0ULL,
6143       0ULL
6144     },
6145     {
6146       /* fixed_bit_values */
6147       0x0000000000b80000ULL,
6148       -1ULL,
6149       0x8000000010080000ULL,
6150       -1ULL,
6151       -1ULL
6152     }
6153   },
6154   { "mvz.sn", TILE_OPC_MVZ_SN, 0x1 /* pipes */, 3 /* num_operands */,
6155     TREG_SN, /* implicitly_written_register */
6156     1, /* can_bundle */
6157     {
6158       /* operands */
6159       { 21, 8, 16 },
6160       { 0, },
6161       { 0, },
6162       { 0, },
6163       { 0, }
6164     },
6165     {
6166       /* fixed_bit_masks */
6167       0x800000007ffc0000ULL,
6168       0ULL,
6169       0ULL,
6170       0ULL,
6171       0ULL
6172     },
6173     {
6174       /* fixed_bit_values */
6175       0x0000000008b80000ULL,
6176       -1ULL,
6177       -1ULL,
6178       -1ULL,
6179       -1ULL
6180     }
6181   },
6182   { "mz", TILE_OPC_MZ, 0xf /* pipes */, 3 /* num_operands */,
6183     TREG_ZERO, /* implicitly_written_register */
6184     1, /* can_bundle */
6185     {
6186       /* operands */
6187       { 7, 8, 16 },
6188       { 9, 10, 17 },
6189       { 11, 12, 18 },
6190       { 13, 14, 19 },
6191       { 0, }
6192     },
6193     {
6194       /* fixed_bit_masks */
6195       0x800000007ffc0000ULL,
6196       0xfffe000000000000ULL,
6197       0x80000000780c0000ULL,
6198       0xf806000000000000ULL,
6199       0ULL
6200     },
6201     {
6202       /* fixed_bit_values */
6203       0x0000000000c40000ULL,
6204       0x082e000000000000ULL,
6205       0x80000000100c0000ULL,
6206       0x9004000000000000ULL,
6207       -1ULL
6208     }
6209   },
6210   { "mz.sn", TILE_OPC_MZ_SN, 0x3 /* pipes */, 3 /* num_operands */,
6211     TREG_SN, /* implicitly_written_register */
6212     1, /* can_bundle */
6213     {
6214       /* operands */
6215       { 7, 8, 16 },
6216       { 9, 10, 17 },
6217       { 0, },
6218       { 0, },
6219       { 0, }
6220     },
6221     {
6222       /* fixed_bit_masks */
6223       0x800000007ffc0000ULL,
6224       0xfffe000000000000ULL,
6225       0ULL,
6226       0ULL,
6227       0ULL
6228     },
6229     {
6230       /* fixed_bit_values */
6231       0x0000000008c40000ULL,
6232       0x0c2e000000000000ULL,
6233       -1ULL,
6234       -1ULL,
6235       -1ULL
6236     }
6237   },
6238   { "mzb", TILE_OPC_MZB, 0x3 /* pipes */, 3 /* num_operands */,
6239     TREG_ZERO, /* implicitly_written_register */
6240     1, /* can_bundle */
6241     {
6242       /* operands */
6243       { 7, 8, 16 },
6244       { 9, 10, 17 },
6245       { 0, },
6246       { 0, },
6247       { 0, }
6248     },
6249     {
6250       /* fixed_bit_masks */
6251       0x800000007ffc0000ULL,
6252       0xfffe000000000000ULL,
6253       0ULL,
6254       0ULL,
6255       0ULL
6256     },
6257     {
6258       /* fixed_bit_values */
6259       0x0000000000bc0000ULL,
6260       0x082a000000000000ULL,
6261       -1ULL,
6262       -1ULL,
6263       -1ULL
6264     }
6265   },
6266   { "mzb.sn", TILE_OPC_MZB_SN, 0x3 /* pipes */, 3 /* num_operands */,
6267     TREG_SN, /* implicitly_written_register */
6268     1, /* can_bundle */
6269     {
6270       /* operands */
6271       { 7, 8, 16 },
6272       { 9, 10, 17 },
6273       { 0, },
6274       { 0, },
6275       { 0, }
6276     },
6277     {
6278       /* fixed_bit_masks */
6279       0x800000007ffc0000ULL,
6280       0xfffe000000000000ULL,
6281       0ULL,
6282       0ULL,
6283       0ULL
6284     },
6285     {
6286       /* fixed_bit_values */
6287       0x0000000008bc0000ULL,
6288       0x0c2a000000000000ULL,
6289       -1ULL,
6290       -1ULL,
6291       -1ULL
6292     }
6293   },
6294   { "mzh", TILE_OPC_MZH, 0x3 /* pipes */, 3 /* num_operands */,
6295     TREG_ZERO, /* implicitly_written_register */
6296     1, /* can_bundle */
6297     {
6298       /* operands */
6299       { 7, 8, 16 },
6300       { 9, 10, 17 },
6301       { 0, },
6302       { 0, },
6303       { 0, }
6304     },
6305     {
6306       /* fixed_bit_masks */
6307       0x800000007ffc0000ULL,
6308       0xfffe000000000000ULL,
6309       0ULL,
6310       0ULL,
6311       0ULL
6312     },
6313     {
6314       /* fixed_bit_values */
6315       0x0000000000c00000ULL,
6316       0x082c000000000000ULL,
6317       -1ULL,
6318       -1ULL,
6319       -1ULL
6320     }
6321   },
6322   { "mzh.sn", TILE_OPC_MZH_SN, 0x3 /* pipes */, 3 /* num_operands */,
6323     TREG_SN, /* implicitly_written_register */
6324     1, /* can_bundle */
6325     {
6326       /* operands */
6327       { 7, 8, 16 },
6328       { 9, 10, 17 },
6329       { 0, },
6330       { 0, },
6331       { 0, }
6332     },
6333     {
6334       /* fixed_bit_masks */
6335       0x800000007ffc0000ULL,
6336       0xfffe000000000000ULL,
6337       0ULL,
6338       0ULL,
6339       0ULL
6340     },
6341     {
6342       /* fixed_bit_values */
6343       0x0000000008c00000ULL,
6344       0x0c2c000000000000ULL,
6345       -1ULL,
6346       -1ULL,
6347       -1ULL
6348     }
6349   },
6350   { "nap", TILE_OPC_NAP, 0x2 /* pipes */, 0 /* num_operands */,
6351     TREG_ZERO, /* implicitly_written_register */
6352     0, /* can_bundle */
6353     {
6354       /* operands */
6355       { 0, },
6356       {  },
6357       { 0, },
6358       { 0, },
6359       { 0, }
6360     },
6361     {
6362       /* fixed_bit_masks */
6363       0ULL,
6364       0xfbfff80000000000ULL,
6365       0ULL,
6366       0ULL,
6367       0ULL
6368     },
6369     {
6370       /* fixed_bit_values */
6371       -1ULL,
6372       0x400b800000000000ULL,
6373       -1ULL,
6374       -1ULL,
6375       -1ULL
6376     }
6377   },
6378   { "nop", TILE_OPC_NOP, 0xf /* pipes */, 0 /* num_operands */,
6379     TREG_ZERO, /* implicitly_written_register */
6380     1, /* can_bundle */
6381     {
6382       /* operands */
6383       {  },
6384       {  },
6385       {  },
6386       {  },
6387       { 0, }
6388     },
6389     {
6390       /* fixed_bit_masks */
6391       0x8000000077fff000ULL,
6392       0xfbfff80000000000ULL,
6393       0x80000000780ff000ULL,
6394       0xf807f80000000000ULL,
6395       0ULL
6396     },
6397     {
6398       /* fixed_bit_values */
6399       0x0000000070166000ULL,
6400       0x400b880000000000ULL,
6401       0x80000000680a6000ULL,
6402       0xd805180000000000ULL,
6403       -1ULL
6404     }
6405   },
6406   { "nor", TILE_OPC_NOR, 0xf /* pipes */, 3 /* num_operands */,
6407     TREG_ZERO, /* implicitly_written_register */
6408     1, /* can_bundle */
6409     {
6410       /* operands */
6411       { 7, 8, 16 },
6412       { 9, 10, 17 },
6413       { 11, 12, 18 },
6414       { 13, 14, 19 },
6415       { 0, }
6416     },
6417     {
6418       /* fixed_bit_masks */
6419       0x800000007ffc0000ULL,
6420       0xfffe000000000000ULL,
6421       0x80000000780c0000ULL,
6422       0xf806000000000000ULL,
6423       0ULL
6424     },
6425     {
6426       /* fixed_bit_values */
6427       0x0000000000c80000ULL,
6428       0x0830000000000000ULL,
6429       0x8000000018040000ULL,
6430       0x9802000000000000ULL,
6431       -1ULL
6432     }
6433   },
6434   { "nor.sn", TILE_OPC_NOR_SN, 0x3 /* pipes */, 3 /* num_operands */,
6435     TREG_SN, /* implicitly_written_register */
6436     1, /* can_bundle */
6437     {
6438       /* operands */
6439       { 7, 8, 16 },
6440       { 9, 10, 17 },
6441       { 0, },
6442       { 0, },
6443       { 0, }
6444     },
6445     {
6446       /* fixed_bit_masks */
6447       0x800000007ffc0000ULL,
6448       0xfffe000000000000ULL,
6449       0ULL,
6450       0ULL,
6451       0ULL
6452     },
6453     {
6454       /* fixed_bit_values */
6455       0x0000000008c80000ULL,
6456       0x0c30000000000000ULL,
6457       -1ULL,
6458       -1ULL,
6459       -1ULL
6460     }
6461   },
6462   { "or", TILE_OPC_OR, 0xf /* pipes */, 3 /* num_operands */,
6463     TREG_ZERO, /* implicitly_written_register */
6464     1, /* can_bundle */
6465     {
6466       /* operands */
6467       { 7, 8, 16 },
6468       { 9, 10, 17 },
6469       { 11, 12, 18 },
6470       { 13, 14, 19 },
6471       { 0, }
6472     },
6473     {
6474       /* fixed_bit_masks */
6475       0x800000007ffc0000ULL,
6476       0xfffe000000000000ULL,
6477       0x80000000780c0000ULL,
6478       0xf806000000000000ULL,
6479       0ULL
6480     },
6481     {
6482       /* fixed_bit_values */
6483       0x0000000000cc0000ULL,
6484       0x0832000000000000ULL,
6485       0x8000000018080000ULL,
6486       0x9804000000000000ULL,
6487       -1ULL
6488     }
6489   },
6490   { "or.sn", TILE_OPC_OR_SN, 0x3 /* pipes */, 3 /* num_operands */,
6491     TREG_SN, /* implicitly_written_register */
6492     1, /* can_bundle */
6493     {
6494       /* operands */
6495       { 7, 8, 16 },
6496       { 9, 10, 17 },
6497       { 0, },
6498       { 0, },
6499       { 0, }
6500     },
6501     {
6502       /* fixed_bit_masks */
6503       0x800000007ffc0000ULL,
6504       0xfffe000000000000ULL,
6505       0ULL,
6506       0ULL,
6507       0ULL
6508     },
6509     {
6510       /* fixed_bit_values */
6511       0x0000000008cc0000ULL,
6512       0x0c32000000000000ULL,
6513       -1ULL,
6514       -1ULL,
6515       -1ULL
6516     }
6517   },
6518   { "ori", TILE_OPC_ORI, 0xf /* pipes */, 3 /* num_operands */,
6519     TREG_ZERO, /* implicitly_written_register */
6520     1, /* can_bundle */
6521     {
6522       /* operands */
6523       { 7, 8, 0 },
6524       { 9, 10, 1 },
6525       { 11, 12, 2 },
6526       { 13, 14, 3 },
6527       { 0, }
6528     },
6529     {
6530       /* fixed_bit_masks */
6531       0x800000007ff00000ULL,
6532       0xfff8000000000000ULL,
6533       0x8000000078000000ULL,
6534       0xf800000000000000ULL,
6535       0ULL
6536     },
6537     {
6538       /* fixed_bit_values */
6539       0x0000000040800000ULL,
6540       0x3058000000000000ULL,
6541       0x8000000058000000ULL,
6542       0xc800000000000000ULL,
6543       -1ULL
6544     }
6545   },
6546   { "ori.sn", TILE_OPC_ORI_SN, 0x3 /* pipes */, 3 /* num_operands */,
6547     TREG_SN, /* implicitly_written_register */
6548     1, /* can_bundle */
6549     {
6550       /* operands */
6551       { 7, 8, 0 },
6552       { 9, 10, 1 },
6553       { 0, },
6554       { 0, },
6555       { 0, }
6556     },
6557     {
6558       /* fixed_bit_masks */
6559       0x800000007ff00000ULL,
6560       0xfff8000000000000ULL,
6561       0ULL,
6562       0ULL,
6563       0ULL
6564     },
6565     {
6566       /* fixed_bit_values */
6567       0x0000000048800000ULL,
6568       0x3458000000000000ULL,
6569       -1ULL,
6570       -1ULL,
6571       -1ULL
6572     }
6573   },
6574   { "packbs_u", TILE_OPC_PACKBS_U, 0x3 /* pipes */, 3 /* num_operands */,
6575     TREG_ZERO, /* implicitly_written_register */
6576     1, /* can_bundle */
6577     {
6578       /* operands */
6579       { 7, 8, 16 },
6580       { 9, 10, 17 },
6581       { 0, },
6582       { 0, },
6583       { 0, }
6584     },
6585     {
6586       /* fixed_bit_masks */
6587       0x800000007ffc0000ULL,
6588       0xfffe000000000000ULL,
6589       0ULL,
6590       0ULL,
6591       0ULL
6592     },
6593     {
6594       /* fixed_bit_values */
6595       0x00000000019c0000ULL,
6596       0x0892000000000000ULL,
6597       -1ULL,
6598       -1ULL,
6599       -1ULL
6600     }
6601   },
6602   { "packbs_u.sn", TILE_OPC_PACKBS_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
6603     TREG_SN, /* implicitly_written_register */
6604     1, /* can_bundle */
6605     {
6606       /* operands */
6607       { 7, 8, 16 },
6608       { 9, 10, 17 },
6609       { 0, },
6610       { 0, },
6611       { 0, }
6612     },
6613     {
6614       /* fixed_bit_masks */
6615       0x800000007ffc0000ULL,
6616       0xfffe000000000000ULL,
6617       0ULL,
6618       0ULL,
6619       0ULL
6620     },
6621     {
6622       /* fixed_bit_values */
6623       0x00000000099c0000ULL,
6624       0x0c92000000000000ULL,
6625       -1ULL,
6626       -1ULL,
6627       -1ULL
6628     }
6629   },
6630   { "packhb", TILE_OPC_PACKHB, 0x3 /* pipes */, 3 /* num_operands */,
6631     TREG_ZERO, /* implicitly_written_register */
6632     1, /* can_bundle */
6633     {
6634       /* operands */
6635       { 7, 8, 16 },
6636       { 9, 10, 17 },
6637       { 0, },
6638       { 0, },
6639       { 0, }
6640     },
6641     {
6642       /* fixed_bit_masks */
6643       0x800000007ffc0000ULL,
6644       0xfffe000000000000ULL,
6645       0ULL,
6646       0ULL,
6647       0ULL
6648     },
6649     {
6650       /* fixed_bit_values */
6651       0x0000000000d00000ULL,
6652       0x0834000000000000ULL,
6653       -1ULL,
6654       -1ULL,
6655       -1ULL
6656     }
6657   },
6658   { "packhb.sn", TILE_OPC_PACKHB_SN, 0x3 /* pipes */, 3 /* num_operands */,
6659     TREG_SN, /* implicitly_written_register */
6660     1, /* can_bundle */
6661     {
6662       /* operands */
6663       { 7, 8, 16 },
6664       { 9, 10, 17 },
6665       { 0, },
6666       { 0, },
6667       { 0, }
6668     },
6669     {
6670       /* fixed_bit_masks */
6671       0x800000007ffc0000ULL,
6672       0xfffe000000000000ULL,
6673       0ULL,
6674       0ULL,
6675       0ULL
6676     },
6677     {
6678       /* fixed_bit_values */
6679       0x0000000008d00000ULL,
6680       0x0c34000000000000ULL,
6681       -1ULL,
6682       -1ULL,
6683       -1ULL
6684     }
6685   },
6686   { "packhs", TILE_OPC_PACKHS, 0x3 /* pipes */, 3 /* num_operands */,
6687     TREG_ZERO, /* implicitly_written_register */
6688     1, /* can_bundle */
6689     {
6690       /* operands */
6691       { 7, 8, 16 },
6692       { 9, 10, 17 },
6693       { 0, },
6694       { 0, },
6695       { 0, }
6696     },
6697     {
6698       /* fixed_bit_masks */
6699       0x800000007ffc0000ULL,
6700       0xfffe000000000000ULL,
6701       0ULL,
6702       0ULL,
6703       0ULL
6704     },
6705     {
6706       /* fixed_bit_values */
6707       0x0000000001980000ULL,
6708       0x0890000000000000ULL,
6709       -1ULL,
6710       -1ULL,
6711       -1ULL
6712     }
6713   },
6714   { "packhs.sn", TILE_OPC_PACKHS_SN, 0x3 /* pipes */, 3 /* num_operands */,
6715     TREG_SN, /* implicitly_written_register */
6716     1, /* can_bundle */
6717     {
6718       /* operands */
6719       { 7, 8, 16 },
6720       { 9, 10, 17 },
6721       { 0, },
6722       { 0, },
6723       { 0, }
6724     },
6725     {
6726       /* fixed_bit_masks */
6727       0x800000007ffc0000ULL,
6728       0xfffe000000000000ULL,
6729       0ULL,
6730       0ULL,
6731       0ULL
6732     },
6733     {
6734       /* fixed_bit_values */
6735       0x0000000009980000ULL,
6736       0x0c90000000000000ULL,
6737       -1ULL,
6738       -1ULL,
6739       -1ULL
6740     }
6741   },
6742   { "packlb", TILE_OPC_PACKLB, 0x3 /* pipes */, 3 /* num_operands */,
6743     TREG_ZERO, /* implicitly_written_register */
6744     1, /* can_bundle */
6745     {
6746       /* operands */
6747       { 7, 8, 16 },
6748       { 9, 10, 17 },
6749       { 0, },
6750       { 0, },
6751       { 0, }
6752     },
6753     {
6754       /* fixed_bit_masks */
6755       0x800000007ffc0000ULL,
6756       0xfffe000000000000ULL,
6757       0ULL,
6758       0ULL,
6759       0ULL
6760     },
6761     {
6762       /* fixed_bit_values */
6763       0x0000000000d40000ULL,
6764       0x0836000000000000ULL,
6765       -1ULL,
6766       -1ULL,
6767       -1ULL
6768     }
6769   },
6770   { "packlb.sn", TILE_OPC_PACKLB_SN, 0x3 /* pipes */, 3 /* num_operands */,
6771     TREG_SN, /* implicitly_written_register */
6772     1, /* can_bundle */
6773     {
6774       /* operands */
6775       { 7, 8, 16 },
6776       { 9, 10, 17 },
6777       { 0, },
6778       { 0, },
6779       { 0, }
6780     },
6781     {
6782       /* fixed_bit_masks */
6783       0x800000007ffc0000ULL,
6784       0xfffe000000000000ULL,
6785       0ULL,
6786       0ULL,
6787       0ULL
6788     },
6789     {
6790       /* fixed_bit_values */
6791       0x0000000008d40000ULL,
6792       0x0c36000000000000ULL,
6793       -1ULL,
6794       -1ULL,
6795       -1ULL
6796     }
6797   },
6798   { "pcnt", TILE_OPC_PCNT, 0x5 /* pipes */, 2 /* num_operands */,
6799     TREG_ZERO, /* implicitly_written_register */
6800     1, /* can_bundle */
6801     {
6802       /* operands */
6803       { 7, 8 },
6804       { 0, },
6805       { 11, 12 },
6806       { 0, },
6807       { 0, }
6808     },
6809     {
6810       /* fixed_bit_masks */
6811       0x800000007ffff000ULL,
6812       0ULL,
6813       0x80000000780ff000ULL,
6814       0ULL,
6815       0ULL
6816     },
6817     {
6818       /* fixed_bit_values */
6819       0x0000000070167000ULL,
6820       -1ULL,
6821       0x80000000680a7000ULL,
6822       -1ULL,
6823       -1ULL
6824     }
6825   },
6826   { "pcnt.sn", TILE_OPC_PCNT_SN, 0x1 /* pipes */, 2 /* num_operands */,
6827     TREG_SN, /* implicitly_written_register */
6828     1, /* can_bundle */
6829     {
6830       /* operands */
6831       { 7, 8 },
6832       { 0, },
6833       { 0, },
6834       { 0, },
6835       { 0, }
6836     },
6837     {
6838       /* fixed_bit_masks */
6839       0x800000007ffff000ULL,
6840       0ULL,
6841       0ULL,
6842       0ULL,
6843       0ULL
6844     },
6845     {
6846       /* fixed_bit_values */
6847       0x0000000078167000ULL,
6848       -1ULL,
6849       -1ULL,
6850       -1ULL,
6851       -1ULL
6852     }
6853   },
6854   { "rl", TILE_OPC_RL, 0xf /* pipes */, 3 /* num_operands */,
6855     TREG_ZERO, /* implicitly_written_register */
6856     1, /* can_bundle */
6857     {
6858       /* operands */
6859       { 7, 8, 16 },
6860       { 9, 10, 17 },
6861       { 11, 12, 18 },
6862       { 13, 14, 19 },
6863       { 0, }
6864     },
6865     {
6866       /* fixed_bit_masks */
6867       0x800000007ffc0000ULL,
6868       0xfffe000000000000ULL,
6869       0x80000000780c0000ULL,
6870       0xf806000000000000ULL,
6871       0ULL
6872     },
6873     {
6874       /* fixed_bit_values */
6875       0x0000000000d80000ULL,
6876       0x0838000000000000ULL,
6877       0x8000000020000000ULL,
6878       0xa000000000000000ULL,
6879       -1ULL
6880     }
6881   },
6882   { "rl.sn", TILE_OPC_RL_SN, 0x3 /* pipes */, 3 /* num_operands */,
6883     TREG_SN, /* implicitly_written_register */
6884     1, /* can_bundle */
6885     {
6886       /* operands */
6887       { 7, 8, 16 },
6888       { 9, 10, 17 },
6889       { 0, },
6890       { 0, },
6891       { 0, }
6892     },
6893     {
6894       /* fixed_bit_masks */
6895       0x800000007ffc0000ULL,
6896       0xfffe000000000000ULL,
6897       0ULL,
6898       0ULL,
6899       0ULL
6900     },
6901     {
6902       /* fixed_bit_values */
6903       0x0000000008d80000ULL,
6904       0x0c38000000000000ULL,
6905       -1ULL,
6906       -1ULL,
6907       -1ULL
6908     }
6909   },
6910   { "rli", TILE_OPC_RLI, 0xf /* pipes */, 3 /* num_operands */,
6911     TREG_ZERO, /* implicitly_written_register */
6912     1, /* can_bundle */
6913     {
6914       /* operands */
6915       { 7, 8, 32 },
6916       { 9, 10, 33 },
6917       { 11, 12, 34 },
6918       { 13, 14, 35 },
6919       { 0, }
6920     },
6921     {
6922       /* fixed_bit_masks */
6923       0x800000007ffe0000ULL,
6924       0xffff000000000000ULL,
6925       0x80000000780e0000ULL,
6926       0xf807000000000000ULL,
6927       0ULL
6928     },
6929     {
6930       /* fixed_bit_values */
6931       0x0000000070020000ULL,
6932       0x4001000000000000ULL,
6933       0x8000000068020000ULL,
6934       0xd801000000000000ULL,
6935       -1ULL
6936     }
6937   },
6938   { "rli.sn", TILE_OPC_RLI_SN, 0x3 /* pipes */, 3 /* num_operands */,
6939     TREG_SN, /* implicitly_written_register */
6940     1, /* can_bundle */
6941     {
6942       /* operands */
6943       { 7, 8, 32 },
6944       { 9, 10, 33 },
6945       { 0, },
6946       { 0, },
6947       { 0, }
6948     },
6949     {
6950       /* fixed_bit_masks */
6951       0x800000007ffe0000ULL,
6952       0xffff000000000000ULL,
6953       0ULL,
6954       0ULL,
6955       0ULL
6956     },
6957     {
6958       /* fixed_bit_values */
6959       0x0000000078020000ULL,
6960       0x4401000000000000ULL,
6961       -1ULL,
6962       -1ULL,
6963       -1ULL
6964     }
6965   },
6966   { "s1a", TILE_OPC_S1A, 0xf /* pipes */, 3 /* num_operands */,
6967     TREG_ZERO, /* implicitly_written_register */
6968     1, /* can_bundle */
6969     {
6970       /* operands */
6971       { 7, 8, 16 },
6972       { 9, 10, 17 },
6973       { 11, 12, 18 },
6974       { 13, 14, 19 },
6975       { 0, }
6976     },
6977     {
6978       /* fixed_bit_masks */
6979       0x800000007ffc0000ULL,
6980       0xfffe000000000000ULL,
6981       0x80000000780c0000ULL,
6982       0xf806000000000000ULL,
6983       0ULL
6984     },
6985     {
6986       /* fixed_bit_values */
6987       0x0000000000dc0000ULL,
6988       0x083a000000000000ULL,
6989       0x8000000008040000ULL,
6990       0x8802000000000000ULL,
6991       -1ULL
6992     }
6993   },
6994   { "s1a.sn", TILE_OPC_S1A_SN, 0x3 /* pipes */, 3 /* num_operands */,
6995     TREG_SN, /* implicitly_written_register */
6996     1, /* can_bundle */
6997     {
6998       /* operands */
6999       { 7, 8, 16 },
7000       { 9, 10, 17 },
7001       { 0, },
7002       { 0, },
7003       { 0, }
7004     },
7005     {
7006       /* fixed_bit_masks */
7007       0x800000007ffc0000ULL,
7008       0xfffe000000000000ULL,
7009       0ULL,
7010       0ULL,
7011       0ULL
7012     },
7013     {
7014       /* fixed_bit_values */
7015       0x0000000008dc0000ULL,
7016       0x0c3a000000000000ULL,
7017       -1ULL,
7018       -1ULL,
7019       -1ULL
7020     }
7021   },
7022   { "s2a", TILE_OPC_S2A, 0xf /* pipes */, 3 /* num_operands */,
7023     TREG_ZERO, /* implicitly_written_register */
7024     1, /* can_bundle */
7025     {
7026       /* operands */
7027       { 7, 8, 16 },
7028       { 9, 10, 17 },
7029       { 11, 12, 18 },
7030       { 13, 14, 19 },
7031       { 0, }
7032     },
7033     {
7034       /* fixed_bit_masks */
7035       0x800000007ffc0000ULL,
7036       0xfffe000000000000ULL,
7037       0x80000000780c0000ULL,
7038       0xf806000000000000ULL,
7039       0ULL
7040     },
7041     {
7042       /* fixed_bit_values */
7043       0x0000000000e00000ULL,
7044       0x083c000000000000ULL,
7045       0x8000000008080000ULL,
7046       0x8804000000000000ULL,
7047       -1ULL
7048     }
7049   },
7050   { "s2a.sn", TILE_OPC_S2A_SN, 0x3 /* pipes */, 3 /* num_operands */,
7051     TREG_SN, /* implicitly_written_register */
7052     1, /* can_bundle */
7053     {
7054       /* operands */
7055       { 7, 8, 16 },
7056       { 9, 10, 17 },
7057       { 0, },
7058       { 0, },
7059       { 0, }
7060     },
7061     {
7062       /* fixed_bit_masks */
7063       0x800000007ffc0000ULL,
7064       0xfffe000000000000ULL,
7065       0ULL,
7066       0ULL,
7067       0ULL
7068     },
7069     {
7070       /* fixed_bit_values */
7071       0x0000000008e00000ULL,
7072       0x0c3c000000000000ULL,
7073       -1ULL,
7074       -1ULL,
7075       -1ULL
7076     }
7077   },
7078   { "s3a", TILE_OPC_S3A, 0xf /* pipes */, 3 /* num_operands */,
7079     TREG_ZERO, /* implicitly_written_register */
7080     1, /* can_bundle */
7081     {
7082       /* operands */
7083       { 7, 8, 16 },
7084       { 9, 10, 17 },
7085       { 11, 12, 18 },
7086       { 13, 14, 19 },
7087       { 0, }
7088     },
7089     {
7090       /* fixed_bit_masks */
7091       0x800000007ffc0000ULL,
7092       0xfffe000000000000ULL,
7093       0x80000000780c0000ULL,
7094       0xf806000000000000ULL,
7095       0ULL
7096     },
7097     {
7098       /* fixed_bit_values */
7099       0x0000000000e40000ULL,
7100       0x083e000000000000ULL,
7101       0x8000000030040000ULL,
7102       0xb002000000000000ULL,
7103       -1ULL
7104     }
7105   },
7106   { "s3a.sn", TILE_OPC_S3A_SN, 0x3 /* pipes */, 3 /* num_operands */,
7107     TREG_SN, /* implicitly_written_register */
7108     1, /* can_bundle */
7109     {
7110       /* operands */
7111       { 7, 8, 16 },
7112       { 9, 10, 17 },
7113       { 0, },
7114       { 0, },
7115       { 0, }
7116     },
7117     {
7118       /* fixed_bit_masks */
7119       0x800000007ffc0000ULL,
7120       0xfffe000000000000ULL,
7121       0ULL,
7122       0ULL,
7123       0ULL
7124     },
7125     {
7126       /* fixed_bit_values */
7127       0x0000000008e40000ULL,
7128       0x0c3e000000000000ULL,
7129       -1ULL,
7130       -1ULL,
7131       -1ULL
7132     }
7133   },
7134   { "sadab_u", TILE_OPC_SADAB_U, 0x1 /* pipes */, 3 /* num_operands */,
7135     TREG_ZERO, /* implicitly_written_register */
7136     1, /* can_bundle */
7137     {
7138       /* operands */
7139       { 21, 8, 16 },
7140       { 0, },
7141       { 0, },
7142       { 0, },
7143       { 0, }
7144     },
7145     {
7146       /* fixed_bit_masks */
7147       0x800000007ffc0000ULL,
7148       0ULL,
7149       0ULL,
7150       0ULL,
7151       0ULL
7152     },
7153     {
7154       /* fixed_bit_values */
7155       0x0000000000e80000ULL,
7156       -1ULL,
7157       -1ULL,
7158       -1ULL,
7159       -1ULL
7160     }
7161   },
7162   { "sadab_u.sn", TILE_OPC_SADAB_U_SN, 0x1 /* pipes */, 3 /* num_operands */,
7163     TREG_SN, /* implicitly_written_register */
7164     1, /* can_bundle */
7165     {
7166       /* operands */
7167       { 21, 8, 16 },
7168       { 0, },
7169       { 0, },
7170       { 0, },
7171       { 0, }
7172     },
7173     {
7174       /* fixed_bit_masks */
7175       0x800000007ffc0000ULL,
7176       0ULL,
7177       0ULL,
7178       0ULL,
7179       0ULL
7180     },
7181     {
7182       /* fixed_bit_values */
7183       0x0000000008e80000ULL,
7184       -1ULL,
7185       -1ULL,
7186       -1ULL,
7187       -1ULL
7188     }
7189   },
7190   { "sadah", TILE_OPC_SADAH, 0x1 /* pipes */, 3 /* num_operands */,
7191     TREG_ZERO, /* implicitly_written_register */
7192     1, /* can_bundle */
7193     {
7194       /* operands */
7195       { 21, 8, 16 },
7196       { 0, },
7197       { 0, },
7198       { 0, },
7199       { 0, }
7200     },
7201     {
7202       /* fixed_bit_masks */
7203       0x800000007ffc0000ULL,
7204       0ULL,
7205       0ULL,
7206       0ULL,
7207       0ULL
7208     },
7209     {
7210       /* fixed_bit_values */
7211       0x0000000000ec0000ULL,
7212       -1ULL,
7213       -1ULL,
7214       -1ULL,
7215       -1ULL
7216     }
7217   },
7218   { "sadah.sn", TILE_OPC_SADAH_SN, 0x1 /* pipes */, 3 /* num_operands */,
7219     TREG_SN, /* implicitly_written_register */
7220     1, /* can_bundle */
7221     {
7222       /* operands */
7223       { 21, 8, 16 },
7224       { 0, },
7225       { 0, },
7226       { 0, },
7227       { 0, }
7228     },
7229     {
7230       /* fixed_bit_masks */
7231       0x800000007ffc0000ULL,
7232       0ULL,
7233       0ULL,
7234       0ULL,
7235       0ULL
7236     },
7237     {
7238       /* fixed_bit_values */
7239       0x0000000008ec0000ULL,
7240       -1ULL,
7241       -1ULL,
7242       -1ULL,
7243       -1ULL
7244     }
7245   },
7246   { "sadah_u", TILE_OPC_SADAH_U, 0x1 /* pipes */, 3 /* num_operands */,
7247     TREG_ZERO, /* implicitly_written_register */
7248     1, /* can_bundle */
7249     {
7250       /* operands */
7251       { 21, 8, 16 },
7252       { 0, },
7253       { 0, },
7254       { 0, },
7255       { 0, }
7256     },
7257     {
7258       /* fixed_bit_masks */
7259       0x800000007ffc0000ULL,
7260       0ULL,
7261       0ULL,
7262       0ULL,
7263       0ULL
7264     },
7265     {
7266       /* fixed_bit_values */
7267       0x0000000000f00000ULL,
7268       -1ULL,
7269       -1ULL,
7270       -1ULL,
7271       -1ULL
7272     }
7273   },
7274   { "sadah_u.sn", TILE_OPC_SADAH_U_SN, 0x1 /* pipes */, 3 /* num_operands */,
7275     TREG_SN, /* implicitly_written_register */
7276     1, /* can_bundle */
7277     {
7278       /* operands */
7279       { 21, 8, 16 },
7280       { 0, },
7281       { 0, },
7282       { 0, },
7283       { 0, }
7284     },
7285     {
7286       /* fixed_bit_masks */
7287       0x800000007ffc0000ULL,
7288       0ULL,
7289       0ULL,
7290       0ULL,
7291       0ULL
7292     },
7293     {
7294       /* fixed_bit_values */
7295       0x0000000008f00000ULL,
7296       -1ULL,
7297       -1ULL,
7298       -1ULL,
7299       -1ULL
7300     }
7301   },
7302   { "sadb_u", TILE_OPC_SADB_U, 0x1 /* pipes */, 3 /* num_operands */,
7303     TREG_ZERO, /* implicitly_written_register */
7304     1, /* can_bundle */
7305     {
7306       /* operands */
7307       { 7, 8, 16 },
7308       { 0, },
7309       { 0, },
7310       { 0, },
7311       { 0, }
7312     },
7313     {
7314       /* fixed_bit_masks */
7315       0x800000007ffc0000ULL,
7316       0ULL,
7317       0ULL,
7318       0ULL,
7319       0ULL
7320     },
7321     {
7322       /* fixed_bit_values */
7323       0x0000000000f40000ULL,
7324       -1ULL,
7325       -1ULL,
7326       -1ULL,
7327       -1ULL
7328     }
7329   },
7330   { "sadb_u.sn", TILE_OPC_SADB_U_SN, 0x1 /* pipes */, 3 /* num_operands */,
7331     TREG_SN, /* implicitly_written_register */
7332     1, /* can_bundle */
7333     {
7334       /* operands */
7335       { 7, 8, 16 },
7336       { 0, },
7337       { 0, },
7338       { 0, },
7339       { 0, }
7340     },
7341     {
7342       /* fixed_bit_masks */
7343       0x800000007ffc0000ULL,
7344       0ULL,
7345       0ULL,
7346       0ULL,
7347       0ULL
7348     },
7349     {
7350       /* fixed_bit_values */
7351       0x0000000008f40000ULL,
7352       -1ULL,
7353       -1ULL,
7354       -1ULL,
7355       -1ULL
7356     }
7357   },
7358   { "sadh", TILE_OPC_SADH, 0x1 /* pipes */, 3 /* num_operands */,
7359     TREG_ZERO, /* implicitly_written_register */
7360     1, /* can_bundle */
7361     {
7362       /* operands */
7363       { 7, 8, 16 },
7364       { 0, },
7365       { 0, },
7366       { 0, },
7367       { 0, }
7368     },
7369     {
7370       /* fixed_bit_masks */
7371       0x800000007ffc0000ULL,
7372       0ULL,
7373       0ULL,
7374       0ULL,
7375       0ULL
7376     },
7377     {
7378       /* fixed_bit_values */
7379       0x0000000000f80000ULL,
7380       -1ULL,
7381       -1ULL,
7382       -1ULL,
7383       -1ULL
7384     }
7385   },
7386   { "sadh.sn", TILE_OPC_SADH_SN, 0x1 /* pipes */, 3 /* num_operands */,
7387     TREG_SN, /* implicitly_written_register */
7388     1, /* can_bundle */
7389     {
7390       /* operands */
7391       { 7, 8, 16 },
7392       { 0, },
7393       { 0, },
7394       { 0, },
7395       { 0, }
7396     },
7397     {
7398       /* fixed_bit_masks */
7399       0x800000007ffc0000ULL,
7400       0ULL,
7401       0ULL,
7402       0ULL,
7403       0ULL
7404     },
7405     {
7406       /* fixed_bit_values */
7407       0x0000000008f80000ULL,
7408       -1ULL,
7409       -1ULL,
7410       -1ULL,
7411       -1ULL
7412     }
7413   },
7414   { "sadh_u", TILE_OPC_SADH_U, 0x1 /* pipes */, 3 /* num_operands */,
7415     TREG_ZERO, /* implicitly_written_register */
7416     1, /* can_bundle */
7417     {
7418       /* operands */
7419       { 7, 8, 16 },
7420       { 0, },
7421       { 0, },
7422       { 0, },
7423       { 0, }
7424     },
7425     {
7426       /* fixed_bit_masks */
7427       0x800000007ffc0000ULL,
7428       0ULL,
7429       0ULL,
7430       0ULL,
7431       0ULL
7432     },
7433     {
7434       /* fixed_bit_values */
7435       0x0000000000fc0000ULL,
7436       -1ULL,
7437       -1ULL,
7438       -1ULL,
7439       -1ULL
7440     }
7441   },
7442   { "sadh_u.sn", TILE_OPC_SADH_U_SN, 0x1 /* pipes */, 3 /* num_operands */,
7443     TREG_SN, /* implicitly_written_register */
7444     1, /* can_bundle */
7445     {
7446       /* operands */
7447       { 7, 8, 16 },
7448       { 0, },
7449       { 0, },
7450       { 0, },
7451       { 0, }
7452     },
7453     {
7454       /* fixed_bit_masks */
7455       0x800000007ffc0000ULL,
7456       0ULL,
7457       0ULL,
7458       0ULL,
7459       0ULL
7460     },
7461     {
7462       /* fixed_bit_values */
7463       0x0000000008fc0000ULL,
7464       -1ULL,
7465       -1ULL,
7466       -1ULL,
7467       -1ULL
7468     }
7469   },
7470   { "sb", TILE_OPC_SB, 0x12 /* pipes */, 2 /* num_operands */,
7471     TREG_ZERO, /* implicitly_written_register */
7472     1, /* can_bundle */
7473     {
7474       /* operands */
7475       { 0, },
7476       { 10, 17 },
7477       { 0, },
7478       { 0, },
7479       { 15, 36 }
7480     },
7481     {
7482       /* fixed_bit_masks */
7483       0ULL,
7484       0xfbfe000000000000ULL,
7485       0ULL,
7486       0ULL,
7487       0x8700000000000000ULL
7488     },
7489     {
7490       /* fixed_bit_values */
7491       -1ULL,
7492       0x0840000000000000ULL,
7493       -1ULL,
7494       -1ULL,
7495       0x8500000000000000ULL
7496     }
7497   },
7498   { "sbadd", TILE_OPC_SBADD, 0x2 /* pipes */, 3 /* num_operands */,
7499     TREG_ZERO, /* implicitly_written_register */
7500     1, /* can_bundle */
7501     {
7502       /* operands */
7503       { 0, },
7504       { 24, 17, 37 },
7505       { 0, },
7506       { 0, },
7507       { 0, }
7508     },
7509     {
7510       /* fixed_bit_masks */
7511       0ULL,
7512       0xfbf8000000000000ULL,
7513       0ULL,
7514       0ULL,
7515       0ULL
7516     },
7517     {
7518       /* fixed_bit_values */
7519       -1ULL,
7520       0x30e0000000000000ULL,
7521       -1ULL,
7522       -1ULL,
7523       -1ULL
7524     }
7525   },
7526   { "seq", TILE_OPC_SEQ, 0xf /* pipes */, 3 /* num_operands */,
7527     TREG_ZERO, /* implicitly_written_register */
7528     1, /* can_bundle */
7529     {
7530       /* operands */
7531       { 7, 8, 16 },
7532       { 9, 10, 17 },
7533       { 11, 12, 18 },
7534       { 13, 14, 19 },
7535       { 0, }
7536     },
7537     {
7538       /* fixed_bit_masks */
7539       0x800000007ffc0000ULL,
7540       0xfffe000000000000ULL,
7541       0x80000000780c0000ULL,
7542       0xf806000000000000ULL,
7543       0ULL
7544     },
7545     {
7546       /* fixed_bit_values */
7547       0x0000000001080000ULL,
7548       0x0846000000000000ULL,
7549       0x8000000030080000ULL,
7550       0xb004000000000000ULL,
7551       -1ULL
7552     }
7553   },
7554   { "seq.sn", TILE_OPC_SEQ_SN, 0x3 /* pipes */, 3 /* num_operands */,
7555     TREG_SN, /* implicitly_written_register */
7556     1, /* can_bundle */
7557     {
7558       /* operands */
7559       { 7, 8, 16 },
7560       { 9, 10, 17 },
7561       { 0, },
7562       { 0, },
7563       { 0, }
7564     },
7565     {
7566       /* fixed_bit_masks */
7567       0x800000007ffc0000ULL,
7568       0xfffe000000000000ULL,
7569       0ULL,
7570       0ULL,
7571       0ULL
7572     },
7573     {
7574       /* fixed_bit_values */
7575       0x0000000009080000ULL,
7576       0x0c46000000000000ULL,
7577       -1ULL,
7578       -1ULL,
7579       -1ULL
7580     }
7581   },
7582   { "seqb", TILE_OPC_SEQB, 0x3 /* pipes */, 3 /* num_operands */,
7583     TREG_ZERO, /* implicitly_written_register */
7584     1, /* can_bundle */
7585     {
7586       /* operands */
7587       { 7, 8, 16 },
7588       { 9, 10, 17 },
7589       { 0, },
7590       { 0, },
7591       { 0, }
7592     },
7593     {
7594       /* fixed_bit_masks */
7595       0x800000007ffc0000ULL,
7596       0xfffe000000000000ULL,
7597       0ULL,
7598       0ULL,
7599       0ULL
7600     },
7601     {
7602       /* fixed_bit_values */
7603       0x0000000001000000ULL,
7604       0x0842000000000000ULL,
7605       -1ULL,
7606       -1ULL,
7607       -1ULL
7608     }
7609   },
7610   { "seqb.sn", TILE_OPC_SEQB_SN, 0x3 /* pipes */, 3 /* num_operands */,
7611     TREG_SN, /* implicitly_written_register */
7612     1, /* can_bundle */
7613     {
7614       /* operands */
7615       { 7, 8, 16 },
7616       { 9, 10, 17 },
7617       { 0, },
7618       { 0, },
7619       { 0, }
7620     },
7621     {
7622       /* fixed_bit_masks */
7623       0x800000007ffc0000ULL,
7624       0xfffe000000000000ULL,
7625       0ULL,
7626       0ULL,
7627       0ULL
7628     },
7629     {
7630       /* fixed_bit_values */
7631       0x0000000009000000ULL,
7632       0x0c42000000000000ULL,
7633       -1ULL,
7634       -1ULL,
7635       -1ULL
7636     }
7637   },
7638   { "seqh", TILE_OPC_SEQH, 0x3 /* pipes */, 3 /* num_operands */,
7639     TREG_ZERO, /* implicitly_written_register */
7640     1, /* can_bundle */
7641     {
7642       /* operands */
7643       { 7, 8, 16 },
7644       { 9, 10, 17 },
7645       { 0, },
7646       { 0, },
7647       { 0, }
7648     },
7649     {
7650       /* fixed_bit_masks */
7651       0x800000007ffc0000ULL,
7652       0xfffe000000000000ULL,
7653       0ULL,
7654       0ULL,
7655       0ULL
7656     },
7657     {
7658       /* fixed_bit_values */
7659       0x0000000001040000ULL,
7660       0x0844000000000000ULL,
7661       -1ULL,
7662       -1ULL,
7663       -1ULL
7664     }
7665   },
7666   { "seqh.sn", TILE_OPC_SEQH_SN, 0x3 /* pipes */, 3 /* num_operands */,
7667     TREG_SN, /* implicitly_written_register */
7668     1, /* can_bundle */
7669     {
7670       /* operands */
7671       { 7, 8, 16 },
7672       { 9, 10, 17 },
7673       { 0, },
7674       { 0, },
7675       { 0, }
7676     },
7677     {
7678       /* fixed_bit_masks */
7679       0x800000007ffc0000ULL,
7680       0xfffe000000000000ULL,
7681       0ULL,
7682       0ULL,
7683       0ULL
7684     },
7685     {
7686       /* fixed_bit_values */
7687       0x0000000009040000ULL,
7688       0x0c44000000000000ULL,
7689       -1ULL,
7690       -1ULL,
7691       -1ULL
7692     }
7693   },
7694   { "seqi", TILE_OPC_SEQI, 0xf /* pipes */, 3 /* num_operands */,
7695     TREG_ZERO, /* implicitly_written_register */
7696     1, /* can_bundle */
7697     {
7698       /* operands */
7699       { 7, 8, 0 },
7700       { 9, 10, 1 },
7701       { 11, 12, 2 },
7702       { 13, 14, 3 },
7703       { 0, }
7704     },
7705     {
7706       /* fixed_bit_masks */
7707       0x800000007ff00000ULL,
7708       0xfff8000000000000ULL,
7709       0x8000000078000000ULL,
7710       0xf800000000000000ULL,
7711       0ULL
7712     },
7713     {
7714       /* fixed_bit_values */
7715       0x0000000040b00000ULL,
7716       0x3070000000000000ULL,
7717       0x8000000060000000ULL,
7718       0xd000000000000000ULL,
7719       -1ULL
7720     }
7721   },
7722   { "seqi.sn", TILE_OPC_SEQI_SN, 0x3 /* pipes */, 3 /* num_operands */,
7723     TREG_SN, /* implicitly_written_register */
7724     1, /* can_bundle */
7725     {
7726       /* operands */
7727       { 7, 8, 0 },
7728       { 9, 10, 1 },
7729       { 0, },
7730       { 0, },
7731       { 0, }
7732     },
7733     {
7734       /* fixed_bit_masks */
7735       0x800000007ff00000ULL,
7736       0xfff8000000000000ULL,
7737       0ULL,
7738       0ULL,
7739       0ULL
7740     },
7741     {
7742       /* fixed_bit_values */
7743       0x0000000048b00000ULL,
7744       0x3470000000000000ULL,
7745       -1ULL,
7746       -1ULL,
7747       -1ULL
7748     }
7749   },
7750   { "seqib", TILE_OPC_SEQIB, 0x3 /* pipes */, 3 /* num_operands */,
7751     TREG_ZERO, /* implicitly_written_register */
7752     1, /* can_bundle */
7753     {
7754       /* operands */
7755       { 7, 8, 0 },
7756       { 9, 10, 1 },
7757       { 0, },
7758       { 0, },
7759       { 0, }
7760     },
7761     {
7762       /* fixed_bit_masks */
7763       0x800000007ff00000ULL,
7764       0xfff8000000000000ULL,
7765       0ULL,
7766       0ULL,
7767       0ULL
7768     },
7769     {
7770       /* fixed_bit_values */
7771       0x0000000040900000ULL,
7772       0x3060000000000000ULL,
7773       -1ULL,
7774       -1ULL,
7775       -1ULL
7776     }
7777   },
7778   { "seqib.sn", TILE_OPC_SEQIB_SN, 0x3 /* pipes */, 3 /* num_operands */,
7779     TREG_SN, /* implicitly_written_register */
7780     1, /* can_bundle */
7781     {
7782       /* operands */
7783       { 7, 8, 0 },
7784       { 9, 10, 1 },
7785       { 0, },
7786       { 0, },
7787       { 0, }
7788     },
7789     {
7790       /* fixed_bit_masks */
7791       0x800000007ff00000ULL,
7792       0xfff8000000000000ULL,
7793       0ULL,
7794       0ULL,
7795       0ULL
7796     },
7797     {
7798       /* fixed_bit_values */
7799       0x0000000048900000ULL,
7800       0x3460000000000000ULL,
7801       -1ULL,
7802       -1ULL,
7803       -1ULL
7804     }
7805   },
7806   { "seqih", TILE_OPC_SEQIH, 0x3 /* pipes */, 3 /* num_operands */,
7807     TREG_ZERO, /* implicitly_written_register */
7808     1, /* can_bundle */
7809     {
7810       /* operands */
7811       { 7, 8, 0 },
7812       { 9, 10, 1 },
7813       { 0, },
7814       { 0, },
7815       { 0, }
7816     },
7817     {
7818       /* fixed_bit_masks */
7819       0x800000007ff00000ULL,
7820       0xfff8000000000000ULL,
7821       0ULL,
7822       0ULL,
7823       0ULL
7824     },
7825     {
7826       /* fixed_bit_values */
7827       0x0000000040a00000ULL,
7828       0x3068000000000000ULL,
7829       -1ULL,
7830       -1ULL,
7831       -1ULL
7832     }
7833   },
7834   { "seqih.sn", TILE_OPC_SEQIH_SN, 0x3 /* pipes */, 3 /* num_operands */,
7835     TREG_SN, /* implicitly_written_register */
7836     1, /* can_bundle */
7837     {
7838       /* operands */
7839       { 7, 8, 0 },
7840       { 9, 10, 1 },
7841       { 0, },
7842       { 0, },
7843       { 0, }
7844     },
7845     {
7846       /* fixed_bit_masks */
7847       0x800000007ff00000ULL,
7848       0xfff8000000000000ULL,
7849       0ULL,
7850       0ULL,
7851       0ULL
7852     },
7853     {
7854       /* fixed_bit_values */
7855       0x0000000048a00000ULL,
7856       0x3468000000000000ULL,
7857       -1ULL,
7858       -1ULL,
7859       -1ULL
7860     }
7861   },
7862   { "sh", TILE_OPC_SH, 0x12 /* pipes */, 2 /* num_operands */,
7863     TREG_ZERO, /* implicitly_written_register */
7864     1, /* can_bundle */
7865     {
7866       /* operands */
7867       { 0, },
7868       { 10, 17 },
7869       { 0, },
7870       { 0, },
7871       { 15, 36 }
7872     },
7873     {
7874       /* fixed_bit_masks */
7875       0ULL,
7876       0xfbfe000000000000ULL,
7877       0ULL,
7878       0ULL,
7879       0x8700000000000000ULL
7880     },
7881     {
7882       /* fixed_bit_values */
7883       -1ULL,
7884       0x0854000000000000ULL,
7885       -1ULL,
7886       -1ULL,
7887       0x8600000000000000ULL
7888     }
7889   },
7890   { "shadd", TILE_OPC_SHADD, 0x2 /* pipes */, 3 /* num_operands */,
7891     TREG_ZERO, /* implicitly_written_register */
7892     1, /* can_bundle */
7893     {
7894       /* operands */
7895       { 0, },
7896       { 24, 17, 37 },
7897       { 0, },
7898       { 0, },
7899       { 0, }
7900     },
7901     {
7902       /* fixed_bit_masks */
7903       0ULL,
7904       0xfbf8000000000000ULL,
7905       0ULL,
7906       0ULL,
7907       0ULL
7908     },
7909     {
7910       /* fixed_bit_values */
7911       -1ULL,
7912       0x30e8000000000000ULL,
7913       -1ULL,
7914       -1ULL,
7915       -1ULL
7916     }
7917   },
7918   { "shl", TILE_OPC_SHL, 0xf /* pipes */, 3 /* num_operands */,
7919     TREG_ZERO, /* implicitly_written_register */
7920     1, /* can_bundle */
7921     {
7922       /* operands */
7923       { 7, 8, 16 },
7924       { 9, 10, 17 },
7925       { 11, 12, 18 },
7926       { 13, 14, 19 },
7927       { 0, }
7928     },
7929     {
7930       /* fixed_bit_masks */
7931       0x800000007ffc0000ULL,
7932       0xfffe000000000000ULL,
7933       0x80000000780c0000ULL,
7934       0xf806000000000000ULL,
7935       0ULL
7936     },
7937     {
7938       /* fixed_bit_values */
7939       0x0000000001140000ULL,
7940       0x084c000000000000ULL,
7941       0x8000000020040000ULL,
7942       0xa002000000000000ULL,
7943       -1ULL
7944     }
7945   },
7946   { "shl.sn", TILE_OPC_SHL_SN, 0x3 /* pipes */, 3 /* num_operands */,
7947     TREG_SN, /* implicitly_written_register */
7948     1, /* can_bundle */
7949     {
7950       /* operands */
7951       { 7, 8, 16 },
7952       { 9, 10, 17 },
7953       { 0, },
7954       { 0, },
7955       { 0, }
7956     },
7957     {
7958       /* fixed_bit_masks */
7959       0x800000007ffc0000ULL,
7960       0xfffe000000000000ULL,
7961       0ULL,
7962       0ULL,
7963       0ULL
7964     },
7965     {
7966       /* fixed_bit_values */
7967       0x0000000009140000ULL,
7968       0x0c4c000000000000ULL,
7969       -1ULL,
7970       -1ULL,
7971       -1ULL
7972     }
7973   },
7974   { "shlb", TILE_OPC_SHLB, 0x3 /* pipes */, 3 /* num_operands */,
7975     TREG_ZERO, /* implicitly_written_register */
7976     1, /* can_bundle */
7977     {
7978       /* operands */
7979       { 7, 8, 16 },
7980       { 9, 10, 17 },
7981       { 0, },
7982       { 0, },
7983       { 0, }
7984     },
7985     {
7986       /* fixed_bit_masks */
7987       0x800000007ffc0000ULL,
7988       0xfffe000000000000ULL,
7989       0ULL,
7990       0ULL,
7991       0ULL
7992     },
7993     {
7994       /* fixed_bit_values */
7995       0x00000000010c0000ULL,
7996       0x0848000000000000ULL,
7997       -1ULL,
7998       -1ULL,
7999       -1ULL
8000     }
8001   },
8002   { "shlb.sn", TILE_OPC_SHLB_SN, 0x3 /* pipes */, 3 /* num_operands */,
8003     TREG_SN, /* implicitly_written_register */
8004     1, /* can_bundle */
8005     {
8006       /* operands */
8007       { 7, 8, 16 },
8008       { 9, 10, 17 },
8009       { 0, },
8010       { 0, },
8011       { 0, }
8012     },
8013     {
8014       /* fixed_bit_masks */
8015       0x800000007ffc0000ULL,
8016       0xfffe000000000000ULL,
8017       0ULL,
8018       0ULL,
8019       0ULL
8020     },
8021     {
8022       /* fixed_bit_values */
8023       0x00000000090c0000ULL,
8024       0x0c48000000000000ULL,
8025       -1ULL,
8026       -1ULL,
8027       -1ULL
8028     }
8029   },
8030   { "shlh", TILE_OPC_SHLH, 0x3 /* pipes */, 3 /* num_operands */,
8031     TREG_ZERO, /* implicitly_written_register */
8032     1, /* can_bundle */
8033     {
8034       /* operands */
8035       { 7, 8, 16 },
8036       { 9, 10, 17 },
8037       { 0, },
8038       { 0, },
8039       { 0, }
8040     },
8041     {
8042       /* fixed_bit_masks */
8043       0x800000007ffc0000ULL,
8044       0xfffe000000000000ULL,
8045       0ULL,
8046       0ULL,
8047       0ULL
8048     },
8049     {
8050       /* fixed_bit_values */
8051       0x0000000001100000ULL,
8052       0x084a000000000000ULL,
8053       -1ULL,
8054       -1ULL,
8055       -1ULL
8056     }
8057   },
8058   { "shlh.sn", TILE_OPC_SHLH_SN, 0x3 /* pipes */, 3 /* num_operands */,
8059     TREG_SN, /* implicitly_written_register */
8060     1, /* can_bundle */
8061     {
8062       /* operands */
8063       { 7, 8, 16 },
8064       { 9, 10, 17 },
8065       { 0, },
8066       { 0, },
8067       { 0, }
8068     },
8069     {
8070       /* fixed_bit_masks */
8071       0x800000007ffc0000ULL,
8072       0xfffe000000000000ULL,
8073       0ULL,
8074       0ULL,
8075       0ULL
8076     },
8077     {
8078       /* fixed_bit_values */
8079       0x0000000009100000ULL,
8080       0x0c4a000000000000ULL,
8081       -1ULL,
8082       -1ULL,
8083       -1ULL
8084     }
8085   },
8086   { "shli", TILE_OPC_SHLI, 0xf /* pipes */, 3 /* num_operands */,
8087     TREG_ZERO, /* implicitly_written_register */
8088     1, /* can_bundle */
8089     {
8090       /* operands */
8091       { 7, 8, 32 },
8092       { 9, 10, 33 },
8093       { 11, 12, 34 },
8094       { 13, 14, 35 },
8095       { 0, }
8096     },
8097     {
8098       /* fixed_bit_masks */
8099       0x800000007ffe0000ULL,
8100       0xffff000000000000ULL,
8101       0x80000000780e0000ULL,
8102       0xf807000000000000ULL,
8103       0ULL
8104     },
8105     {
8106       /* fixed_bit_values */
8107       0x0000000070080000ULL,
8108       0x4004000000000000ULL,
8109       0x8000000068040000ULL,
8110       0xd802000000000000ULL,
8111       -1ULL
8112     }
8113   },
8114   { "shli.sn", TILE_OPC_SHLI_SN, 0x3 /* pipes */, 3 /* num_operands */,
8115     TREG_SN, /* implicitly_written_register */
8116     1, /* can_bundle */
8117     {
8118       /* operands */
8119       { 7, 8, 32 },
8120       { 9, 10, 33 },
8121       { 0, },
8122       { 0, },
8123       { 0, }
8124     },
8125     {
8126       /* fixed_bit_masks */
8127       0x800000007ffe0000ULL,
8128       0xffff000000000000ULL,
8129       0ULL,
8130       0ULL,
8131       0ULL
8132     },
8133     {
8134       /* fixed_bit_values */
8135       0x0000000078080000ULL,
8136       0x4404000000000000ULL,
8137       -1ULL,
8138       -1ULL,
8139       -1ULL
8140     }
8141   },
8142   { "shlib", TILE_OPC_SHLIB, 0x3 /* pipes */, 3 /* num_operands */,
8143     TREG_ZERO, /* implicitly_written_register */
8144     1, /* can_bundle */
8145     {
8146       /* operands */
8147       { 7, 8, 32 },
8148       { 9, 10, 33 },
8149       { 0, },
8150       { 0, },
8151       { 0, }
8152     },
8153     {
8154       /* fixed_bit_masks */
8155       0x800000007ffe0000ULL,
8156       0xffff000000000000ULL,
8157       0ULL,
8158       0ULL,
8159       0ULL
8160     },
8161     {
8162       /* fixed_bit_values */
8163       0x0000000070040000ULL,
8164       0x4002000000000000ULL,
8165       -1ULL,
8166       -1ULL,
8167       -1ULL
8168     }
8169   },
8170   { "shlib.sn", TILE_OPC_SHLIB_SN, 0x3 /* pipes */, 3 /* num_operands */,
8171     TREG_SN, /* implicitly_written_register */
8172     1, /* can_bundle */
8173     {
8174       /* operands */
8175       { 7, 8, 32 },
8176       { 9, 10, 33 },
8177       { 0, },
8178       { 0, },
8179       { 0, }
8180     },
8181     {
8182       /* fixed_bit_masks */
8183       0x800000007ffe0000ULL,
8184       0xffff000000000000ULL,
8185       0ULL,
8186       0ULL,
8187       0ULL
8188     },
8189     {
8190       /* fixed_bit_values */
8191       0x0000000078040000ULL,
8192       0x4402000000000000ULL,
8193       -1ULL,
8194       -1ULL,
8195       -1ULL
8196     }
8197   },
8198   { "shlih", TILE_OPC_SHLIH, 0x3 /* pipes */, 3 /* num_operands */,
8199     TREG_ZERO, /* implicitly_written_register */
8200     1, /* can_bundle */
8201     {
8202       /* operands */
8203       { 7, 8, 32 },
8204       { 9, 10, 33 },
8205       { 0, },
8206       { 0, },
8207       { 0, }
8208     },
8209     {
8210       /* fixed_bit_masks */
8211       0x800000007ffe0000ULL,
8212       0xffff000000000000ULL,
8213       0ULL,
8214       0ULL,
8215       0ULL
8216     },
8217     {
8218       /* fixed_bit_values */
8219       0x0000000070060000ULL,
8220       0x4003000000000000ULL,
8221       -1ULL,
8222       -1ULL,
8223       -1ULL
8224     }
8225   },
8226   { "shlih.sn", TILE_OPC_SHLIH_SN, 0x3 /* pipes */, 3 /* num_operands */,
8227     TREG_SN, /* implicitly_written_register */
8228     1, /* can_bundle */
8229     {
8230       /* operands */
8231       { 7, 8, 32 },
8232       { 9, 10, 33 },
8233       { 0, },
8234       { 0, },
8235       { 0, }
8236     },
8237     {
8238       /* fixed_bit_masks */
8239       0x800000007ffe0000ULL,
8240       0xffff000000000000ULL,
8241       0ULL,
8242       0ULL,
8243       0ULL
8244     },
8245     {
8246       /* fixed_bit_values */
8247       0x0000000078060000ULL,
8248       0x4403000000000000ULL,
8249       -1ULL,
8250       -1ULL,
8251       -1ULL
8252     }
8253   },
8254   { "shr", TILE_OPC_SHR, 0xf /* pipes */, 3 /* num_operands */,
8255     TREG_ZERO, /* implicitly_written_register */
8256     1, /* can_bundle */
8257     {
8258       /* operands */
8259       { 7, 8, 16 },
8260       { 9, 10, 17 },
8261       { 11, 12, 18 },
8262       { 13, 14, 19 },
8263       { 0, }
8264     },
8265     {
8266       /* fixed_bit_masks */
8267       0x800000007ffc0000ULL,
8268       0xfffe000000000000ULL,
8269       0x80000000780c0000ULL,
8270       0xf806000000000000ULL,
8271       0ULL
8272     },
8273     {
8274       /* fixed_bit_values */
8275       0x0000000001200000ULL,
8276       0x0852000000000000ULL,
8277       0x8000000020080000ULL,
8278       0xa004000000000000ULL,
8279       -1ULL
8280     }
8281   },
8282   { "shr.sn", TILE_OPC_SHR_SN, 0x3 /* pipes */, 3 /* num_operands */,
8283     TREG_SN, /* implicitly_written_register */
8284     1, /* can_bundle */
8285     {
8286       /* operands */
8287       { 7, 8, 16 },
8288       { 9, 10, 17 },
8289       { 0, },
8290       { 0, },
8291       { 0, }
8292     },
8293     {
8294       /* fixed_bit_masks */
8295       0x800000007ffc0000ULL,
8296       0xfffe000000000000ULL,
8297       0ULL,
8298       0ULL,
8299       0ULL
8300     },
8301     {
8302       /* fixed_bit_values */
8303       0x0000000009200000ULL,
8304       0x0c52000000000000ULL,
8305       -1ULL,
8306       -1ULL,
8307       -1ULL
8308     }
8309   },
8310   { "shrb", TILE_OPC_SHRB, 0x3 /* pipes */, 3 /* num_operands */,
8311     TREG_ZERO, /* implicitly_written_register */
8312     1, /* can_bundle */
8313     {
8314       /* operands */
8315       { 7, 8, 16 },
8316       { 9, 10, 17 },
8317       { 0, },
8318       { 0, },
8319       { 0, }
8320     },
8321     {
8322       /* fixed_bit_masks */
8323       0x800000007ffc0000ULL,
8324       0xfffe000000000000ULL,
8325       0ULL,
8326       0ULL,
8327       0ULL
8328     },
8329     {
8330       /* fixed_bit_values */
8331       0x0000000001180000ULL,
8332       0x084e000000000000ULL,
8333       -1ULL,
8334       -1ULL,
8335       -1ULL
8336     }
8337   },
8338   { "shrb.sn", TILE_OPC_SHRB_SN, 0x3 /* pipes */, 3 /* num_operands */,
8339     TREG_SN, /* implicitly_written_register */
8340     1, /* can_bundle */
8341     {
8342       /* operands */
8343       { 7, 8, 16 },
8344       { 9, 10, 17 },
8345       { 0, },
8346       { 0, },
8347       { 0, }
8348     },
8349     {
8350       /* fixed_bit_masks */
8351       0x800000007ffc0000ULL,
8352       0xfffe000000000000ULL,
8353       0ULL,
8354       0ULL,
8355       0ULL
8356     },
8357     {
8358       /* fixed_bit_values */
8359       0x0000000009180000ULL,
8360       0x0c4e000000000000ULL,
8361       -1ULL,
8362       -1ULL,
8363       -1ULL
8364     }
8365   },
8366   { "shrh", TILE_OPC_SHRH, 0x3 /* pipes */, 3 /* num_operands */,
8367     TREG_ZERO, /* implicitly_written_register */
8368     1, /* can_bundle */
8369     {
8370       /* operands */
8371       { 7, 8, 16 },
8372       { 9, 10, 17 },
8373       { 0, },
8374       { 0, },
8375       { 0, }
8376     },
8377     {
8378       /* fixed_bit_masks */
8379       0x800000007ffc0000ULL,
8380       0xfffe000000000000ULL,
8381       0ULL,
8382       0ULL,
8383       0ULL
8384     },
8385     {
8386       /* fixed_bit_values */
8387       0x00000000011c0000ULL,
8388       0x0850000000000000ULL,
8389       -1ULL,
8390       -1ULL,
8391       -1ULL
8392     }
8393   },
8394   { "shrh.sn", TILE_OPC_SHRH_SN, 0x3 /* pipes */, 3 /* num_operands */,
8395     TREG_SN, /* implicitly_written_register */
8396     1, /* can_bundle */
8397     {
8398       /* operands */
8399       { 7, 8, 16 },
8400       { 9, 10, 17 },
8401       { 0, },
8402       { 0, },
8403       { 0, }
8404     },
8405     {
8406       /* fixed_bit_masks */
8407       0x800000007ffc0000ULL,
8408       0xfffe000000000000ULL,
8409       0ULL,
8410       0ULL,
8411       0ULL
8412     },
8413     {
8414       /* fixed_bit_values */
8415       0x00000000091c0000ULL,
8416       0x0c50000000000000ULL,
8417       -1ULL,
8418       -1ULL,
8419       -1ULL
8420     }
8421   },
8422   { "shri", TILE_OPC_SHRI, 0xf /* pipes */, 3 /* num_operands */,
8423     TREG_ZERO, /* implicitly_written_register */
8424     1, /* can_bundle */
8425     {
8426       /* operands */
8427       { 7, 8, 32 },
8428       { 9, 10, 33 },
8429       { 11, 12, 34 },
8430       { 13, 14, 35 },
8431       { 0, }
8432     },
8433     {
8434       /* fixed_bit_masks */
8435       0x800000007ffe0000ULL,
8436       0xffff000000000000ULL,
8437       0x80000000780e0000ULL,
8438       0xf807000000000000ULL,
8439       0ULL
8440     },
8441     {
8442       /* fixed_bit_values */
8443       0x00000000700e0000ULL,
8444       0x4007000000000000ULL,
8445       0x8000000068060000ULL,
8446       0xd803000000000000ULL,
8447       -1ULL
8448     }
8449   },
8450   { "shri.sn", TILE_OPC_SHRI_SN, 0x3 /* pipes */, 3 /* num_operands */,
8451     TREG_SN, /* implicitly_written_register */
8452     1, /* can_bundle */
8453     {
8454       /* operands */
8455       { 7, 8, 32 },
8456       { 9, 10, 33 },
8457       { 0, },
8458       { 0, },
8459       { 0, }
8460     },
8461     {
8462       /* fixed_bit_masks */
8463       0x800000007ffe0000ULL,
8464       0xffff000000000000ULL,
8465       0ULL,
8466       0ULL,
8467       0ULL
8468     },
8469     {
8470       /* fixed_bit_values */
8471       0x00000000780e0000ULL,
8472       0x4407000000000000ULL,
8473       -1ULL,
8474       -1ULL,
8475       -1ULL
8476     }
8477   },
8478   { "shrib", TILE_OPC_SHRIB, 0x3 /* pipes */, 3 /* num_operands */,
8479     TREG_ZERO, /* implicitly_written_register */
8480     1, /* can_bundle */
8481     {
8482       /* operands */
8483       { 7, 8, 32 },
8484       { 9, 10, 33 },
8485       { 0, },
8486       { 0, },
8487       { 0, }
8488     },
8489     {
8490       /* fixed_bit_masks */
8491       0x800000007ffe0000ULL,
8492       0xffff000000000000ULL,
8493       0ULL,
8494       0ULL,
8495       0ULL
8496     },
8497     {
8498       /* fixed_bit_values */
8499       0x00000000700a0000ULL,
8500       0x4005000000000000ULL,
8501       -1ULL,
8502       -1ULL,
8503       -1ULL
8504     }
8505   },
8506   { "shrib.sn", TILE_OPC_SHRIB_SN, 0x3 /* pipes */, 3 /* num_operands */,
8507     TREG_SN, /* implicitly_written_register */
8508     1, /* can_bundle */
8509     {
8510       /* operands */
8511       { 7, 8, 32 },
8512       { 9, 10, 33 },
8513       { 0, },
8514       { 0, },
8515       { 0, }
8516     },
8517     {
8518       /* fixed_bit_masks */
8519       0x800000007ffe0000ULL,
8520       0xffff000000000000ULL,
8521       0ULL,
8522       0ULL,
8523       0ULL
8524     },
8525     {
8526       /* fixed_bit_values */
8527       0x00000000780a0000ULL,
8528       0x4405000000000000ULL,
8529       -1ULL,
8530       -1ULL,
8531       -1ULL
8532     }
8533   },
8534   { "shrih", TILE_OPC_SHRIH, 0x3 /* pipes */, 3 /* num_operands */,
8535     TREG_ZERO, /* implicitly_written_register */
8536     1, /* can_bundle */
8537     {
8538       /* operands */
8539       { 7, 8, 32 },
8540       { 9, 10, 33 },
8541       { 0, },
8542       { 0, },
8543       { 0, }
8544     },
8545     {
8546       /* fixed_bit_masks */
8547       0x800000007ffe0000ULL,
8548       0xffff000000000000ULL,
8549       0ULL,
8550       0ULL,
8551       0ULL
8552     },
8553     {
8554       /* fixed_bit_values */
8555       0x00000000700c0000ULL,
8556       0x4006000000000000ULL,
8557       -1ULL,
8558       -1ULL,
8559       -1ULL
8560     }
8561   },
8562   { "shrih.sn", TILE_OPC_SHRIH_SN, 0x3 /* pipes */, 3 /* num_operands */,
8563     TREG_SN, /* implicitly_written_register */
8564     1, /* can_bundle */
8565     {
8566       /* operands */
8567       { 7, 8, 32 },
8568       { 9, 10, 33 },
8569       { 0, },
8570       { 0, },
8571       { 0, }
8572     },
8573     {
8574       /* fixed_bit_masks */
8575       0x800000007ffe0000ULL,
8576       0xffff000000000000ULL,
8577       0ULL,
8578       0ULL,
8579       0ULL
8580     },
8581     {
8582       /* fixed_bit_values */
8583       0x00000000780c0000ULL,
8584       0x4406000000000000ULL,
8585       -1ULL,
8586       -1ULL,
8587       -1ULL
8588     }
8589   },
8590   { "slt", TILE_OPC_SLT, 0xf /* pipes */, 3 /* num_operands */,
8591     TREG_ZERO, /* implicitly_written_register */
8592     1, /* can_bundle */
8593     {
8594       /* operands */
8595       { 7, 8, 16 },
8596       { 9, 10, 17 },
8597       { 11, 12, 18 },
8598       { 13, 14, 19 },
8599       { 0, }
8600     },
8601     {
8602       /* fixed_bit_masks */
8603       0x800000007ffc0000ULL,
8604       0xfffe000000000000ULL,
8605       0x80000000780c0000ULL,
8606       0xf806000000000000ULL,
8607       0ULL
8608     },
8609     {
8610       /* fixed_bit_values */
8611       0x00000000014c0000ULL,
8612       0x086a000000000000ULL,
8613       0x8000000028080000ULL,
8614       0xa804000000000000ULL,
8615       -1ULL
8616     }
8617   },
8618   { "slt.sn", TILE_OPC_SLT_SN, 0x3 /* pipes */, 3 /* num_operands */,
8619     TREG_SN, /* implicitly_written_register */
8620     1, /* can_bundle */
8621     {
8622       /* operands */
8623       { 7, 8, 16 },
8624       { 9, 10, 17 },
8625       { 0, },
8626       { 0, },
8627       { 0, }
8628     },
8629     {
8630       /* fixed_bit_masks */
8631       0x800000007ffc0000ULL,
8632       0xfffe000000000000ULL,
8633       0ULL,
8634       0ULL,
8635       0ULL
8636     },
8637     {
8638       /* fixed_bit_values */
8639       0x00000000094c0000ULL,
8640       0x0c6a000000000000ULL,
8641       -1ULL,
8642       -1ULL,
8643       -1ULL
8644     }
8645   },
8646   { "slt_u", TILE_OPC_SLT_U, 0xf /* pipes */, 3 /* num_operands */,
8647     TREG_ZERO, /* implicitly_written_register */
8648     1, /* can_bundle */
8649     {
8650       /* operands */
8651       { 7, 8, 16 },
8652       { 9, 10, 17 },
8653       { 11, 12, 18 },
8654       { 13, 14, 19 },
8655       { 0, }
8656     },
8657     {
8658       /* fixed_bit_masks */
8659       0x800000007ffc0000ULL,
8660       0xfffe000000000000ULL,
8661       0x80000000780c0000ULL,
8662       0xf806000000000000ULL,
8663       0ULL
8664     },
8665     {
8666       /* fixed_bit_values */
8667       0x0000000001500000ULL,
8668       0x086c000000000000ULL,
8669       0x80000000280c0000ULL,
8670       0xa806000000000000ULL,
8671       -1ULL
8672     }
8673   },
8674   { "slt_u.sn", TILE_OPC_SLT_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
8675     TREG_SN, /* implicitly_written_register */
8676     1, /* can_bundle */
8677     {
8678       /* operands */
8679       { 7, 8, 16 },
8680       { 9, 10, 17 },
8681       { 0, },
8682       { 0, },
8683       { 0, }
8684     },
8685     {
8686       /* fixed_bit_masks */
8687       0x800000007ffc0000ULL,
8688       0xfffe000000000000ULL,
8689       0ULL,
8690       0ULL,
8691       0ULL
8692     },
8693     {
8694       /* fixed_bit_values */
8695       0x0000000009500000ULL,
8696       0x0c6c000000000000ULL,
8697       -1ULL,
8698       -1ULL,
8699       -1ULL
8700     }
8701   },
8702   { "sltb", TILE_OPC_SLTB, 0x3 /* pipes */, 3 /* num_operands */,
8703     TREG_ZERO, /* implicitly_written_register */
8704     1, /* can_bundle */
8705     {
8706       /* operands */
8707       { 7, 8, 16 },
8708       { 9, 10, 17 },
8709       { 0, },
8710       { 0, },
8711       { 0, }
8712     },
8713     {
8714       /* fixed_bit_masks */
8715       0x800000007ffc0000ULL,
8716       0xfffe000000000000ULL,
8717       0ULL,
8718       0ULL,
8719       0ULL
8720     },
8721     {
8722       /* fixed_bit_values */
8723       0x0000000001240000ULL,
8724       0x0856000000000000ULL,
8725       -1ULL,
8726       -1ULL,
8727       -1ULL
8728     }
8729   },
8730   { "sltb.sn", TILE_OPC_SLTB_SN, 0x3 /* pipes */, 3 /* num_operands */,
8731     TREG_SN, /* implicitly_written_register */
8732     1, /* can_bundle */
8733     {
8734       /* operands */
8735       { 7, 8, 16 },
8736       { 9, 10, 17 },
8737       { 0, },
8738       { 0, },
8739       { 0, }
8740     },
8741     {
8742       /* fixed_bit_masks */
8743       0x800000007ffc0000ULL,
8744       0xfffe000000000000ULL,
8745       0ULL,
8746       0ULL,
8747       0ULL
8748     },
8749     {
8750       /* fixed_bit_values */
8751       0x0000000009240000ULL,
8752       0x0c56000000000000ULL,
8753       -1ULL,
8754       -1ULL,
8755       -1ULL
8756     }
8757   },
8758   { "sltb_u", TILE_OPC_SLTB_U, 0x3 /* pipes */, 3 /* num_operands */,
8759     TREG_ZERO, /* implicitly_written_register */
8760     1, /* can_bundle */
8761     {
8762       /* operands */
8763       { 7, 8, 16 },
8764       { 9, 10, 17 },
8765       { 0, },
8766       { 0, },
8767       { 0, }
8768     },
8769     {
8770       /* fixed_bit_masks */
8771       0x800000007ffc0000ULL,
8772       0xfffe000000000000ULL,
8773       0ULL,
8774       0ULL,
8775       0ULL
8776     },
8777     {
8778       /* fixed_bit_values */
8779       0x0000000001280000ULL,
8780       0x0858000000000000ULL,
8781       -1ULL,
8782       -1ULL,
8783       -1ULL
8784     }
8785   },
8786   { "sltb_u.sn", TILE_OPC_SLTB_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
8787     TREG_SN, /* implicitly_written_register */
8788     1, /* can_bundle */
8789     {
8790       /* operands */
8791       { 7, 8, 16 },
8792       { 9, 10, 17 },
8793       { 0, },
8794       { 0, },
8795       { 0, }
8796     },
8797     {
8798       /* fixed_bit_masks */
8799       0x800000007ffc0000ULL,
8800       0xfffe000000000000ULL,
8801       0ULL,
8802       0ULL,
8803       0ULL
8804     },
8805     {
8806       /* fixed_bit_values */
8807       0x0000000009280000ULL,
8808       0x0c58000000000000ULL,
8809       -1ULL,
8810       -1ULL,
8811       -1ULL
8812     }
8813   },
8814   { "slte", TILE_OPC_SLTE, 0xf /* pipes */, 3 /* num_operands */,
8815     TREG_ZERO, /* implicitly_written_register */
8816     1, /* can_bundle */
8817     {
8818       /* operands */
8819       { 7, 8, 16 },
8820       { 9, 10, 17 },
8821       { 11, 12, 18 },
8822       { 13, 14, 19 },
8823       { 0, }
8824     },
8825     {
8826       /* fixed_bit_masks */
8827       0x800000007ffc0000ULL,
8828       0xfffe000000000000ULL,
8829       0x80000000780c0000ULL,
8830       0xf806000000000000ULL,
8831       0ULL
8832     },
8833     {
8834       /* fixed_bit_values */
8835       0x00000000013c0000ULL,
8836       0x0862000000000000ULL,
8837       0x8000000028000000ULL,
8838       0xa800000000000000ULL,
8839       -1ULL
8840     }
8841   },
8842   { "slte.sn", TILE_OPC_SLTE_SN, 0x3 /* pipes */, 3 /* num_operands */,
8843     TREG_SN, /* implicitly_written_register */
8844     1, /* can_bundle */
8845     {
8846       /* operands */
8847       { 7, 8, 16 },
8848       { 9, 10, 17 },
8849       { 0, },
8850       { 0, },
8851       { 0, }
8852     },
8853     {
8854       /* fixed_bit_masks */
8855       0x800000007ffc0000ULL,
8856       0xfffe000000000000ULL,
8857       0ULL,
8858       0ULL,
8859       0ULL
8860     },
8861     {
8862       /* fixed_bit_values */
8863       0x00000000093c0000ULL,
8864       0x0c62000000000000ULL,
8865       -1ULL,
8866       -1ULL,
8867       -1ULL
8868     }
8869   },
8870   { "slte_u", TILE_OPC_SLTE_U, 0xf /* pipes */, 3 /* num_operands */,
8871     TREG_ZERO, /* implicitly_written_register */
8872     1, /* can_bundle */
8873     {
8874       /* operands */
8875       { 7, 8, 16 },
8876       { 9, 10, 17 },
8877       { 11, 12, 18 },
8878       { 13, 14, 19 },
8879       { 0, }
8880     },
8881     {
8882       /* fixed_bit_masks */
8883       0x800000007ffc0000ULL,
8884       0xfffe000000000000ULL,
8885       0x80000000780c0000ULL,
8886       0xf806000000000000ULL,
8887       0ULL
8888     },
8889     {
8890       /* fixed_bit_values */
8891       0x0000000001400000ULL,
8892       0x0864000000000000ULL,
8893       0x8000000028040000ULL,
8894       0xa802000000000000ULL,
8895       -1ULL
8896     }
8897   },
8898   { "slte_u.sn", TILE_OPC_SLTE_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
8899     TREG_SN, /* implicitly_written_register */
8900     1, /* can_bundle */
8901     {
8902       /* operands */
8903       { 7, 8, 16 },
8904       { 9, 10, 17 },
8905       { 0, },
8906       { 0, },
8907       { 0, }
8908     },
8909     {
8910       /* fixed_bit_masks */
8911       0x800000007ffc0000ULL,
8912       0xfffe000000000000ULL,
8913       0ULL,
8914       0ULL,
8915       0ULL
8916     },
8917     {
8918       /* fixed_bit_values */
8919       0x0000000009400000ULL,
8920       0x0c64000000000000ULL,
8921       -1ULL,
8922       -1ULL,
8923       -1ULL
8924     }
8925   },
8926   { "slteb", TILE_OPC_SLTEB, 0x3 /* pipes */, 3 /* num_operands */,
8927     TREG_ZERO, /* implicitly_written_register */
8928     1, /* can_bundle */
8929     {
8930       /* operands */
8931       { 7, 8, 16 },
8932       { 9, 10, 17 },
8933       { 0, },
8934       { 0, },
8935       { 0, }
8936     },
8937     {
8938       /* fixed_bit_masks */
8939       0x800000007ffc0000ULL,
8940       0xfffe000000000000ULL,
8941       0ULL,
8942       0ULL,
8943       0ULL
8944     },
8945     {
8946       /* fixed_bit_values */
8947       0x00000000012c0000ULL,
8948       0x085a000000000000ULL,
8949       -1ULL,
8950       -1ULL,
8951       -1ULL
8952     }
8953   },
8954   { "slteb.sn", TILE_OPC_SLTEB_SN, 0x3 /* pipes */, 3 /* num_operands */,
8955     TREG_SN, /* implicitly_written_register */
8956     1, /* can_bundle */
8957     {
8958       /* operands */
8959       { 7, 8, 16 },
8960       { 9, 10, 17 },
8961       { 0, },
8962       { 0, },
8963       { 0, }
8964     },
8965     {
8966       /* fixed_bit_masks */
8967       0x800000007ffc0000ULL,
8968       0xfffe000000000000ULL,
8969       0ULL,
8970       0ULL,
8971       0ULL
8972     },
8973     {
8974       /* fixed_bit_values */
8975       0x00000000092c0000ULL,
8976       0x0c5a000000000000ULL,
8977       -1ULL,
8978       -1ULL,
8979       -1ULL
8980     }
8981   },
8982   { "slteb_u", TILE_OPC_SLTEB_U, 0x3 /* pipes */, 3 /* num_operands */,
8983     TREG_ZERO, /* implicitly_written_register */
8984     1, /* can_bundle */
8985     {
8986       /* operands */
8987       { 7, 8, 16 },
8988       { 9, 10, 17 },
8989       { 0, },
8990       { 0, },
8991       { 0, }
8992     },
8993     {
8994       /* fixed_bit_masks */
8995       0x800000007ffc0000ULL,
8996       0xfffe000000000000ULL,
8997       0ULL,
8998       0ULL,
8999       0ULL
9000     },
9001     {
9002       /* fixed_bit_values */
9003       0x0000000001300000ULL,
9004       0x085c000000000000ULL,
9005       -1ULL,
9006       -1ULL,
9007       -1ULL
9008     }
9009   },
9010   { "slteb_u.sn", TILE_OPC_SLTEB_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
9011     TREG_SN, /* implicitly_written_register */
9012     1, /* can_bundle */
9013     {
9014       /* operands */
9015       { 7, 8, 16 },
9016       { 9, 10, 17 },
9017       { 0, },
9018       { 0, },
9019       { 0, }
9020     },
9021     {
9022       /* fixed_bit_masks */
9023       0x800000007ffc0000ULL,
9024       0xfffe000000000000ULL,
9025       0ULL,
9026       0ULL,
9027       0ULL
9028     },
9029     {
9030       /* fixed_bit_values */
9031       0x0000000009300000ULL,
9032       0x0c5c000000000000ULL,
9033       -1ULL,
9034       -1ULL,
9035       -1ULL
9036     }
9037   },
9038   { "slteh", TILE_OPC_SLTEH, 0x3 /* pipes */, 3 /* num_operands */,
9039     TREG_ZERO, /* implicitly_written_register */
9040     1, /* can_bundle */
9041     {
9042       /* operands */
9043       { 7, 8, 16 },
9044       { 9, 10, 17 },
9045       { 0, },
9046       { 0, },
9047       { 0, }
9048     },
9049     {
9050       /* fixed_bit_masks */
9051       0x800000007ffc0000ULL,
9052       0xfffe000000000000ULL,
9053       0ULL,
9054       0ULL,
9055       0ULL
9056     },
9057     {
9058       /* fixed_bit_values */
9059       0x0000000001340000ULL,
9060       0x085e000000000000ULL,
9061       -1ULL,
9062       -1ULL,
9063       -1ULL
9064     }
9065   },
9066   { "slteh.sn", TILE_OPC_SLTEH_SN, 0x3 /* pipes */, 3 /* num_operands */,
9067     TREG_SN, /* implicitly_written_register */
9068     1, /* can_bundle */
9069     {
9070       /* operands */
9071       { 7, 8, 16 },
9072       { 9, 10, 17 },
9073       { 0, },
9074       { 0, },
9075       { 0, }
9076     },
9077     {
9078       /* fixed_bit_masks */
9079       0x800000007ffc0000ULL,
9080       0xfffe000000000000ULL,
9081       0ULL,
9082       0ULL,
9083       0ULL
9084     },
9085     {
9086       /* fixed_bit_values */
9087       0x0000000009340000ULL,
9088       0x0c5e000000000000ULL,
9089       -1ULL,
9090       -1ULL,
9091       -1ULL
9092     }
9093   },
9094   { "slteh_u", TILE_OPC_SLTEH_U, 0x3 /* pipes */, 3 /* num_operands */,
9095     TREG_ZERO, /* implicitly_written_register */
9096     1, /* can_bundle */
9097     {
9098       /* operands */
9099       { 7, 8, 16 },
9100       { 9, 10, 17 },
9101       { 0, },
9102       { 0, },
9103       { 0, }
9104     },
9105     {
9106       /* fixed_bit_masks */
9107       0x800000007ffc0000ULL,
9108       0xfffe000000000000ULL,
9109       0ULL,
9110       0ULL,
9111       0ULL
9112     },
9113     {
9114       /* fixed_bit_values */
9115       0x0000000001380000ULL,
9116       0x0860000000000000ULL,
9117       -1ULL,
9118       -1ULL,
9119       -1ULL
9120     }
9121   },
9122   { "slteh_u.sn", TILE_OPC_SLTEH_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
9123     TREG_SN, /* implicitly_written_register */
9124     1, /* can_bundle */
9125     {
9126       /* operands */
9127       { 7, 8, 16 },
9128       { 9, 10, 17 },
9129       { 0, },
9130       { 0, },
9131       { 0, }
9132     },
9133     {
9134       /* fixed_bit_masks */
9135       0x800000007ffc0000ULL,
9136       0xfffe000000000000ULL,
9137       0ULL,
9138       0ULL,
9139       0ULL
9140     },
9141     {
9142       /* fixed_bit_values */
9143       0x0000000009380000ULL,
9144       0x0c60000000000000ULL,
9145       -1ULL,
9146       -1ULL,
9147       -1ULL
9148     }
9149   },
9150   { "slth", TILE_OPC_SLTH, 0x3 /* pipes */, 3 /* num_operands */,
9151     TREG_ZERO, /* implicitly_written_register */
9152     1, /* can_bundle */
9153     {
9154       /* operands */
9155       { 7, 8, 16 },
9156       { 9, 10, 17 },
9157       { 0, },
9158       { 0, },
9159       { 0, }
9160     },
9161     {
9162       /* fixed_bit_masks */
9163       0x800000007ffc0000ULL,
9164       0xfffe000000000000ULL,
9165       0ULL,
9166       0ULL,
9167       0ULL
9168     },
9169     {
9170       /* fixed_bit_values */
9171       0x0000000001440000ULL,
9172       0x0866000000000000ULL,
9173       -1ULL,
9174       -1ULL,
9175       -1ULL
9176     }
9177   },
9178   { "slth.sn", TILE_OPC_SLTH_SN, 0x3 /* pipes */, 3 /* num_operands */,
9179     TREG_SN, /* implicitly_written_register */
9180     1, /* can_bundle */
9181     {
9182       /* operands */
9183       { 7, 8, 16 },
9184       { 9, 10, 17 },
9185       { 0, },
9186       { 0, },
9187       { 0, }
9188     },
9189     {
9190       /* fixed_bit_masks */
9191       0x800000007ffc0000ULL,
9192       0xfffe000000000000ULL,
9193       0ULL,
9194       0ULL,
9195       0ULL
9196     },
9197     {
9198       /* fixed_bit_values */
9199       0x0000000009440000ULL,
9200       0x0c66000000000000ULL,
9201       -1ULL,
9202       -1ULL,
9203       -1ULL
9204     }
9205   },
9206   { "slth_u", TILE_OPC_SLTH_U, 0x3 /* pipes */, 3 /* num_operands */,
9207     TREG_ZERO, /* implicitly_written_register */
9208     1, /* can_bundle */
9209     {
9210       /* operands */
9211       { 7, 8, 16 },
9212       { 9, 10, 17 },
9213       { 0, },
9214       { 0, },
9215       { 0, }
9216     },
9217     {
9218       /* fixed_bit_masks */
9219       0x800000007ffc0000ULL,
9220       0xfffe000000000000ULL,
9221       0ULL,
9222       0ULL,
9223       0ULL
9224     },
9225     {
9226       /* fixed_bit_values */
9227       0x0000000001480000ULL,
9228       0x0868000000000000ULL,
9229       -1ULL,
9230       -1ULL,
9231       -1ULL
9232     }
9233   },
9234   { "slth_u.sn", TILE_OPC_SLTH_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
9235     TREG_SN, /* implicitly_written_register */
9236     1, /* can_bundle */
9237     {
9238       /* operands */
9239       { 7, 8, 16 },
9240       { 9, 10, 17 },
9241       { 0, },
9242       { 0, },
9243       { 0, }
9244     },
9245     {
9246       /* fixed_bit_masks */
9247       0x800000007ffc0000ULL,
9248       0xfffe000000000000ULL,
9249       0ULL,
9250       0ULL,
9251       0ULL
9252     },
9253     {
9254       /* fixed_bit_values */
9255       0x0000000009480000ULL,
9256       0x0c68000000000000ULL,
9257       -1ULL,
9258       -1ULL,
9259       -1ULL
9260     }
9261   },
9262   { "slti", TILE_OPC_SLTI, 0xf /* pipes */, 3 /* num_operands */,
9263     TREG_ZERO, /* implicitly_written_register */
9264     1, /* can_bundle */
9265     {
9266       /* operands */
9267       { 7, 8, 0 },
9268       { 9, 10, 1 },
9269       { 11, 12, 2 },
9270       { 13, 14, 3 },
9271       { 0, }
9272     },
9273     {
9274       /* fixed_bit_masks */
9275       0x800000007ff00000ULL,
9276       0xfff8000000000000ULL,
9277       0x8000000078000000ULL,
9278       0xf800000000000000ULL,
9279       0ULL
9280     },
9281     {
9282       /* fixed_bit_values */
9283       0x0000000041000000ULL,
9284       0x3098000000000000ULL,
9285       0x8000000070000000ULL,
9286       0xe000000000000000ULL,
9287       -1ULL
9288     }
9289   },
9290   { "slti.sn", TILE_OPC_SLTI_SN, 0x3 /* pipes */, 3 /* num_operands */,
9291     TREG_SN, /* implicitly_written_register */
9292     1, /* can_bundle */
9293     {
9294       /* operands */
9295       { 7, 8, 0 },
9296       { 9, 10, 1 },
9297       { 0, },
9298       { 0, },
9299       { 0, }
9300     },
9301     {
9302       /* fixed_bit_masks */
9303       0x800000007ff00000ULL,
9304       0xfff8000000000000ULL,
9305       0ULL,
9306       0ULL,
9307       0ULL
9308     },
9309     {
9310       /* fixed_bit_values */
9311       0x0000000049000000ULL,
9312       0x3498000000000000ULL,
9313       -1ULL,
9314       -1ULL,
9315       -1ULL
9316     }
9317   },
9318   { "slti_u", TILE_OPC_SLTI_U, 0xf /* pipes */, 3 /* num_operands */,
9319     TREG_ZERO, /* implicitly_written_register */
9320     1, /* can_bundle */
9321     {
9322       /* operands */
9323       { 7, 8, 0 },
9324       { 9, 10, 1 },
9325       { 11, 12, 2 },
9326       { 13, 14, 3 },
9327       { 0, }
9328     },
9329     {
9330       /* fixed_bit_masks */
9331       0x800000007ff00000ULL,
9332       0xfff8000000000000ULL,
9333       0x8000000078000000ULL,
9334       0xf800000000000000ULL,
9335       0ULL
9336     },
9337     {
9338       /* fixed_bit_values */
9339       0x0000000041100000ULL,
9340       0x30a0000000000000ULL,
9341       0x8000000078000000ULL,
9342       0xe800000000000000ULL,
9343       -1ULL
9344     }
9345   },
9346   { "slti_u.sn", TILE_OPC_SLTI_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
9347     TREG_SN, /* implicitly_written_register */
9348     1, /* can_bundle */
9349     {
9350       /* operands */
9351       { 7, 8, 0 },
9352       { 9, 10, 1 },
9353       { 0, },
9354       { 0, },
9355       { 0, }
9356     },
9357     {
9358       /* fixed_bit_masks */
9359       0x800000007ff00000ULL,
9360       0xfff8000000000000ULL,
9361       0ULL,
9362       0ULL,
9363       0ULL
9364     },
9365     {
9366       /* fixed_bit_values */
9367       0x0000000049100000ULL,
9368       0x34a0000000000000ULL,
9369       -1ULL,
9370       -1ULL,
9371       -1ULL
9372     }
9373   },
9374   { "sltib", TILE_OPC_SLTIB, 0x3 /* pipes */, 3 /* num_operands */,
9375     TREG_ZERO, /* implicitly_written_register */
9376     1, /* can_bundle */
9377     {
9378       /* operands */
9379       { 7, 8, 0 },
9380       { 9, 10, 1 },
9381       { 0, },
9382       { 0, },
9383       { 0, }
9384     },
9385     {
9386       /* fixed_bit_masks */
9387       0x800000007ff00000ULL,
9388       0xfff8000000000000ULL,
9389       0ULL,
9390       0ULL,
9391       0ULL
9392     },
9393     {
9394       /* fixed_bit_values */
9395       0x0000000040c00000ULL,
9396       0x3078000000000000ULL,
9397       -1ULL,
9398       -1ULL,
9399       -1ULL
9400     }
9401   },
9402   { "sltib.sn", TILE_OPC_SLTIB_SN, 0x3 /* pipes */, 3 /* num_operands */,
9403     TREG_SN, /* implicitly_written_register */
9404     1, /* can_bundle */
9405     {
9406       /* operands */
9407       { 7, 8, 0 },
9408       { 9, 10, 1 },
9409       { 0, },
9410       { 0, },
9411       { 0, }
9412     },
9413     {
9414       /* fixed_bit_masks */
9415       0x800000007ff00000ULL,
9416       0xfff8000000000000ULL,
9417       0ULL,
9418       0ULL,
9419       0ULL
9420     },
9421     {
9422       /* fixed_bit_values */
9423       0x0000000048c00000ULL,
9424       0x3478000000000000ULL,
9425       -1ULL,
9426       -1ULL,
9427       -1ULL
9428     }
9429   },
9430   { "sltib_u", TILE_OPC_SLTIB_U, 0x3 /* pipes */, 3 /* num_operands */,
9431     TREG_ZERO, /* implicitly_written_register */
9432     1, /* can_bundle */
9433     {
9434       /* operands */
9435       { 7, 8, 0 },
9436       { 9, 10, 1 },
9437       { 0, },
9438       { 0, },
9439       { 0, }
9440     },
9441     {
9442       /* fixed_bit_masks */
9443       0x800000007ff00000ULL,
9444       0xfff8000000000000ULL,
9445       0ULL,
9446       0ULL,
9447       0ULL
9448     },
9449     {
9450       /* fixed_bit_values */
9451       0x0000000040d00000ULL,
9452       0x3080000000000000ULL,
9453       -1ULL,
9454       -1ULL,
9455       -1ULL
9456     }
9457   },
9458   { "sltib_u.sn", TILE_OPC_SLTIB_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
9459     TREG_SN, /* implicitly_written_register */
9460     1, /* can_bundle */
9461     {
9462       /* operands */
9463       { 7, 8, 0 },
9464       { 9, 10, 1 },
9465       { 0, },
9466       { 0, },
9467       { 0, }
9468     },
9469     {
9470       /* fixed_bit_masks */
9471       0x800000007ff00000ULL,
9472       0xfff8000000000000ULL,
9473       0ULL,
9474       0ULL,
9475       0ULL
9476     },
9477     {
9478       /* fixed_bit_values */
9479       0x0000000048d00000ULL,
9480       0x3480000000000000ULL,
9481       -1ULL,
9482       -1ULL,
9483       -1ULL
9484     }
9485   },
9486   { "sltih", TILE_OPC_SLTIH, 0x3 /* pipes */, 3 /* num_operands */,
9487     TREG_ZERO, /* implicitly_written_register */
9488     1, /* can_bundle */
9489     {
9490       /* operands */
9491       { 7, 8, 0 },
9492       { 9, 10, 1 },
9493       { 0, },
9494       { 0, },
9495       { 0, }
9496     },
9497     {
9498       /* fixed_bit_masks */
9499       0x800000007ff00000ULL,
9500       0xfff8000000000000ULL,
9501       0ULL,
9502       0ULL,
9503       0ULL
9504     },
9505     {
9506       /* fixed_bit_values */
9507       0x0000000040e00000ULL,
9508       0x3088000000000000ULL,
9509       -1ULL,
9510       -1ULL,
9511       -1ULL
9512     }
9513   },
9514   { "sltih.sn", TILE_OPC_SLTIH_SN, 0x3 /* pipes */, 3 /* num_operands */,
9515     TREG_SN, /* implicitly_written_register */
9516     1, /* can_bundle */
9517     {
9518       /* operands */
9519       { 7, 8, 0 },
9520       { 9, 10, 1 },
9521       { 0, },
9522       { 0, },
9523       { 0, }
9524     },
9525     {
9526       /* fixed_bit_masks */
9527       0x800000007ff00000ULL,
9528       0xfff8000000000000ULL,
9529       0ULL,
9530       0ULL,
9531       0ULL
9532     },
9533     {
9534       /* fixed_bit_values */
9535       0x0000000048e00000ULL,
9536       0x3488000000000000ULL,
9537       -1ULL,
9538       -1ULL,
9539       -1ULL
9540     }
9541   },
9542   { "sltih_u", TILE_OPC_SLTIH_U, 0x3 /* pipes */, 3 /* num_operands */,
9543     TREG_ZERO, /* implicitly_written_register */
9544     1, /* can_bundle */
9545     {
9546       /* operands */
9547       { 7, 8, 0 },
9548       { 9, 10, 1 },
9549       { 0, },
9550       { 0, },
9551       { 0, }
9552     },
9553     {
9554       /* fixed_bit_masks */
9555       0x800000007ff00000ULL,
9556       0xfff8000000000000ULL,
9557       0ULL,
9558       0ULL,
9559       0ULL
9560     },
9561     {
9562       /* fixed_bit_values */
9563       0x0000000040f00000ULL,
9564       0x3090000000000000ULL,
9565       -1ULL,
9566       -1ULL,
9567       -1ULL
9568     }
9569   },
9570   { "sltih_u.sn", TILE_OPC_SLTIH_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
9571     TREG_SN, /* implicitly_written_register */
9572     1, /* can_bundle */
9573     {
9574       /* operands */
9575       { 7, 8, 0 },
9576       { 9, 10, 1 },
9577       { 0, },
9578       { 0, },
9579       { 0, }
9580     },
9581     {
9582       /* fixed_bit_masks */
9583       0x800000007ff00000ULL,
9584       0xfff8000000000000ULL,
9585       0ULL,
9586       0ULL,
9587       0ULL
9588     },
9589     {
9590       /* fixed_bit_values */
9591       0x0000000048f00000ULL,
9592       0x3490000000000000ULL,
9593       -1ULL,
9594       -1ULL,
9595       -1ULL
9596     }
9597   },
9598   { "sne", TILE_OPC_SNE, 0xf /* pipes */, 3 /* num_operands */,
9599     TREG_ZERO, /* implicitly_written_register */
9600     1, /* can_bundle */
9601     {
9602       /* operands */
9603       { 7, 8, 16 },
9604       { 9, 10, 17 },
9605       { 11, 12, 18 },
9606       { 13, 14, 19 },
9607       { 0, }
9608     },
9609     {
9610       /* fixed_bit_masks */
9611       0x800000007ffc0000ULL,
9612       0xfffe000000000000ULL,
9613       0x80000000780c0000ULL,
9614       0xf806000000000000ULL,
9615       0ULL
9616     },
9617     {
9618       /* fixed_bit_values */
9619       0x00000000015c0000ULL,
9620       0x0872000000000000ULL,
9621       0x80000000300c0000ULL,
9622       0xb006000000000000ULL,
9623       -1ULL
9624     }
9625   },
9626   { "sne.sn", TILE_OPC_SNE_SN, 0x3 /* pipes */, 3 /* num_operands */,
9627     TREG_SN, /* implicitly_written_register */
9628     1, /* can_bundle */
9629     {
9630       /* operands */
9631       { 7, 8, 16 },
9632       { 9, 10, 17 },
9633       { 0, },
9634       { 0, },
9635       { 0, }
9636     },
9637     {
9638       /* fixed_bit_masks */
9639       0x800000007ffc0000ULL,
9640       0xfffe000000000000ULL,
9641       0ULL,
9642       0ULL,
9643       0ULL
9644     },
9645     {
9646       /* fixed_bit_values */
9647       0x00000000095c0000ULL,
9648       0x0c72000000000000ULL,
9649       -1ULL,
9650       -1ULL,
9651       -1ULL
9652     }
9653   },
9654   { "sneb", TILE_OPC_SNEB, 0x3 /* pipes */, 3 /* num_operands */,
9655     TREG_ZERO, /* implicitly_written_register */
9656     1, /* can_bundle */
9657     {
9658       /* operands */
9659       { 7, 8, 16 },
9660       { 9, 10, 17 },
9661       { 0, },
9662       { 0, },
9663       { 0, }
9664     },
9665     {
9666       /* fixed_bit_masks */
9667       0x800000007ffc0000ULL,
9668       0xfffe000000000000ULL,
9669       0ULL,
9670       0ULL,
9671       0ULL
9672     },
9673     {
9674       /* fixed_bit_values */
9675       0x0000000001540000ULL,
9676       0x086e000000000000ULL,
9677       -1ULL,
9678       -1ULL,
9679       -1ULL
9680     }
9681   },
9682   { "sneb.sn", TILE_OPC_SNEB_SN, 0x3 /* pipes */, 3 /* num_operands */,
9683     TREG_SN, /* implicitly_written_register */
9684     1, /* can_bundle */
9685     {
9686       /* operands */
9687       { 7, 8, 16 },
9688       { 9, 10, 17 },
9689       { 0, },
9690       { 0, },
9691       { 0, }
9692     },
9693     {
9694       /* fixed_bit_masks */
9695       0x800000007ffc0000ULL,
9696       0xfffe000000000000ULL,
9697       0ULL,
9698       0ULL,
9699       0ULL
9700     },
9701     {
9702       /* fixed_bit_values */
9703       0x0000000009540000ULL,
9704       0x0c6e000000000000ULL,
9705       -1ULL,
9706       -1ULL,
9707       -1ULL
9708     }
9709   },
9710   { "sneh", TILE_OPC_SNEH, 0x3 /* pipes */, 3 /* num_operands */,
9711     TREG_ZERO, /* implicitly_written_register */
9712     1, /* can_bundle */
9713     {
9714       /* operands */
9715       { 7, 8, 16 },
9716       { 9, 10, 17 },
9717       { 0, },
9718       { 0, },
9719       { 0, }
9720     },
9721     {
9722       /* fixed_bit_masks */
9723       0x800000007ffc0000ULL,
9724       0xfffe000000000000ULL,
9725       0ULL,
9726       0ULL,
9727       0ULL
9728     },
9729     {
9730       /* fixed_bit_values */
9731       0x0000000001580000ULL,
9732       0x0870000000000000ULL,
9733       -1ULL,
9734       -1ULL,
9735       -1ULL
9736     }
9737   },
9738   { "sneh.sn", TILE_OPC_SNEH_SN, 0x3 /* pipes */, 3 /* num_operands */,
9739     TREG_SN, /* implicitly_written_register */
9740     1, /* can_bundle */
9741     {
9742       /* operands */
9743       { 7, 8, 16 },
9744       { 9, 10, 17 },
9745       { 0, },
9746       { 0, },
9747       { 0, }
9748     },
9749     {
9750       /* fixed_bit_masks */
9751       0x800000007ffc0000ULL,
9752       0xfffe000000000000ULL,
9753       0ULL,
9754       0ULL,
9755       0ULL
9756     },
9757     {
9758       /* fixed_bit_values */
9759       0x0000000009580000ULL,
9760       0x0c70000000000000ULL,
9761       -1ULL,
9762       -1ULL,
9763       -1ULL
9764     }
9765   },
9766   { "sra", TILE_OPC_SRA, 0xf /* pipes */, 3 /* num_operands */,
9767     TREG_ZERO, /* implicitly_written_register */
9768     1, /* can_bundle */
9769     {
9770       /* operands */
9771       { 7, 8, 16 },
9772       { 9, 10, 17 },
9773       { 11, 12, 18 },
9774       { 13, 14, 19 },
9775       { 0, }
9776     },
9777     {
9778       /* fixed_bit_masks */
9779       0x800000007ffc0000ULL,
9780       0xfffe000000000000ULL,
9781       0x80000000780c0000ULL,
9782       0xf806000000000000ULL,
9783       0ULL
9784     },
9785     {
9786       /* fixed_bit_values */
9787       0x0000000001680000ULL,
9788       0x0878000000000000ULL,
9789       0x80000000200c0000ULL,
9790       0xa006000000000000ULL,
9791       -1ULL
9792     }
9793   },
9794   { "sra.sn", TILE_OPC_SRA_SN, 0x3 /* pipes */, 3 /* num_operands */,
9795     TREG_SN, /* implicitly_written_register */
9796     1, /* can_bundle */
9797     {
9798       /* operands */
9799       { 7, 8, 16 },
9800       { 9, 10, 17 },
9801       { 0, },
9802       { 0, },
9803       { 0, }
9804     },
9805     {
9806       /* fixed_bit_masks */
9807       0x800000007ffc0000ULL,
9808       0xfffe000000000000ULL,
9809       0ULL,
9810       0ULL,
9811       0ULL
9812     },
9813     {
9814       /* fixed_bit_values */
9815       0x0000000009680000ULL,
9816       0x0c78000000000000ULL,
9817       -1ULL,
9818       -1ULL,
9819       -1ULL
9820     }
9821   },
9822   { "srab", TILE_OPC_SRAB, 0x3 /* pipes */, 3 /* num_operands */,
9823     TREG_ZERO, /* implicitly_written_register */
9824     1, /* can_bundle */
9825     {
9826       /* operands */
9827       { 7, 8, 16 },
9828       { 9, 10, 17 },
9829       { 0, },
9830       { 0, },
9831       { 0, }
9832     },
9833     {
9834       /* fixed_bit_masks */
9835       0x800000007ffc0000ULL,
9836       0xfffe000000000000ULL,
9837       0ULL,
9838       0ULL,
9839       0ULL
9840     },
9841     {
9842       /* fixed_bit_values */
9843       0x0000000001600000ULL,
9844       0x0874000000000000ULL,
9845       -1ULL,
9846       -1ULL,
9847       -1ULL
9848     }
9849   },
9850   { "srab.sn", TILE_OPC_SRAB_SN, 0x3 /* pipes */, 3 /* num_operands */,
9851     TREG_SN, /* implicitly_written_register */
9852     1, /* can_bundle */
9853     {
9854       /* operands */
9855       { 7, 8, 16 },
9856       { 9, 10, 17 },
9857       { 0, },
9858       { 0, },
9859       { 0, }
9860     },
9861     {
9862       /* fixed_bit_masks */
9863       0x800000007ffc0000ULL,
9864       0xfffe000000000000ULL,
9865       0ULL,
9866       0ULL,
9867       0ULL
9868     },
9869     {
9870       /* fixed_bit_values */
9871       0x0000000009600000ULL,
9872       0x0c74000000000000ULL,
9873       -1ULL,
9874       -1ULL,
9875       -1ULL
9876     }
9877   },
9878   { "srah", TILE_OPC_SRAH, 0x3 /* pipes */, 3 /* num_operands */,
9879     TREG_ZERO, /* implicitly_written_register */
9880     1, /* can_bundle */
9881     {
9882       /* operands */
9883       { 7, 8, 16 },
9884       { 9, 10, 17 },
9885       { 0, },
9886       { 0, },
9887       { 0, }
9888     },
9889     {
9890       /* fixed_bit_masks */
9891       0x800000007ffc0000ULL,
9892       0xfffe000000000000ULL,
9893       0ULL,
9894       0ULL,
9895       0ULL
9896     },
9897     {
9898       /* fixed_bit_values */
9899       0x0000000001640000ULL,
9900       0x0876000000000000ULL,
9901       -1ULL,
9902       -1ULL,
9903       -1ULL
9904     }
9905   },
9906   { "srah.sn", TILE_OPC_SRAH_SN, 0x3 /* pipes */, 3 /* num_operands */,
9907     TREG_SN, /* implicitly_written_register */
9908     1, /* can_bundle */
9909     {
9910       /* operands */
9911       { 7, 8, 16 },
9912       { 9, 10, 17 },
9913       { 0, },
9914       { 0, },
9915       { 0, }
9916     },
9917     {
9918       /* fixed_bit_masks */
9919       0x800000007ffc0000ULL,
9920       0xfffe000000000000ULL,
9921       0ULL,
9922       0ULL,
9923       0ULL
9924     },
9925     {
9926       /* fixed_bit_values */
9927       0x0000000009640000ULL,
9928       0x0c76000000000000ULL,
9929       -1ULL,
9930       -1ULL,
9931       -1ULL
9932     }
9933   },
9934   { "srai", TILE_OPC_SRAI, 0xf /* pipes */, 3 /* num_operands */,
9935     TREG_ZERO, /* implicitly_written_register */
9936     1, /* can_bundle */
9937     {
9938       /* operands */
9939       { 7, 8, 32 },
9940       { 9, 10, 33 },
9941       { 11, 12, 34 },
9942       { 13, 14, 35 },
9943       { 0, }
9944     },
9945     {
9946       /* fixed_bit_masks */
9947       0x800000007ffe0000ULL,
9948       0xffff000000000000ULL,
9949       0x80000000780e0000ULL,
9950       0xf807000000000000ULL,
9951       0ULL
9952     },
9953     {
9954       /* fixed_bit_values */
9955       0x0000000070140000ULL,
9956       0x400a000000000000ULL,
9957       0x8000000068080000ULL,
9958       0xd804000000000000ULL,
9959       -1ULL
9960     }
9961   },
9962   { "srai.sn", TILE_OPC_SRAI_SN, 0x3 /* pipes */, 3 /* num_operands */,
9963     TREG_SN, /* implicitly_written_register */
9964     1, /* can_bundle */
9965     {
9966       /* operands */
9967       { 7, 8, 32 },
9968       { 9, 10, 33 },
9969       { 0, },
9970       { 0, },
9971       { 0, }
9972     },
9973     {
9974       /* fixed_bit_masks */
9975       0x800000007ffe0000ULL,
9976       0xffff000000000000ULL,
9977       0ULL,
9978       0ULL,
9979       0ULL
9980     },
9981     {
9982       /* fixed_bit_values */
9983       0x0000000078140000ULL,
9984       0x440a000000000000ULL,
9985       -1ULL,
9986       -1ULL,
9987       -1ULL
9988     }
9989   },
9990   { "sraib", TILE_OPC_SRAIB, 0x3 /* pipes */, 3 /* num_operands */,
9991     TREG_ZERO, /* implicitly_written_register */
9992     1, /* can_bundle */
9993     {
9994       /* operands */
9995       { 7, 8, 32 },
9996       { 9, 10, 33 },
9997       { 0, },
9998       { 0, },
9999       { 0, }
10000     },
10001     {
10002       /* fixed_bit_masks */
10003       0x800000007ffe0000ULL,
10004       0xffff000000000000ULL,
10005       0ULL,
10006       0ULL,
10007       0ULL
10008     },
10009     {
10010       /* fixed_bit_values */
10011       0x0000000070100000ULL,
10012       0x4008000000000000ULL,
10013       -1ULL,
10014       -1ULL,
10015       -1ULL
10016     }
10017   },
10018   { "sraib.sn", TILE_OPC_SRAIB_SN, 0x3 /* pipes */, 3 /* num_operands */,
10019     TREG_SN, /* implicitly_written_register */
10020     1, /* can_bundle */
10021     {
10022       /* operands */
10023       { 7, 8, 32 },
10024       { 9, 10, 33 },
10025       { 0, },
10026       { 0, },
10027       { 0, }
10028     },
10029     {
10030       /* fixed_bit_masks */
10031       0x800000007ffe0000ULL,
10032       0xffff000000000000ULL,
10033       0ULL,
10034       0ULL,
10035       0ULL
10036     },
10037     {
10038       /* fixed_bit_values */
10039       0x0000000078100000ULL,
10040       0x4408000000000000ULL,
10041       -1ULL,
10042       -1ULL,
10043       -1ULL
10044     }
10045   },
10046   { "sraih", TILE_OPC_SRAIH, 0x3 /* pipes */, 3 /* num_operands */,
10047     TREG_ZERO, /* implicitly_written_register */
10048     1, /* can_bundle */
10049     {
10050       /* operands */
10051       { 7, 8, 32 },
10052       { 9, 10, 33 },
10053       { 0, },
10054       { 0, },
10055       { 0, }
10056     },
10057     {
10058       /* fixed_bit_masks */
10059       0x800000007ffe0000ULL,
10060       0xffff000000000000ULL,
10061       0ULL,
10062       0ULL,
10063       0ULL
10064     },
10065     {
10066       /* fixed_bit_values */
10067       0x0000000070120000ULL,
10068       0x4009000000000000ULL,
10069       -1ULL,
10070       -1ULL,
10071       -1ULL
10072     }
10073   },
10074   { "sraih.sn", TILE_OPC_SRAIH_SN, 0x3 /* pipes */, 3 /* num_operands */,
10075     TREG_SN, /* implicitly_written_register */
10076     1, /* can_bundle */
10077     {
10078       /* operands */
10079       { 7, 8, 32 },
10080       { 9, 10, 33 },
10081       { 0, },
10082       { 0, },
10083       { 0, }
10084     },
10085     {
10086       /* fixed_bit_masks */
10087       0x800000007ffe0000ULL,
10088       0xffff000000000000ULL,
10089       0ULL,
10090       0ULL,
10091       0ULL
10092     },
10093     {
10094       /* fixed_bit_values */
10095       0x0000000078120000ULL,
10096       0x4409000000000000ULL,
10097       -1ULL,
10098       -1ULL,
10099       -1ULL
10100     }
10101   },
10102   { "sub", TILE_OPC_SUB, 0xf /* pipes */, 3 /* num_operands */,
10103     TREG_ZERO, /* implicitly_written_register */
10104     1, /* can_bundle */
10105     {
10106       /* operands */
10107       { 7, 8, 16 },
10108       { 9, 10, 17 },
10109       { 11, 12, 18 },
10110       { 13, 14, 19 },
10111       { 0, }
10112     },
10113     {
10114       /* fixed_bit_masks */
10115       0x800000007ffc0000ULL,
10116       0xfffe000000000000ULL,
10117       0x80000000780c0000ULL,
10118       0xf806000000000000ULL,
10119       0ULL
10120     },
10121     {
10122       /* fixed_bit_values */
10123       0x0000000001740000ULL,
10124       0x087e000000000000ULL,
10125       0x80000000080c0000ULL,
10126       0x8806000000000000ULL,
10127       -1ULL
10128     }
10129   },
10130   { "sub.sn", TILE_OPC_SUB_SN, 0x3 /* pipes */, 3 /* num_operands */,
10131     TREG_SN, /* implicitly_written_register */
10132     1, /* can_bundle */
10133     {
10134       /* operands */
10135       { 7, 8, 16 },
10136       { 9, 10, 17 },
10137       { 0, },
10138       { 0, },
10139       { 0, }
10140     },
10141     {
10142       /* fixed_bit_masks */
10143       0x800000007ffc0000ULL,
10144       0xfffe000000000000ULL,
10145       0ULL,
10146       0ULL,
10147       0ULL
10148     },
10149     {
10150       /* fixed_bit_values */
10151       0x0000000009740000ULL,
10152       0x0c7e000000000000ULL,
10153       -1ULL,
10154       -1ULL,
10155       -1ULL
10156     }
10157   },
10158   { "subb", TILE_OPC_SUBB, 0x3 /* pipes */, 3 /* num_operands */,
10159     TREG_ZERO, /* implicitly_written_register */
10160     1, /* can_bundle */
10161     {
10162       /* operands */
10163       { 7, 8, 16 },
10164       { 9, 10, 17 },
10165       { 0, },
10166       { 0, },
10167       { 0, }
10168     },
10169     {
10170       /* fixed_bit_masks */
10171       0x800000007ffc0000ULL,
10172       0xfffe000000000000ULL,
10173       0ULL,
10174       0ULL,
10175       0ULL
10176     },
10177     {
10178       /* fixed_bit_values */
10179       0x00000000016c0000ULL,
10180       0x087a000000000000ULL,
10181       -1ULL,
10182       -1ULL,
10183       -1ULL
10184     }
10185   },
10186   { "subb.sn", TILE_OPC_SUBB_SN, 0x3 /* pipes */, 3 /* num_operands */,
10187     TREG_SN, /* implicitly_written_register */
10188     1, /* can_bundle */
10189     {
10190       /* operands */
10191       { 7, 8, 16 },
10192       { 9, 10, 17 },
10193       { 0, },
10194       { 0, },
10195       { 0, }
10196     },
10197     {
10198       /* fixed_bit_masks */
10199       0x800000007ffc0000ULL,
10200       0xfffe000000000000ULL,
10201       0ULL,
10202       0ULL,
10203       0ULL
10204     },
10205     {
10206       /* fixed_bit_values */
10207       0x00000000096c0000ULL,
10208       0x0c7a000000000000ULL,
10209       -1ULL,
10210       -1ULL,
10211       -1ULL
10212     }
10213   },
10214   { "subbs_u", TILE_OPC_SUBBS_U, 0x3 /* pipes */, 3 /* num_operands */,
10215     TREG_ZERO, /* implicitly_written_register */
10216     1, /* can_bundle */
10217     {
10218       /* operands */
10219       { 7, 8, 16 },
10220       { 9, 10, 17 },
10221       { 0, },
10222       { 0, },
10223       { 0, }
10224     },
10225     {
10226       /* fixed_bit_masks */
10227       0x800000007ffc0000ULL,
10228       0xfffe000000000000ULL,
10229       0ULL,
10230       0ULL,
10231       0ULL
10232     },
10233     {
10234       /* fixed_bit_values */
10235       0x0000000001900000ULL,
10236       0x088c000000000000ULL,
10237       -1ULL,
10238       -1ULL,
10239       -1ULL
10240     }
10241   },
10242   { "subbs_u.sn", TILE_OPC_SUBBS_U_SN, 0x3 /* pipes */, 3 /* num_operands */,
10243     TREG_SN, /* implicitly_written_register */
10244     1, /* can_bundle */
10245     {
10246       /* operands */
10247       { 7, 8, 16 },
10248       { 9, 10, 17 },
10249       { 0, },
10250       { 0, },
10251       { 0, }
10252     },
10253     {
10254       /* fixed_bit_masks */
10255       0x800000007ffc0000ULL,
10256       0xfffe000000000000ULL,
10257       0ULL,
10258       0ULL,
10259       0ULL
10260     },
10261     {
10262       /* fixed_bit_values */
10263       0x0000000009900000ULL,
10264       0x0c8c000000000000ULL,
10265       -1ULL,
10266       -1ULL,
10267       -1ULL
10268     }
10269   },
10270   { "subh", TILE_OPC_SUBH, 0x3 /* pipes */, 3 /* num_operands */,
10271     TREG_ZERO, /* implicitly_written_register */
10272     1, /* can_bundle */
10273     {
10274       /* operands */
10275       { 7, 8, 16 },
10276       { 9, 10, 17 },
10277       { 0, },
10278       { 0, },
10279       { 0, }
10280     },
10281     {
10282       /* fixed_bit_masks */
10283       0x800000007ffc0000ULL,
10284       0xfffe000000000000ULL,
10285       0ULL,
10286       0ULL,
10287       0ULL
10288     },
10289     {
10290       /* fixed_bit_values */
10291       0x0000000001700000ULL,
10292       0x087c000000000000ULL,
10293       -1ULL,
10294       -1ULL,
10295       -1ULL
10296     }
10297   },
10298   { "subh.sn", TILE_OPC_SUBH_SN, 0x3 /* pipes */, 3 /* num_operands */,
10299     TREG_SN, /* implicitly_written_register */
10300     1, /* can_bundle */
10301     {
10302       /* operands */
10303       { 7, 8, 16 },
10304       { 9, 10, 17 },
10305       { 0, },
10306       { 0, },
10307       { 0, }
10308     },
10309     {
10310       /* fixed_bit_masks */
10311       0x800000007ffc0000ULL,
10312       0xfffe000000000000ULL,
10313       0ULL,
10314       0ULL,
10315       0ULL
10316     },
10317     {
10318       /* fixed_bit_values */
10319       0x0000000009700000ULL,
10320       0x0c7c000000000000ULL,
10321       -1ULL,
10322       -1ULL,
10323       -1ULL
10324     }
10325   },
10326   { "subhs", TILE_OPC_SUBHS, 0x3 /* pipes */, 3 /* num_operands */,
10327     TREG_ZERO, /* implicitly_written_register */
10328     1, /* can_bundle */
10329     {
10330       /* operands */
10331       { 7, 8, 16 },
10332       { 9, 10, 17 },
10333       { 0, },
10334       { 0, },
10335       { 0, }
10336     },
10337     {
10338       /* fixed_bit_masks */
10339       0x800000007ffc0000ULL,
10340       0xfffe000000000000ULL,
10341       0ULL,
10342       0ULL,
10343       0ULL
10344     },
10345     {
10346       /* fixed_bit_values */
10347       0x0000000001940000ULL,
10348       0x088e000000000000ULL,
10349       -1ULL,
10350       -1ULL,
10351       -1ULL
10352     }
10353   },
10354   { "subhs.sn", TILE_OPC_SUBHS_SN, 0x3 /* pipes */, 3 /* num_operands */,
10355     TREG_SN, /* implicitly_written_register */
10356     1, /* can_bundle */
10357     {
10358       /* operands */
10359       { 7, 8, 16 },
10360       { 9, 10, 17 },
10361       { 0, },
10362       { 0, },
10363       { 0, }
10364     },
10365     {
10366       /* fixed_bit_masks */
10367       0x800000007ffc0000ULL,
10368       0xfffe000000000000ULL,
10369       0ULL,
10370       0ULL,
10371       0ULL
10372     },
10373     {
10374       /* fixed_bit_values */
10375       0x0000000009940000ULL,
10376       0x0c8e000000000000ULL,
10377       -1ULL,
10378       -1ULL,
10379       -1ULL
10380     }
10381   },
10382   { "subs", TILE_OPC_SUBS, 0x3 /* pipes */, 3 /* num_operands */,
10383     TREG_ZERO, /* implicitly_written_register */
10384     1, /* can_bundle */
10385     {
10386       /* operands */
10387       { 7, 8, 16 },
10388       { 9, 10, 17 },
10389       { 0, },
10390       { 0, },
10391       { 0, }
10392     },
10393     {
10394       /* fixed_bit_masks */
10395       0x800000007ffc0000ULL,
10396       0xfffe000000000000ULL,
10397       0ULL,
10398       0ULL,
10399       0ULL
10400     },
10401     {
10402       /* fixed_bit_values */
10403       0x0000000001840000ULL,
10404       0x0886000000000000ULL,
10405       -1ULL,
10406       -1ULL,
10407       -1ULL
10408     }
10409   },
10410   { "subs.sn", TILE_OPC_SUBS_SN, 0x3 /* pipes */, 3 /* num_operands */,
10411     TREG_SN, /* implicitly_written_register */
10412     1, /* can_bundle */
10413     {
10414       /* operands */
10415       { 7, 8, 16 },
10416       { 9, 10, 17 },
10417       { 0, },
10418       { 0, },
10419       { 0, }
10420     },
10421     {
10422       /* fixed_bit_masks */
10423       0x800000007ffc0000ULL,
10424       0xfffe000000000000ULL,
10425       0ULL,
10426       0ULL,
10427       0ULL
10428     },
10429     {
10430       /* fixed_bit_values */
10431       0x0000000009840000ULL,
10432       0x0c86000000000000ULL,
10433       -1ULL,
10434       -1ULL,
10435       -1ULL
10436     }
10437   },
10438   { "sw", TILE_OPC_SW, 0x12 /* pipes */, 2 /* num_operands */,
10439     TREG_ZERO, /* implicitly_written_register */
10440     1, /* can_bundle */
10441     {
10442       /* operands */
10443       { 0, },
10444       { 10, 17 },
10445       { 0, },
10446       { 0, },
10447       { 15, 36 }
10448     },
10449     {
10450       /* fixed_bit_masks */
10451       0ULL,
10452       0xfbfe000000000000ULL,
10453       0ULL,
10454       0ULL,
10455       0x8700000000000000ULL
10456     },
10457     {
10458       /* fixed_bit_values */
10459       -1ULL,
10460       0x0880000000000000ULL,
10461       -1ULL,
10462       -1ULL,
10463       0x8700000000000000ULL
10464     }
10465   },
10466   { "swadd", TILE_OPC_SWADD, 0x2 /* pipes */, 3 /* num_operands */,
10467     TREG_ZERO, /* implicitly_written_register */
10468     1, /* can_bundle */
10469     {
10470       /* operands */
10471       { 0, },
10472       { 24, 17, 37 },
10473       { 0, },
10474       { 0, },
10475       { 0, }
10476     },
10477     {
10478       /* fixed_bit_masks */
10479       0ULL,
10480       0xfbf8000000000000ULL,
10481       0ULL,
10482       0ULL,
10483       0ULL
10484     },
10485     {
10486       /* fixed_bit_values */
10487       -1ULL,
10488       0x30f0000000000000ULL,
10489       -1ULL,
10490       -1ULL,
10491       -1ULL
10492     }
10493   },
10494   { "swint0", TILE_OPC_SWINT0, 0x2 /* pipes */, 0 /* num_operands */,
10495     TREG_ZERO, /* implicitly_written_register */
10496     0, /* can_bundle */
10497     {
10498       /* operands */
10499       { 0, },
10500       {  },
10501       { 0, },
10502       { 0, },
10503       { 0, }
10504     },
10505     {
10506       /* fixed_bit_masks */
10507       0ULL,
10508       0xfbfff80000000000ULL,
10509       0ULL,
10510       0ULL,
10511       0ULL
10512     },
10513     {
10514       /* fixed_bit_values */
10515       -1ULL,
10516       0x400b900000000000ULL,
10517       -1ULL,
10518       -1ULL,
10519       -1ULL
10520     }
10521   },
10522   { "swint1", TILE_OPC_SWINT1, 0x2 /* pipes */, 0 /* num_operands */,
10523     TREG_ZERO, /* implicitly_written_register */
10524     0, /* can_bundle */
10525     {
10526       /* operands */
10527       { 0, },
10528       {  },
10529       { 0, },
10530       { 0, },
10531       { 0, }
10532     },
10533     {
10534       /* fixed_bit_masks */
10535       0ULL,
10536       0xfbfff80000000000ULL,
10537       0ULL,
10538       0ULL,
10539       0ULL
10540     },
10541     {
10542       /* fixed_bit_values */
10543       -1ULL,
10544       0x400b980000000000ULL,
10545       -1ULL,
10546       -1ULL,
10547       -1ULL
10548     }
10549   },
10550   { "swint2", TILE_OPC_SWINT2, 0x2 /* pipes */, 0 /* num_operands */,
10551     TREG_ZERO, /* implicitly_written_register */
10552     0, /* can_bundle */
10553     {
10554       /* operands */
10555       { 0, },
10556       {  },
10557       { 0, },
10558       { 0, },
10559       { 0, }
10560     },
10561     {
10562       /* fixed_bit_masks */
10563       0ULL,
10564       0xfbfff80000000000ULL,
10565       0ULL,
10566       0ULL,
10567       0ULL
10568     },
10569     {
10570       /* fixed_bit_values */
10571       -1ULL,
10572       0x400ba00000000000ULL,
10573       -1ULL,
10574       -1ULL,
10575       -1ULL
10576     }
10577   },
10578   { "swint3", TILE_OPC_SWINT3, 0x2 /* pipes */, 0 /* num_operands */,
10579     TREG_ZERO, /* implicitly_written_register */
10580     0, /* can_bundle */
10581     {
10582       /* operands */
10583       { 0, },
10584       {  },
10585       { 0, },
10586       { 0, },
10587       { 0, }
10588     },
10589     {
10590       /* fixed_bit_masks */
10591       0ULL,
10592       0xfbfff80000000000ULL,
10593       0ULL,
10594       0ULL,
10595       0ULL
10596     },
10597     {
10598       /* fixed_bit_values */
10599       -1ULL,
10600       0x400ba80000000000ULL,
10601       -1ULL,
10602       -1ULL,
10603       -1ULL
10604     }
10605   },
10606   { "tblidxb0", TILE_OPC_TBLIDXB0, 0x5 /* pipes */, 2 /* num_operands */,
10607     TREG_ZERO, /* implicitly_written_register */
10608     1, /* can_bundle */
10609     {
10610       /* operands */
10611       { 21, 8 },
10612       { 0, },
10613       { 31, 12 },
10614       { 0, },
10615       { 0, }
10616     },
10617     {
10618       /* fixed_bit_masks */
10619       0x800000007ffff000ULL,
10620       0ULL,
10621       0x80000000780ff000ULL,
10622       0ULL,
10623       0ULL
10624     },
10625     {
10626       /* fixed_bit_values */
10627       0x0000000070168000ULL,
10628       -1ULL,
10629       0x80000000680a8000ULL,
10630       -1ULL,
10631       -1ULL
10632     }
10633   },
10634   { "tblidxb0.sn", TILE_OPC_TBLIDXB0_SN, 0x1 /* pipes */, 2 /* num_operands */,
10635     TREG_SN, /* implicitly_written_register */
10636     1, /* can_bundle */
10637     {
10638       /* operands */
10639       { 21, 8 },
10640       { 0, },
10641       { 0, },
10642       { 0, },
10643       { 0, }
10644     },
10645     {
10646       /* fixed_bit_masks */
10647       0x800000007ffff000ULL,
10648       0ULL,
10649       0ULL,
10650       0ULL,
10651       0ULL
10652     },
10653     {
10654       /* fixed_bit_values */
10655       0x0000000078168000ULL,
10656       -1ULL,
10657       -1ULL,
10658       -1ULL,
10659       -1ULL
10660     }
10661   },
10662   { "tblidxb1", TILE_OPC_TBLIDXB1, 0x5 /* pipes */, 2 /* num_operands */,
10663     TREG_ZERO, /* implicitly_written_register */
10664     1, /* can_bundle */
10665     {
10666       /* operands */
10667       { 21, 8 },
10668       { 0, },
10669       { 31, 12 },
10670       { 0, },
10671       { 0, }
10672     },
10673     {
10674       /* fixed_bit_masks */
10675       0x800000007ffff000ULL,
10676       0ULL,
10677       0x80000000780ff000ULL,
10678       0ULL,
10679       0ULL
10680     },
10681     {
10682       /* fixed_bit_values */
10683       0x0000000070169000ULL,
10684       -1ULL,
10685       0x80000000680a9000ULL,
10686       -1ULL,
10687       -1ULL
10688     }
10689   },
10690   { "tblidxb1.sn", TILE_OPC_TBLIDXB1_SN, 0x1 /* pipes */, 2 /* num_operands */,
10691     TREG_SN, /* implicitly_written_register */
10692     1, /* can_bundle */
10693     {
10694       /* operands */
10695       { 21, 8 },
10696       { 0, },
10697       { 0, },
10698       { 0, },
10699       { 0, }
10700     },
10701     {
10702       /* fixed_bit_masks */
10703       0x800000007ffff000ULL,
10704       0ULL,
10705       0ULL,
10706       0ULL,
10707       0ULL
10708     },
10709     {
10710       /* fixed_bit_values */
10711       0x0000000078169000ULL,
10712       -1ULL,
10713       -1ULL,
10714       -1ULL,
10715       -1ULL
10716     }
10717   },
10718   { "tblidxb2", TILE_OPC_TBLIDXB2, 0x5 /* pipes */, 2 /* num_operands */,
10719     TREG_ZERO, /* implicitly_written_register */
10720     1, /* can_bundle */
10721     {
10722       /* operands */
10723       { 21, 8 },
10724       { 0, },
10725       { 31, 12 },
10726       { 0, },
10727       { 0, }
10728     },
10729     {
10730       /* fixed_bit_masks */
10731       0x800000007ffff000ULL,
10732       0ULL,
10733       0x80000000780ff000ULL,
10734       0ULL,
10735       0ULL
10736     },
10737     {
10738       /* fixed_bit_values */
10739       0x000000007016a000ULL,
10740       -1ULL,
10741       0x80000000680aa000ULL,
10742       -1ULL,
10743       -1ULL
10744     }
10745   },
10746   { "tblidxb2.sn", TILE_OPC_TBLIDXB2_SN, 0x1 /* pipes */, 2 /* num_operands */,
10747     TREG_SN, /* implicitly_written_register */
10748     1, /* can_bundle */
10749     {
10750       /* operands */
10751       { 21, 8 },
10752       { 0, },
10753       { 0, },
10754       { 0, },
10755       { 0, }
10756     },
10757     {
10758       /* fixed_bit_masks */
10759       0x800000007ffff000ULL,
10760       0ULL,
10761       0ULL,
10762       0ULL,
10763       0ULL
10764     },
10765     {
10766       /* fixed_bit_values */
10767       0x000000007816a000ULL,
10768       -1ULL,
10769       -1ULL,
10770       -1ULL,
10771       -1ULL
10772     }
10773   },
10774   { "tblidxb3", TILE_OPC_TBLIDXB3, 0x5 /* pipes */, 2 /* num_operands */,
10775     TREG_ZERO, /* implicitly_written_register */
10776     1, /* can_bundle */
10777     {
10778       /* operands */
10779       { 21, 8 },
10780       { 0, },
10781       { 31, 12 },
10782       { 0, },
10783       { 0, }
10784     },
10785     {
10786       /* fixed_bit_masks */
10787       0x800000007ffff000ULL,
10788       0ULL,
10789       0x80000000780ff000ULL,
10790       0ULL,
10791       0ULL
10792     },
10793     {
10794       /* fixed_bit_values */
10795       0x000000007016b000ULL,
10796       -1ULL,
10797       0x80000000680ab000ULL,
10798       -1ULL,
10799       -1ULL
10800     }
10801   },
10802   { "tblidxb3.sn", TILE_OPC_TBLIDXB3_SN, 0x1 /* pipes */, 2 /* num_operands */,
10803     TREG_SN, /* implicitly_written_register */
10804     1, /* can_bundle */
10805     {
10806       /* operands */
10807       { 21, 8 },
10808       { 0, },
10809       { 0, },
10810       { 0, },
10811       { 0, }
10812     },
10813     {
10814       /* fixed_bit_masks */
10815       0x800000007ffff000ULL,
10816       0ULL,
10817       0ULL,
10818       0ULL,
10819       0ULL
10820     },
10821     {
10822       /* fixed_bit_values */
10823       0x000000007816b000ULL,
10824       -1ULL,
10825       -1ULL,
10826       -1ULL,
10827       -1ULL
10828     }
10829   },
10830   { "tns", TILE_OPC_TNS, 0x2 /* pipes */, 2 /* num_operands */,
10831     TREG_ZERO, /* implicitly_written_register */
10832     1, /* can_bundle */
10833     {
10834       /* operands */
10835       { 0, },
10836       { 9, 10 },
10837       { 0, },
10838       { 0, },
10839       { 0, }
10840     },
10841     {
10842       /* fixed_bit_masks */
10843       0ULL,
10844       0xfffff80000000000ULL,
10845       0ULL,
10846       0ULL,
10847       0ULL
10848     },
10849     {
10850       /* fixed_bit_values */
10851       -1ULL,
10852       0x400bb00000000000ULL,
10853       -1ULL,
10854       -1ULL,
10855       -1ULL
10856     }
10857   },
10858   { "tns.sn", TILE_OPC_TNS_SN, 0x2 /* pipes */, 2 /* num_operands */,
10859     TREG_SN, /* implicitly_written_register */
10860     1, /* can_bundle */
10861     {
10862       /* operands */
10863       { 0, },
10864       { 9, 10 },
10865       { 0, },
10866       { 0, },
10867       { 0, }
10868     },
10869     {
10870       /* fixed_bit_masks */
10871       0ULL,
10872       0xfffff80000000000ULL,
10873       0ULL,
10874       0ULL,
10875       0ULL
10876     },
10877     {
10878       /* fixed_bit_values */
10879       -1ULL,
10880       0x440bb00000000000ULL,
10881       -1ULL,
10882       -1ULL,
10883       -1ULL
10884     }
10885   },
10886   { "wh64", TILE_OPC_WH64, 0x2 /* pipes */, 1 /* num_operands */,
10887     TREG_ZERO, /* implicitly_written_register */
10888     1, /* can_bundle */
10889     {
10890       /* operands */
10891       { 0, },
10892       { 10 },
10893       { 0, },
10894       { 0, },
10895       { 0, }
10896     },
10897     {
10898       /* fixed_bit_masks */
10899       0ULL,
10900       0xfbfff80000000000ULL,
10901       0ULL,
10902       0ULL,
10903       0ULL
10904     },
10905     {
10906       /* fixed_bit_values */
10907       -1ULL,
10908       0x400bb80000000000ULL,
10909       -1ULL,
10910       -1ULL,
10911       -1ULL
10912     }
10913   },
10914   { "xor", TILE_OPC_XOR, 0xf /* pipes */, 3 /* num_operands */,
10915     TREG_ZERO, /* implicitly_written_register */
10916     1, /* can_bundle */
10917     {
10918       /* operands */
10919       { 7, 8, 16 },
10920       { 9, 10, 17 },
10921       { 11, 12, 18 },
10922       { 13, 14, 19 },
10923       { 0, }
10924     },
10925     {
10926       /* fixed_bit_masks */
10927       0x800000007ffc0000ULL,
10928       0xfffe000000000000ULL,
10929       0x80000000780c0000ULL,
10930       0xf806000000000000ULL,
10931       0ULL
10932     },
10933     {
10934       /* fixed_bit_values */
10935       0x0000000001780000ULL,
10936       0x0882000000000000ULL,
10937       0x80000000180c0000ULL,
10938       0x9806000000000000ULL,
10939       -1ULL
10940     }
10941   },
10942   { "xor.sn", TILE_OPC_XOR_SN, 0x3 /* pipes */, 3 /* num_operands */,
10943     TREG_SN, /* implicitly_written_register */
10944     1, /* can_bundle */
10945     {
10946       /* operands */
10947       { 7, 8, 16 },
10948       { 9, 10, 17 },
10949       { 0, },
10950       { 0, },
10951       { 0, }
10952     },
10953     {
10954       /* fixed_bit_masks */
10955       0x800000007ffc0000ULL,
10956       0xfffe000000000000ULL,
10957       0ULL,
10958       0ULL,
10959       0ULL
10960     },
10961     {
10962       /* fixed_bit_values */
10963       0x0000000009780000ULL,
10964       0x0c82000000000000ULL,
10965       -1ULL,
10966       -1ULL,
10967       -1ULL
10968     }
10969   },
10970   { "xori", TILE_OPC_XORI, 0x3 /* pipes */, 3 /* num_operands */,
10971     TREG_ZERO, /* implicitly_written_register */
10972     1, /* can_bundle */
10973     {
10974       /* operands */
10975       { 7, 8, 0 },
10976       { 9, 10, 1 },
10977       { 0, },
10978       { 0, },
10979       { 0, }
10980     },
10981     {
10982       /* fixed_bit_masks */
10983       0x800000007ff00000ULL,
10984       0xfff8000000000000ULL,
10985       0ULL,
10986       0ULL,
10987       0ULL
10988     },
10989     {
10990       /* fixed_bit_values */
10991       0x0000000050200000ULL,
10992       0x30a8000000000000ULL,
10993       -1ULL,
10994       -1ULL,
10995       -1ULL
10996     }
10997   },
10998   { "xori.sn", TILE_OPC_XORI_SN, 0x3 /* pipes */, 3 /* num_operands */,
10999     TREG_SN, /* implicitly_written_register */
11000     1, /* can_bundle */
11001     {
11002       /* operands */
11003       { 7, 8, 0 },
11004       { 9, 10, 1 },
11005       { 0, },
11006       { 0, },
11007       { 0, }
11008     },
11009     {
11010       /* fixed_bit_masks */
11011       0x800000007ff00000ULL,
11012       0xfff8000000000000ULL,
11013       0ULL,
11014       0ULL,
11015       0ULL
11016     },
11017     {
11018       /* fixed_bit_values */
11019       0x0000000058200000ULL,
11020       0x34a8000000000000ULL,
11021       -1ULL,
11022       -1ULL,
11023       -1ULL
11024     }
11025   },
11026   { 0, TILE_OPC_NONE, 0, 0, 0, TREG_ZERO, { { 0, } }, { 0, }, { 0, }
11027   }
11028 };
11029 #define BITFIELD(start, size) ((start) | (((1 << (size)) - 1) << 6))
11030 #define CHILD(array_index) (TILE_OPC_NONE + (array_index))
11031
11032 static const unsigned short decode_X0_fsm[1153] =
11033 {
11034   BITFIELD(22, 9) /* index 0 */,
11035   CHILD(513), CHILD(530), CHILD(547), CHILD(564), CHILD(596), CHILD(613),
11036   CHILD(630), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11037   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11038   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11039   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11040   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11041   TILE_OPC_NONE, CHILD(663), CHILD(680), CHILD(697), CHILD(714), CHILD(746),
11042   CHILD(763), CHILD(780), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11043   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11044   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11045   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11046   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11047   TILE_OPC_NONE, TILE_OPC_NONE, CHILD(813), CHILD(813), CHILD(813),
11048   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
11049   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
11050   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
11051   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
11052   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
11053   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
11054   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
11055   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
11056   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
11057   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
11058   CHILD(813), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
11059   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
11060   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
11061   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
11062   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
11063   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
11064   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
11065   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
11066   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
11067   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
11068   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(843),
11069   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
11070   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
11071   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
11072   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
11073   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
11074   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
11075   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
11076   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
11077   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
11078   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
11079   CHILD(843), CHILD(843), CHILD(843), CHILD(873), CHILD(878), CHILD(883),
11080   CHILD(903), CHILD(908), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11081   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11082   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11083   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11084   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11085   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(913),
11086   CHILD(918), CHILD(923), CHILD(943), CHILD(948), TILE_OPC_NONE,
11087   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11088   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11089   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11090   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11091   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11092   TILE_OPC_NONE, CHILD(953), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11093   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11094   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11095   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11096   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11097   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11098   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(988), TILE_OPC_NONE,
11099   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11100   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11101   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11102   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11103   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11104   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11105   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11106   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11107   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11108   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11109   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11110   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11111   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11112   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11113   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11114   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11115   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11116   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11117   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, CHILD(993),
11118   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11119   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11120   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11121   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11122   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11123   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11124   TILE_OPC_NONE, CHILD(1076), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11125   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11126   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11127   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11128   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11129   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11130   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11131   BITFIELD(18, 4) /* index 513 */,
11132   TILE_OPC_NONE, TILE_OPC_ADDB, TILE_OPC_ADDH, TILE_OPC_ADD,
11133   TILE_OPC_ADIFFB_U, TILE_OPC_ADIFFH, TILE_OPC_AND, TILE_OPC_AVGB_U,
11134   TILE_OPC_AVGH, TILE_OPC_CRC32_32, TILE_OPC_CRC32_8, TILE_OPC_INTHB,
11135   TILE_OPC_INTHH, TILE_OPC_INTLB, TILE_OPC_INTLH, TILE_OPC_MAXB_U,
11136   BITFIELD(18, 4) /* index 530 */,
11137   TILE_OPC_MAXH, TILE_OPC_MINB_U, TILE_OPC_MINH, TILE_OPC_MNZB, TILE_OPC_MNZH,
11138   TILE_OPC_MNZ, TILE_OPC_MULHHA_SS, TILE_OPC_MULHHA_SU, TILE_OPC_MULHHA_UU,
11139   TILE_OPC_MULHHSA_UU, TILE_OPC_MULHH_SS, TILE_OPC_MULHH_SU,
11140   TILE_OPC_MULHH_UU, TILE_OPC_MULHLA_SS, TILE_OPC_MULHLA_SU,
11141   TILE_OPC_MULHLA_US,
11142   BITFIELD(18, 4) /* index 547 */,
11143   TILE_OPC_MULHLA_UU, TILE_OPC_MULHLSA_UU, TILE_OPC_MULHL_SS,
11144   TILE_OPC_MULHL_SU, TILE_OPC_MULHL_US, TILE_OPC_MULHL_UU, TILE_OPC_MULLLA_SS,
11145   TILE_OPC_MULLLA_SU, TILE_OPC_MULLLA_UU, TILE_OPC_MULLLSA_UU,
11146   TILE_OPC_MULLL_SS, TILE_OPC_MULLL_SU, TILE_OPC_MULLL_UU, TILE_OPC_MVNZ,
11147   TILE_OPC_MVZ, TILE_OPC_MZB,
11148   BITFIELD(18, 4) /* index 564 */,
11149   TILE_OPC_MZH, TILE_OPC_MZ, TILE_OPC_NOR, CHILD(581), TILE_OPC_PACKHB,
11150   TILE_OPC_PACKLB, TILE_OPC_RL, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_S3A,
11151   TILE_OPC_SADAB_U, TILE_OPC_SADAH, TILE_OPC_SADAH_U, TILE_OPC_SADB_U,
11152   TILE_OPC_SADH, TILE_OPC_SADH_U,
11153   BITFIELD(12, 2) /* index 581 */,
11154   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(586),
11155   BITFIELD(14, 2) /* index 586 */,
11156   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(591),
11157   BITFIELD(16, 2) /* index 591 */,
11158   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE,
11159   BITFIELD(18, 4) /* index 596 */,
11160   TILE_OPC_SEQB, TILE_OPC_SEQH, TILE_OPC_SEQ, TILE_OPC_SHLB, TILE_OPC_SHLH,
11161   TILE_OPC_SHL, TILE_OPC_SHRB, TILE_OPC_SHRH, TILE_OPC_SHR, TILE_OPC_SLTB,
11162   TILE_OPC_SLTB_U, TILE_OPC_SLTEB, TILE_OPC_SLTEB_U, TILE_OPC_SLTEH,
11163   TILE_OPC_SLTEH_U, TILE_OPC_SLTE,
11164   BITFIELD(18, 4) /* index 613 */,
11165   TILE_OPC_SLTE_U, TILE_OPC_SLTH, TILE_OPC_SLTH_U, TILE_OPC_SLT,
11166   TILE_OPC_SLT_U, TILE_OPC_SNEB, TILE_OPC_SNEH, TILE_OPC_SNE, TILE_OPC_SRAB,
11167   TILE_OPC_SRAH, TILE_OPC_SRA, TILE_OPC_SUBB, TILE_OPC_SUBH, TILE_OPC_SUB,
11168   TILE_OPC_XOR, TILE_OPC_DWORD_ALIGN,
11169   BITFIELD(18, 3) /* index 630 */,
11170   CHILD(639), CHILD(642), CHILD(645), CHILD(648), CHILD(651), CHILD(654),
11171   CHILD(657), CHILD(660),
11172   BITFIELD(21, 1) /* index 639 */,
11173   TILE_OPC_ADDS, TILE_OPC_NONE,
11174   BITFIELD(21, 1) /* index 642 */,
11175   TILE_OPC_SUBS, TILE_OPC_NONE,
11176   BITFIELD(21, 1) /* index 645 */,
11177   TILE_OPC_ADDBS_U, TILE_OPC_NONE,
11178   BITFIELD(21, 1) /* index 648 */,
11179   TILE_OPC_ADDHS, TILE_OPC_NONE,
11180   BITFIELD(21, 1) /* index 651 */,
11181   TILE_OPC_SUBBS_U, TILE_OPC_NONE,
11182   BITFIELD(21, 1) /* index 654 */,
11183   TILE_OPC_SUBHS, TILE_OPC_NONE,
11184   BITFIELD(21, 1) /* index 657 */,
11185   TILE_OPC_PACKHS, TILE_OPC_NONE,
11186   BITFIELD(21, 1) /* index 660 */,
11187   TILE_OPC_PACKBS_U, TILE_OPC_NONE,
11188   BITFIELD(18, 4) /* index 663 */,
11189   TILE_OPC_NONE, TILE_OPC_ADDB_SN, TILE_OPC_ADDH_SN, TILE_OPC_ADD_SN,
11190   TILE_OPC_ADIFFB_U_SN, TILE_OPC_ADIFFH_SN, TILE_OPC_AND_SN,
11191   TILE_OPC_AVGB_U_SN, TILE_OPC_AVGH_SN, TILE_OPC_CRC32_32_SN,
11192   TILE_OPC_CRC32_8_SN, TILE_OPC_INTHB_SN, TILE_OPC_INTHH_SN,
11193   TILE_OPC_INTLB_SN, TILE_OPC_INTLH_SN, TILE_OPC_MAXB_U_SN,
11194   BITFIELD(18, 4) /* index 680 */,
11195   TILE_OPC_MAXH_SN, TILE_OPC_MINB_U_SN, TILE_OPC_MINH_SN, TILE_OPC_MNZB_SN,
11196   TILE_OPC_MNZH_SN, TILE_OPC_MNZ_SN, TILE_OPC_MULHHA_SS_SN,
11197   TILE_OPC_MULHHA_SU_SN, TILE_OPC_MULHHA_UU_SN, TILE_OPC_MULHHSA_UU_SN,
11198   TILE_OPC_MULHH_SS_SN, TILE_OPC_MULHH_SU_SN, TILE_OPC_MULHH_UU_SN,
11199   TILE_OPC_MULHLA_SS_SN, TILE_OPC_MULHLA_SU_SN, TILE_OPC_MULHLA_US_SN,
11200   BITFIELD(18, 4) /* index 697 */,
11201   TILE_OPC_MULHLA_UU_SN, TILE_OPC_MULHLSA_UU_SN, TILE_OPC_MULHL_SS_SN,
11202   TILE_OPC_MULHL_SU_SN, TILE_OPC_MULHL_US_SN, TILE_OPC_MULHL_UU_SN,
11203   TILE_OPC_MULLLA_SS_SN, TILE_OPC_MULLLA_SU_SN, TILE_OPC_MULLLA_UU_SN,
11204   TILE_OPC_MULLLSA_UU_SN, TILE_OPC_MULLL_SS_SN, TILE_OPC_MULLL_SU_SN,
11205   TILE_OPC_MULLL_UU_SN, TILE_OPC_MVNZ_SN, TILE_OPC_MVZ_SN, TILE_OPC_MZB_SN,
11206   BITFIELD(18, 4) /* index 714 */,
11207   TILE_OPC_MZH_SN, TILE_OPC_MZ_SN, TILE_OPC_NOR_SN, CHILD(731),
11208   TILE_OPC_PACKHB_SN, TILE_OPC_PACKLB_SN, TILE_OPC_RL_SN, TILE_OPC_S1A_SN,
11209   TILE_OPC_S2A_SN, TILE_OPC_S3A_SN, TILE_OPC_SADAB_U_SN, TILE_OPC_SADAH_SN,
11210   TILE_OPC_SADAH_U_SN, TILE_OPC_SADB_U_SN, TILE_OPC_SADH_SN,
11211   TILE_OPC_SADH_U_SN,
11212   BITFIELD(12, 2) /* index 731 */,
11213   TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(736),
11214   BITFIELD(14, 2) /* index 736 */,
11215   TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(741),
11216   BITFIELD(16, 2) /* index 741 */,
11217   TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_MOVE_SN,
11218   BITFIELD(18, 4) /* index 746 */,
11219   TILE_OPC_SEQB_SN, TILE_OPC_SEQH_SN, TILE_OPC_SEQ_SN, TILE_OPC_SHLB_SN,
11220   TILE_OPC_SHLH_SN, TILE_OPC_SHL_SN, TILE_OPC_SHRB_SN, TILE_OPC_SHRH_SN,
11221   TILE_OPC_SHR_SN, TILE_OPC_SLTB_SN, TILE_OPC_SLTB_U_SN, TILE_OPC_SLTEB_SN,
11222   TILE_OPC_SLTEB_U_SN, TILE_OPC_SLTEH_SN, TILE_OPC_SLTEH_U_SN,
11223   TILE_OPC_SLTE_SN,
11224   BITFIELD(18, 4) /* index 763 */,
11225   TILE_OPC_SLTE_U_SN, TILE_OPC_SLTH_SN, TILE_OPC_SLTH_U_SN, TILE_OPC_SLT_SN,
11226   TILE_OPC_SLT_U_SN, TILE_OPC_SNEB_SN, TILE_OPC_SNEH_SN, TILE_OPC_SNE_SN,
11227   TILE_OPC_SRAB_SN, TILE_OPC_SRAH_SN, TILE_OPC_SRA_SN, TILE_OPC_SUBB_SN,
11228   TILE_OPC_SUBH_SN, TILE_OPC_SUB_SN, TILE_OPC_XOR_SN, TILE_OPC_DWORD_ALIGN_SN,
11229   BITFIELD(18, 3) /* index 780 */,
11230   CHILD(789), CHILD(792), CHILD(795), CHILD(798), CHILD(801), CHILD(804),
11231   CHILD(807), CHILD(810),
11232   BITFIELD(21, 1) /* index 789 */,
11233   TILE_OPC_ADDS_SN, TILE_OPC_NONE,
11234   BITFIELD(21, 1) /* index 792 */,
11235   TILE_OPC_SUBS_SN, TILE_OPC_NONE,
11236   BITFIELD(21, 1) /* index 795 */,
11237   TILE_OPC_ADDBS_U_SN, TILE_OPC_NONE,
11238   BITFIELD(21, 1) /* index 798 */,
11239   TILE_OPC_ADDHS_SN, TILE_OPC_NONE,
11240   BITFIELD(21, 1) /* index 801 */,
11241   TILE_OPC_SUBBS_U_SN, TILE_OPC_NONE,
11242   BITFIELD(21, 1) /* index 804 */,
11243   TILE_OPC_SUBHS_SN, TILE_OPC_NONE,
11244   BITFIELD(21, 1) /* index 807 */,
11245   TILE_OPC_PACKHS_SN, TILE_OPC_NONE,
11246   BITFIELD(21, 1) /* index 810 */,
11247   TILE_OPC_PACKBS_U_SN, TILE_OPC_NONE,
11248   BITFIELD(6, 2) /* index 813 */,
11249   TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(818),
11250   BITFIELD(8, 2) /* index 818 */,
11251   TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(823),
11252   BITFIELD(10, 2) /* index 823 */,
11253   TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_MOVELI_SN,
11254   BITFIELD(6, 2) /* index 828 */,
11255   TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(833),
11256   BITFIELD(8, 2) /* index 833 */,
11257   TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(838),
11258   BITFIELD(10, 2) /* index 838 */,
11259   TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_MOVELI,
11260   BITFIELD(0, 2) /* index 843 */,
11261   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(848),
11262   BITFIELD(2, 2) /* index 848 */,
11263   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(853),
11264   BITFIELD(4, 2) /* index 853 */,
11265   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(858),
11266   BITFIELD(6, 2) /* index 858 */,
11267   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(863),
11268   BITFIELD(8, 2) /* index 863 */,
11269   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(868),
11270   BITFIELD(10, 2) /* index 868 */,
11271   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_INFOL,
11272   BITFIELD(20, 2) /* index 873 */,
11273   TILE_OPC_NONE, TILE_OPC_ADDIB, TILE_OPC_ADDIH, TILE_OPC_ADDI,
11274   BITFIELD(20, 2) /* index 878 */,
11275   TILE_OPC_MAXIB_U, TILE_OPC_MAXIH, TILE_OPC_MINIB_U, TILE_OPC_MINIH,
11276   BITFIELD(20, 2) /* index 883 */,
11277   CHILD(888), TILE_OPC_SEQIB, TILE_OPC_SEQIH, TILE_OPC_SEQI,
11278   BITFIELD(6, 2) /* index 888 */,
11279   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(893),
11280   BITFIELD(8, 2) /* index 893 */,
11281   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(898),
11282   BITFIELD(10, 2) /* index 898 */,
11283   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI,
11284   BITFIELD(20, 2) /* index 903 */,
11285   TILE_OPC_SLTIB, TILE_OPC_SLTIB_U, TILE_OPC_SLTIH, TILE_OPC_SLTIH_U,
11286   BITFIELD(20, 2) /* index 908 */,
11287   TILE_OPC_SLTI, TILE_OPC_SLTI_U, TILE_OPC_NONE, TILE_OPC_NONE,
11288   BITFIELD(20, 2) /* index 913 */,
11289   TILE_OPC_NONE, TILE_OPC_ADDIB_SN, TILE_OPC_ADDIH_SN, TILE_OPC_ADDI_SN,
11290   BITFIELD(20, 2) /* index 918 */,
11291   TILE_OPC_MAXIB_U_SN, TILE_OPC_MAXIH_SN, TILE_OPC_MINIB_U_SN,
11292   TILE_OPC_MINIH_SN,
11293   BITFIELD(20, 2) /* index 923 */,
11294   CHILD(928), TILE_OPC_SEQIB_SN, TILE_OPC_SEQIH_SN, TILE_OPC_SEQI_SN,
11295   BITFIELD(6, 2) /* index 928 */,
11296   TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(933),
11297   BITFIELD(8, 2) /* index 933 */,
11298   TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(938),
11299   BITFIELD(10, 2) /* index 938 */,
11300   TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_MOVEI_SN,
11301   BITFIELD(20, 2) /* index 943 */,
11302   TILE_OPC_SLTIB_SN, TILE_OPC_SLTIB_U_SN, TILE_OPC_SLTIH_SN,
11303   TILE_OPC_SLTIH_U_SN,
11304   BITFIELD(20, 2) /* index 948 */,
11305   TILE_OPC_SLTI_SN, TILE_OPC_SLTI_U_SN, TILE_OPC_NONE, TILE_OPC_NONE,
11306   BITFIELD(20, 2) /* index 953 */,
11307   TILE_OPC_NONE, CHILD(958), TILE_OPC_XORI, TILE_OPC_NONE,
11308   BITFIELD(0, 2) /* index 958 */,
11309   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(963),
11310   BITFIELD(2, 2) /* index 963 */,
11311   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(968),
11312   BITFIELD(4, 2) /* index 968 */,
11313   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(973),
11314   BITFIELD(6, 2) /* index 973 */,
11315   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(978),
11316   BITFIELD(8, 2) /* index 978 */,
11317   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(983),
11318   BITFIELD(10, 2) /* index 983 */,
11319   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO,
11320   BITFIELD(20, 2) /* index 988 */,
11321   TILE_OPC_NONE, TILE_OPC_ANDI_SN, TILE_OPC_XORI_SN, TILE_OPC_NONE,
11322   BITFIELD(17, 5) /* index 993 */,
11323   TILE_OPC_NONE, TILE_OPC_RLI, TILE_OPC_SHLIB, TILE_OPC_SHLIH, TILE_OPC_SHLI,
11324   TILE_OPC_SHRIB, TILE_OPC_SHRIH, TILE_OPC_SHRI, TILE_OPC_SRAIB,
11325   TILE_OPC_SRAIH, TILE_OPC_SRAI, CHILD(1026), TILE_OPC_NONE, TILE_OPC_NONE,
11326   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11327   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11328   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11329   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11330   BITFIELD(12, 4) /* index 1026 */,
11331   TILE_OPC_NONE, CHILD(1043), CHILD(1046), CHILD(1049), CHILD(1052),
11332   CHILD(1055), CHILD(1058), CHILD(1061), CHILD(1064), CHILD(1067),
11333   CHILD(1070), CHILD(1073), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11334   TILE_OPC_NONE,
11335   BITFIELD(16, 1) /* index 1043 */,
11336   TILE_OPC_BITX, TILE_OPC_NONE,
11337   BITFIELD(16, 1) /* index 1046 */,
11338   TILE_OPC_BYTEX, TILE_OPC_NONE,
11339   BITFIELD(16, 1) /* index 1049 */,
11340   TILE_OPC_CLZ, TILE_OPC_NONE,
11341   BITFIELD(16, 1) /* index 1052 */,
11342   TILE_OPC_CTZ, TILE_OPC_NONE,
11343   BITFIELD(16, 1) /* index 1055 */,
11344   TILE_OPC_FNOP, TILE_OPC_NONE,
11345   BITFIELD(16, 1) /* index 1058 */,
11346   TILE_OPC_NOP, TILE_OPC_NONE,
11347   BITFIELD(16, 1) /* index 1061 */,
11348   TILE_OPC_PCNT, TILE_OPC_NONE,
11349   BITFIELD(16, 1) /* index 1064 */,
11350   TILE_OPC_TBLIDXB0, TILE_OPC_NONE,
11351   BITFIELD(16, 1) /* index 1067 */,
11352   TILE_OPC_TBLIDXB1, TILE_OPC_NONE,
11353   BITFIELD(16, 1) /* index 1070 */,
11354   TILE_OPC_TBLIDXB2, TILE_OPC_NONE,
11355   BITFIELD(16, 1) /* index 1073 */,
11356   TILE_OPC_TBLIDXB3, TILE_OPC_NONE,
11357   BITFIELD(17, 5) /* index 1076 */,
11358   TILE_OPC_NONE, TILE_OPC_RLI_SN, TILE_OPC_SHLIB_SN, TILE_OPC_SHLIH_SN,
11359   TILE_OPC_SHLI_SN, TILE_OPC_SHRIB_SN, TILE_OPC_SHRIH_SN, TILE_OPC_SHRI_SN,
11360   TILE_OPC_SRAIB_SN, TILE_OPC_SRAIH_SN, TILE_OPC_SRAI_SN, CHILD(1109),
11361   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11362   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11363   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11364   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11365   BITFIELD(12, 4) /* index 1109 */,
11366   TILE_OPC_NONE, CHILD(1126), CHILD(1129), CHILD(1132), CHILD(1135),
11367   CHILD(1055), CHILD(1058), CHILD(1138), CHILD(1141), CHILD(1144),
11368   CHILD(1147), CHILD(1150), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11369   TILE_OPC_NONE,
11370   BITFIELD(16, 1) /* index 1126 */,
11371   TILE_OPC_BITX_SN, TILE_OPC_NONE,
11372   BITFIELD(16, 1) /* index 1129 */,
11373   TILE_OPC_BYTEX_SN, TILE_OPC_NONE,
11374   BITFIELD(16, 1) /* index 1132 */,
11375   TILE_OPC_CLZ_SN, TILE_OPC_NONE,
11376   BITFIELD(16, 1) /* index 1135 */,
11377   TILE_OPC_CTZ_SN, TILE_OPC_NONE,
11378   BITFIELD(16, 1) /* index 1138 */,
11379   TILE_OPC_PCNT_SN, TILE_OPC_NONE,
11380   BITFIELD(16, 1) /* index 1141 */,
11381   TILE_OPC_TBLIDXB0_SN, TILE_OPC_NONE,
11382   BITFIELD(16, 1) /* index 1144 */,
11383   TILE_OPC_TBLIDXB1_SN, TILE_OPC_NONE,
11384   BITFIELD(16, 1) /* index 1147 */,
11385   TILE_OPC_TBLIDXB2_SN, TILE_OPC_NONE,
11386   BITFIELD(16, 1) /* index 1150 */,
11387   TILE_OPC_TBLIDXB3_SN, TILE_OPC_NONE,
11388 };
11389
11390 static const unsigned short decode_X1_fsm[1509] =
11391 {
11392   BITFIELD(54, 9) /* index 0 */,
11393   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11394   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11395   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11396   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11397   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11398   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11399   TILE_OPC_NONE, TILE_OPC_NONE, CHILD(513), CHILD(561), CHILD(594),
11400   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11401   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11402   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(641), CHILD(689),
11403   CHILD(722), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11404   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11405   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(766),
11406   CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
11407   CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
11408   CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
11409   CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
11410   CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
11411   CHILD(766), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
11412   CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
11413   CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
11414   CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
11415   CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
11416   CHILD(781), CHILD(781), CHILD(781), CHILD(796), CHILD(796), CHILD(796),
11417   CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
11418   CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
11419   CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
11420   CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
11421   CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(826),
11422   CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826),
11423   CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826),
11424   CHILD(826), CHILD(826), CHILD(826), CHILD(843), CHILD(843), CHILD(843),
11425   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
11426   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
11427   CHILD(843), CHILD(860), CHILD(899), CHILD(923), CHILD(932), TILE_OPC_NONE,
11428   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11429   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11430   TILE_OPC_NONE, CHILD(941), CHILD(950), CHILD(974), CHILD(983),
11431   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11432   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11433   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11434   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11435   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11436   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11437   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11438   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
11439   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, CHILD(992),
11440   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11441   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11442   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11443   CHILD(1303), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11444   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11445   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11446   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11447   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11448   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11449   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11450   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11451   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11452   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_J, TILE_OPC_J,
11453   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
11454   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
11455   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
11456   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
11457   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
11458   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
11459   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
11460   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
11461   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
11462   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
11463   TILE_OPC_J, TILE_OPC_J, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
11464   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
11465   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
11466   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
11467   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
11468   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
11469   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
11470   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
11471   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
11472   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
11473   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
11474   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
11475   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
11476   TILE_OPC_JAL, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11477   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11478   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11479   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11480   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11481   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11482   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11483   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11484   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11485   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11486   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11487   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11488   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11489   BITFIELD(49, 5) /* index 513 */,
11490   TILE_OPC_NONE, TILE_OPC_ADDB, TILE_OPC_ADDH, TILE_OPC_ADD, TILE_OPC_AND,
11491   TILE_OPC_INTHB, TILE_OPC_INTHH, TILE_OPC_INTLB, TILE_OPC_INTLH,
11492   TILE_OPC_JALRP, TILE_OPC_JALR, TILE_OPC_JRP, TILE_OPC_JR, TILE_OPC_LNK,
11493   TILE_OPC_MAXB_U, TILE_OPC_MAXH, TILE_OPC_MINB_U, TILE_OPC_MINH,
11494   TILE_OPC_MNZB, TILE_OPC_MNZH, TILE_OPC_MNZ, TILE_OPC_MZB, TILE_OPC_MZH,
11495   TILE_OPC_MZ, TILE_OPC_NOR, CHILD(546), TILE_OPC_PACKHB, TILE_OPC_PACKLB,
11496   TILE_OPC_RL, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_S3A,
11497   BITFIELD(43, 2) /* index 546 */,
11498   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(551),
11499   BITFIELD(45, 2) /* index 551 */,
11500   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(556),
11501   BITFIELD(47, 2) /* index 556 */,
11502   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE,
11503   BITFIELD(49, 5) /* index 561 */,
11504   TILE_OPC_SB, TILE_OPC_SEQB, TILE_OPC_SEQH, TILE_OPC_SEQ, TILE_OPC_SHLB,
11505   TILE_OPC_SHLH, TILE_OPC_SHL, TILE_OPC_SHRB, TILE_OPC_SHRH, TILE_OPC_SHR,
11506   TILE_OPC_SH, TILE_OPC_SLTB, TILE_OPC_SLTB_U, TILE_OPC_SLTEB,
11507   TILE_OPC_SLTEB_U, TILE_OPC_SLTEH, TILE_OPC_SLTEH_U, TILE_OPC_SLTE,
11508   TILE_OPC_SLTE_U, TILE_OPC_SLTH, TILE_OPC_SLTH_U, TILE_OPC_SLT,
11509   TILE_OPC_SLT_U, TILE_OPC_SNEB, TILE_OPC_SNEH, TILE_OPC_SNE, TILE_OPC_SRAB,
11510   TILE_OPC_SRAH, TILE_OPC_SRA, TILE_OPC_SUBB, TILE_OPC_SUBH, TILE_OPC_SUB,
11511   BITFIELD(49, 4) /* index 594 */,
11512   CHILD(611), CHILD(614), CHILD(617), CHILD(620), CHILD(623), CHILD(626),
11513   CHILD(629), CHILD(632), CHILD(635), CHILD(638), TILE_OPC_NONE,
11514   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11515   BITFIELD(53, 1) /* index 611 */,
11516   TILE_OPC_SW, TILE_OPC_NONE,
11517   BITFIELD(53, 1) /* index 614 */,
11518   TILE_OPC_XOR, TILE_OPC_NONE,
11519   BITFIELD(53, 1) /* index 617 */,
11520   TILE_OPC_ADDS, TILE_OPC_NONE,
11521   BITFIELD(53, 1) /* index 620 */,
11522   TILE_OPC_SUBS, TILE_OPC_NONE,
11523   BITFIELD(53, 1) /* index 623 */,
11524   TILE_OPC_ADDBS_U, TILE_OPC_NONE,
11525   BITFIELD(53, 1) /* index 626 */,
11526   TILE_OPC_ADDHS, TILE_OPC_NONE,
11527   BITFIELD(53, 1) /* index 629 */,
11528   TILE_OPC_SUBBS_U, TILE_OPC_NONE,
11529   BITFIELD(53, 1) /* index 632 */,
11530   TILE_OPC_SUBHS, TILE_OPC_NONE,
11531   BITFIELD(53, 1) /* index 635 */,
11532   TILE_OPC_PACKHS, TILE_OPC_NONE,
11533   BITFIELD(53, 1) /* index 638 */,
11534   TILE_OPC_PACKBS_U, TILE_OPC_NONE,
11535   BITFIELD(49, 5) /* index 641 */,
11536   TILE_OPC_NONE, TILE_OPC_ADDB_SN, TILE_OPC_ADDH_SN, TILE_OPC_ADD_SN,
11537   TILE_OPC_AND_SN, TILE_OPC_INTHB_SN, TILE_OPC_INTHH_SN, TILE_OPC_INTLB_SN,
11538   TILE_OPC_INTLH_SN, TILE_OPC_JALRP, TILE_OPC_JALR, TILE_OPC_JRP, TILE_OPC_JR,
11539   TILE_OPC_LNK_SN, TILE_OPC_MAXB_U_SN, TILE_OPC_MAXH_SN, TILE_OPC_MINB_U_SN,
11540   TILE_OPC_MINH_SN, TILE_OPC_MNZB_SN, TILE_OPC_MNZH_SN, TILE_OPC_MNZ_SN,
11541   TILE_OPC_MZB_SN, TILE_OPC_MZH_SN, TILE_OPC_MZ_SN, TILE_OPC_NOR_SN,
11542   CHILD(674), TILE_OPC_PACKHB_SN, TILE_OPC_PACKLB_SN, TILE_OPC_RL_SN,
11543   TILE_OPC_S1A_SN, TILE_OPC_S2A_SN, TILE_OPC_S3A_SN,
11544   BITFIELD(43, 2) /* index 674 */,
11545   TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(679),
11546   BITFIELD(45, 2) /* index 679 */,
11547   TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(684),
11548   BITFIELD(47, 2) /* index 684 */,
11549   TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_MOVE_SN,
11550   BITFIELD(49, 5) /* index 689 */,
11551   TILE_OPC_SB, TILE_OPC_SEQB_SN, TILE_OPC_SEQH_SN, TILE_OPC_SEQ_SN,
11552   TILE_OPC_SHLB_SN, TILE_OPC_SHLH_SN, TILE_OPC_SHL_SN, TILE_OPC_SHRB_SN,
11553   TILE_OPC_SHRH_SN, TILE_OPC_SHR_SN, TILE_OPC_SH, TILE_OPC_SLTB_SN,
11554   TILE_OPC_SLTB_U_SN, TILE_OPC_SLTEB_SN, TILE_OPC_SLTEB_U_SN,
11555   TILE_OPC_SLTEH_SN, TILE_OPC_SLTEH_U_SN, TILE_OPC_SLTE_SN,
11556   TILE_OPC_SLTE_U_SN, TILE_OPC_SLTH_SN, TILE_OPC_SLTH_U_SN, TILE_OPC_SLT_SN,
11557   TILE_OPC_SLT_U_SN, TILE_OPC_SNEB_SN, TILE_OPC_SNEH_SN, TILE_OPC_SNE_SN,
11558   TILE_OPC_SRAB_SN, TILE_OPC_SRAH_SN, TILE_OPC_SRA_SN, TILE_OPC_SUBB_SN,
11559   TILE_OPC_SUBH_SN, TILE_OPC_SUB_SN,
11560   BITFIELD(49, 4) /* index 722 */,
11561   CHILD(611), CHILD(739), CHILD(742), CHILD(745), CHILD(748), CHILD(751),
11562   CHILD(754), CHILD(757), CHILD(760), CHILD(763), TILE_OPC_NONE,
11563   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11564   BITFIELD(53, 1) /* index 739 */,
11565   TILE_OPC_XOR_SN, TILE_OPC_NONE,
11566   BITFIELD(53, 1) /* index 742 */,
11567   TILE_OPC_ADDS_SN, TILE_OPC_NONE,
11568   BITFIELD(53, 1) /* index 745 */,
11569   TILE_OPC_SUBS_SN, TILE_OPC_NONE,
11570   BITFIELD(53, 1) /* index 748 */,
11571   TILE_OPC_ADDBS_U_SN, TILE_OPC_NONE,
11572   BITFIELD(53, 1) /* index 751 */,
11573   TILE_OPC_ADDHS_SN, TILE_OPC_NONE,
11574   BITFIELD(53, 1) /* index 754 */,
11575   TILE_OPC_SUBBS_U_SN, TILE_OPC_NONE,
11576   BITFIELD(53, 1) /* index 757 */,
11577   TILE_OPC_SUBHS_SN, TILE_OPC_NONE,
11578   BITFIELD(53, 1) /* index 760 */,
11579   TILE_OPC_PACKHS_SN, TILE_OPC_NONE,
11580   BITFIELD(53, 1) /* index 763 */,
11581   TILE_OPC_PACKBS_U_SN, TILE_OPC_NONE,
11582   BITFIELD(37, 2) /* index 766 */,
11583   TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(771),
11584   BITFIELD(39, 2) /* index 771 */,
11585   TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(776),
11586   BITFIELD(41, 2) /* index 776 */,
11587   TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_MOVELI_SN,
11588   BITFIELD(37, 2) /* index 781 */,
11589   TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(786),
11590   BITFIELD(39, 2) /* index 786 */,
11591   TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(791),
11592   BITFIELD(41, 2) /* index 791 */,
11593   TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_MOVELI,
11594   BITFIELD(31, 2) /* index 796 */,
11595   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(801),
11596   BITFIELD(33, 2) /* index 801 */,
11597   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(806),
11598   BITFIELD(35, 2) /* index 806 */,
11599   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(811),
11600   BITFIELD(37, 2) /* index 811 */,
11601   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(816),
11602   BITFIELD(39, 2) /* index 816 */,
11603   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(821),
11604   BITFIELD(41, 2) /* index 821 */,
11605   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_INFOL,
11606   BITFIELD(31, 4) /* index 826 */,
11607   TILE_OPC_BZ, TILE_OPC_BZT, TILE_OPC_BNZ, TILE_OPC_BNZT, TILE_OPC_BGZ,
11608   TILE_OPC_BGZT, TILE_OPC_BGEZ, TILE_OPC_BGEZT, TILE_OPC_BLZ, TILE_OPC_BLZT,
11609   TILE_OPC_BLEZ, TILE_OPC_BLEZT, TILE_OPC_BBS, TILE_OPC_BBST, TILE_OPC_BBNS,
11610   TILE_OPC_BBNST,
11611   BITFIELD(31, 4) /* index 843 */,
11612   TILE_OPC_BZ_SN, TILE_OPC_BZT_SN, TILE_OPC_BNZ_SN, TILE_OPC_BNZT_SN,
11613   TILE_OPC_BGZ_SN, TILE_OPC_BGZT_SN, TILE_OPC_BGEZ_SN, TILE_OPC_BGEZT_SN,
11614   TILE_OPC_BLZ_SN, TILE_OPC_BLZT_SN, TILE_OPC_BLEZ_SN, TILE_OPC_BLEZT_SN,
11615   TILE_OPC_BBS_SN, TILE_OPC_BBST_SN, TILE_OPC_BBNS_SN, TILE_OPC_BBNST_SN,
11616   BITFIELD(51, 3) /* index 860 */,
11617   TILE_OPC_NONE, TILE_OPC_ADDIB, TILE_OPC_ADDIH, TILE_OPC_ADDI, CHILD(869),
11618   TILE_OPC_MAXIB_U, TILE_OPC_MAXIH, TILE_OPC_MFSPR,
11619   BITFIELD(31, 2) /* index 869 */,
11620   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(874),
11621   BITFIELD(33, 2) /* index 874 */,
11622   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(879),
11623   BITFIELD(35, 2) /* index 879 */,
11624   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(884),
11625   BITFIELD(37, 2) /* index 884 */,
11626   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(889),
11627   BITFIELD(39, 2) /* index 889 */,
11628   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(894),
11629   BITFIELD(41, 2) /* index 894 */,
11630   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO,
11631   BITFIELD(51, 3) /* index 899 */,
11632   TILE_OPC_MINIB_U, TILE_OPC_MINIH, TILE_OPC_MTSPR, CHILD(908),
11633   TILE_OPC_SEQIB, TILE_OPC_SEQIH, TILE_OPC_SEQI, TILE_OPC_SLTIB,
11634   BITFIELD(37, 2) /* index 908 */,
11635   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(913),
11636   BITFIELD(39, 2) /* index 913 */,
11637   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(918),
11638   BITFIELD(41, 2) /* index 918 */,
11639   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI,
11640   BITFIELD(51, 3) /* index 923 */,
11641   TILE_OPC_SLTIB_U, TILE_OPC_SLTIH, TILE_OPC_SLTIH_U, TILE_OPC_SLTI,
11642   TILE_OPC_SLTI_U, TILE_OPC_XORI, TILE_OPC_LBADD, TILE_OPC_LBADD_U,
11643   BITFIELD(51, 3) /* index 932 */,
11644   TILE_OPC_LHADD, TILE_OPC_LHADD_U, TILE_OPC_LWADD, TILE_OPC_LWADD_NA,
11645   TILE_OPC_SBADD, TILE_OPC_SHADD, TILE_OPC_SWADD, TILE_OPC_NONE,
11646   BITFIELD(51, 3) /* index 941 */,
11647   TILE_OPC_NONE, TILE_OPC_ADDIB_SN, TILE_OPC_ADDIH_SN, TILE_OPC_ADDI_SN,
11648   TILE_OPC_ANDI_SN, TILE_OPC_MAXIB_U_SN, TILE_OPC_MAXIH_SN, TILE_OPC_MFSPR,
11649   BITFIELD(51, 3) /* index 950 */,
11650   TILE_OPC_MINIB_U_SN, TILE_OPC_MINIH_SN, TILE_OPC_MTSPR, CHILD(959),
11651   TILE_OPC_SEQIB_SN, TILE_OPC_SEQIH_SN, TILE_OPC_SEQI_SN, TILE_OPC_SLTIB_SN,
11652   BITFIELD(37, 2) /* index 959 */,
11653   TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(964),
11654   BITFIELD(39, 2) /* index 964 */,
11655   TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(969),
11656   BITFIELD(41, 2) /* index 969 */,
11657   TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_MOVEI_SN,
11658   BITFIELD(51, 3) /* index 974 */,
11659   TILE_OPC_SLTIB_U_SN, TILE_OPC_SLTIH_SN, TILE_OPC_SLTIH_U_SN,
11660   TILE_OPC_SLTI_SN, TILE_OPC_SLTI_U_SN, TILE_OPC_XORI_SN, TILE_OPC_LBADD_SN,
11661   TILE_OPC_LBADD_U_SN,
11662   BITFIELD(51, 3) /* index 983 */,
11663   TILE_OPC_LHADD_SN, TILE_OPC_LHADD_U_SN, TILE_OPC_LWADD_SN,
11664   TILE_OPC_LWADD_NA_SN, TILE_OPC_SBADD, TILE_OPC_SHADD, TILE_OPC_SWADD,
11665   TILE_OPC_NONE,
11666   BITFIELD(46, 7) /* index 992 */,
11667   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(1121),
11668   CHILD(1121), CHILD(1121), CHILD(1121), CHILD(1124), CHILD(1124),
11669   CHILD(1124), CHILD(1124), CHILD(1127), CHILD(1127), CHILD(1127),
11670   CHILD(1127), CHILD(1130), CHILD(1130), CHILD(1130), CHILD(1130),
11671   CHILD(1133), CHILD(1133), CHILD(1133), CHILD(1133), CHILD(1136),
11672   CHILD(1136), CHILD(1136), CHILD(1136), CHILD(1139), CHILD(1139),
11673   CHILD(1139), CHILD(1139), CHILD(1142), CHILD(1142), CHILD(1142),
11674   CHILD(1142), CHILD(1145), CHILD(1145), CHILD(1145), CHILD(1145),
11675   CHILD(1148), CHILD(1148), CHILD(1148), CHILD(1148), CHILD(1151),
11676   CHILD(1211), CHILD(1259), CHILD(1292), TILE_OPC_NONE, TILE_OPC_NONE,
11677   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11678   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11679   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11680   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11681   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11682   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11683   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11684   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11685   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11686   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11687   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11688   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11689   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11690   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11691   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11692   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11693   BITFIELD(53, 1) /* index 1121 */,
11694   TILE_OPC_RLI, TILE_OPC_NONE,
11695   BITFIELD(53, 1) /* index 1124 */,
11696   TILE_OPC_SHLIB, TILE_OPC_NONE,
11697   BITFIELD(53, 1) /* index 1127 */,
11698   TILE_OPC_SHLIH, TILE_OPC_NONE,
11699   BITFIELD(53, 1) /* index 1130 */,
11700   TILE_OPC_SHLI, TILE_OPC_NONE,
11701   BITFIELD(53, 1) /* index 1133 */,
11702   TILE_OPC_SHRIB, TILE_OPC_NONE,
11703   BITFIELD(53, 1) /* index 1136 */,
11704   TILE_OPC_SHRIH, TILE_OPC_NONE,
11705   BITFIELD(53, 1) /* index 1139 */,
11706   TILE_OPC_SHRI, TILE_OPC_NONE,
11707   BITFIELD(53, 1) /* index 1142 */,
11708   TILE_OPC_SRAIB, TILE_OPC_NONE,
11709   BITFIELD(53, 1) /* index 1145 */,
11710   TILE_OPC_SRAIH, TILE_OPC_NONE,
11711   BITFIELD(53, 1) /* index 1148 */,
11712   TILE_OPC_SRAI, TILE_OPC_NONE,
11713   BITFIELD(43, 3) /* index 1151 */,
11714   TILE_OPC_NONE, CHILD(1160), CHILD(1163), CHILD(1166), CHILD(1169),
11715   CHILD(1172), CHILD(1175), CHILD(1178),
11716   BITFIELD(53, 1) /* index 1160 */,
11717   TILE_OPC_DRAIN, TILE_OPC_NONE,
11718   BITFIELD(53, 1) /* index 1163 */,
11719   TILE_OPC_DTLBPR, TILE_OPC_NONE,
11720   BITFIELD(53, 1) /* index 1166 */,
11721   TILE_OPC_FINV, TILE_OPC_NONE,
11722   BITFIELD(53, 1) /* index 1169 */,
11723   TILE_OPC_FLUSH, TILE_OPC_NONE,
11724   BITFIELD(53, 1) /* index 1172 */,
11725   TILE_OPC_FNOP, TILE_OPC_NONE,
11726   BITFIELD(53, 1) /* index 1175 */,
11727   TILE_OPC_ICOH, TILE_OPC_NONE,
11728   BITFIELD(53, 1) /* index 1178 */,
11729   CHILD(1181), TILE_OPC_NONE,
11730   BITFIELD(31, 2) /* index 1181 */,
11731   CHILD(1186), TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_ILL,
11732   BITFIELD(33, 2) /* index 1186 */,
11733   TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_ILL, CHILD(1191),
11734   BITFIELD(35, 2) /* index 1191 */,
11735   TILE_OPC_ILL, CHILD(1196), TILE_OPC_ILL, TILE_OPC_ILL,
11736   BITFIELD(37, 2) /* index 1196 */,
11737   TILE_OPC_ILL, CHILD(1201), TILE_OPC_ILL, TILE_OPC_ILL,
11738   BITFIELD(39, 2) /* index 1201 */,
11739   TILE_OPC_ILL, CHILD(1206), TILE_OPC_ILL, TILE_OPC_ILL,
11740   BITFIELD(41, 2) /* index 1206 */,
11741   TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_BPT, TILE_OPC_ILL,
11742   BITFIELD(43, 3) /* index 1211 */,
11743   CHILD(1220), CHILD(1223), CHILD(1226), CHILD(1244), CHILD(1247),
11744   CHILD(1250), CHILD(1253), CHILD(1256),
11745   BITFIELD(53, 1) /* index 1220 */,
11746   TILE_OPC_INV, TILE_OPC_NONE,
11747   BITFIELD(53, 1) /* index 1223 */,
11748   TILE_OPC_IRET, TILE_OPC_NONE,
11749   BITFIELD(53, 1) /* index 1226 */,
11750   CHILD(1229), TILE_OPC_NONE,
11751   BITFIELD(31, 2) /* index 1229 */,
11752   TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(1234),
11753   BITFIELD(33, 2) /* index 1234 */,
11754   TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(1239),
11755   BITFIELD(35, 2) /* index 1239 */,
11756   TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_PREFETCH,
11757   BITFIELD(53, 1) /* index 1244 */,
11758   TILE_OPC_LB_U, TILE_OPC_NONE,
11759   BITFIELD(53, 1) /* index 1247 */,
11760   TILE_OPC_LH, TILE_OPC_NONE,
11761   BITFIELD(53, 1) /* index 1250 */,
11762   TILE_OPC_LH_U, TILE_OPC_NONE,
11763   BITFIELD(53, 1) /* index 1253 */,
11764   TILE_OPC_LW, TILE_OPC_NONE,
11765   BITFIELD(53, 1) /* index 1256 */,
11766   TILE_OPC_MF, TILE_OPC_NONE,
11767   BITFIELD(43, 3) /* index 1259 */,
11768   CHILD(1268), CHILD(1271), CHILD(1274), CHILD(1277), CHILD(1280),
11769   CHILD(1283), CHILD(1286), CHILD(1289),
11770   BITFIELD(53, 1) /* index 1268 */,
11771   TILE_OPC_NAP, TILE_OPC_NONE,
11772   BITFIELD(53, 1) /* index 1271 */,
11773   TILE_OPC_NOP, TILE_OPC_NONE,
11774   BITFIELD(53, 1) /* index 1274 */,
11775   TILE_OPC_SWINT0, TILE_OPC_NONE,
11776   BITFIELD(53, 1) /* index 1277 */,
11777   TILE_OPC_SWINT1, TILE_OPC_NONE,
11778   BITFIELD(53, 1) /* index 1280 */,
11779   TILE_OPC_SWINT2, TILE_OPC_NONE,
11780   BITFIELD(53, 1) /* index 1283 */,
11781   TILE_OPC_SWINT3, TILE_OPC_NONE,
11782   BITFIELD(53, 1) /* index 1286 */,
11783   TILE_OPC_TNS, TILE_OPC_NONE,
11784   BITFIELD(53, 1) /* index 1289 */,
11785   TILE_OPC_WH64, TILE_OPC_NONE,
11786   BITFIELD(43, 2) /* index 1292 */,
11787   CHILD(1297), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11788   BITFIELD(45, 1) /* index 1297 */,
11789   CHILD(1300), TILE_OPC_NONE,
11790   BITFIELD(53, 1) /* index 1300 */,
11791   TILE_OPC_LW_NA, TILE_OPC_NONE,
11792   BITFIELD(46, 7) /* index 1303 */,
11793   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(1432),
11794   CHILD(1432), CHILD(1432), CHILD(1432), CHILD(1435), CHILD(1435),
11795   CHILD(1435), CHILD(1435), CHILD(1438), CHILD(1438), CHILD(1438),
11796   CHILD(1438), CHILD(1441), CHILD(1441), CHILD(1441), CHILD(1441),
11797   CHILD(1444), CHILD(1444), CHILD(1444), CHILD(1444), CHILD(1447),
11798   CHILD(1447), CHILD(1447), CHILD(1447), CHILD(1450), CHILD(1450),
11799   CHILD(1450), CHILD(1450), CHILD(1453), CHILD(1453), CHILD(1453),
11800   CHILD(1453), CHILD(1456), CHILD(1456), CHILD(1456), CHILD(1456),
11801   CHILD(1459), CHILD(1459), CHILD(1459), CHILD(1459), CHILD(1151),
11802   CHILD(1462), CHILD(1486), CHILD(1498), TILE_OPC_NONE, TILE_OPC_NONE,
11803   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11804   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11805   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11806   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11807   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11808   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11809   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11810   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11811   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11812   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11813   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11814   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11815   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11816   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11817   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11818   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11819   BITFIELD(53, 1) /* index 1432 */,
11820   TILE_OPC_RLI_SN, TILE_OPC_NONE,
11821   BITFIELD(53, 1) /* index 1435 */,
11822   TILE_OPC_SHLIB_SN, TILE_OPC_NONE,
11823   BITFIELD(53, 1) /* index 1438 */,
11824   TILE_OPC_SHLIH_SN, TILE_OPC_NONE,
11825   BITFIELD(53, 1) /* index 1441 */,
11826   TILE_OPC_SHLI_SN, TILE_OPC_NONE,
11827   BITFIELD(53, 1) /* index 1444 */,
11828   TILE_OPC_SHRIB_SN, TILE_OPC_NONE,
11829   BITFIELD(53, 1) /* index 1447 */,
11830   TILE_OPC_SHRIH_SN, TILE_OPC_NONE,
11831   BITFIELD(53, 1) /* index 1450 */,
11832   TILE_OPC_SHRI_SN, TILE_OPC_NONE,
11833   BITFIELD(53, 1) /* index 1453 */,
11834   TILE_OPC_SRAIB_SN, TILE_OPC_NONE,
11835   BITFIELD(53, 1) /* index 1456 */,
11836   TILE_OPC_SRAIH_SN, TILE_OPC_NONE,
11837   BITFIELD(53, 1) /* index 1459 */,
11838   TILE_OPC_SRAI_SN, TILE_OPC_NONE,
11839   BITFIELD(43, 3) /* index 1462 */,
11840   CHILD(1220), CHILD(1223), CHILD(1471), CHILD(1474), CHILD(1477),
11841   CHILD(1480), CHILD(1483), CHILD(1256),
11842   BITFIELD(53, 1) /* index 1471 */,
11843   TILE_OPC_LB_SN, TILE_OPC_NONE,
11844   BITFIELD(53, 1) /* index 1474 */,
11845   TILE_OPC_LB_U_SN, TILE_OPC_NONE,
11846   BITFIELD(53, 1) /* index 1477 */,
11847   TILE_OPC_LH_SN, TILE_OPC_NONE,
11848   BITFIELD(53, 1) /* index 1480 */,
11849   TILE_OPC_LH_U_SN, TILE_OPC_NONE,
11850   BITFIELD(53, 1) /* index 1483 */,
11851   TILE_OPC_LW_SN, TILE_OPC_NONE,
11852   BITFIELD(43, 3) /* index 1486 */,
11853   CHILD(1268), CHILD(1271), CHILD(1274), CHILD(1277), CHILD(1280),
11854   CHILD(1283), CHILD(1495), CHILD(1289),
11855   BITFIELD(53, 1) /* index 1495 */,
11856   TILE_OPC_TNS_SN, TILE_OPC_NONE,
11857   BITFIELD(43, 2) /* index 1498 */,
11858   CHILD(1503), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11859   BITFIELD(45, 1) /* index 1503 */,
11860   CHILD(1506), TILE_OPC_NONE,
11861   BITFIELD(53, 1) /* index 1506 */,
11862   TILE_OPC_LW_NA_SN, TILE_OPC_NONE,
11863 };
11864
11865 static const unsigned short decode_Y0_fsm[168] =
11866 {
11867   BITFIELD(27, 4) /* index 0 */,
11868   TILE_OPC_NONE, CHILD(17), CHILD(22), CHILD(27), CHILD(47), CHILD(52),
11869   CHILD(57), CHILD(62), CHILD(67), TILE_OPC_ADDI, CHILD(72), CHILD(102),
11870   TILE_OPC_SEQI, CHILD(117), TILE_OPC_SLTI, TILE_OPC_SLTI_U,
11871   BITFIELD(18, 2) /* index 17 */,
11872   TILE_OPC_ADD, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_SUB,
11873   BITFIELD(18, 2) /* index 22 */,
11874   TILE_OPC_MNZ, TILE_OPC_MVNZ, TILE_OPC_MVZ, TILE_OPC_MZ,
11875   BITFIELD(18, 2) /* index 27 */,
11876   TILE_OPC_AND, TILE_OPC_NOR, CHILD(32), TILE_OPC_XOR,
11877   BITFIELD(12, 2) /* index 32 */,
11878   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(37),
11879   BITFIELD(14, 2) /* index 37 */,
11880   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(42),
11881   BITFIELD(16, 2) /* index 42 */,
11882   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE,
11883   BITFIELD(18, 2) /* index 47 */,
11884   TILE_OPC_RL, TILE_OPC_SHL, TILE_OPC_SHR, TILE_OPC_SRA,
11885   BITFIELD(18, 2) /* index 52 */,
11886   TILE_OPC_SLTE, TILE_OPC_SLTE_U, TILE_OPC_SLT, TILE_OPC_SLT_U,
11887   BITFIELD(18, 2) /* index 57 */,
11888   TILE_OPC_MULHLSA_UU, TILE_OPC_S3A, TILE_OPC_SEQ, TILE_OPC_SNE,
11889   BITFIELD(18, 2) /* index 62 */,
11890   TILE_OPC_MULHH_SS, TILE_OPC_MULHH_UU, TILE_OPC_MULLL_SS, TILE_OPC_MULLL_UU,
11891   BITFIELD(18, 2) /* index 67 */,
11892   TILE_OPC_MULHHA_SS, TILE_OPC_MULHHA_UU, TILE_OPC_MULLLA_SS,
11893   TILE_OPC_MULLLA_UU,
11894   BITFIELD(0, 2) /* index 72 */,
11895   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(77),
11896   BITFIELD(2, 2) /* index 77 */,
11897   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(82),
11898   BITFIELD(4, 2) /* index 82 */,
11899   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(87),
11900   BITFIELD(6, 2) /* index 87 */,
11901   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(92),
11902   BITFIELD(8, 2) /* index 92 */,
11903   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(97),
11904   BITFIELD(10, 2) /* index 97 */,
11905   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO,
11906   BITFIELD(6, 2) /* index 102 */,
11907   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(107),
11908   BITFIELD(8, 2) /* index 107 */,
11909   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(112),
11910   BITFIELD(10, 2) /* index 112 */,
11911   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI,
11912   BITFIELD(15, 5) /* index 117 */,
11913   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_RLI,
11914   TILE_OPC_RLI, TILE_OPC_RLI, TILE_OPC_RLI, TILE_OPC_SHLI, TILE_OPC_SHLI,
11915   TILE_OPC_SHLI, TILE_OPC_SHLI, TILE_OPC_SHRI, TILE_OPC_SHRI, TILE_OPC_SHRI,
11916   TILE_OPC_SHRI, TILE_OPC_SRAI, TILE_OPC_SRAI, TILE_OPC_SRAI, TILE_OPC_SRAI,
11917   CHILD(150), CHILD(159), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11918   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11919   TILE_OPC_NONE, TILE_OPC_NONE,
11920   BITFIELD(12, 3) /* index 150 */,
11921   TILE_OPC_NONE, TILE_OPC_BITX, TILE_OPC_BYTEX, TILE_OPC_CLZ, TILE_OPC_CTZ,
11922   TILE_OPC_FNOP, TILE_OPC_NOP, TILE_OPC_PCNT,
11923   BITFIELD(12, 3) /* index 159 */,
11924   TILE_OPC_TBLIDXB0, TILE_OPC_TBLIDXB1, TILE_OPC_TBLIDXB2, TILE_OPC_TBLIDXB3,
11925   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11926 };
11927
11928 static const unsigned short decode_Y1_fsm[140] =
11929 {
11930   BITFIELD(59, 4) /* index 0 */,
11931   TILE_OPC_NONE, CHILD(17), CHILD(22), CHILD(27), CHILD(47), CHILD(52),
11932   CHILD(57), TILE_OPC_ADDI, CHILD(62), CHILD(92), TILE_OPC_SEQI, CHILD(107),
11933   TILE_OPC_SLTI, TILE_OPC_SLTI_U, TILE_OPC_NONE, TILE_OPC_NONE,
11934   BITFIELD(49, 2) /* index 17 */,
11935   TILE_OPC_ADD, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_SUB,
11936   BITFIELD(49, 2) /* index 22 */,
11937   TILE_OPC_NONE, TILE_OPC_MNZ, TILE_OPC_MZ, TILE_OPC_NONE,
11938   BITFIELD(49, 2) /* index 27 */,
11939   TILE_OPC_AND, TILE_OPC_NOR, CHILD(32), TILE_OPC_XOR,
11940   BITFIELD(43, 2) /* index 32 */,
11941   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(37),
11942   BITFIELD(45, 2) /* index 37 */,
11943   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(42),
11944   BITFIELD(47, 2) /* index 42 */,
11945   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE,
11946   BITFIELD(49, 2) /* index 47 */,
11947   TILE_OPC_RL, TILE_OPC_SHL, TILE_OPC_SHR, TILE_OPC_SRA,
11948   BITFIELD(49, 2) /* index 52 */,
11949   TILE_OPC_SLTE, TILE_OPC_SLTE_U, TILE_OPC_SLT, TILE_OPC_SLT_U,
11950   BITFIELD(49, 2) /* index 57 */,
11951   TILE_OPC_NONE, TILE_OPC_S3A, TILE_OPC_SEQ, TILE_OPC_SNE,
11952   BITFIELD(31, 2) /* index 62 */,
11953   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(67),
11954   BITFIELD(33, 2) /* index 67 */,
11955   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(72),
11956   BITFIELD(35, 2) /* index 72 */,
11957   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(77),
11958   BITFIELD(37, 2) /* index 77 */,
11959   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(82),
11960   BITFIELD(39, 2) /* index 82 */,
11961   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(87),
11962   BITFIELD(41, 2) /* index 87 */,
11963   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO,
11964   BITFIELD(37, 2) /* index 92 */,
11965   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(97),
11966   BITFIELD(39, 2) /* index 97 */,
11967   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(102),
11968   BITFIELD(41, 2) /* index 102 */,
11969   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI,
11970   BITFIELD(48, 3) /* index 107 */,
11971   TILE_OPC_NONE, TILE_OPC_RLI, TILE_OPC_SHLI, TILE_OPC_SHRI, TILE_OPC_SRAI,
11972   CHILD(116), TILE_OPC_NONE, TILE_OPC_NONE,
11973   BITFIELD(43, 3) /* index 116 */,
11974   TILE_OPC_NONE, CHILD(125), CHILD(130), CHILD(135), TILE_OPC_NONE,
11975   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11976   BITFIELD(46, 2) /* index 125 */,
11977   TILE_OPC_FNOP, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11978   BITFIELD(46, 2) /* index 130 */,
11979   TILE_OPC_ILL, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11980   BITFIELD(46, 2) /* index 135 */,
11981   TILE_OPC_NOP, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
11982 };
11983
11984 static const unsigned short decode_Y2_fsm[24] =
11985 {
11986   BITFIELD(56, 3) /* index 0 */,
11987   CHILD(9), TILE_OPC_LB_U, TILE_OPC_LH, TILE_OPC_LH_U, TILE_OPC_LW,
11988   TILE_OPC_SB, TILE_OPC_SH, TILE_OPC_SW,
11989   BITFIELD(20, 2) /* index 9 */,
11990   TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(14),
11991   BITFIELD(22, 2) /* index 14 */,
11992   TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(19),
11993   BITFIELD(24, 2) /* index 19 */,
11994   TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_PREFETCH,
11995 };
11996
11997 #undef BITFIELD
11998 #undef CHILD
11999 const unsigned short * const
12000 tile_bundle_decoder_fsms[TILE_NUM_PIPELINE_ENCODINGS] =
12001 {
12002   decode_X0_fsm,
12003   decode_X1_fsm,
12004   decode_Y0_fsm,
12005   decode_Y1_fsm,
12006   decode_Y2_fsm
12007 };
12008 const struct tile_sn_opcode tile_sn_opcodes[23] =
12009 {
12010  { "bz", TILE_SN_OPC_BZ,
12011     1 /* num_operands */,
12012     /* operands */
12013     { 38 },
12014     /* fixed_bit_mask */
12015     0xfc00,
12016     /* fixed_bit_value */
12017     0xe000
12018   },
12019   { "bnz", TILE_SN_OPC_BNZ,
12020     1 /* num_operands */,
12021     /* operands */
12022     { 38 },
12023     /* fixed_bit_mask */
12024     0xfc00,
12025     /* fixed_bit_value */
12026     0xe400
12027   },
12028   { "jrr", TILE_SN_OPC_JRR,
12029     1 /* num_operands */,
12030     /* operands */
12031     { 39 },
12032     /* fixed_bit_mask */
12033     0xff00,
12034     /* fixed_bit_value */
12035     0x0600
12036   },
12037   { "fnop", TILE_SN_OPC_FNOP,
12038     0 /* num_operands */,
12039     /* operands */
12040     { 0, },
12041     /* fixed_bit_mask */
12042     0xffff,
12043     /* fixed_bit_value */
12044     0x0003
12045   },
12046   { "blz", TILE_SN_OPC_BLZ,
12047     1 /* num_operands */,
12048     /* operands */
12049     { 38 },
12050     /* fixed_bit_mask */
12051     0xfc00,
12052     /* fixed_bit_value */
12053     0xf000
12054   },
12055   { "nop", TILE_SN_OPC_NOP,
12056     0 /* num_operands */,
12057     /* operands */
12058     { 0, },
12059     /* fixed_bit_mask */
12060     0xffff,
12061     /* fixed_bit_value */
12062     0x0002
12063   },
12064   { "movei", TILE_SN_OPC_MOVEI,
12065     1 /* num_operands */,
12066     /* operands */
12067     { 40 },
12068     /* fixed_bit_mask */
12069     0xff00,
12070     /* fixed_bit_value */
12071     0x0400
12072   },
12073   { "move", TILE_SN_OPC_MOVE,
12074     2 /* num_operands */,
12075     /* operands */
12076     { 41, 42 },
12077     /* fixed_bit_mask */
12078     0xfff0,
12079     /* fixed_bit_value */
12080     0x0080
12081   },
12082   { "bgez", TILE_SN_OPC_BGEZ,
12083     1 /* num_operands */,
12084     /* operands */
12085     { 38 },
12086     /* fixed_bit_mask */
12087     0xfc00,
12088     /* fixed_bit_value */
12089     0xf400
12090   },
12091   { "jr", TILE_SN_OPC_JR,
12092     1 /* num_operands */,
12093     /* operands */
12094     { 42 },
12095     /* fixed_bit_mask */
12096     0xfff0,
12097     /* fixed_bit_value */
12098     0x0040
12099   },
12100   { "blez", TILE_SN_OPC_BLEZ,
12101     1 /* num_operands */,
12102     /* operands */
12103     { 38 },
12104     /* fixed_bit_mask */
12105     0xfc00,
12106     /* fixed_bit_value */
12107     0xec00
12108   },
12109   { "bbns", TILE_SN_OPC_BBNS,
12110     1 /* num_operands */,
12111     /* operands */
12112     { 38 },
12113     /* fixed_bit_mask */
12114     0xfc00,
12115     /* fixed_bit_value */
12116     0xfc00
12117   },
12118   { "jalrr", TILE_SN_OPC_JALRR,
12119     1 /* num_operands */,
12120     /* operands */
12121     { 39 },
12122     /* fixed_bit_mask */
12123     0xff00,
12124     /* fixed_bit_value */
12125     0x0700
12126   },
12127   { "bpt", TILE_SN_OPC_BPT,
12128     0 /* num_operands */,
12129     /* operands */
12130     { 0, },
12131     /* fixed_bit_mask */
12132     0xffff,
12133     /* fixed_bit_value */
12134     0x0001
12135   },
12136   { "jalr", TILE_SN_OPC_JALR,
12137     1 /* num_operands */,
12138     /* operands */
12139     { 42 },
12140     /* fixed_bit_mask */
12141     0xfff0,
12142     /* fixed_bit_value */
12143     0x0050
12144   },
12145   { "shr1", TILE_SN_OPC_SHR1,
12146     2 /* num_operands */,
12147     /* operands */
12148     { 41, 42 },
12149     /* fixed_bit_mask */
12150     0xfff0,
12151     /* fixed_bit_value */
12152     0x0090
12153   },
12154   { "bgz", TILE_SN_OPC_BGZ,
12155     1 /* num_operands */,
12156     /* operands */
12157     { 38 },
12158     /* fixed_bit_mask */
12159     0xfc00,
12160     /* fixed_bit_value */
12161     0xe800
12162   },
12163   { "bbs", TILE_SN_OPC_BBS,
12164     1 /* num_operands */,
12165     /* operands */
12166     { 38 },
12167     /* fixed_bit_mask */
12168     0xfc00,
12169     /* fixed_bit_value */
12170     0xf800
12171   },
12172   { "shl8ii", TILE_SN_OPC_SHL8II,
12173     1 /* num_operands */,
12174     /* operands */
12175     { 39 },
12176     /* fixed_bit_mask */
12177     0xff00,
12178     /* fixed_bit_value */
12179     0x0300
12180   },
12181   { "addi", TILE_SN_OPC_ADDI,
12182     1 /* num_operands */,
12183     /* operands */
12184     { 40 },
12185     /* fixed_bit_mask */
12186     0xff00,
12187     /* fixed_bit_value */
12188     0x0500
12189   },
12190   { "halt", TILE_SN_OPC_HALT,
12191     0 /* num_operands */,
12192     /* operands */
12193     { 0, },
12194     /* fixed_bit_mask */
12195     0xffff,
12196     /* fixed_bit_value */
12197     0x0000
12198   },
12199   { "route", TILE_SN_OPC_ROUTE, 0, { 0, }, 0, 0,
12200   },
12201   { 0, TILE_SN_OPC_NONE, 0, { 0, }, 0, 0,
12202   }
12203 };
12204 const unsigned char tile_sn_route_encode[6 * 6 * 6] =
12205 {
12206   0xdf,
12207   0xde,
12208   0xdd,
12209   0xdc,
12210   0xdb,
12211   0xda,
12212   0xb9,
12213   0xb8,
12214   0xa1,
12215   0xa0,
12216   0x11,
12217   0x10,
12218   0x9f,
12219   0x9e,
12220   0x9d,
12221   0x9c,
12222   0x9b,
12223   0x9a,
12224   0x79,
12225   0x78,
12226   0x61,
12227   0x60,
12228   0xb,
12229   0xa,
12230   0x5f,
12231   0x5e,
12232   0x5d,
12233   0x5c,
12234   0x5b,
12235   0x5a,
12236   0x1f,
12237   0x1e,
12238   0x1d,
12239   0x1c,
12240   0x1b,
12241   0x1a,
12242   0xd7,
12243   0xd6,
12244   0xd5,
12245   0xd4,
12246   0xd3,
12247   0xd2,
12248   0xa7,
12249   0xa6,
12250   0xb1,
12251   0xb0,
12252   0x13,
12253   0x12,
12254   0x97,
12255   0x96,
12256   0x95,
12257   0x94,
12258   0x93,
12259   0x92,
12260   0x67,
12261   0x66,
12262   0x71,
12263   0x70,
12264   0x9,
12265   0x8,
12266   0x57,
12267   0x56,
12268   0x55,
12269   0x54,
12270   0x53,
12271   0x52,
12272   0x17,
12273   0x16,
12274   0x15,
12275   0x14,
12276   0x19,
12277   0x18,
12278   0xcf,
12279   0xce,
12280   0xcd,
12281   0xcc,
12282   0xcb,
12283   0xca,
12284   0xaf,
12285   0xae,
12286   0xad,
12287   0xac,
12288   0xab,
12289   0xaa,
12290   0x8f,
12291   0x8e,
12292   0x8d,
12293   0x8c,
12294   0x8b,
12295   0x8a,
12296   0x6f,
12297   0x6e,
12298   0x6d,
12299   0x6c,
12300   0x6b,
12301   0x6a,
12302   0x4f,
12303   0x4e,
12304   0x4d,
12305   0x4c,
12306   0x4b,
12307   0x4a,
12308   0x2f,
12309   0x2e,
12310   0x2d,
12311   0x2c,
12312   0x2b,
12313   0x2a,
12314   0xc9,
12315   0xc8,
12316   0xc5,
12317   0xc4,
12318   0xc3,
12319   0xc2,
12320   0xa9,
12321   0xa8,
12322   0xa5,
12323   0xa4,
12324   0xa3,
12325   0xa2,
12326   0x89,
12327   0x88,
12328   0x85,
12329   0x84,
12330   0x83,
12331   0x82,
12332   0x69,
12333   0x68,
12334   0x65,
12335   0x64,
12336   0x63,
12337   0x62,
12338   0x47,
12339   0x46,
12340   0x45,
12341   0x44,
12342   0x43,
12343   0x42,
12344   0x27,
12345   0x26,
12346   0x25,
12347   0x24,
12348   0x23,
12349   0x22,
12350   0xd9,
12351   0xd8,
12352   0xc1,
12353   0xc0,
12354   0x3b,
12355   0x3a,
12356   0xbf,
12357   0xbe,
12358   0xbd,
12359   0xbc,
12360   0xbb,
12361   0xba,
12362   0x99,
12363   0x98,
12364   0x81,
12365   0x80,
12366   0x31,
12367   0x30,
12368   0x7f,
12369   0x7e,
12370   0x7d,
12371   0x7c,
12372   0x7b,
12373   0x7a,
12374   0x59,
12375   0x58,
12376   0x3d,
12377   0x3c,
12378   0x49,
12379   0x48,
12380   0xf,
12381   0xe,
12382   0xd,
12383   0xc,
12384   0x29,
12385   0x28,
12386   0xc7,
12387   0xc6,
12388   0xd1,
12389   0xd0,
12390   0x39,
12391   0x38,
12392   0xb7,
12393   0xb6,
12394   0xb5,
12395   0xb4,
12396   0xb3,
12397   0xb2,
12398   0x87,
12399   0x86,
12400   0x91,
12401   0x90,
12402   0x33,
12403   0x32,
12404   0x77,
12405   0x76,
12406   0x75,
12407   0x74,
12408   0x73,
12409   0x72,
12410   0x3f,
12411   0x3e,
12412   0x51,
12413   0x50,
12414   0x41,
12415   0x40,
12416   0x37,
12417   0x36,
12418   0x35,
12419   0x34,
12420   0x21,
12421   0x20
12422 };
12423
12424 const signed char tile_sn_route_decode[256][3] =
12425 {
12426   { -1, -1, -1 },
12427   { -1, -1, -1 },
12428   { -1, -1, -1 },
12429   { -1, -1, -1 },
12430   { -1, -1, -1 },
12431   { -1, -1, -1 },
12432   { -1, -1, -1 },
12433   { -1, -1, -1 },
12434   { 5, 3, 1 },
12435   { 4, 3, 1 },
12436   { 5, 3, 0 },
12437   { 4, 3, 0 },
12438   { 3, 5, 4 },
12439   { 2, 5, 4 },
12440   { 1, 5, 4 },
12441   { 0, 5, 4 },
12442   { 5, 1, 0 },
12443   { 4, 1, 0 },
12444   { 5, 1, 1 },
12445   { 4, 1, 1 },
12446   { 3, 5, 1 },
12447   { 2, 5, 1 },
12448   { 1, 5, 1 },
12449   { 0, 5, 1 },
12450   { 5, 5, 1 },
12451   { 4, 5, 1 },
12452   { 5, 5, 0 },
12453   { 4, 5, 0 },
12454   { 3, 5, 0 },
12455   { 2, 5, 0 },
12456   { 1, 5, 0 },
12457   { 0, 5, 0 },
12458   { 5, 5, 5 },
12459   { 4, 5, 5 },
12460   { 5, 5, 3 },
12461   { 4, 5, 3 },
12462   { 3, 5, 3 },
12463   { 2, 5, 3 },
12464   { 1, 5, 3 },
12465   { 0, 5, 3 },
12466   { 5, 5, 4 },
12467   { 4, 5, 4 },
12468   { 5, 5, 2 },
12469   { 4, 5, 2 },
12470   { 3, 5, 2 },
12471   { 2, 5, 2 },
12472   { 1, 5, 2 },
12473   { 0, 5, 2 },
12474   { 5, 2, 4 },
12475   { 4, 2, 4 },
12476   { 5, 2, 5 },
12477   { 4, 2, 5 },
12478   { 3, 5, 5 },
12479   { 2, 5, 5 },
12480   { 1, 5, 5 },
12481   { 0, 5, 5 },
12482   { 5, 0, 5 },
12483   { 4, 0, 5 },
12484   { 5, 0, 4 },
12485   { 4, 0, 4 },
12486   { 3, 4, 4 },
12487   { 2, 4, 4 },
12488   { 1, 4, 5 },
12489   { 0, 4, 5 },
12490   { 5, 4, 5 },
12491   { 4, 4, 5 },
12492   { 5, 4, 3 },
12493   { 4, 4, 3 },
12494   { 3, 4, 3 },
12495   { 2, 4, 3 },
12496   { 1, 4, 3 },
12497   { 0, 4, 3 },
12498   { 5, 4, 4 },
12499   { 4, 4, 4 },
12500   { 5, 4, 2 },
12501   { 4, 4, 2 },
12502   { 3, 4, 2 },
12503   { 2, 4, 2 },
12504   { 1, 4, 2 },
12505   { 0, 4, 2 },
12506   { 3, 4, 5 },
12507   { 2, 4, 5 },
12508   { 5, 4, 1 },
12509   { 4, 4, 1 },
12510   { 3, 4, 1 },
12511   { 2, 4, 1 },
12512   { 1, 4, 1 },
12513   { 0, 4, 1 },
12514   { 1, 4, 4 },
12515   { 0, 4, 4 },
12516   { 5, 4, 0 },
12517   { 4, 4, 0 },
12518   { 3, 4, 0 },
12519   { 2, 4, 0 },
12520   { 1, 4, 0 },
12521   { 0, 4, 0 },
12522   { 3, 3, 0 },
12523   { 2, 3, 0 },
12524   { 5, 3, 3 },
12525   { 4, 3, 3 },
12526   { 3, 3, 3 },
12527   { 2, 3, 3 },
12528   { 1, 3, 1 },
12529   { 0, 3, 1 },
12530   { 1, 3, 3 },
12531   { 0, 3, 3 },
12532   { 5, 3, 2 },
12533   { 4, 3, 2 },
12534   { 3, 3, 2 },
12535   { 2, 3, 2 },
12536   { 1, 3, 2 },
12537   { 0, 3, 2 },
12538   { 3, 3, 1 },
12539   { 2, 3, 1 },
12540   { 5, 3, 5 },
12541   { 4, 3, 5 },
12542   { 3, 3, 5 },
12543   { 2, 3, 5 },
12544   { 1, 3, 5 },
12545   { 0, 3, 5 },
12546   { 1, 3, 0 },
12547   { 0, 3, 0 },
12548   { 5, 3, 4 },
12549   { 4, 3, 4 },
12550   { 3, 3, 4 },
12551   { 2, 3, 4 },
12552   { 1, 3, 4 },
12553   { 0, 3, 4 },
12554   { 3, 2, 4 },
12555   { 2, 2, 4 },
12556   { 5, 2, 3 },
12557   { 4, 2, 3 },
12558   { 3, 2, 3 },
12559   { 2, 2, 3 },
12560   { 1, 2, 5 },
12561   { 0, 2, 5 },
12562   { 1, 2, 3 },
12563   { 0, 2, 3 },
12564   { 5, 2, 2 },
12565   { 4, 2, 2 },
12566   { 3, 2, 2 },
12567   { 2, 2, 2 },
12568   { 1, 2, 2 },
12569   { 0, 2, 2 },
12570   { 3, 2, 5 },
12571   { 2, 2, 5 },
12572   { 5, 2, 1 },
12573   { 4, 2, 1 },
12574   { 3, 2, 1 },
12575   { 2, 2, 1 },
12576   { 1, 2, 1 },
12577   { 0, 2, 1 },
12578   { 1, 2, 4 },
12579   { 0, 2, 4 },
12580   { 5, 2, 0 },
12581   { 4, 2, 0 },
12582   { 3, 2, 0 },
12583   { 2, 2, 0 },
12584   { 1, 2, 0 },
12585   { 0, 2, 0 },
12586   { 3, 1, 0 },
12587   { 2, 1, 0 },
12588   { 5, 1, 3 },
12589   { 4, 1, 3 },
12590   { 3, 1, 3 },
12591   { 2, 1, 3 },
12592   { 1, 1, 1 },
12593   { 0, 1, 1 },
12594   { 1, 1, 3 },
12595   { 0, 1, 3 },
12596   { 5, 1, 2 },
12597   { 4, 1, 2 },
12598   { 3, 1, 2 },
12599   { 2, 1, 2 },
12600   { 1, 1, 2 },
12601   { 0, 1, 2 },
12602   { 3, 1, 1 },
12603   { 2, 1, 1 },
12604   { 5, 1, 5 },
12605   { 4, 1, 5 },
12606   { 3, 1, 5 },
12607   { 2, 1, 5 },
12608   { 1, 1, 5 },
12609   { 0, 1, 5 },
12610   { 1, 1, 0 },
12611   { 0, 1, 0 },
12612   { 5, 1, 4 },
12613   { 4, 1, 4 },
12614   { 3, 1, 4 },
12615   { 2, 1, 4 },
12616   { 1, 1, 4 },
12617   { 0, 1, 4 },
12618   { 3, 0, 4 },
12619   { 2, 0, 4 },
12620   { 5, 0, 3 },
12621   { 4, 0, 3 },
12622   { 3, 0, 3 },
12623   { 2, 0, 3 },
12624   { 1, 0, 5 },
12625   { 0, 0, 5 },
12626   { 1, 0, 3 },
12627   { 0, 0, 3 },
12628   { 5, 0, 2 },
12629   { 4, 0, 2 },
12630   { 3, 0, 2 },
12631   { 2, 0, 2 },
12632   { 1, 0, 2 },
12633   { 0, 0, 2 },
12634   { 3, 0, 5 },
12635   { 2, 0, 5 },
12636   { 5, 0, 1 },
12637   { 4, 0, 1 },
12638   { 3, 0, 1 },
12639   { 2, 0, 1 },
12640   { 1, 0, 1 },
12641   { 0, 0, 1 },
12642   { 1, 0, 4 },
12643   { 0, 0, 4 },
12644   { 5, 0, 0 },
12645   { 4, 0, 0 },
12646   { 3, 0, 0 },
12647   { 2, 0, 0 },
12648   { 1, 0, 0 },
12649   { 0, 0, 0 },
12650   { -1, -1, -1 },
12651   { -1, -1, -1 },
12652   { -1, -1, -1 },
12653   { -1, -1, -1 },
12654   { -1, -1, -1 },
12655   { -1, -1, -1 },
12656   { -1, -1, -1 },
12657   { -1, -1, -1 },
12658   { -1, -1, -1 },
12659   { -1, -1, -1 },
12660   { -1, -1, -1 },
12661   { -1, -1, -1 },
12662   { -1, -1, -1 },
12663   { -1, -1, -1 },
12664   { -1, -1, -1 },
12665   { -1, -1, -1 },
12666   { -1, -1, -1 },
12667   { -1, -1, -1 },
12668   { -1, -1, -1 },
12669   { -1, -1, -1 },
12670   { -1, -1, -1 },
12671   { -1, -1, -1 },
12672   { -1, -1, -1 },
12673   { -1, -1, -1 },
12674   { -1, -1, -1 },
12675   { -1, -1, -1 },
12676   { -1, -1, -1 },
12677   { -1, -1, -1 },
12678   { -1, -1, -1 },
12679   { -1, -1, -1 },
12680   { -1, -1, -1 },
12681   { -1, -1, -1 }
12682 };
12683
12684 const char tile_sn_direction_names[6][5] =
12685 {
12686   "w",
12687   "c",
12688   "acc",
12689   "n",
12690   "e",
12691   "s"
12692 };
12693
12694 const signed char tile_sn_dest_map[6][6] = {
12695   { -1, 3, 4, 5, 1, 2 } /* val -> w */,
12696   { -1, 3, 4, 5, 0, 2 } /* val -> c */,
12697   { -1, 3, 4, 5, 0, 1 } /* val -> acc */,
12698   { -1, 4, 5, 0, 1, 2 } /* val -> n */,
12699   { -1, 3, 5, 0, 1, 2 } /* val -> e */,
12700   { -1, 3, 4, 0, 1, 2 } /* val -> s */
12701 };
12702
12703 const struct tile_operand tile_operands[43] =
12704 {
12705   {
12706     TILE_OP_TYPE_IMMEDIATE, /* type */
12707     MAYBE_BFD_RELOC(BFD_RELOC_TILE_IMM8_X0), /* default_reloc */
12708     8, /* num_bits */
12709     1, /* is_signed */
12710     0, /* is_src_reg */
12711     0, /* is_dest_reg */
12712     0, /* is_pc_relative */
12713     0, /* rightshift */
12714     create_Imm8_X0, /* insert */
12715     get_Imm8_X0  /* extract */
12716   },
12717   {
12718     TILE_OP_TYPE_IMMEDIATE, /* type */
12719     MAYBE_BFD_RELOC(BFD_RELOC_TILE_IMM8_X1), /* default_reloc */
12720     8, /* num_bits */
12721     1, /* is_signed */
12722     0, /* is_src_reg */
12723     0, /* is_dest_reg */
12724     0, /* is_pc_relative */
12725     0, /* rightshift */
12726     create_Imm8_X1, /* insert */
12727     get_Imm8_X1  /* extract */
12728   },
12729   {
12730     TILE_OP_TYPE_IMMEDIATE, /* type */
12731     MAYBE_BFD_RELOC(BFD_RELOC_TILE_IMM8_Y0), /* default_reloc */
12732     8, /* num_bits */
12733     1, /* is_signed */
12734     0, /* is_src_reg */
12735     0, /* is_dest_reg */
12736     0, /* is_pc_relative */
12737     0, /* rightshift */
12738     create_Imm8_Y0, /* insert */
12739     get_Imm8_Y0  /* extract */
12740   },
12741   {
12742     TILE_OP_TYPE_IMMEDIATE, /* type */
12743     MAYBE_BFD_RELOC(BFD_RELOC_TILE_IMM8_Y1), /* default_reloc */
12744     8, /* num_bits */
12745     1, /* is_signed */
12746     0, /* is_src_reg */
12747     0, /* is_dest_reg */
12748     0, /* is_pc_relative */
12749     0, /* rightshift */
12750     create_Imm8_Y1, /* insert */
12751     get_Imm8_Y1  /* extract */
12752   },
12753   {
12754     TILE_OP_TYPE_IMMEDIATE, /* type */
12755     MAYBE_BFD_RELOC(BFD_RELOC_TILE_IMM16_X0), /* default_reloc */
12756     16, /* num_bits */
12757     1, /* is_signed */
12758     0, /* is_src_reg */
12759     0, /* is_dest_reg */
12760     0, /* is_pc_relative */
12761     0, /* rightshift */
12762     create_Imm16_X0, /* insert */
12763     get_Imm16_X0  /* extract */
12764   },
12765   {
12766     TILE_OP_TYPE_IMMEDIATE, /* type */
12767     MAYBE_BFD_RELOC(BFD_RELOC_TILE_IMM16_X1), /* default_reloc */
12768     16, /* num_bits */
12769     1, /* is_signed */
12770     0, /* is_src_reg */
12771     0, /* is_dest_reg */
12772     0, /* is_pc_relative */
12773     0, /* rightshift */
12774     create_Imm16_X1, /* insert */
12775     get_Imm16_X1  /* extract */
12776   },
12777   {
12778     TILE_OP_TYPE_ADDRESS, /* type */
12779     MAYBE_BFD_RELOC(BFD_RELOC_TILE_JOFFLONG_X1), /* default_reloc */
12780     29, /* num_bits */
12781     1, /* is_signed */
12782     0, /* is_src_reg */
12783     0, /* is_dest_reg */
12784     1, /* is_pc_relative */
12785     TILE_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, /* rightshift */
12786     create_JOffLong_X1, /* insert */
12787     get_JOffLong_X1  /* extract */
12788   },
12789   {
12790     TILE_OP_TYPE_REGISTER, /* type */
12791     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12792     6, /* num_bits */
12793     0, /* is_signed */
12794     0, /* is_src_reg */
12795     1, /* is_dest_reg */
12796     0, /* is_pc_relative */
12797     0, /* rightshift */
12798     create_Dest_X0, /* insert */
12799     get_Dest_X0  /* extract */
12800   },
12801   {
12802     TILE_OP_TYPE_REGISTER, /* type */
12803     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12804     6, /* num_bits */
12805     0, /* is_signed */
12806     1, /* is_src_reg */
12807     0, /* is_dest_reg */
12808     0, /* is_pc_relative */
12809     0, /* rightshift */
12810     create_SrcA_X0, /* insert */
12811     get_SrcA_X0  /* extract */
12812   },
12813   {
12814     TILE_OP_TYPE_REGISTER, /* type */
12815     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12816     6, /* num_bits */
12817     0, /* is_signed */
12818     0, /* is_src_reg */
12819     1, /* is_dest_reg */
12820     0, /* is_pc_relative */
12821     0, /* rightshift */
12822     create_Dest_X1, /* insert */
12823     get_Dest_X1  /* extract */
12824   },
12825   {
12826     TILE_OP_TYPE_REGISTER, /* type */
12827     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12828     6, /* num_bits */
12829     0, /* is_signed */
12830     1, /* is_src_reg */
12831     0, /* is_dest_reg */
12832     0, /* is_pc_relative */
12833     0, /* rightshift */
12834     create_SrcA_X1, /* insert */
12835     get_SrcA_X1  /* extract */
12836   },
12837   {
12838     TILE_OP_TYPE_REGISTER, /* type */
12839     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12840     6, /* num_bits */
12841     0, /* is_signed */
12842     0, /* is_src_reg */
12843     1, /* is_dest_reg */
12844     0, /* is_pc_relative */
12845     0, /* rightshift */
12846     create_Dest_Y0, /* insert */
12847     get_Dest_Y0  /* extract */
12848   },
12849   {
12850     TILE_OP_TYPE_REGISTER, /* type */
12851     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12852     6, /* num_bits */
12853     0, /* is_signed */
12854     1, /* is_src_reg */
12855     0, /* is_dest_reg */
12856     0, /* is_pc_relative */
12857     0, /* rightshift */
12858     create_SrcA_Y0, /* insert */
12859     get_SrcA_Y0  /* extract */
12860   },
12861   {
12862     TILE_OP_TYPE_REGISTER, /* type */
12863     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12864     6, /* num_bits */
12865     0, /* is_signed */
12866     0, /* is_src_reg */
12867     1, /* is_dest_reg */
12868     0, /* is_pc_relative */
12869     0, /* rightshift */
12870     create_Dest_Y1, /* insert */
12871     get_Dest_Y1  /* extract */
12872   },
12873   {
12874     TILE_OP_TYPE_REGISTER, /* type */
12875     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12876     6, /* num_bits */
12877     0, /* is_signed */
12878     1, /* is_src_reg */
12879     0, /* is_dest_reg */
12880     0, /* is_pc_relative */
12881     0, /* rightshift */
12882     create_SrcA_Y1, /* insert */
12883     get_SrcA_Y1  /* extract */
12884   },
12885   {
12886     TILE_OP_TYPE_REGISTER, /* type */
12887     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12888     6, /* num_bits */
12889     0, /* is_signed */
12890     1, /* is_src_reg */
12891     0, /* is_dest_reg */
12892     0, /* is_pc_relative */
12893     0, /* rightshift */
12894     create_SrcA_Y2, /* insert */
12895     get_SrcA_Y2  /* extract */
12896   },
12897   {
12898     TILE_OP_TYPE_REGISTER, /* type */
12899     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12900     6, /* num_bits */
12901     0, /* is_signed */
12902     1, /* is_src_reg */
12903     0, /* is_dest_reg */
12904     0, /* is_pc_relative */
12905     0, /* rightshift */
12906     create_SrcB_X0, /* insert */
12907     get_SrcB_X0  /* extract */
12908   },
12909   {
12910     TILE_OP_TYPE_REGISTER, /* type */
12911     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12912     6, /* num_bits */
12913     0, /* is_signed */
12914     1, /* is_src_reg */
12915     0, /* is_dest_reg */
12916     0, /* is_pc_relative */
12917     0, /* rightshift */
12918     create_SrcB_X1, /* insert */
12919     get_SrcB_X1  /* extract */
12920   },
12921   {
12922     TILE_OP_TYPE_REGISTER, /* type */
12923     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12924     6, /* num_bits */
12925     0, /* is_signed */
12926     1, /* is_src_reg */
12927     0, /* is_dest_reg */
12928     0, /* is_pc_relative */
12929     0, /* rightshift */
12930     create_SrcB_Y0, /* insert */
12931     get_SrcB_Y0  /* extract */
12932   },
12933   {
12934     TILE_OP_TYPE_REGISTER, /* type */
12935     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12936     6, /* num_bits */
12937     0, /* is_signed */
12938     1, /* is_src_reg */
12939     0, /* is_dest_reg */
12940     0, /* is_pc_relative */
12941     0, /* rightshift */
12942     create_SrcB_Y1, /* insert */
12943     get_SrcB_Y1  /* extract */
12944   },
12945   {
12946     TILE_OP_TYPE_ADDRESS, /* type */
12947     MAYBE_BFD_RELOC(BFD_RELOC_TILE_BROFF_X1), /* default_reloc */
12948     17, /* num_bits */
12949     1, /* is_signed */
12950     0, /* is_src_reg */
12951     0, /* is_dest_reg */
12952     1, /* is_pc_relative */
12953     TILE_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, /* rightshift */
12954     create_BrOff_X1, /* insert */
12955     get_BrOff_X1  /* extract */
12956   },
12957   {
12958     TILE_OP_TYPE_REGISTER, /* type */
12959     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12960     6, /* num_bits */
12961     0, /* is_signed */
12962     1, /* is_src_reg */
12963     1, /* is_dest_reg */
12964     0, /* is_pc_relative */
12965     0, /* rightshift */
12966     create_Dest_X0, /* insert */
12967     get_Dest_X0  /* extract */
12968   },
12969   {
12970     TILE_OP_TYPE_ADDRESS, /* type */
12971     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12972     28, /* num_bits */
12973     1, /* is_signed */
12974     0, /* is_src_reg */
12975     0, /* is_dest_reg */
12976     1, /* is_pc_relative */
12977     TILE_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, /* rightshift */
12978     create_JOff_X1, /* insert */
12979     get_JOff_X1  /* extract */
12980   },
12981   {
12982     TILE_OP_TYPE_REGISTER, /* type */
12983     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12984     6, /* num_bits */
12985     0, /* is_signed */
12986     0, /* is_src_reg */
12987     1, /* is_dest_reg */
12988     0, /* is_pc_relative */
12989     0, /* rightshift */
12990     create_SrcBDest_Y2, /* insert */
12991     get_SrcBDest_Y2  /* extract */
12992   },
12993   {
12994     TILE_OP_TYPE_REGISTER, /* type */
12995     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
12996     6, /* num_bits */
12997     0, /* is_signed */
12998     1, /* is_src_reg */
12999     1, /* is_dest_reg */
13000     0, /* is_pc_relative */
13001     0, /* rightshift */
13002     create_SrcA_X1, /* insert */
13003     get_SrcA_X1  /* extract */
13004   },
13005   {
13006     TILE_OP_TYPE_SPR, /* type */
13007     MAYBE_BFD_RELOC(BFD_RELOC_TILE_MF_IMM15_X1), /* default_reloc */
13008     15, /* num_bits */
13009     0, /* is_signed */
13010     0, /* is_src_reg */
13011     0, /* is_dest_reg */
13012     0, /* is_pc_relative */
13013     0, /* rightshift */
13014     create_MF_Imm15_X1, /* insert */
13015     get_MF_Imm15_X1  /* extract */
13016   },
13017   {
13018     TILE_OP_TYPE_IMMEDIATE, /* type */
13019     MAYBE_BFD_RELOC(BFD_RELOC_TILE_MMSTART_X0), /* default_reloc */
13020     5, /* num_bits */
13021     0, /* is_signed */
13022     0, /* is_src_reg */
13023     0, /* is_dest_reg */
13024     0, /* is_pc_relative */
13025     0, /* rightshift */
13026     create_MMStart_X0, /* insert */
13027     get_MMStart_X0  /* extract */
13028   },
13029   {
13030     TILE_OP_TYPE_IMMEDIATE, /* type */
13031     MAYBE_BFD_RELOC(BFD_RELOC_TILE_MMEND_X0), /* default_reloc */
13032     5, /* num_bits */
13033     0, /* is_signed */
13034     0, /* is_src_reg */
13035     0, /* is_dest_reg */
13036     0, /* is_pc_relative */
13037     0, /* rightshift */
13038     create_MMEnd_X0, /* insert */
13039     get_MMEnd_X0  /* extract */
13040   },
13041   {
13042     TILE_OP_TYPE_IMMEDIATE, /* type */
13043     MAYBE_BFD_RELOC(BFD_RELOC_TILE_MMSTART_X1), /* default_reloc */
13044     5, /* num_bits */
13045     0, /* is_signed */
13046     0, /* is_src_reg */
13047     0, /* is_dest_reg */
13048     0, /* is_pc_relative */
13049     0, /* rightshift */
13050     create_MMStart_X1, /* insert */
13051     get_MMStart_X1  /* extract */
13052   },
13053   {
13054     TILE_OP_TYPE_IMMEDIATE, /* type */
13055     MAYBE_BFD_RELOC(BFD_RELOC_TILE_MMEND_X1), /* default_reloc */
13056     5, /* num_bits */
13057     0, /* is_signed */
13058     0, /* is_src_reg */
13059     0, /* is_dest_reg */
13060     0, /* is_pc_relative */
13061     0, /* rightshift */
13062     create_MMEnd_X1, /* insert */
13063     get_MMEnd_X1  /* extract */
13064   },
13065   {
13066     TILE_OP_TYPE_SPR, /* type */
13067     MAYBE_BFD_RELOC(BFD_RELOC_TILE_MT_IMM15_X1), /* default_reloc */
13068     15, /* num_bits */
13069     0, /* is_signed */
13070     0, /* is_src_reg */
13071     0, /* is_dest_reg */
13072     0, /* is_pc_relative */
13073     0, /* rightshift */
13074     create_MT_Imm15_X1, /* insert */
13075     get_MT_Imm15_X1  /* extract */
13076   },
13077   {
13078     TILE_OP_TYPE_REGISTER, /* type */
13079     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
13080     6, /* num_bits */
13081     0, /* is_signed */
13082     1, /* is_src_reg */
13083     1, /* is_dest_reg */
13084     0, /* is_pc_relative */
13085     0, /* rightshift */
13086     create_Dest_Y0, /* insert */
13087     get_Dest_Y0  /* extract */
13088   },
13089   {
13090     TILE_OP_TYPE_IMMEDIATE, /* type */
13091     MAYBE_BFD_RELOC(BFD_RELOC_TILE_SHAMT_X0), /* default_reloc */
13092     5, /* num_bits */
13093     0, /* is_signed */
13094     0, /* is_src_reg */
13095     0, /* is_dest_reg */
13096     0, /* is_pc_relative */
13097     0, /* rightshift */
13098     create_ShAmt_X0, /* insert */
13099     get_ShAmt_X0  /* extract */
13100   },
13101   {
13102     TILE_OP_TYPE_IMMEDIATE, /* type */
13103     MAYBE_BFD_RELOC(BFD_RELOC_TILE_SHAMT_X1), /* default_reloc */
13104     5, /* num_bits */
13105     0, /* is_signed */
13106     0, /* is_src_reg */
13107     0, /* is_dest_reg */
13108     0, /* is_pc_relative */
13109     0, /* rightshift */
13110     create_ShAmt_X1, /* insert */
13111     get_ShAmt_X1  /* extract */
13112   },
13113   {
13114     TILE_OP_TYPE_IMMEDIATE, /* type */
13115     MAYBE_BFD_RELOC(BFD_RELOC_TILE_SHAMT_Y0), /* default_reloc */
13116     5, /* num_bits */
13117     0, /* is_signed */
13118     0, /* is_src_reg */
13119     0, /* is_dest_reg */
13120     0, /* is_pc_relative */
13121     0, /* rightshift */
13122     create_ShAmt_Y0, /* insert */
13123     get_ShAmt_Y0  /* extract */
13124   },
13125   {
13126     TILE_OP_TYPE_IMMEDIATE, /* type */
13127     MAYBE_BFD_RELOC(BFD_RELOC_TILE_SHAMT_Y1), /* default_reloc */
13128     5, /* num_bits */
13129     0, /* is_signed */
13130     0, /* is_src_reg */
13131     0, /* is_dest_reg */
13132     0, /* is_pc_relative */
13133     0, /* rightshift */
13134     create_ShAmt_Y1, /* insert */
13135     get_ShAmt_Y1  /* extract */
13136   },
13137   {
13138     TILE_OP_TYPE_REGISTER, /* type */
13139     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
13140     6, /* num_bits */
13141     0, /* is_signed */
13142     1, /* is_src_reg */
13143     0, /* is_dest_reg */
13144     0, /* is_pc_relative */
13145     0, /* rightshift */
13146     create_SrcBDest_Y2, /* insert */
13147     get_SrcBDest_Y2  /* extract */
13148   },
13149   {
13150     TILE_OP_TYPE_IMMEDIATE, /* type */
13151     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
13152     8, /* num_bits */
13153     1, /* is_signed */
13154     0, /* is_src_reg */
13155     0, /* is_dest_reg */
13156     0, /* is_pc_relative */
13157     0, /* rightshift */
13158     create_Dest_Imm8_X1, /* insert */
13159     get_Dest_Imm8_X1  /* extract */
13160   },
13161   {
13162     TILE_OP_TYPE_ADDRESS, /* type */
13163     MAYBE_BFD_RELOC(BFD_RELOC_TILE_SN_BROFF), /* default_reloc */
13164     10, /* num_bits */
13165     1, /* is_signed */
13166     0, /* is_src_reg */
13167     0, /* is_dest_reg */
13168     1, /* is_pc_relative */
13169     TILE_LOG2_SN_INSTRUCTION_SIZE_IN_BYTES, /* rightshift */
13170     create_BrOff_SN, /* insert */
13171     get_BrOff_SN  /* extract */
13172   },
13173   {
13174     TILE_OP_TYPE_IMMEDIATE, /* type */
13175     MAYBE_BFD_RELOC(BFD_RELOC_TILE_SN_UIMM8), /* default_reloc */
13176     8, /* num_bits */
13177     0, /* is_signed */
13178     0, /* is_src_reg */
13179     0, /* is_dest_reg */
13180     0, /* is_pc_relative */
13181     0, /* rightshift */
13182     create_Imm8_SN, /* insert */
13183     get_Imm8_SN  /* extract */
13184   },
13185   {
13186     TILE_OP_TYPE_IMMEDIATE, /* type */
13187     MAYBE_BFD_RELOC(BFD_RELOC_TILE_SN_IMM8), /* default_reloc */
13188     8, /* num_bits */
13189     1, /* is_signed */
13190     0, /* is_src_reg */
13191     0, /* is_dest_reg */
13192     0, /* is_pc_relative */
13193     0, /* rightshift */
13194     create_Imm8_SN, /* insert */
13195     get_Imm8_SN  /* extract */
13196   },
13197   {
13198     TILE_OP_TYPE_REGISTER, /* type */
13199     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
13200     2, /* num_bits */
13201     0, /* is_signed */
13202     0, /* is_src_reg */
13203     1, /* is_dest_reg */
13204     0, /* is_pc_relative */
13205     0, /* rightshift */
13206     create_Dest_SN, /* insert */
13207     get_Dest_SN  /* extract */
13208   },
13209   {
13210     TILE_OP_TYPE_REGISTER, /* type */
13211     MAYBE_BFD_RELOC(BFD_RELOC_NONE), /* default_reloc */
13212     2, /* num_bits */
13213     0, /* is_signed */
13214     1, /* is_src_reg */
13215     0, /* is_dest_reg */
13216     0, /* is_pc_relative */
13217     0, /* rightshift */
13218     create_Src_SN, /* insert */
13219     get_Src_SN  /* extract */
13220   }
13221 };
13222
13223 const struct tile_spr tile_sprs[] = {
13224   { 0, "MPL_ITLB_MISS_SET_0" },
13225   { 1, "MPL_ITLB_MISS_SET_1" },
13226   { 2, "MPL_ITLB_MISS_SET_2" },
13227   { 3, "MPL_ITLB_MISS_SET_3" },
13228   { 4, "MPL_ITLB_MISS" },
13229   { 256, "ITLB_CURRENT_0" },
13230   { 257, "ITLB_CURRENT_1" },
13231   { 258, "ITLB_CURRENT_2" },
13232   { 259, "ITLB_CURRENT_3" },
13233   { 260, "ITLB_INDEX" },
13234   { 261, "ITLB_MATCH_0" },
13235   { 262, "ITLB_PR" },
13236   { 263, "NUMBER_ITLB" },
13237   { 264, "REPLACEMENT_ITLB" },
13238   { 265, "WIRED_ITLB" },
13239   { 266, "ITLB_PERF" },
13240   { 512, "MPL_MEM_ERROR_SET_0" },
13241   { 513, "MPL_MEM_ERROR_SET_1" },
13242   { 514, "MPL_MEM_ERROR_SET_2" },
13243   { 515, "MPL_MEM_ERROR_SET_3" },
13244   { 516, "MPL_MEM_ERROR" },
13245   { 517, "L1_I_ERROR" },
13246   { 518, "MEM_ERROR_CBOX_ADDR" },
13247   { 519, "MEM_ERROR_CBOX_STATUS" },
13248   { 520, "MEM_ERROR_ENABLE" },
13249   { 521, "MEM_ERROR_MBOX_ADDR" },
13250   { 522, "MEM_ERROR_MBOX_STATUS" },
13251   { 523, "SNIC_ERROR_LOG_STATUS" },
13252   { 524, "SNIC_ERROR_LOG_VA" },
13253   { 525, "XDN_DEMUX_ERROR" },
13254   { 1024, "MPL_ILL_SET_0" },
13255   { 1025, "MPL_ILL_SET_1" },
13256   { 1026, "MPL_ILL_SET_2" },
13257   { 1027, "MPL_ILL_SET_3" },
13258   { 1028, "MPL_ILL" },
13259   { 1536, "MPL_GPV_SET_0" },
13260   { 1537, "MPL_GPV_SET_1" },
13261   { 1538, "MPL_GPV_SET_2" },
13262   { 1539, "MPL_GPV_SET_3" },
13263   { 1540, "MPL_GPV" },
13264   { 1541, "GPV_REASON" },
13265   { 2048, "MPL_SN_ACCESS_SET_0" },
13266   { 2049, "MPL_SN_ACCESS_SET_1" },
13267   { 2050, "MPL_SN_ACCESS_SET_2" },
13268   { 2051, "MPL_SN_ACCESS_SET_3" },
13269   { 2052, "MPL_SN_ACCESS" },
13270   { 2053, "SNCTL" },
13271   { 2054, "SNFIFO_DATA" },
13272   { 2055, "SNFIFO_SEL" },
13273   { 2056, "SNIC_INVADDR" },
13274   { 2057, "SNISTATE" },
13275   { 2058, "SNOSTATE" },
13276   { 2059, "SNPC" },
13277   { 2060, "SNSTATIC" },
13278   { 2304, "SN_DATA_AVAIL" },
13279   { 2560, "MPL_IDN_ACCESS_SET_0" },
13280   { 2561, "MPL_IDN_ACCESS_SET_1" },
13281   { 2562, "MPL_IDN_ACCESS_SET_2" },
13282   { 2563, "MPL_IDN_ACCESS_SET_3" },
13283   { 2564, "MPL_IDN_ACCESS" },
13284   { 2565, "IDN_DEMUX_CA_COUNT" },
13285   { 2566, "IDN_DEMUX_COUNT_0" },
13286   { 2567, "IDN_DEMUX_COUNT_1" },
13287   { 2568, "IDN_DEMUX_CTL" },
13288   { 2569, "IDN_DEMUX_CURR_TAG" },
13289   { 2570, "IDN_DEMUX_QUEUE_SEL" },
13290   { 2571, "IDN_DEMUX_STATUS" },
13291   { 2572, "IDN_DEMUX_WRITE_FIFO" },
13292   { 2573, "IDN_DEMUX_WRITE_QUEUE" },
13293   { 2574, "IDN_PENDING" },
13294   { 2575, "IDN_SP_FIFO_DATA" },
13295   { 2576, "IDN_SP_FIFO_SEL" },
13296   { 2577, "IDN_SP_FREEZE" },
13297   { 2578, "IDN_SP_STATE" },
13298   { 2579, "IDN_TAG_0" },
13299   { 2580, "IDN_TAG_1" },
13300   { 2581, "IDN_TAG_VALID" },
13301   { 2582, "IDN_TILE_COORD" },
13302   { 2816, "IDN_CA_DATA" },
13303   { 2817, "IDN_CA_REM" },
13304   { 2818, "IDN_CA_TAG" },
13305   { 2819, "IDN_DATA_AVAIL" },
13306   { 3072, "MPL_UDN_ACCESS_SET_0" },
13307   { 3073, "MPL_UDN_ACCESS_SET_1" },
13308   { 3074, "MPL_UDN_ACCESS_SET_2" },
13309   { 3075, "MPL_UDN_ACCESS_SET_3" },
13310   { 3076, "MPL_UDN_ACCESS" },
13311   { 3077, "UDN_DEMUX_CA_COUNT" },
13312   { 3078, "UDN_DEMUX_COUNT_0" },
13313   { 3079, "UDN_DEMUX_COUNT_1" },
13314   { 3080, "UDN_DEMUX_COUNT_2" },
13315   { 3081, "UDN_DEMUX_COUNT_3" },
13316   { 3082, "UDN_DEMUX_CTL" },
13317   { 3083, "UDN_DEMUX_CURR_TAG" },
13318   { 3084, "UDN_DEMUX_QUEUE_SEL" },
13319   { 3085, "UDN_DEMUX_STATUS" },
13320   { 3086, "UDN_DEMUX_WRITE_FIFO" },
13321   { 3087, "UDN_DEMUX_WRITE_QUEUE" },
13322   { 3088, "UDN_PENDING" },
13323   { 3089, "UDN_SP_FIFO_DATA" },
13324   { 3090, "UDN_SP_FIFO_SEL" },
13325   { 3091, "UDN_SP_FREEZE" },
13326   { 3092, "UDN_SP_STATE" },
13327   { 3093, "UDN_TAG_0" },
13328   { 3094, "UDN_TAG_1" },
13329   { 3095, "UDN_TAG_2" },
13330   { 3096, "UDN_TAG_3" },
13331   { 3097, "UDN_TAG_VALID" },
13332   { 3098, "UDN_TILE_COORD" },
13333   { 3328, "UDN_CA_DATA" },
13334   { 3329, "UDN_CA_REM" },
13335   { 3330, "UDN_CA_TAG" },
13336   { 3331, "UDN_DATA_AVAIL" },
13337   { 3584, "MPL_IDN_REFILL_SET_0" },
13338   { 3585, "MPL_IDN_REFILL_SET_1" },
13339   { 3586, "MPL_IDN_REFILL_SET_2" },
13340   { 3587, "MPL_IDN_REFILL_SET_3" },
13341   { 3588, "MPL_IDN_REFILL" },
13342   { 3589, "IDN_REFILL_EN" },
13343   { 4096, "MPL_UDN_REFILL_SET_0" },
13344   { 4097, "MPL_UDN_REFILL_SET_1" },
13345   { 4098, "MPL_UDN_REFILL_SET_2" },
13346   { 4099, "MPL_UDN_REFILL_SET_3" },
13347   { 4100, "MPL_UDN_REFILL" },
13348   { 4101, "UDN_REFILL_EN" },
13349   { 4608, "MPL_IDN_COMPLETE_SET_0" },
13350   { 4609, "MPL_IDN_COMPLETE_SET_1" },
13351   { 4610, "MPL_IDN_COMPLETE_SET_2" },
13352   { 4611, "MPL_IDN_COMPLETE_SET_3" },
13353   { 4612, "MPL_IDN_COMPLETE" },
13354   { 4613, "IDN_REMAINING" },
13355   { 5120, "MPL_UDN_COMPLETE_SET_0" },
13356   { 5121, "MPL_UDN_COMPLETE_SET_1" },
13357   { 5122, "MPL_UDN_COMPLETE_SET_2" },
13358   { 5123, "MPL_UDN_COMPLETE_SET_3" },
13359   { 5124, "MPL_UDN_COMPLETE" },
13360   { 5125, "UDN_REMAINING" },
13361   { 5632, "MPL_SWINT_3_SET_0" },
13362   { 5633, "MPL_SWINT_3_SET_1" },
13363   { 5634, "MPL_SWINT_3_SET_2" },
13364   { 5635, "MPL_SWINT_3_SET_3" },
13365   { 5636, "MPL_SWINT_3" },
13366   { 6144, "MPL_SWINT_2_SET_0" },
13367   { 6145, "MPL_SWINT_2_SET_1" },
13368   { 6146, "MPL_SWINT_2_SET_2" },
13369   { 6147, "MPL_SWINT_2_SET_3" },
13370   { 6148, "MPL_SWINT_2" },
13371   { 6656, "MPL_SWINT_1_SET_0" },
13372   { 6657, "MPL_SWINT_1_SET_1" },
13373   { 6658, "MPL_SWINT_1_SET_2" },
13374   { 6659, "MPL_SWINT_1_SET_3" },
13375   { 6660, "MPL_SWINT_1" },
13376   { 7168, "MPL_SWINT_0_SET_0" },
13377   { 7169, "MPL_SWINT_0_SET_1" },
13378   { 7170, "MPL_SWINT_0_SET_2" },
13379   { 7171, "MPL_SWINT_0_SET_3" },
13380   { 7172, "MPL_SWINT_0" },
13381   { 7680, "MPL_UNALIGN_DATA_SET_0" },
13382   { 7681, "MPL_UNALIGN_DATA_SET_1" },
13383   { 7682, "MPL_UNALIGN_DATA_SET_2" },
13384   { 7683, "MPL_UNALIGN_DATA_SET_3" },
13385   { 7684, "MPL_UNALIGN_DATA" },
13386   { 8192, "MPL_DTLB_MISS_SET_0" },
13387   { 8193, "MPL_DTLB_MISS_SET_1" },
13388   { 8194, "MPL_DTLB_MISS_SET_2" },
13389   { 8195, "MPL_DTLB_MISS_SET_3" },
13390   { 8196, "MPL_DTLB_MISS" },
13391   { 8448, "AER_0" },
13392   { 8449, "AER_1" },
13393   { 8450, "DTLB_BAD_ADDR" },
13394   { 8451, "DTLB_BAD_ADDR_REASON" },
13395   { 8452, "DTLB_CURRENT_0" },
13396   { 8453, "DTLB_CURRENT_1" },
13397   { 8454, "DTLB_CURRENT_2" },
13398   { 8455, "DTLB_CURRENT_3" },
13399   { 8456, "DTLB_INDEX" },
13400   { 8457, "DTLB_MATCH_0" },
13401   { 8458, "NUMBER_DTLB" },
13402   { 8459, "PHYSICAL_MEMORY_MODE" },
13403   { 8460, "REPLACEMENT_DTLB" },
13404   { 8461, "WIRED_DTLB" },
13405   { 8462, "CACHE_RED_WAY_OVERRIDDEN" },
13406   { 8463, "DTLB_PERF" },
13407   { 8704, "MPL_DTLB_ACCESS_SET_0" },
13408   { 8705, "MPL_DTLB_ACCESS_SET_1" },
13409   { 8706, "MPL_DTLB_ACCESS_SET_2" },
13410   { 8707, "MPL_DTLB_ACCESS_SET_3" },
13411   { 8708, "MPL_DTLB_ACCESS" },
13412   { 9216, "MPL_DMATLB_MISS_SET_0" },
13413   { 9217, "MPL_DMATLB_MISS_SET_1" },
13414   { 9218, "MPL_DMATLB_MISS_SET_2" },
13415   { 9219, "MPL_DMATLB_MISS_SET_3" },
13416   { 9220, "MPL_DMATLB_MISS" },
13417   { 9472, "DMA_BAD_ADDR" },
13418   { 9473, "DMA_STATUS" },
13419   { 9728, "MPL_DMATLB_ACCESS_SET_0" },
13420   { 9729, "MPL_DMATLB_ACCESS_SET_1" },
13421   { 9730, "MPL_DMATLB_ACCESS_SET_2" },
13422   { 9731, "MPL_DMATLB_ACCESS_SET_3" },
13423   { 9732, "MPL_DMATLB_ACCESS" },
13424   { 10240, "MPL_SNITLB_MISS_SET_0" },
13425   { 10241, "MPL_SNITLB_MISS_SET_1" },
13426   { 10242, "MPL_SNITLB_MISS_SET_2" },
13427   { 10243, "MPL_SNITLB_MISS_SET_3" },
13428   { 10244, "MPL_SNITLB_MISS" },
13429   { 10245, "NUMBER_SNITLB" },
13430   { 10246, "REPLACEMENT_SNITLB" },
13431   { 10247, "SNITLB_CURRENT_0" },
13432   { 10248, "SNITLB_CURRENT_1" },
13433   { 10249, "SNITLB_CURRENT_2" },
13434   { 10250, "SNITLB_CURRENT_3" },
13435   { 10251, "SNITLB_INDEX" },
13436   { 10252, "SNITLB_MATCH_0" },
13437   { 10253, "SNITLB_PR" },
13438   { 10254, "WIRED_SNITLB" },
13439   { 10255, "SNITLB_STATUS" },
13440   { 10752, "MPL_SN_NOTIFY_SET_0" },
13441   { 10753, "MPL_SN_NOTIFY_SET_1" },
13442   { 10754, "MPL_SN_NOTIFY_SET_2" },
13443   { 10755, "MPL_SN_NOTIFY_SET_3" },
13444   { 10756, "MPL_SN_NOTIFY" },
13445   { 10757, "SN_NOTIFY_STATUS" },
13446   { 11264, "MPL_SN_FIREWALL_SET_0" },
13447   { 11265, "MPL_SN_FIREWALL_SET_1" },
13448   { 11266, "MPL_SN_FIREWALL_SET_2" },
13449   { 11267, "MPL_SN_FIREWALL_SET_3" },
13450   { 11268, "MPL_SN_FIREWALL" },
13451   { 11269, "SN_DIRECTION_PROTECT" },
13452   { 11776, "MPL_IDN_FIREWALL_SET_0" },
13453   { 11777, "MPL_IDN_FIREWALL_SET_1" },
13454   { 11778, "MPL_IDN_FIREWALL_SET_2" },
13455   { 11779, "MPL_IDN_FIREWALL_SET_3" },
13456   { 11780, "MPL_IDN_FIREWALL" },
13457   { 11781, "IDN_DIRECTION_PROTECT" },
13458   { 12288, "MPL_UDN_FIREWALL_SET_0" },
13459   { 12289, "MPL_UDN_FIREWALL_SET_1" },
13460   { 12290, "MPL_UDN_FIREWALL_SET_2" },
13461   { 12291, "MPL_UDN_FIREWALL_SET_3" },
13462   { 12292, "MPL_UDN_FIREWALL" },
13463   { 12293, "UDN_DIRECTION_PROTECT" },
13464   { 12800, "MPL_TILE_TIMER_SET_0" },
13465   { 12801, "MPL_TILE_TIMER_SET_1" },
13466   { 12802, "MPL_TILE_TIMER_SET_2" },
13467   { 12803, "MPL_TILE_TIMER_SET_3" },
13468   { 12804, "MPL_TILE_TIMER" },
13469   { 12805, "TILE_TIMER_CONTROL" },
13470   { 13312, "MPL_IDN_TIMER_SET_0" },
13471   { 13313, "MPL_IDN_TIMER_SET_1" },
13472   { 13314, "MPL_IDN_TIMER_SET_2" },
13473   { 13315, "MPL_IDN_TIMER_SET_3" },
13474   { 13316, "MPL_IDN_TIMER" },
13475   { 13317, "IDN_DEADLOCK_COUNT" },
13476   { 13318, "IDN_DEADLOCK_TIMEOUT" },
13477   { 13824, "MPL_UDN_TIMER_SET_0" },
13478   { 13825, "MPL_UDN_TIMER_SET_1" },
13479   { 13826, "MPL_UDN_TIMER_SET_2" },
13480   { 13827, "MPL_UDN_TIMER_SET_3" },
13481   { 13828, "MPL_UDN_TIMER" },
13482   { 13829, "UDN_DEADLOCK_COUNT" },
13483   { 13830, "UDN_DEADLOCK_TIMEOUT" },
13484   { 14336, "MPL_DMA_NOTIFY_SET_0" },
13485   { 14337, "MPL_DMA_NOTIFY_SET_1" },
13486   { 14338, "MPL_DMA_NOTIFY_SET_2" },
13487   { 14339, "MPL_DMA_NOTIFY_SET_3" },
13488   { 14340, "MPL_DMA_NOTIFY" },
13489   { 14592, "DMA_BYTE" },
13490   { 14593, "DMA_CHUNK_SIZE" },
13491   { 14594, "DMA_CTR" },
13492   { 14595, "DMA_DST_ADDR" },
13493   { 14596, "DMA_DST_CHUNK_ADDR" },
13494   { 14597, "DMA_SRC_ADDR" },
13495   { 14598, "DMA_SRC_CHUNK_ADDR" },
13496   { 14599, "DMA_STRIDE" },
13497   { 14600, "DMA_USER_STATUS" },
13498   { 14848, "MPL_IDN_CA_SET_0" },
13499   { 14849, "MPL_IDN_CA_SET_1" },
13500   { 14850, "MPL_IDN_CA_SET_2" },
13501   { 14851, "MPL_IDN_CA_SET_3" },
13502   { 14852, "MPL_IDN_CA" },
13503   { 15360, "MPL_UDN_CA_SET_0" },
13504   { 15361, "MPL_UDN_CA_SET_1" },
13505   { 15362, "MPL_UDN_CA_SET_2" },
13506   { 15363, "MPL_UDN_CA_SET_3" },
13507   { 15364, "MPL_UDN_CA" },
13508   { 15872, "MPL_IDN_AVAIL_SET_0" },
13509   { 15873, "MPL_IDN_AVAIL_SET_1" },
13510   { 15874, "MPL_IDN_AVAIL_SET_2" },
13511   { 15875, "MPL_IDN_AVAIL_SET_3" },
13512   { 15876, "MPL_IDN_AVAIL" },
13513   { 15877, "IDN_AVAIL_EN" },
13514   { 16384, "MPL_UDN_AVAIL_SET_0" },
13515   { 16385, "MPL_UDN_AVAIL_SET_1" },
13516   { 16386, "MPL_UDN_AVAIL_SET_2" },
13517   { 16387, "MPL_UDN_AVAIL_SET_3" },
13518   { 16388, "MPL_UDN_AVAIL" },
13519   { 16389, "UDN_AVAIL_EN" },
13520   { 16896, "MPL_PERF_COUNT_SET_0" },
13521   { 16897, "MPL_PERF_COUNT_SET_1" },
13522   { 16898, "MPL_PERF_COUNT_SET_2" },
13523   { 16899, "MPL_PERF_COUNT_SET_3" },
13524   { 16900, "MPL_PERF_COUNT" },
13525   { 16901, "PERF_COUNT_0" },
13526   { 16902, "PERF_COUNT_1" },
13527   { 16903, "PERF_COUNT_CTL" },
13528   { 16904, "PERF_COUNT_STS" },
13529   { 16905, "WATCH_CTL" },
13530   { 16906, "WATCH_MASK" },
13531   { 16907, "WATCH_VAL" },
13532   { 16912, "PERF_COUNT_DN_CTL" },
13533   { 17408, "MPL_INTCTRL_3_SET_0" },
13534   { 17409, "MPL_INTCTRL_3_SET_1" },
13535   { 17410, "MPL_INTCTRL_3_SET_2" },
13536   { 17411, "MPL_INTCTRL_3_SET_3" },
13537   { 17412, "MPL_INTCTRL_3" },
13538   { 17413, "EX_CONTEXT_3_0" },
13539   { 17414, "EX_CONTEXT_3_1" },
13540   { 17415, "INTERRUPT_MASK_3_0" },
13541   { 17416, "INTERRUPT_MASK_3_1" },
13542   { 17417, "INTERRUPT_MASK_RESET_3_0" },
13543   { 17418, "INTERRUPT_MASK_RESET_3_1" },
13544   { 17419, "INTERRUPT_MASK_SET_3_0" },
13545   { 17420, "INTERRUPT_MASK_SET_3_1" },
13546   { 17432, "INTCTRL_3_STATUS" },
13547   { 17664, "SYSTEM_SAVE_3_0" },
13548   { 17665, "SYSTEM_SAVE_3_1" },
13549   { 17666, "SYSTEM_SAVE_3_2" },
13550   { 17667, "SYSTEM_SAVE_3_3" },
13551   { 17920, "MPL_INTCTRL_2_SET_0" },
13552   { 17921, "MPL_INTCTRL_2_SET_1" },
13553   { 17922, "MPL_INTCTRL_2_SET_2" },
13554   { 17923, "MPL_INTCTRL_2_SET_3" },
13555   { 17924, "MPL_INTCTRL_2" },
13556   { 17925, "EX_CONTEXT_2_0" },
13557   { 17926, "EX_CONTEXT_2_1" },
13558   { 17927, "INTCTRL_2_STATUS" },
13559   { 17928, "INTERRUPT_MASK_2_0" },
13560   { 17929, "INTERRUPT_MASK_2_1" },
13561   { 17930, "INTERRUPT_MASK_RESET_2_0" },
13562   { 17931, "INTERRUPT_MASK_RESET_2_1" },
13563   { 17932, "INTERRUPT_MASK_SET_2_0" },
13564   { 17933, "INTERRUPT_MASK_SET_2_1" },
13565   { 18176, "SYSTEM_SAVE_2_0" },
13566   { 18177, "SYSTEM_SAVE_2_1" },
13567   { 18178, "SYSTEM_SAVE_2_2" },
13568   { 18179, "SYSTEM_SAVE_2_3" },
13569   { 18432, "MPL_INTCTRL_1_SET_0" },
13570   { 18433, "MPL_INTCTRL_1_SET_1" },
13571   { 18434, "MPL_INTCTRL_1_SET_2" },
13572   { 18435, "MPL_INTCTRL_1_SET_3" },
13573   { 18436, "MPL_INTCTRL_1" },
13574   { 18437, "EX_CONTEXT_1_0" },
13575   { 18438, "EX_CONTEXT_1_1" },
13576   { 18439, "INTCTRL_1_STATUS" },
13577   { 18440, "INTCTRL_3_STATUS_REV0" },
13578   { 18441, "INTERRUPT_MASK_1_0" },
13579   { 18442, "INTERRUPT_MASK_1_1" },
13580   { 18443, "INTERRUPT_MASK_RESET_1_0" },
13581   { 18444, "INTERRUPT_MASK_RESET_1_1" },
13582   { 18445, "INTERRUPT_MASK_SET_1_0" },
13583   { 18446, "INTERRUPT_MASK_SET_1_1" },
13584   { 18688, "SYSTEM_SAVE_1_0" },
13585   { 18689, "SYSTEM_SAVE_1_1" },
13586   { 18690, "SYSTEM_SAVE_1_2" },
13587   { 18691, "SYSTEM_SAVE_1_3" },
13588   { 18944, "MPL_INTCTRL_0_SET_0" },
13589   { 18945, "MPL_INTCTRL_0_SET_1" },
13590   { 18946, "MPL_INTCTRL_0_SET_2" },
13591   { 18947, "MPL_INTCTRL_0_SET_3" },
13592   { 18948, "MPL_INTCTRL_0" },
13593   { 18949, "EX_CONTEXT_0_0" },
13594   { 18950, "EX_CONTEXT_0_1" },
13595   { 18951, "INTCTRL_0_STATUS" },
13596   { 18952, "INTERRUPT_MASK_0_0" },
13597   { 18953, "INTERRUPT_MASK_0_1" },
13598   { 18954, "INTERRUPT_MASK_RESET_0_0" },
13599   { 18955, "INTERRUPT_MASK_RESET_0_1" },
13600   { 18956, "INTERRUPT_MASK_SET_0_0" },
13601   { 18957, "INTERRUPT_MASK_SET_0_1" },
13602   { 19200, "SYSTEM_SAVE_0_0" },
13603   { 19201, "SYSTEM_SAVE_0_1" },
13604   { 19202, "SYSTEM_SAVE_0_2" },
13605   { 19203, "SYSTEM_SAVE_0_3" },
13606   { 19456, "MPL_BOOT_ACCESS_SET_0" },
13607   { 19457, "MPL_BOOT_ACCESS_SET_1" },
13608   { 19458, "MPL_BOOT_ACCESS_SET_2" },
13609   { 19459, "MPL_BOOT_ACCESS_SET_3" },
13610   { 19460, "MPL_BOOT_ACCESS" },
13611   { 19461, "CBOX_CACHEASRAM_CONFIG" },
13612   { 19462, "CBOX_CACHE_CONFIG" },
13613   { 19463, "CBOX_MMAP_0" },
13614   { 19464, "CBOX_MMAP_1" },
13615   { 19465, "CBOX_MMAP_2" },
13616   { 19466, "CBOX_MMAP_3" },
13617   { 19467, "CBOX_MSR" },
13618   { 19468, "CBOX_SRC_ID" },
13619   { 19469, "CYCLE_HIGH_MODIFY" },
13620   { 19470, "CYCLE_LOW_MODIFY" },
13621   { 19471, "DIAG_BCST_CTL" },
13622   { 19472, "DIAG_BCST_MASK" },
13623   { 19473, "DIAG_BCST_TRIGGER" },
13624   { 19474, "DIAG_MUX_CTL" },
13625   { 19475, "DIAG_TRACE_CTL" },
13626   { 19476, "DIAG_TRACE_STS" },
13627   { 19477, "IDN_DEMUX_BUF_THRESH" },
13628   { 19478, "SBOX_CONFIG" },
13629   { 19479, "TILE_COORD" },
13630   { 19480, "UDN_DEMUX_BUF_THRESH" },
13631   { 19481, "CBOX_HOME_MAP_ADDR" },
13632   { 19482, "CBOX_HOME_MAP_DATA" },
13633   { 19483, "CBOX_MSR1" },
13634   { 19484, "BIG_ENDIAN_CONFIG" },
13635   { 19485, "MEM_STRIPE_CONFIG" },
13636   { 19486, "DIAG_TRACE_WAY" },
13637   { 19487, "VDN_SNOOP_SHIM_CTL" },
13638   { 19488, "PERF_COUNT_PLS" },
13639   { 19489, "DIAG_TRACE_DATA" },
13640   { 19712, "I_AER_0" },
13641   { 19713, "I_AER_1" },
13642   { 19714, "I_PHYSICAL_MEMORY_MODE" },
13643   { 19968, "MPL_WORLD_ACCESS_SET_0" },
13644   { 19969, "MPL_WORLD_ACCESS_SET_1" },
13645   { 19970, "MPL_WORLD_ACCESS_SET_2" },
13646   { 19971, "MPL_WORLD_ACCESS_SET_3" },
13647   { 19972, "MPL_WORLD_ACCESS" },
13648   { 19973, "SIM_SOCKET" },
13649   { 19974, "CYCLE_HIGH" },
13650   { 19975, "CYCLE_LOW" },
13651   { 19976, "DONE" },
13652   { 19977, "FAIL" },
13653   { 19978, "INTERRUPT_CRITICAL_SECTION" },
13654   { 19979, "PASS" },
13655   { 19980, "SIM_CONTROL" },
13656   { 19981, "EVENT_BEGIN" },
13657   { 19982, "EVENT_END" },
13658   { 19983, "TILE_WRITE_PENDING" },
13659   { 19984, "TILE_RTF_HWM" },
13660   { 20224, "PROC_STATUS" },
13661   { 20225, "STATUS_SATURATE" },
13662   { 20480, "MPL_I_ASID_SET_0" },
13663   { 20481, "MPL_I_ASID_SET_1" },
13664   { 20482, "MPL_I_ASID_SET_2" },
13665   { 20483, "MPL_I_ASID_SET_3" },
13666   { 20484, "MPL_I_ASID" },
13667   { 20485, "I_ASID" },
13668   { 20992, "MPL_D_ASID_SET_0" },
13669   { 20993, "MPL_D_ASID_SET_1" },
13670   { 20994, "MPL_D_ASID_SET_2" },
13671   { 20995, "MPL_D_ASID_SET_3" },
13672   { 20996, "MPL_D_ASID" },
13673   { 20997, "D_ASID" },
13674   { 21504, "MPL_DMA_ASID_SET_0" },
13675   { 21505, "MPL_DMA_ASID_SET_1" },
13676   { 21506, "MPL_DMA_ASID_SET_2" },
13677   { 21507, "MPL_DMA_ASID_SET_3" },
13678   { 21508, "MPL_DMA_ASID" },
13679   { 21509, "DMA_ASID" },
13680   { 22016, "MPL_SNI_ASID_SET_0" },
13681   { 22017, "MPL_SNI_ASID_SET_1" },
13682   { 22018, "MPL_SNI_ASID_SET_2" },
13683   { 22019, "MPL_SNI_ASID_SET_3" },
13684   { 22020, "MPL_SNI_ASID" },
13685   { 22021, "SNI_ASID" },
13686   { 22528, "MPL_DMA_CPL_SET_0" },
13687   { 22529, "MPL_DMA_CPL_SET_1" },
13688   { 22530, "MPL_DMA_CPL_SET_2" },
13689   { 22531, "MPL_DMA_CPL_SET_3" },
13690   { 22532, "MPL_DMA_CPL" },
13691   { 23040, "MPL_SN_CPL_SET_0" },
13692   { 23041, "MPL_SN_CPL_SET_1" },
13693   { 23042, "MPL_SN_CPL_SET_2" },
13694   { 23043, "MPL_SN_CPL_SET_3" },
13695   { 23044, "MPL_SN_CPL" },
13696   { 23552, "MPL_DOUBLE_FAULT_SET_0" },
13697   { 23553, "MPL_DOUBLE_FAULT_SET_1" },
13698   { 23554, "MPL_DOUBLE_FAULT_SET_2" },
13699   { 23555, "MPL_DOUBLE_FAULT_SET_3" },
13700   { 23556, "MPL_DOUBLE_FAULT" },
13701   { 23557, "LAST_INTERRUPT_REASON" },
13702   { 24064, "MPL_SN_STATIC_ACCESS_SET_0" },
13703   { 24065, "MPL_SN_STATIC_ACCESS_SET_1" },
13704   { 24066, "MPL_SN_STATIC_ACCESS_SET_2" },
13705   { 24067, "MPL_SN_STATIC_ACCESS_SET_3" },
13706   { 24068, "MPL_SN_STATIC_ACCESS" },
13707   { 24069, "SN_STATIC_CTL" },
13708   { 24070, "SN_STATIC_FIFO_DATA" },
13709   { 24071, "SN_STATIC_FIFO_SEL" },
13710   { 24073, "SN_STATIC_ISTATE" },
13711   { 24074, "SN_STATIC_OSTATE" },
13712   { 24076, "SN_STATIC_STATIC" },
13713   { 24320, "SN_STATIC_DATA_AVAIL" },
13714   { 24576, "MPL_AUX_PERF_COUNT_SET_0" },
13715   { 24577, "MPL_AUX_PERF_COUNT_SET_1" },
13716   { 24578, "MPL_AUX_PERF_COUNT_SET_2" },
13717   { 24579, "MPL_AUX_PERF_COUNT_SET_3" },
13718   { 24580, "MPL_AUX_PERF_COUNT" },
13719   { 24581, "AUX_PERF_COUNT_0" },
13720   { 24582, "AUX_PERF_COUNT_1" },
13721   { 24583, "AUX_PERF_COUNT_CTL" },
13722   { 24584, "AUX_PERF_COUNT_STS" },
13723 };
13724
13725 const int tile_num_sprs = 499;
13726
13727
13728
13729
13730 /* Canonical name of each register. */
13731 const char *const tile_register_names[] =
13732 {
13733   "r0",   "r1",  "r2",  "r3",  "r4",  "r5",  "r6",  "r7",
13734   "r8",   "r9",  "r10", "r11", "r12", "r13", "r14", "r15",
13735   "r16",  "r17", "r18", "r19", "r20", "r21", "r22", "r23",
13736   "r24",  "r25", "r26", "r27", "r28", "r29", "r30", "r31",
13737   "r32",  "r33", "r34", "r35", "r36", "r37", "r38", "r39",
13738   "r40",  "r41", "r42", "r43", "r44", "r45", "r46", "r47",
13739   "r48",  "r49", "r50", "r51", "r52", "tp",  "sp",  "lr",
13740   "sn",  "idn0", "idn1", "udn0", "udn1", "udn2", "udn3", "zero"
13741 };
13742
13743
13744 /* Given a set of bundle bits and the lookup FSM for a specific pipe,
13745  * returns which instruction the bundle contains in that pipe.
13746  */
13747 static const struct tile_opcode *
13748 find_opcode(tile_bundle_bits bits, const unsigned short *table)
13749 {
13750   int index = 0;
13751
13752   while (1)
13753   {
13754     unsigned short bitspec = table[index];
13755     unsigned int bitfield =
13756       ((unsigned int)(bits >> (bitspec & 63))) & (bitspec >> 6);
13757
13758     unsigned short next = table[index + 1 + bitfield];
13759     if (next <= TILE_OPC_NONE)
13760       return &tile_opcodes[next];
13761
13762     index = next - TILE_OPC_NONE;
13763   }
13764 }
13765
13766
13767 int
13768 parse_insn_tile(tile_bundle_bits bits,
13769                 unsigned int pc,
13770                 struct tile_decoded_instruction
13771                 decoded[TILE_MAX_INSTRUCTIONS_PER_BUNDLE])
13772 {
13773   int num_instructions = 0;
13774   int pipe;
13775
13776   int min_pipe, max_pipe;
13777   if ((bits & TILE_BUNDLE_Y_ENCODING_MASK) == 0)
13778   {
13779     min_pipe = TILE_PIPELINE_X0;
13780     max_pipe = TILE_PIPELINE_X1;
13781   }
13782   else
13783   {
13784     min_pipe = TILE_PIPELINE_Y0;
13785     max_pipe = TILE_PIPELINE_Y2;
13786   }
13787
13788   /* For each pipe, find an instruction that fits. */
13789   for (pipe = min_pipe; pipe <= max_pipe; pipe++)
13790   {
13791     const struct tile_opcode *opc;
13792     struct tile_decoded_instruction *d;
13793     int i;
13794
13795     d = &decoded[num_instructions++];
13796     opc = find_opcode (bits, tile_bundle_decoder_fsms[pipe]);
13797     d->opcode = opc;
13798
13799     /* Decode each operand, sign extending, etc. as appropriate. */
13800     for (i = 0; i < opc->num_operands; i++)
13801     {
13802       const struct tile_operand *op =
13803         &tile_operands[opc->operands[pipe][i]];
13804       int opval = op->extract (bits);
13805       if (op->is_signed)
13806       {
13807         /* Sign-extend the operand. */
13808         int shift = (int)((sizeof(int) * 8) - op->num_bits);
13809         opval = (opval << shift) >> shift;
13810       }
13811
13812       /* Adjust PC-relative scaled branch offsets. */
13813       if (op->type == TILE_OP_TYPE_ADDRESS)
13814       {
13815         opval *= TILE_BUNDLE_SIZE_IN_BYTES;
13816         opval += (int)pc;
13817       }
13818
13819       /* Record the final value. */
13820       d->operands[i] = op;
13821       d->operand_values[i] = opval;
13822     }
13823   }
13824
13825   return num_instructions;
13826 }