Merge commit 'v2.6.37-rc1' into kbuild/kbuild
[pandora-kernel.git] / arch / tile / kernel / tile-desc_32.c
1 /* This define is BFD_RELOC_##x for real bfd, or -1 for everyone else. */
2 #define BFD_RELOC(x) -1
3
4 /* Special registers. */
5 #define TREG_LR 55
6 #define TREG_SN 56
7 #define TREG_ZERO 63
8
9 /* FIXME: Rename this. */
10 #include <asm/opcode-tile.h>
11
12 #include <linux/stddef.h>
13
14 const struct tile_opcode tile_opcodes[395] =
15 {
16  { "bpt", TILE_OPC_BPT, 0x2, 0, TREG_ZERO, 0,
17     { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
18   },
19   { "info", TILE_OPC_INFO, 0xf, 1, TREG_ZERO, 1,
20     { { 0 }, { 1 }, { 2 }, { 3 }, { 0, } },
21   },
22   { "infol", TILE_OPC_INFOL, 0x3, 1, TREG_ZERO, 1,
23     { { 4 }, { 5 }, { 0, }, { 0, }, { 0, } },
24   },
25   { "j", TILE_OPC_J, 0x2, 1, TREG_ZERO, 1,
26     { { 0, }, { 6 }, { 0, }, { 0, }, { 0, } },
27   },
28   { "jal", TILE_OPC_JAL, 0x2, 1, TREG_LR, 1,
29     { { 0, }, { 6 }, { 0, }, { 0, }, { 0, } },
30   },
31   { "move", TILE_OPC_MOVE, 0xf, 2, TREG_ZERO, 1,
32     { { 7, 8 }, { 9, 10 }, { 11, 12 }, { 13, 14 }, { 0, } },
33   },
34   { "move.sn", TILE_OPC_MOVE_SN, 0x3, 2, TREG_SN, 1,
35     { { 7, 8 }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
36   },
37   { "movei", TILE_OPC_MOVEI, 0xf, 2, TREG_ZERO, 1,
38     { { 7, 0 }, { 9, 1 }, { 11, 2 }, { 13, 3 }, { 0, } },
39   },
40   { "movei.sn", TILE_OPC_MOVEI_SN, 0x3, 2, TREG_SN, 1,
41     { { 7, 0 }, { 9, 1 }, { 0, }, { 0, }, { 0, } },
42   },
43   { "moveli", TILE_OPC_MOVELI, 0x3, 2, TREG_ZERO, 1,
44     { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
45   },
46   { "moveli.sn", TILE_OPC_MOVELI_SN, 0x3, 2, TREG_SN, 1,
47     { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
48   },
49   { "movelis", TILE_OPC_MOVELIS, 0x3, 2, TREG_SN, 1,
50     { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
51   },
52   { "prefetch", TILE_OPC_PREFETCH, 0x12, 1, TREG_ZERO, 1,
53     { { 0, }, { 10 }, { 0, }, { 0, }, { 15 } },
54   },
55   { "raise", TILE_OPC_RAISE, 0x2, 0, TREG_ZERO, 1,
56     { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
57   },
58   { "add", TILE_OPC_ADD, 0xf, 3, TREG_ZERO, 1,
59     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
60   },
61   { "add.sn", TILE_OPC_ADD_SN, 0x3, 3, TREG_SN, 1,
62     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
63   },
64   { "addb", TILE_OPC_ADDB, 0x3, 3, TREG_ZERO, 1,
65     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
66   },
67   { "addb.sn", TILE_OPC_ADDB_SN, 0x3, 3, TREG_SN, 1,
68     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
69   },
70   { "addbs_u", TILE_OPC_ADDBS_U, 0x3, 3, TREG_ZERO, 1,
71     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
72   },
73   { "addbs_u.sn", TILE_OPC_ADDBS_U_SN, 0x3, 3, TREG_SN, 1,
74     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
75   },
76   { "addh", TILE_OPC_ADDH, 0x3, 3, TREG_ZERO, 1,
77     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
78   },
79   { "addh.sn", TILE_OPC_ADDH_SN, 0x3, 3, TREG_SN, 1,
80     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
81   },
82   { "addhs", TILE_OPC_ADDHS, 0x3, 3, TREG_ZERO, 1,
83     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
84   },
85   { "addhs.sn", TILE_OPC_ADDHS_SN, 0x3, 3, TREG_SN, 1,
86     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
87   },
88   { "addi", TILE_OPC_ADDI, 0xf, 3, TREG_ZERO, 1,
89     { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
90   },
91   { "addi.sn", TILE_OPC_ADDI_SN, 0x3, 3, TREG_SN, 1,
92     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
93   },
94   { "addib", TILE_OPC_ADDIB, 0x3, 3, TREG_ZERO, 1,
95     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
96   },
97   { "addib.sn", TILE_OPC_ADDIB_SN, 0x3, 3, TREG_SN, 1,
98     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
99   },
100   { "addih", TILE_OPC_ADDIH, 0x3, 3, TREG_ZERO, 1,
101     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
102   },
103   { "addih.sn", TILE_OPC_ADDIH_SN, 0x3, 3, TREG_SN, 1,
104     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
105   },
106   { "addli", TILE_OPC_ADDLI, 0x3, 3, TREG_ZERO, 1,
107     { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
108   },
109   { "addli.sn", TILE_OPC_ADDLI_SN, 0x3, 3, TREG_SN, 1,
110     { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
111   },
112   { "addlis", TILE_OPC_ADDLIS, 0x3, 3, TREG_SN, 1,
113     { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
114   },
115   { "adds", TILE_OPC_ADDS, 0x3, 3, TREG_ZERO, 1,
116     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
117   },
118   { "adds.sn", TILE_OPC_ADDS_SN, 0x3, 3, TREG_SN, 1,
119     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
120   },
121   { "adiffb_u", TILE_OPC_ADIFFB_U, 0x1, 3, TREG_ZERO, 1,
122     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
123   },
124   { "adiffb_u.sn", TILE_OPC_ADIFFB_U_SN, 0x1, 3, TREG_SN, 1,
125     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
126   },
127   { "adiffh", TILE_OPC_ADIFFH, 0x1, 3, TREG_ZERO, 1,
128     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
129   },
130   { "adiffh.sn", TILE_OPC_ADIFFH_SN, 0x1, 3, TREG_SN, 1,
131     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
132   },
133   { "and", TILE_OPC_AND, 0xf, 3, TREG_ZERO, 1,
134     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
135   },
136   { "and.sn", TILE_OPC_AND_SN, 0x3, 3, TREG_SN, 1,
137     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
138   },
139   { "andi", TILE_OPC_ANDI, 0xf, 3, TREG_ZERO, 1,
140     { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
141   },
142   { "andi.sn", TILE_OPC_ANDI_SN, 0x3, 3, TREG_SN, 1,
143     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
144   },
145   { "auli", TILE_OPC_AULI, 0x3, 3, TREG_ZERO, 1,
146     { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
147   },
148   { "avgb_u", TILE_OPC_AVGB_U, 0x1, 3, TREG_ZERO, 1,
149     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
150   },
151   { "avgb_u.sn", TILE_OPC_AVGB_U_SN, 0x1, 3, TREG_SN, 1,
152     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
153   },
154   { "avgh", TILE_OPC_AVGH, 0x1, 3, TREG_ZERO, 1,
155     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
156   },
157   { "avgh.sn", TILE_OPC_AVGH_SN, 0x1, 3, TREG_SN, 1,
158     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
159   },
160   { "bbns", TILE_OPC_BBNS, 0x2, 2, TREG_ZERO, 1,
161     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
162   },
163   { "bbns.sn", TILE_OPC_BBNS_SN, 0x2, 2, TREG_SN, 1,
164     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
165   },
166   { "bbnst", TILE_OPC_BBNST, 0x2, 2, TREG_ZERO, 1,
167     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
168   },
169   { "bbnst.sn", TILE_OPC_BBNST_SN, 0x2, 2, TREG_SN, 1,
170     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
171   },
172   { "bbs", TILE_OPC_BBS, 0x2, 2, TREG_ZERO, 1,
173     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
174   },
175   { "bbs.sn", TILE_OPC_BBS_SN, 0x2, 2, TREG_SN, 1,
176     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
177   },
178   { "bbst", TILE_OPC_BBST, 0x2, 2, TREG_ZERO, 1,
179     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
180   },
181   { "bbst.sn", TILE_OPC_BBST_SN, 0x2, 2, TREG_SN, 1,
182     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
183   },
184   { "bgez", TILE_OPC_BGEZ, 0x2, 2, TREG_ZERO, 1,
185     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
186   },
187   { "bgez.sn", TILE_OPC_BGEZ_SN, 0x2, 2, TREG_SN, 1,
188     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
189   },
190   { "bgezt", TILE_OPC_BGEZT, 0x2, 2, TREG_ZERO, 1,
191     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
192   },
193   { "bgezt.sn", TILE_OPC_BGEZT_SN, 0x2, 2, TREG_SN, 1,
194     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
195   },
196   { "bgz", TILE_OPC_BGZ, 0x2, 2, TREG_ZERO, 1,
197     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
198   },
199   { "bgz.sn", TILE_OPC_BGZ_SN, 0x2, 2, TREG_SN, 1,
200     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
201   },
202   { "bgzt", TILE_OPC_BGZT, 0x2, 2, TREG_ZERO, 1,
203     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
204   },
205   { "bgzt.sn", TILE_OPC_BGZT_SN, 0x2, 2, TREG_SN, 1,
206     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
207   },
208   { "bitx", TILE_OPC_BITX, 0x5, 2, TREG_ZERO, 1,
209     { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
210   },
211   { "bitx.sn", TILE_OPC_BITX_SN, 0x1, 2, TREG_SN, 1,
212     { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
213   },
214   { "blez", TILE_OPC_BLEZ, 0x2, 2, TREG_ZERO, 1,
215     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
216   },
217   { "blez.sn", TILE_OPC_BLEZ_SN, 0x2, 2, TREG_SN, 1,
218     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
219   },
220   { "blezt", TILE_OPC_BLEZT, 0x2, 2, TREG_ZERO, 1,
221     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
222   },
223   { "blezt.sn", TILE_OPC_BLEZT_SN, 0x2, 2, TREG_SN, 1,
224     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
225   },
226   { "blz", TILE_OPC_BLZ, 0x2, 2, TREG_ZERO, 1,
227     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
228   },
229   { "blz.sn", TILE_OPC_BLZ_SN, 0x2, 2, TREG_SN, 1,
230     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
231   },
232   { "blzt", TILE_OPC_BLZT, 0x2, 2, TREG_ZERO, 1,
233     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
234   },
235   { "blzt.sn", TILE_OPC_BLZT_SN, 0x2, 2, TREG_SN, 1,
236     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
237   },
238   { "bnz", TILE_OPC_BNZ, 0x2, 2, TREG_ZERO, 1,
239     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
240   },
241   { "bnz.sn", TILE_OPC_BNZ_SN, 0x2, 2, TREG_SN, 1,
242     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
243   },
244   { "bnzt", TILE_OPC_BNZT, 0x2, 2, TREG_ZERO, 1,
245     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
246   },
247   { "bnzt.sn", TILE_OPC_BNZT_SN, 0x2, 2, TREG_SN, 1,
248     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
249   },
250   { "bytex", TILE_OPC_BYTEX, 0x5, 2, TREG_ZERO, 1,
251     { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
252   },
253   { "bytex.sn", TILE_OPC_BYTEX_SN, 0x1, 2, TREG_SN, 1,
254     { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
255   },
256   { "bz", TILE_OPC_BZ, 0x2, 2, TREG_ZERO, 1,
257     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
258   },
259   { "bz.sn", TILE_OPC_BZ_SN, 0x2, 2, TREG_SN, 1,
260     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
261   },
262   { "bzt", TILE_OPC_BZT, 0x2, 2, TREG_ZERO, 1,
263     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
264   },
265   { "bzt.sn", TILE_OPC_BZT_SN, 0x2, 2, TREG_SN, 1,
266     { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
267   },
268   { "clz", TILE_OPC_CLZ, 0x5, 2, TREG_ZERO, 1,
269     { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
270   },
271   { "clz.sn", TILE_OPC_CLZ_SN, 0x1, 2, TREG_SN, 1,
272     { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
273   },
274   { "crc32_32", TILE_OPC_CRC32_32, 0x1, 3, TREG_ZERO, 1,
275     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
276   },
277   { "crc32_32.sn", TILE_OPC_CRC32_32_SN, 0x1, 3, TREG_SN, 1,
278     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
279   },
280   { "crc32_8", TILE_OPC_CRC32_8, 0x1, 3, TREG_ZERO, 1,
281     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
282   },
283   { "crc32_8.sn", TILE_OPC_CRC32_8_SN, 0x1, 3, TREG_SN, 1,
284     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
285   },
286   { "ctz", TILE_OPC_CTZ, 0x5, 2, TREG_ZERO, 1,
287     { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
288   },
289   { "ctz.sn", TILE_OPC_CTZ_SN, 0x1, 2, TREG_SN, 1,
290     { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
291   },
292   { "drain", TILE_OPC_DRAIN, 0x2, 0, TREG_ZERO, 0,
293     { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
294   },
295   { "dtlbpr", TILE_OPC_DTLBPR, 0x2, 1, TREG_ZERO, 1,
296     { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
297   },
298   { "dword_align", TILE_OPC_DWORD_ALIGN, 0x1, 3, TREG_ZERO, 1,
299     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
300   },
301   { "dword_align.sn", TILE_OPC_DWORD_ALIGN_SN, 0x1, 3, TREG_SN, 1,
302     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
303   },
304   { "finv", TILE_OPC_FINV, 0x2, 1, TREG_ZERO, 1,
305     { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
306   },
307   { "flush", TILE_OPC_FLUSH, 0x2, 1, TREG_ZERO, 1,
308     { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
309   },
310   { "fnop", TILE_OPC_FNOP, 0xf, 0, TREG_ZERO, 1,
311     { {  }, {  }, {  }, {  }, { 0, } },
312   },
313   { "icoh", TILE_OPC_ICOH, 0x2, 1, TREG_ZERO, 1,
314     { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
315   },
316   { "ill", TILE_OPC_ILL, 0xa, 0, TREG_ZERO, 1,
317     { { 0, }, {  }, { 0, }, {  }, { 0, } },
318   },
319   { "inthb", TILE_OPC_INTHB, 0x3, 3, TREG_ZERO, 1,
320     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
321   },
322   { "inthb.sn", TILE_OPC_INTHB_SN, 0x3, 3, TREG_SN, 1,
323     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
324   },
325   { "inthh", TILE_OPC_INTHH, 0x3, 3, TREG_ZERO, 1,
326     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
327   },
328   { "inthh.sn", TILE_OPC_INTHH_SN, 0x3, 3, TREG_SN, 1,
329     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
330   },
331   { "intlb", TILE_OPC_INTLB, 0x3, 3, TREG_ZERO, 1,
332     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
333   },
334   { "intlb.sn", TILE_OPC_INTLB_SN, 0x3, 3, TREG_SN, 1,
335     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
336   },
337   { "intlh", TILE_OPC_INTLH, 0x3, 3, TREG_ZERO, 1,
338     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
339   },
340   { "intlh.sn", TILE_OPC_INTLH_SN, 0x3, 3, TREG_SN, 1,
341     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
342   },
343   { "inv", TILE_OPC_INV, 0x2, 1, TREG_ZERO, 1,
344     { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
345   },
346   { "iret", TILE_OPC_IRET, 0x2, 0, TREG_ZERO, 1,
347     { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
348   },
349   { "jalb", TILE_OPC_JALB, 0x2, 1, TREG_LR, 1,
350     { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
351   },
352   { "jalf", TILE_OPC_JALF, 0x2, 1, TREG_LR, 1,
353     { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
354   },
355   { "jalr", TILE_OPC_JALR, 0x2, 1, TREG_LR, 1,
356     { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
357   },
358   { "jalrp", TILE_OPC_JALRP, 0x2, 1, TREG_LR, 1,
359     { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
360   },
361   { "jb", TILE_OPC_JB, 0x2, 1, TREG_ZERO, 1,
362     { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
363   },
364   { "jf", TILE_OPC_JF, 0x2, 1, TREG_ZERO, 1,
365     { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
366   },
367   { "jr", TILE_OPC_JR, 0x2, 1, TREG_ZERO, 1,
368     { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
369   },
370   { "jrp", TILE_OPC_JRP, 0x2, 1, TREG_ZERO, 1,
371     { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
372   },
373   { "lb", TILE_OPC_LB, 0x12, 2, TREG_ZERO, 1,
374     { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
375   },
376   { "lb.sn", TILE_OPC_LB_SN, 0x2, 2, TREG_SN, 1,
377     { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
378   },
379   { "lb_u", TILE_OPC_LB_U, 0x12, 2, TREG_ZERO, 1,
380     { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
381   },
382   { "lb_u.sn", TILE_OPC_LB_U_SN, 0x2, 2, TREG_SN, 1,
383     { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
384   },
385   { "lbadd", TILE_OPC_LBADD, 0x2, 3, TREG_ZERO, 1,
386     { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
387   },
388   { "lbadd.sn", TILE_OPC_LBADD_SN, 0x2, 3, TREG_SN, 1,
389     { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
390   },
391   { "lbadd_u", TILE_OPC_LBADD_U, 0x2, 3, TREG_ZERO, 1,
392     { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
393   },
394   { "lbadd_u.sn", TILE_OPC_LBADD_U_SN, 0x2, 3, TREG_SN, 1,
395     { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
396   },
397   { "lh", TILE_OPC_LH, 0x12, 2, TREG_ZERO, 1,
398     { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
399   },
400   { "lh.sn", TILE_OPC_LH_SN, 0x2, 2, TREG_SN, 1,
401     { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
402   },
403   { "lh_u", TILE_OPC_LH_U, 0x12, 2, TREG_ZERO, 1,
404     { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
405   },
406   { "lh_u.sn", TILE_OPC_LH_U_SN, 0x2, 2, TREG_SN, 1,
407     { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
408   },
409   { "lhadd", TILE_OPC_LHADD, 0x2, 3, TREG_ZERO, 1,
410     { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
411   },
412   { "lhadd.sn", TILE_OPC_LHADD_SN, 0x2, 3, TREG_SN, 1,
413     { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
414   },
415   { "lhadd_u", TILE_OPC_LHADD_U, 0x2, 3, TREG_ZERO, 1,
416     { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
417   },
418   { "lhadd_u.sn", TILE_OPC_LHADD_U_SN, 0x2, 3, TREG_SN, 1,
419     { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
420   },
421   { "lnk", TILE_OPC_LNK, 0x2, 1, TREG_ZERO, 1,
422     { { 0, }, { 9 }, { 0, }, { 0, }, { 0, } },
423   },
424   { "lnk.sn", TILE_OPC_LNK_SN, 0x2, 1, TREG_SN, 1,
425     { { 0, }, { 9 }, { 0, }, { 0, }, { 0, } },
426   },
427   { "lw", TILE_OPC_LW, 0x12, 2, TREG_ZERO, 1,
428     { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
429   },
430   { "lw.sn", TILE_OPC_LW_SN, 0x2, 2, TREG_SN, 1,
431     { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
432   },
433   { "lw_na", TILE_OPC_LW_NA, 0x2, 2, TREG_ZERO, 1,
434     { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
435   },
436   { "lw_na.sn", TILE_OPC_LW_NA_SN, 0x2, 2, TREG_SN, 1,
437     { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
438   },
439   { "lwadd", TILE_OPC_LWADD, 0x2, 3, TREG_ZERO, 1,
440     { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
441   },
442   { "lwadd.sn", TILE_OPC_LWADD_SN, 0x2, 3, TREG_SN, 1,
443     { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
444   },
445   { "lwadd_na", TILE_OPC_LWADD_NA, 0x2, 3, TREG_ZERO, 1,
446     { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
447   },
448   { "lwadd_na.sn", TILE_OPC_LWADD_NA_SN, 0x2, 3, TREG_SN, 1,
449     { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
450   },
451   { "maxb_u", TILE_OPC_MAXB_U, 0x3, 3, TREG_ZERO, 1,
452     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
453   },
454   { "maxb_u.sn", TILE_OPC_MAXB_U_SN, 0x3, 3, TREG_SN, 1,
455     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
456   },
457   { "maxh", TILE_OPC_MAXH, 0x3, 3, TREG_ZERO, 1,
458     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
459   },
460   { "maxh.sn", TILE_OPC_MAXH_SN, 0x3, 3, TREG_SN, 1,
461     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
462   },
463   { "maxib_u", TILE_OPC_MAXIB_U, 0x3, 3, TREG_ZERO, 1,
464     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
465   },
466   { "maxib_u.sn", TILE_OPC_MAXIB_U_SN, 0x3, 3, TREG_SN, 1,
467     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
468   },
469   { "maxih", TILE_OPC_MAXIH, 0x3, 3, TREG_ZERO, 1,
470     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
471   },
472   { "maxih.sn", TILE_OPC_MAXIH_SN, 0x3, 3, TREG_SN, 1,
473     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
474   },
475   { "mf", TILE_OPC_MF, 0x2, 0, TREG_ZERO, 1,
476     { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
477   },
478   { "mfspr", TILE_OPC_MFSPR, 0x2, 2, TREG_ZERO, 1,
479     { { 0, }, { 9, 25 }, { 0, }, { 0, }, { 0, } },
480   },
481   { "minb_u", TILE_OPC_MINB_U, 0x3, 3, TREG_ZERO, 1,
482     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
483   },
484   { "minb_u.sn", TILE_OPC_MINB_U_SN, 0x3, 3, TREG_SN, 1,
485     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
486   },
487   { "minh", TILE_OPC_MINH, 0x3, 3, TREG_ZERO, 1,
488     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
489   },
490   { "minh.sn", TILE_OPC_MINH_SN, 0x3, 3, TREG_SN, 1,
491     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
492   },
493   { "minib_u", TILE_OPC_MINIB_U, 0x3, 3, TREG_ZERO, 1,
494     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
495   },
496   { "minib_u.sn", TILE_OPC_MINIB_U_SN, 0x3, 3, TREG_SN, 1,
497     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
498   },
499   { "minih", TILE_OPC_MINIH, 0x3, 3, TREG_ZERO, 1,
500     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
501   },
502   { "minih.sn", TILE_OPC_MINIH_SN, 0x3, 3, TREG_SN, 1,
503     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
504   },
505   { "mm", TILE_OPC_MM, 0x3, 5, TREG_ZERO, 1,
506     { { 7, 8, 16, 26, 27 }, { 9, 10, 17, 28, 29 }, { 0, }, { 0, }, { 0, } },
507   },
508   { "mnz", TILE_OPC_MNZ, 0xf, 3, TREG_ZERO, 1,
509     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
510   },
511   { "mnz.sn", TILE_OPC_MNZ_SN, 0x3, 3, TREG_SN, 1,
512     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
513   },
514   { "mnzb", TILE_OPC_MNZB, 0x3, 3, TREG_ZERO, 1,
515     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
516   },
517   { "mnzb.sn", TILE_OPC_MNZB_SN, 0x3, 3, TREG_SN, 1,
518     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
519   },
520   { "mnzh", TILE_OPC_MNZH, 0x3, 3, TREG_ZERO, 1,
521     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
522   },
523   { "mnzh.sn", TILE_OPC_MNZH_SN, 0x3, 3, TREG_SN, 1,
524     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
525   },
526   { "mtspr", TILE_OPC_MTSPR, 0x2, 2, TREG_ZERO, 1,
527     { { 0, }, { 30, 10 }, { 0, }, { 0, }, { 0, } },
528   },
529   { "mulhh_ss", TILE_OPC_MULHH_SS, 0x5, 3, TREG_ZERO, 1,
530     { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
531   },
532   { "mulhh_ss.sn", TILE_OPC_MULHH_SS_SN, 0x1, 3, TREG_SN, 1,
533     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
534   },
535   { "mulhh_su", TILE_OPC_MULHH_SU, 0x1, 3, TREG_ZERO, 1,
536     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
537   },
538   { "mulhh_su.sn", TILE_OPC_MULHH_SU_SN, 0x1, 3, TREG_SN, 1,
539     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
540   },
541   { "mulhh_uu", TILE_OPC_MULHH_UU, 0x5, 3, TREG_ZERO, 1,
542     { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
543   },
544   { "mulhh_uu.sn", TILE_OPC_MULHH_UU_SN, 0x1, 3, TREG_SN, 1,
545     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
546   },
547   { "mulhha_ss", TILE_OPC_MULHHA_SS, 0x5, 3, TREG_ZERO, 1,
548     { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
549   },
550   { "mulhha_ss.sn", TILE_OPC_MULHHA_SS_SN, 0x1, 3, TREG_SN, 1,
551     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
552   },
553   { "mulhha_su", TILE_OPC_MULHHA_SU, 0x1, 3, TREG_ZERO, 1,
554     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
555   },
556   { "mulhha_su.sn", TILE_OPC_MULHHA_SU_SN, 0x1, 3, TREG_SN, 1,
557     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
558   },
559   { "mulhha_uu", TILE_OPC_MULHHA_UU, 0x5, 3, TREG_ZERO, 1,
560     { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
561   },
562   { "mulhha_uu.sn", TILE_OPC_MULHHA_UU_SN, 0x1, 3, TREG_SN, 1,
563     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
564   },
565   { "mulhhsa_uu", TILE_OPC_MULHHSA_UU, 0x1, 3, TREG_ZERO, 1,
566     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
567   },
568   { "mulhhsa_uu.sn", TILE_OPC_MULHHSA_UU_SN, 0x1, 3, TREG_SN, 1,
569     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
570   },
571   { "mulhl_ss", TILE_OPC_MULHL_SS, 0x1, 3, TREG_ZERO, 1,
572     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
573   },
574   { "mulhl_ss.sn", TILE_OPC_MULHL_SS_SN, 0x1, 3, TREG_SN, 1,
575     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
576   },
577   { "mulhl_su", TILE_OPC_MULHL_SU, 0x1, 3, TREG_ZERO, 1,
578     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
579   },
580   { "mulhl_su.sn", TILE_OPC_MULHL_SU_SN, 0x1, 3, TREG_SN, 1,
581     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
582   },
583   { "mulhl_us", TILE_OPC_MULHL_US, 0x1, 3, TREG_ZERO, 1,
584     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
585   },
586   { "mulhl_us.sn", TILE_OPC_MULHL_US_SN, 0x1, 3, TREG_SN, 1,
587     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
588   },
589   { "mulhl_uu", TILE_OPC_MULHL_UU, 0x1, 3, TREG_ZERO, 1,
590     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
591   },
592   { "mulhl_uu.sn", TILE_OPC_MULHL_UU_SN, 0x1, 3, TREG_SN, 1,
593     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
594   },
595   { "mulhla_ss", TILE_OPC_MULHLA_SS, 0x1, 3, TREG_ZERO, 1,
596     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
597   },
598   { "mulhla_ss.sn", TILE_OPC_MULHLA_SS_SN, 0x1, 3, TREG_SN, 1,
599     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
600   },
601   { "mulhla_su", TILE_OPC_MULHLA_SU, 0x1, 3, TREG_ZERO, 1,
602     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
603   },
604   { "mulhla_su.sn", TILE_OPC_MULHLA_SU_SN, 0x1, 3, TREG_SN, 1,
605     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
606   },
607   { "mulhla_us", TILE_OPC_MULHLA_US, 0x1, 3, TREG_ZERO, 1,
608     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
609   },
610   { "mulhla_us.sn", TILE_OPC_MULHLA_US_SN, 0x1, 3, TREG_SN, 1,
611     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
612   },
613   { "mulhla_uu", TILE_OPC_MULHLA_UU, 0x1, 3, TREG_ZERO, 1,
614     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
615   },
616   { "mulhla_uu.sn", TILE_OPC_MULHLA_UU_SN, 0x1, 3, TREG_SN, 1,
617     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
618   },
619   { "mulhlsa_uu", TILE_OPC_MULHLSA_UU, 0x5, 3, TREG_ZERO, 1,
620     { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
621   },
622   { "mulhlsa_uu.sn", TILE_OPC_MULHLSA_UU_SN, 0x1, 3, TREG_SN, 1,
623     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
624   },
625   { "mulll_ss", TILE_OPC_MULLL_SS, 0x5, 3, TREG_ZERO, 1,
626     { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
627   },
628   { "mulll_ss.sn", TILE_OPC_MULLL_SS_SN, 0x1, 3, TREG_SN, 1,
629     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
630   },
631   { "mulll_su", TILE_OPC_MULLL_SU, 0x1, 3, TREG_ZERO, 1,
632     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
633   },
634   { "mulll_su.sn", TILE_OPC_MULLL_SU_SN, 0x1, 3, TREG_SN, 1,
635     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
636   },
637   { "mulll_uu", TILE_OPC_MULLL_UU, 0x5, 3, TREG_ZERO, 1,
638     { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
639   },
640   { "mulll_uu.sn", TILE_OPC_MULLL_UU_SN, 0x1, 3, TREG_SN, 1,
641     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
642   },
643   { "mullla_ss", TILE_OPC_MULLLA_SS, 0x5, 3, TREG_ZERO, 1,
644     { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
645   },
646   { "mullla_ss.sn", TILE_OPC_MULLLA_SS_SN, 0x1, 3, TREG_SN, 1,
647     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
648   },
649   { "mullla_su", TILE_OPC_MULLLA_SU, 0x1, 3, TREG_ZERO, 1,
650     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
651   },
652   { "mullla_su.sn", TILE_OPC_MULLLA_SU_SN, 0x1, 3, TREG_SN, 1,
653     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
654   },
655   { "mullla_uu", TILE_OPC_MULLLA_UU, 0x5, 3, TREG_ZERO, 1,
656     { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
657   },
658   { "mullla_uu.sn", TILE_OPC_MULLLA_UU_SN, 0x1, 3, TREG_SN, 1,
659     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
660   },
661   { "mulllsa_uu", TILE_OPC_MULLLSA_UU, 0x1, 3, TREG_ZERO, 1,
662     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
663   },
664   { "mulllsa_uu.sn", TILE_OPC_MULLLSA_UU_SN, 0x1, 3, TREG_SN, 1,
665     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
666   },
667   { "mvnz", TILE_OPC_MVNZ, 0x5, 3, TREG_ZERO, 1,
668     { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
669   },
670   { "mvnz.sn", TILE_OPC_MVNZ_SN, 0x1, 3, TREG_SN, 1,
671     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
672   },
673   { "mvz", TILE_OPC_MVZ, 0x5, 3, TREG_ZERO, 1,
674     { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
675   },
676   { "mvz.sn", TILE_OPC_MVZ_SN, 0x1, 3, TREG_SN, 1,
677     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
678   },
679   { "mz", TILE_OPC_MZ, 0xf, 3, TREG_ZERO, 1,
680     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
681   },
682   { "mz.sn", TILE_OPC_MZ_SN, 0x3, 3, TREG_SN, 1,
683     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
684   },
685   { "mzb", TILE_OPC_MZB, 0x3, 3, TREG_ZERO, 1,
686     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
687   },
688   { "mzb.sn", TILE_OPC_MZB_SN, 0x3, 3, TREG_SN, 1,
689     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
690   },
691   { "mzh", TILE_OPC_MZH, 0x3, 3, TREG_ZERO, 1,
692     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
693   },
694   { "mzh.sn", TILE_OPC_MZH_SN, 0x3, 3, TREG_SN, 1,
695     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
696   },
697   { "nap", TILE_OPC_NAP, 0x2, 0, TREG_ZERO, 0,
698     { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
699   },
700   { "nop", TILE_OPC_NOP, 0xf, 0, TREG_ZERO, 1,
701     { {  }, {  }, {  }, {  }, { 0, } },
702   },
703   { "nor", TILE_OPC_NOR, 0xf, 3, TREG_ZERO, 1,
704     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
705   },
706   { "nor.sn", TILE_OPC_NOR_SN, 0x3, 3, TREG_SN, 1,
707     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
708   },
709   { "or", TILE_OPC_OR, 0xf, 3, TREG_ZERO, 1,
710     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
711   },
712   { "or.sn", TILE_OPC_OR_SN, 0x3, 3, TREG_SN, 1,
713     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
714   },
715   { "ori", TILE_OPC_ORI, 0xf, 3, TREG_ZERO, 1,
716     { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
717   },
718   { "ori.sn", TILE_OPC_ORI_SN, 0x3, 3, TREG_SN, 1,
719     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
720   },
721   { "packbs_u", TILE_OPC_PACKBS_U, 0x3, 3, TREG_ZERO, 1,
722     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
723   },
724   { "packbs_u.sn", TILE_OPC_PACKBS_U_SN, 0x3, 3, TREG_SN, 1,
725     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
726   },
727   { "packhb", TILE_OPC_PACKHB, 0x3, 3, TREG_ZERO, 1,
728     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
729   },
730   { "packhb.sn", TILE_OPC_PACKHB_SN, 0x3, 3, TREG_SN, 1,
731     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
732   },
733   { "packhs", TILE_OPC_PACKHS, 0x3, 3, TREG_ZERO, 1,
734     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
735   },
736   { "packhs.sn", TILE_OPC_PACKHS_SN, 0x3, 3, TREG_SN, 1,
737     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
738   },
739   { "packlb", TILE_OPC_PACKLB, 0x3, 3, TREG_ZERO, 1,
740     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
741   },
742   { "packlb.sn", TILE_OPC_PACKLB_SN, 0x3, 3, TREG_SN, 1,
743     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
744   },
745   { "pcnt", TILE_OPC_PCNT, 0x5, 2, TREG_ZERO, 1,
746     { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
747   },
748   { "pcnt.sn", TILE_OPC_PCNT_SN, 0x1, 2, TREG_SN, 1,
749     { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
750   },
751   { "rl", TILE_OPC_RL, 0xf, 3, TREG_ZERO, 1,
752     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
753   },
754   { "rl.sn", TILE_OPC_RL_SN, 0x3, 3, TREG_SN, 1,
755     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
756   },
757   { "rli", TILE_OPC_RLI, 0xf, 3, TREG_ZERO, 1,
758     { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
759   },
760   { "rli.sn", TILE_OPC_RLI_SN, 0x3, 3, TREG_SN, 1,
761     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
762   },
763   { "s1a", TILE_OPC_S1A, 0xf, 3, TREG_ZERO, 1,
764     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
765   },
766   { "s1a.sn", TILE_OPC_S1A_SN, 0x3, 3, TREG_SN, 1,
767     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
768   },
769   { "s2a", TILE_OPC_S2A, 0xf, 3, TREG_ZERO, 1,
770     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
771   },
772   { "s2a.sn", TILE_OPC_S2A_SN, 0x3, 3, TREG_SN, 1,
773     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
774   },
775   { "s3a", TILE_OPC_S3A, 0xf, 3, TREG_ZERO, 1,
776     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
777   },
778   { "s3a.sn", TILE_OPC_S3A_SN, 0x3, 3, TREG_SN, 1,
779     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
780   },
781   { "sadab_u", TILE_OPC_SADAB_U, 0x1, 3, TREG_ZERO, 1,
782     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
783   },
784   { "sadab_u.sn", TILE_OPC_SADAB_U_SN, 0x1, 3, TREG_SN, 1,
785     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
786   },
787   { "sadah", TILE_OPC_SADAH, 0x1, 3, TREG_ZERO, 1,
788     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
789   },
790   { "sadah.sn", TILE_OPC_SADAH_SN, 0x1, 3, TREG_SN, 1,
791     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
792   },
793   { "sadah_u", TILE_OPC_SADAH_U, 0x1, 3, TREG_ZERO, 1,
794     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
795   },
796   { "sadah_u.sn", TILE_OPC_SADAH_U_SN, 0x1, 3, TREG_SN, 1,
797     { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
798   },
799   { "sadb_u", TILE_OPC_SADB_U, 0x1, 3, TREG_ZERO, 1,
800     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
801   },
802   { "sadb_u.sn", TILE_OPC_SADB_U_SN, 0x1, 3, TREG_SN, 1,
803     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
804   },
805   { "sadh", TILE_OPC_SADH, 0x1, 3, TREG_ZERO, 1,
806     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
807   },
808   { "sadh.sn", TILE_OPC_SADH_SN, 0x1, 3, TREG_SN, 1,
809     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
810   },
811   { "sadh_u", TILE_OPC_SADH_U, 0x1, 3, TREG_ZERO, 1,
812     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
813   },
814   { "sadh_u.sn", TILE_OPC_SADH_U_SN, 0x1, 3, TREG_SN, 1,
815     { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
816   },
817   { "sb", TILE_OPC_SB, 0x12, 2, TREG_ZERO, 1,
818     { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
819   },
820   { "sbadd", TILE_OPC_SBADD, 0x2, 3, TREG_ZERO, 1,
821     { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
822   },
823   { "seq", TILE_OPC_SEQ, 0xf, 3, TREG_ZERO, 1,
824     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
825   },
826   { "seq.sn", TILE_OPC_SEQ_SN, 0x3, 3, TREG_SN, 1,
827     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
828   },
829   { "seqb", TILE_OPC_SEQB, 0x3, 3, TREG_ZERO, 1,
830     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
831   },
832   { "seqb.sn", TILE_OPC_SEQB_SN, 0x3, 3, TREG_SN, 1,
833     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
834   },
835   { "seqh", TILE_OPC_SEQH, 0x3, 3, TREG_ZERO, 1,
836     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
837   },
838   { "seqh.sn", TILE_OPC_SEQH_SN, 0x3, 3, TREG_SN, 1,
839     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
840   },
841   { "seqi", TILE_OPC_SEQI, 0xf, 3, TREG_ZERO, 1,
842     { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
843   },
844   { "seqi.sn", TILE_OPC_SEQI_SN, 0x3, 3, TREG_SN, 1,
845     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
846   },
847   { "seqib", TILE_OPC_SEQIB, 0x3, 3, TREG_ZERO, 1,
848     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
849   },
850   { "seqib.sn", TILE_OPC_SEQIB_SN, 0x3, 3, TREG_SN, 1,
851     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
852   },
853   { "seqih", TILE_OPC_SEQIH, 0x3, 3, TREG_ZERO, 1,
854     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
855   },
856   { "seqih.sn", TILE_OPC_SEQIH_SN, 0x3, 3, TREG_SN, 1,
857     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
858   },
859   { "sh", TILE_OPC_SH, 0x12, 2, TREG_ZERO, 1,
860     { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
861   },
862   { "shadd", TILE_OPC_SHADD, 0x2, 3, TREG_ZERO, 1,
863     { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
864   },
865   { "shl", TILE_OPC_SHL, 0xf, 3, TREG_ZERO, 1,
866     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
867   },
868   { "shl.sn", TILE_OPC_SHL_SN, 0x3, 3, TREG_SN, 1,
869     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
870   },
871   { "shlb", TILE_OPC_SHLB, 0x3, 3, TREG_ZERO, 1,
872     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
873   },
874   { "shlb.sn", TILE_OPC_SHLB_SN, 0x3, 3, TREG_SN, 1,
875     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
876   },
877   { "shlh", TILE_OPC_SHLH, 0x3, 3, TREG_ZERO, 1,
878     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
879   },
880   { "shlh.sn", TILE_OPC_SHLH_SN, 0x3, 3, TREG_SN, 1,
881     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
882   },
883   { "shli", TILE_OPC_SHLI, 0xf, 3, TREG_ZERO, 1,
884     { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
885   },
886   { "shli.sn", TILE_OPC_SHLI_SN, 0x3, 3, TREG_SN, 1,
887     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
888   },
889   { "shlib", TILE_OPC_SHLIB, 0x3, 3, TREG_ZERO, 1,
890     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
891   },
892   { "shlib.sn", TILE_OPC_SHLIB_SN, 0x3, 3, TREG_SN, 1,
893     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
894   },
895   { "shlih", TILE_OPC_SHLIH, 0x3, 3, TREG_ZERO, 1,
896     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
897   },
898   { "shlih.sn", TILE_OPC_SHLIH_SN, 0x3, 3, TREG_SN, 1,
899     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
900   },
901   { "shr", TILE_OPC_SHR, 0xf, 3, TREG_ZERO, 1,
902     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
903   },
904   { "shr.sn", TILE_OPC_SHR_SN, 0x3, 3, TREG_SN, 1,
905     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
906   },
907   { "shrb", TILE_OPC_SHRB, 0x3, 3, TREG_ZERO, 1,
908     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
909   },
910   { "shrb.sn", TILE_OPC_SHRB_SN, 0x3, 3, TREG_SN, 1,
911     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
912   },
913   { "shrh", TILE_OPC_SHRH, 0x3, 3, TREG_ZERO, 1,
914     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
915   },
916   { "shrh.sn", TILE_OPC_SHRH_SN, 0x3, 3, TREG_SN, 1,
917     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
918   },
919   { "shri", TILE_OPC_SHRI, 0xf, 3, TREG_ZERO, 1,
920     { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
921   },
922   { "shri.sn", TILE_OPC_SHRI_SN, 0x3, 3, TREG_SN, 1,
923     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
924   },
925   { "shrib", TILE_OPC_SHRIB, 0x3, 3, TREG_ZERO, 1,
926     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
927   },
928   { "shrib.sn", TILE_OPC_SHRIB_SN, 0x3, 3, TREG_SN, 1,
929     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
930   },
931   { "shrih", TILE_OPC_SHRIH, 0x3, 3, TREG_ZERO, 1,
932     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
933   },
934   { "shrih.sn", TILE_OPC_SHRIH_SN, 0x3, 3, TREG_SN, 1,
935     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
936   },
937   { "slt", TILE_OPC_SLT, 0xf, 3, TREG_ZERO, 1,
938     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
939   },
940   { "slt.sn", TILE_OPC_SLT_SN, 0x3, 3, TREG_SN, 1,
941     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
942   },
943   { "slt_u", TILE_OPC_SLT_U, 0xf, 3, TREG_ZERO, 1,
944     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
945   },
946   { "slt_u.sn", TILE_OPC_SLT_U_SN, 0x3, 3, TREG_SN, 1,
947     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
948   },
949   { "sltb", TILE_OPC_SLTB, 0x3, 3, TREG_ZERO, 1,
950     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
951   },
952   { "sltb.sn", TILE_OPC_SLTB_SN, 0x3, 3, TREG_SN, 1,
953     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
954   },
955   { "sltb_u", TILE_OPC_SLTB_U, 0x3, 3, TREG_ZERO, 1,
956     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
957   },
958   { "sltb_u.sn", TILE_OPC_SLTB_U_SN, 0x3, 3, TREG_SN, 1,
959     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
960   },
961   { "slte", TILE_OPC_SLTE, 0xf, 3, TREG_ZERO, 1,
962     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
963   },
964   { "slte.sn", TILE_OPC_SLTE_SN, 0x3, 3, TREG_SN, 1,
965     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
966   },
967   { "slte_u", TILE_OPC_SLTE_U, 0xf, 3, TREG_ZERO, 1,
968     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
969   },
970   { "slte_u.sn", TILE_OPC_SLTE_U_SN, 0x3, 3, TREG_SN, 1,
971     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
972   },
973   { "slteb", TILE_OPC_SLTEB, 0x3, 3, TREG_ZERO, 1,
974     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
975   },
976   { "slteb.sn", TILE_OPC_SLTEB_SN, 0x3, 3, TREG_SN, 1,
977     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
978   },
979   { "slteb_u", TILE_OPC_SLTEB_U, 0x3, 3, TREG_ZERO, 1,
980     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
981   },
982   { "slteb_u.sn", TILE_OPC_SLTEB_U_SN, 0x3, 3, TREG_SN, 1,
983     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
984   },
985   { "slteh", TILE_OPC_SLTEH, 0x3, 3, TREG_ZERO, 1,
986     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
987   },
988   { "slteh.sn", TILE_OPC_SLTEH_SN, 0x3, 3, TREG_SN, 1,
989     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
990   },
991   { "slteh_u", TILE_OPC_SLTEH_U, 0x3, 3, TREG_ZERO, 1,
992     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
993   },
994   { "slteh_u.sn", TILE_OPC_SLTEH_U_SN, 0x3, 3, TREG_SN, 1,
995     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
996   },
997   { "slth", TILE_OPC_SLTH, 0x3, 3, TREG_ZERO, 1,
998     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
999   },
1000   { "slth.sn", TILE_OPC_SLTH_SN, 0x3, 3, TREG_SN, 1,
1001     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1002   },
1003   { "slth_u", TILE_OPC_SLTH_U, 0x3, 3, TREG_ZERO, 1,
1004     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1005   },
1006   { "slth_u.sn", TILE_OPC_SLTH_U_SN, 0x3, 3, TREG_SN, 1,
1007     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1008   },
1009   { "slti", TILE_OPC_SLTI, 0xf, 3, TREG_ZERO, 1,
1010     { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
1011   },
1012   { "slti.sn", TILE_OPC_SLTI_SN, 0x3, 3, TREG_SN, 1,
1013     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1014   },
1015   { "slti_u", TILE_OPC_SLTI_U, 0xf, 3, TREG_ZERO, 1,
1016     { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
1017   },
1018   { "slti_u.sn", TILE_OPC_SLTI_U_SN, 0x3, 3, TREG_SN, 1,
1019     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1020   },
1021   { "sltib", TILE_OPC_SLTIB, 0x3, 3, TREG_ZERO, 1,
1022     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1023   },
1024   { "sltib.sn", TILE_OPC_SLTIB_SN, 0x3, 3, TREG_SN, 1,
1025     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1026   },
1027   { "sltib_u", TILE_OPC_SLTIB_U, 0x3, 3, TREG_ZERO, 1,
1028     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1029   },
1030   { "sltib_u.sn", TILE_OPC_SLTIB_U_SN, 0x3, 3, TREG_SN, 1,
1031     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1032   },
1033   { "sltih", TILE_OPC_SLTIH, 0x3, 3, TREG_ZERO, 1,
1034     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1035   },
1036   { "sltih.sn", TILE_OPC_SLTIH_SN, 0x3, 3, TREG_SN, 1,
1037     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1038   },
1039   { "sltih_u", TILE_OPC_SLTIH_U, 0x3, 3, TREG_ZERO, 1,
1040     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1041   },
1042   { "sltih_u.sn", TILE_OPC_SLTIH_U_SN, 0x3, 3, TREG_SN, 1,
1043     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1044   },
1045   { "sne", TILE_OPC_SNE, 0xf, 3, TREG_ZERO, 1,
1046     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1047   },
1048   { "sne.sn", TILE_OPC_SNE_SN, 0x3, 3, TREG_SN, 1,
1049     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1050   },
1051   { "sneb", TILE_OPC_SNEB, 0x3, 3, TREG_ZERO, 1,
1052     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1053   },
1054   { "sneb.sn", TILE_OPC_SNEB_SN, 0x3, 3, TREG_SN, 1,
1055     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1056   },
1057   { "sneh", TILE_OPC_SNEH, 0x3, 3, TREG_ZERO, 1,
1058     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1059   },
1060   { "sneh.sn", TILE_OPC_SNEH_SN, 0x3, 3, TREG_SN, 1,
1061     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1062   },
1063   { "sra", TILE_OPC_SRA, 0xf, 3, TREG_ZERO, 1,
1064     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1065   },
1066   { "sra.sn", TILE_OPC_SRA_SN, 0x3, 3, TREG_SN, 1,
1067     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1068   },
1069   { "srab", TILE_OPC_SRAB, 0x3, 3, TREG_ZERO, 1,
1070     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1071   },
1072   { "srab.sn", TILE_OPC_SRAB_SN, 0x3, 3, TREG_SN, 1,
1073     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1074   },
1075   { "srah", TILE_OPC_SRAH, 0x3, 3, TREG_ZERO, 1,
1076     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1077   },
1078   { "srah.sn", TILE_OPC_SRAH_SN, 0x3, 3, TREG_SN, 1,
1079     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1080   },
1081   { "srai", TILE_OPC_SRAI, 0xf, 3, TREG_ZERO, 1,
1082     { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
1083   },
1084   { "srai.sn", TILE_OPC_SRAI_SN, 0x3, 3, TREG_SN, 1,
1085     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1086   },
1087   { "sraib", TILE_OPC_SRAIB, 0x3, 3, TREG_ZERO, 1,
1088     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1089   },
1090   { "sraib.sn", TILE_OPC_SRAIB_SN, 0x3, 3, TREG_SN, 1,
1091     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1092   },
1093   { "sraih", TILE_OPC_SRAIH, 0x3, 3, TREG_ZERO, 1,
1094     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1095   },
1096   { "sraih.sn", TILE_OPC_SRAIH_SN, 0x3, 3, TREG_SN, 1,
1097     { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1098   },
1099   { "sub", TILE_OPC_SUB, 0xf, 3, TREG_ZERO, 1,
1100     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1101   },
1102   { "sub.sn", TILE_OPC_SUB_SN, 0x3, 3, TREG_SN, 1,
1103     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1104   },
1105   { "subb", TILE_OPC_SUBB, 0x3, 3, TREG_ZERO, 1,
1106     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1107   },
1108   { "subb.sn", TILE_OPC_SUBB_SN, 0x3, 3, TREG_SN, 1,
1109     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1110   },
1111   { "subbs_u", TILE_OPC_SUBBS_U, 0x3, 3, TREG_ZERO, 1,
1112     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1113   },
1114   { "subbs_u.sn", TILE_OPC_SUBBS_U_SN, 0x3, 3, TREG_SN, 1,
1115     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1116   },
1117   { "subh", TILE_OPC_SUBH, 0x3, 3, TREG_ZERO, 1,
1118     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1119   },
1120   { "subh.sn", TILE_OPC_SUBH_SN, 0x3, 3, TREG_SN, 1,
1121     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1122   },
1123   { "subhs", TILE_OPC_SUBHS, 0x3, 3, TREG_ZERO, 1,
1124     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1125   },
1126   { "subhs.sn", TILE_OPC_SUBHS_SN, 0x3, 3, TREG_SN, 1,
1127     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1128   },
1129   { "subs", TILE_OPC_SUBS, 0x3, 3, TREG_ZERO, 1,
1130     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1131   },
1132   { "subs.sn", TILE_OPC_SUBS_SN, 0x3, 3, TREG_SN, 1,
1133     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1134   },
1135   { "sw", TILE_OPC_SW, 0x12, 2, TREG_ZERO, 1,
1136     { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
1137   },
1138   { "swadd", TILE_OPC_SWADD, 0x2, 3, TREG_ZERO, 1,
1139     { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
1140   },
1141   { "swint0", TILE_OPC_SWINT0, 0x2, 0, TREG_ZERO, 0,
1142     { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
1143   },
1144   { "swint1", TILE_OPC_SWINT1, 0x2, 0, TREG_ZERO, 0,
1145     { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
1146   },
1147   { "swint2", TILE_OPC_SWINT2, 0x2, 0, TREG_ZERO, 0,
1148     { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
1149   },
1150   { "swint3", TILE_OPC_SWINT3, 0x2, 0, TREG_ZERO, 0,
1151     { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
1152   },
1153   { "tblidxb0", TILE_OPC_TBLIDXB0, 0x5, 2, TREG_ZERO, 1,
1154     { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1155   },
1156   { "tblidxb0.sn", TILE_OPC_TBLIDXB0_SN, 0x1, 2, TREG_SN, 1,
1157     { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1158   },
1159   { "tblidxb1", TILE_OPC_TBLIDXB1, 0x5, 2, TREG_ZERO, 1,
1160     { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1161   },
1162   { "tblidxb1.sn", TILE_OPC_TBLIDXB1_SN, 0x1, 2, TREG_SN, 1,
1163     { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1164   },
1165   { "tblidxb2", TILE_OPC_TBLIDXB2, 0x5, 2, TREG_ZERO, 1,
1166     { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1167   },
1168   { "tblidxb2.sn", TILE_OPC_TBLIDXB2_SN, 0x1, 2, TREG_SN, 1,
1169     { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1170   },
1171   { "tblidxb3", TILE_OPC_TBLIDXB3, 0x5, 2, TREG_ZERO, 1,
1172     { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1173   },
1174   { "tblidxb3.sn", TILE_OPC_TBLIDXB3_SN, 0x1, 2, TREG_SN, 1,
1175     { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1176   },
1177   { "tns", TILE_OPC_TNS, 0x2, 2, TREG_ZERO, 1,
1178     { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
1179   },
1180   { "tns.sn", TILE_OPC_TNS_SN, 0x2, 2, TREG_SN, 1,
1181     { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
1182   },
1183   { "wh64", TILE_OPC_WH64, 0x2, 1, TREG_ZERO, 1,
1184     { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
1185   },
1186   { "xor", TILE_OPC_XOR, 0xf, 3, TREG_ZERO, 1,
1187     { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1188   },
1189   { "xor.sn", TILE_OPC_XOR_SN, 0x3, 3, TREG_SN, 1,
1190     { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1191   },
1192   { "xori", TILE_OPC_XORI, 0x3, 3, TREG_ZERO, 1,
1193     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1194   },
1195   { "xori.sn", TILE_OPC_XORI_SN, 0x3, 3, TREG_SN, 1,
1196     { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1197   },
1198   { NULL, TILE_OPC_NONE, 0, 0, TREG_ZERO, 0, { { 0, } },
1199   }
1200 };
1201 #define BITFIELD(start, size) ((start) | (((1 << (size)) - 1) << 6))
1202 #define CHILD(array_index) (TILE_OPC_NONE + (array_index))
1203
1204 static const unsigned short decode_X0_fsm[1153] =
1205 {
1206   BITFIELD(22, 9) /* index 0 */,
1207   CHILD(513), CHILD(530), CHILD(547), CHILD(564), CHILD(596), CHILD(613),
1208   CHILD(630), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1209   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1210   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1211   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1212   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1213   TILE_OPC_NONE, CHILD(663), CHILD(680), CHILD(697), CHILD(714), CHILD(746),
1214   CHILD(763), CHILD(780), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1215   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1216   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1217   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1218   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1219   TILE_OPC_NONE, TILE_OPC_NONE, CHILD(813), CHILD(813), CHILD(813),
1220   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1221   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1222   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1223   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1224   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1225   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1226   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1227   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1228   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1229   CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1230   CHILD(813), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1231   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1232   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1233   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1234   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1235   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1236   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1237   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1238   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1239   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1240   CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(843),
1241   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1242   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1243   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1244   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1245   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1246   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1247   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1248   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1249   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1250   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1251   CHILD(843), CHILD(843), CHILD(843), CHILD(873), CHILD(878), CHILD(883),
1252   CHILD(903), CHILD(908), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1253   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1254   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1255   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1256   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1257   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(913),
1258   CHILD(918), CHILD(923), CHILD(943), CHILD(948), TILE_OPC_NONE,
1259   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1260   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1261   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1262   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1263   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1264   TILE_OPC_NONE, CHILD(953), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1265   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1266   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1267   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1268   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1269   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1270   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(988), TILE_OPC_NONE,
1271   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1272   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1273   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1274   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1275   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1276   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1277   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1278   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1279   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1280   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1281   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1282   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1283   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1284   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1285   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1286   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1287   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1288   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1289   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, CHILD(993),
1290   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1291   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1292   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1293   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1294   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1295   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1296   TILE_OPC_NONE, CHILD(1076), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1297   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1298   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1299   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1300   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1301   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1302   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1303   BITFIELD(18, 4) /* index 513 */,
1304   TILE_OPC_NONE, TILE_OPC_ADDB, TILE_OPC_ADDH, TILE_OPC_ADD,
1305   TILE_OPC_ADIFFB_U, TILE_OPC_ADIFFH, TILE_OPC_AND, TILE_OPC_AVGB_U,
1306   TILE_OPC_AVGH, TILE_OPC_CRC32_32, TILE_OPC_CRC32_8, TILE_OPC_INTHB,
1307   TILE_OPC_INTHH, TILE_OPC_INTLB, TILE_OPC_INTLH, TILE_OPC_MAXB_U,
1308   BITFIELD(18, 4) /* index 530 */,
1309   TILE_OPC_MAXH, TILE_OPC_MINB_U, TILE_OPC_MINH, TILE_OPC_MNZB, TILE_OPC_MNZH,
1310   TILE_OPC_MNZ, TILE_OPC_MULHHA_SS, TILE_OPC_MULHHA_SU, TILE_OPC_MULHHA_UU,
1311   TILE_OPC_MULHHSA_UU, TILE_OPC_MULHH_SS, TILE_OPC_MULHH_SU,
1312   TILE_OPC_MULHH_UU, TILE_OPC_MULHLA_SS, TILE_OPC_MULHLA_SU,
1313   TILE_OPC_MULHLA_US,
1314   BITFIELD(18, 4) /* index 547 */,
1315   TILE_OPC_MULHLA_UU, TILE_OPC_MULHLSA_UU, TILE_OPC_MULHL_SS,
1316   TILE_OPC_MULHL_SU, TILE_OPC_MULHL_US, TILE_OPC_MULHL_UU, TILE_OPC_MULLLA_SS,
1317   TILE_OPC_MULLLA_SU, TILE_OPC_MULLLA_UU, TILE_OPC_MULLLSA_UU,
1318   TILE_OPC_MULLL_SS, TILE_OPC_MULLL_SU, TILE_OPC_MULLL_UU, TILE_OPC_MVNZ,
1319   TILE_OPC_MVZ, TILE_OPC_MZB,
1320   BITFIELD(18, 4) /* index 564 */,
1321   TILE_OPC_MZH, TILE_OPC_MZ, TILE_OPC_NOR, CHILD(581), TILE_OPC_PACKHB,
1322   TILE_OPC_PACKLB, TILE_OPC_RL, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_S3A,
1323   TILE_OPC_SADAB_U, TILE_OPC_SADAH, TILE_OPC_SADAH_U, TILE_OPC_SADB_U,
1324   TILE_OPC_SADH, TILE_OPC_SADH_U,
1325   BITFIELD(12, 2) /* index 581 */,
1326   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(586),
1327   BITFIELD(14, 2) /* index 586 */,
1328   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(591),
1329   BITFIELD(16, 2) /* index 591 */,
1330   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE,
1331   BITFIELD(18, 4) /* index 596 */,
1332   TILE_OPC_SEQB, TILE_OPC_SEQH, TILE_OPC_SEQ, TILE_OPC_SHLB, TILE_OPC_SHLH,
1333   TILE_OPC_SHL, TILE_OPC_SHRB, TILE_OPC_SHRH, TILE_OPC_SHR, TILE_OPC_SLTB,
1334   TILE_OPC_SLTB_U, TILE_OPC_SLTEB, TILE_OPC_SLTEB_U, TILE_OPC_SLTEH,
1335   TILE_OPC_SLTEH_U, TILE_OPC_SLTE,
1336   BITFIELD(18, 4) /* index 613 */,
1337   TILE_OPC_SLTE_U, TILE_OPC_SLTH, TILE_OPC_SLTH_U, TILE_OPC_SLT,
1338   TILE_OPC_SLT_U, TILE_OPC_SNEB, TILE_OPC_SNEH, TILE_OPC_SNE, TILE_OPC_SRAB,
1339   TILE_OPC_SRAH, TILE_OPC_SRA, TILE_OPC_SUBB, TILE_OPC_SUBH, TILE_OPC_SUB,
1340   TILE_OPC_XOR, TILE_OPC_DWORD_ALIGN,
1341   BITFIELD(18, 3) /* index 630 */,
1342   CHILD(639), CHILD(642), CHILD(645), CHILD(648), CHILD(651), CHILD(654),
1343   CHILD(657), CHILD(660),
1344   BITFIELD(21, 1) /* index 639 */,
1345   TILE_OPC_ADDS, TILE_OPC_NONE,
1346   BITFIELD(21, 1) /* index 642 */,
1347   TILE_OPC_SUBS, TILE_OPC_NONE,
1348   BITFIELD(21, 1) /* index 645 */,
1349   TILE_OPC_ADDBS_U, TILE_OPC_NONE,
1350   BITFIELD(21, 1) /* index 648 */,
1351   TILE_OPC_ADDHS, TILE_OPC_NONE,
1352   BITFIELD(21, 1) /* index 651 */,
1353   TILE_OPC_SUBBS_U, TILE_OPC_NONE,
1354   BITFIELD(21, 1) /* index 654 */,
1355   TILE_OPC_SUBHS, TILE_OPC_NONE,
1356   BITFIELD(21, 1) /* index 657 */,
1357   TILE_OPC_PACKHS, TILE_OPC_NONE,
1358   BITFIELD(21, 1) /* index 660 */,
1359   TILE_OPC_PACKBS_U, TILE_OPC_NONE,
1360   BITFIELD(18, 4) /* index 663 */,
1361   TILE_OPC_NONE, TILE_OPC_ADDB_SN, TILE_OPC_ADDH_SN, TILE_OPC_ADD_SN,
1362   TILE_OPC_ADIFFB_U_SN, TILE_OPC_ADIFFH_SN, TILE_OPC_AND_SN,
1363   TILE_OPC_AVGB_U_SN, TILE_OPC_AVGH_SN, TILE_OPC_CRC32_32_SN,
1364   TILE_OPC_CRC32_8_SN, TILE_OPC_INTHB_SN, TILE_OPC_INTHH_SN,
1365   TILE_OPC_INTLB_SN, TILE_OPC_INTLH_SN, TILE_OPC_MAXB_U_SN,
1366   BITFIELD(18, 4) /* index 680 */,
1367   TILE_OPC_MAXH_SN, TILE_OPC_MINB_U_SN, TILE_OPC_MINH_SN, TILE_OPC_MNZB_SN,
1368   TILE_OPC_MNZH_SN, TILE_OPC_MNZ_SN, TILE_OPC_MULHHA_SS_SN,
1369   TILE_OPC_MULHHA_SU_SN, TILE_OPC_MULHHA_UU_SN, TILE_OPC_MULHHSA_UU_SN,
1370   TILE_OPC_MULHH_SS_SN, TILE_OPC_MULHH_SU_SN, TILE_OPC_MULHH_UU_SN,
1371   TILE_OPC_MULHLA_SS_SN, TILE_OPC_MULHLA_SU_SN, TILE_OPC_MULHLA_US_SN,
1372   BITFIELD(18, 4) /* index 697 */,
1373   TILE_OPC_MULHLA_UU_SN, TILE_OPC_MULHLSA_UU_SN, TILE_OPC_MULHL_SS_SN,
1374   TILE_OPC_MULHL_SU_SN, TILE_OPC_MULHL_US_SN, TILE_OPC_MULHL_UU_SN,
1375   TILE_OPC_MULLLA_SS_SN, TILE_OPC_MULLLA_SU_SN, TILE_OPC_MULLLA_UU_SN,
1376   TILE_OPC_MULLLSA_UU_SN, TILE_OPC_MULLL_SS_SN, TILE_OPC_MULLL_SU_SN,
1377   TILE_OPC_MULLL_UU_SN, TILE_OPC_MVNZ_SN, TILE_OPC_MVZ_SN, TILE_OPC_MZB_SN,
1378   BITFIELD(18, 4) /* index 714 */,
1379   TILE_OPC_MZH_SN, TILE_OPC_MZ_SN, TILE_OPC_NOR_SN, CHILD(731),
1380   TILE_OPC_PACKHB_SN, TILE_OPC_PACKLB_SN, TILE_OPC_RL_SN, TILE_OPC_S1A_SN,
1381   TILE_OPC_S2A_SN, TILE_OPC_S3A_SN, TILE_OPC_SADAB_U_SN, TILE_OPC_SADAH_SN,
1382   TILE_OPC_SADAH_U_SN, TILE_OPC_SADB_U_SN, TILE_OPC_SADH_SN,
1383   TILE_OPC_SADH_U_SN,
1384   BITFIELD(12, 2) /* index 731 */,
1385   TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(736),
1386   BITFIELD(14, 2) /* index 736 */,
1387   TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(741),
1388   BITFIELD(16, 2) /* index 741 */,
1389   TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_MOVE_SN,
1390   BITFIELD(18, 4) /* index 746 */,
1391   TILE_OPC_SEQB_SN, TILE_OPC_SEQH_SN, TILE_OPC_SEQ_SN, TILE_OPC_SHLB_SN,
1392   TILE_OPC_SHLH_SN, TILE_OPC_SHL_SN, TILE_OPC_SHRB_SN, TILE_OPC_SHRH_SN,
1393   TILE_OPC_SHR_SN, TILE_OPC_SLTB_SN, TILE_OPC_SLTB_U_SN, TILE_OPC_SLTEB_SN,
1394   TILE_OPC_SLTEB_U_SN, TILE_OPC_SLTEH_SN, TILE_OPC_SLTEH_U_SN,
1395   TILE_OPC_SLTE_SN,
1396   BITFIELD(18, 4) /* index 763 */,
1397   TILE_OPC_SLTE_U_SN, TILE_OPC_SLTH_SN, TILE_OPC_SLTH_U_SN, TILE_OPC_SLT_SN,
1398   TILE_OPC_SLT_U_SN, TILE_OPC_SNEB_SN, TILE_OPC_SNEH_SN, TILE_OPC_SNE_SN,
1399   TILE_OPC_SRAB_SN, TILE_OPC_SRAH_SN, TILE_OPC_SRA_SN, TILE_OPC_SUBB_SN,
1400   TILE_OPC_SUBH_SN, TILE_OPC_SUB_SN, TILE_OPC_XOR_SN, TILE_OPC_DWORD_ALIGN_SN,
1401   BITFIELD(18, 3) /* index 780 */,
1402   CHILD(789), CHILD(792), CHILD(795), CHILD(798), CHILD(801), CHILD(804),
1403   CHILD(807), CHILD(810),
1404   BITFIELD(21, 1) /* index 789 */,
1405   TILE_OPC_ADDS_SN, TILE_OPC_NONE,
1406   BITFIELD(21, 1) /* index 792 */,
1407   TILE_OPC_SUBS_SN, TILE_OPC_NONE,
1408   BITFIELD(21, 1) /* index 795 */,
1409   TILE_OPC_ADDBS_U_SN, TILE_OPC_NONE,
1410   BITFIELD(21, 1) /* index 798 */,
1411   TILE_OPC_ADDHS_SN, TILE_OPC_NONE,
1412   BITFIELD(21, 1) /* index 801 */,
1413   TILE_OPC_SUBBS_U_SN, TILE_OPC_NONE,
1414   BITFIELD(21, 1) /* index 804 */,
1415   TILE_OPC_SUBHS_SN, TILE_OPC_NONE,
1416   BITFIELD(21, 1) /* index 807 */,
1417   TILE_OPC_PACKHS_SN, TILE_OPC_NONE,
1418   BITFIELD(21, 1) /* index 810 */,
1419   TILE_OPC_PACKBS_U_SN, TILE_OPC_NONE,
1420   BITFIELD(6, 2) /* index 813 */,
1421   TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(818),
1422   BITFIELD(8, 2) /* index 818 */,
1423   TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(823),
1424   BITFIELD(10, 2) /* index 823 */,
1425   TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_MOVELI_SN,
1426   BITFIELD(6, 2) /* index 828 */,
1427   TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(833),
1428   BITFIELD(8, 2) /* index 833 */,
1429   TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(838),
1430   BITFIELD(10, 2) /* index 838 */,
1431   TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_MOVELI,
1432   BITFIELD(0, 2) /* index 843 */,
1433   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(848),
1434   BITFIELD(2, 2) /* index 848 */,
1435   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(853),
1436   BITFIELD(4, 2) /* index 853 */,
1437   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(858),
1438   BITFIELD(6, 2) /* index 858 */,
1439   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(863),
1440   BITFIELD(8, 2) /* index 863 */,
1441   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(868),
1442   BITFIELD(10, 2) /* index 868 */,
1443   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_INFOL,
1444   BITFIELD(20, 2) /* index 873 */,
1445   TILE_OPC_NONE, TILE_OPC_ADDIB, TILE_OPC_ADDIH, TILE_OPC_ADDI,
1446   BITFIELD(20, 2) /* index 878 */,
1447   TILE_OPC_MAXIB_U, TILE_OPC_MAXIH, TILE_OPC_MINIB_U, TILE_OPC_MINIH,
1448   BITFIELD(20, 2) /* index 883 */,
1449   CHILD(888), TILE_OPC_SEQIB, TILE_OPC_SEQIH, TILE_OPC_SEQI,
1450   BITFIELD(6, 2) /* index 888 */,
1451   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(893),
1452   BITFIELD(8, 2) /* index 893 */,
1453   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(898),
1454   BITFIELD(10, 2) /* index 898 */,
1455   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI,
1456   BITFIELD(20, 2) /* index 903 */,
1457   TILE_OPC_SLTIB, TILE_OPC_SLTIB_U, TILE_OPC_SLTIH, TILE_OPC_SLTIH_U,
1458   BITFIELD(20, 2) /* index 908 */,
1459   TILE_OPC_SLTI, TILE_OPC_SLTI_U, TILE_OPC_NONE, TILE_OPC_NONE,
1460   BITFIELD(20, 2) /* index 913 */,
1461   TILE_OPC_NONE, TILE_OPC_ADDIB_SN, TILE_OPC_ADDIH_SN, TILE_OPC_ADDI_SN,
1462   BITFIELD(20, 2) /* index 918 */,
1463   TILE_OPC_MAXIB_U_SN, TILE_OPC_MAXIH_SN, TILE_OPC_MINIB_U_SN,
1464   TILE_OPC_MINIH_SN,
1465   BITFIELD(20, 2) /* index 923 */,
1466   CHILD(928), TILE_OPC_SEQIB_SN, TILE_OPC_SEQIH_SN, TILE_OPC_SEQI_SN,
1467   BITFIELD(6, 2) /* index 928 */,
1468   TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(933),
1469   BITFIELD(8, 2) /* index 933 */,
1470   TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(938),
1471   BITFIELD(10, 2) /* index 938 */,
1472   TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_MOVEI_SN,
1473   BITFIELD(20, 2) /* index 943 */,
1474   TILE_OPC_SLTIB_SN, TILE_OPC_SLTIB_U_SN, TILE_OPC_SLTIH_SN,
1475   TILE_OPC_SLTIH_U_SN,
1476   BITFIELD(20, 2) /* index 948 */,
1477   TILE_OPC_SLTI_SN, TILE_OPC_SLTI_U_SN, TILE_OPC_NONE, TILE_OPC_NONE,
1478   BITFIELD(20, 2) /* index 953 */,
1479   TILE_OPC_NONE, CHILD(958), TILE_OPC_XORI, TILE_OPC_NONE,
1480   BITFIELD(0, 2) /* index 958 */,
1481   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(963),
1482   BITFIELD(2, 2) /* index 963 */,
1483   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(968),
1484   BITFIELD(4, 2) /* index 968 */,
1485   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(973),
1486   BITFIELD(6, 2) /* index 973 */,
1487   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(978),
1488   BITFIELD(8, 2) /* index 978 */,
1489   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(983),
1490   BITFIELD(10, 2) /* index 983 */,
1491   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO,
1492   BITFIELD(20, 2) /* index 988 */,
1493   TILE_OPC_NONE, TILE_OPC_ANDI_SN, TILE_OPC_XORI_SN, TILE_OPC_NONE,
1494   BITFIELD(17, 5) /* index 993 */,
1495   TILE_OPC_NONE, TILE_OPC_RLI, TILE_OPC_SHLIB, TILE_OPC_SHLIH, TILE_OPC_SHLI,
1496   TILE_OPC_SHRIB, TILE_OPC_SHRIH, TILE_OPC_SHRI, TILE_OPC_SRAIB,
1497   TILE_OPC_SRAIH, TILE_OPC_SRAI, CHILD(1026), TILE_OPC_NONE, TILE_OPC_NONE,
1498   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1499   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1500   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1501   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1502   BITFIELD(12, 4) /* index 1026 */,
1503   TILE_OPC_NONE, CHILD(1043), CHILD(1046), CHILD(1049), CHILD(1052),
1504   CHILD(1055), CHILD(1058), CHILD(1061), CHILD(1064), CHILD(1067),
1505   CHILD(1070), CHILD(1073), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1506   TILE_OPC_NONE,
1507   BITFIELD(16, 1) /* index 1043 */,
1508   TILE_OPC_BITX, TILE_OPC_NONE,
1509   BITFIELD(16, 1) /* index 1046 */,
1510   TILE_OPC_BYTEX, TILE_OPC_NONE,
1511   BITFIELD(16, 1) /* index 1049 */,
1512   TILE_OPC_CLZ, TILE_OPC_NONE,
1513   BITFIELD(16, 1) /* index 1052 */,
1514   TILE_OPC_CTZ, TILE_OPC_NONE,
1515   BITFIELD(16, 1) /* index 1055 */,
1516   TILE_OPC_FNOP, TILE_OPC_NONE,
1517   BITFIELD(16, 1) /* index 1058 */,
1518   TILE_OPC_NOP, TILE_OPC_NONE,
1519   BITFIELD(16, 1) /* index 1061 */,
1520   TILE_OPC_PCNT, TILE_OPC_NONE,
1521   BITFIELD(16, 1) /* index 1064 */,
1522   TILE_OPC_TBLIDXB0, TILE_OPC_NONE,
1523   BITFIELD(16, 1) /* index 1067 */,
1524   TILE_OPC_TBLIDXB1, TILE_OPC_NONE,
1525   BITFIELD(16, 1) /* index 1070 */,
1526   TILE_OPC_TBLIDXB2, TILE_OPC_NONE,
1527   BITFIELD(16, 1) /* index 1073 */,
1528   TILE_OPC_TBLIDXB3, TILE_OPC_NONE,
1529   BITFIELD(17, 5) /* index 1076 */,
1530   TILE_OPC_NONE, TILE_OPC_RLI_SN, TILE_OPC_SHLIB_SN, TILE_OPC_SHLIH_SN,
1531   TILE_OPC_SHLI_SN, TILE_OPC_SHRIB_SN, TILE_OPC_SHRIH_SN, TILE_OPC_SHRI_SN,
1532   TILE_OPC_SRAIB_SN, TILE_OPC_SRAIH_SN, TILE_OPC_SRAI_SN, CHILD(1109),
1533   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1534   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1535   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1536   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1537   BITFIELD(12, 4) /* index 1109 */,
1538   TILE_OPC_NONE, CHILD(1126), CHILD(1129), CHILD(1132), CHILD(1135),
1539   CHILD(1055), CHILD(1058), CHILD(1138), CHILD(1141), CHILD(1144),
1540   CHILD(1147), CHILD(1150), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1541   TILE_OPC_NONE,
1542   BITFIELD(16, 1) /* index 1126 */,
1543   TILE_OPC_BITX_SN, TILE_OPC_NONE,
1544   BITFIELD(16, 1) /* index 1129 */,
1545   TILE_OPC_BYTEX_SN, TILE_OPC_NONE,
1546   BITFIELD(16, 1) /* index 1132 */,
1547   TILE_OPC_CLZ_SN, TILE_OPC_NONE,
1548   BITFIELD(16, 1) /* index 1135 */,
1549   TILE_OPC_CTZ_SN, TILE_OPC_NONE,
1550   BITFIELD(16, 1) /* index 1138 */,
1551   TILE_OPC_PCNT_SN, TILE_OPC_NONE,
1552   BITFIELD(16, 1) /* index 1141 */,
1553   TILE_OPC_TBLIDXB0_SN, TILE_OPC_NONE,
1554   BITFIELD(16, 1) /* index 1144 */,
1555   TILE_OPC_TBLIDXB1_SN, TILE_OPC_NONE,
1556   BITFIELD(16, 1) /* index 1147 */,
1557   TILE_OPC_TBLIDXB2_SN, TILE_OPC_NONE,
1558   BITFIELD(16, 1) /* index 1150 */,
1559   TILE_OPC_TBLIDXB3_SN, TILE_OPC_NONE,
1560 };
1561
1562 static const unsigned short decode_X1_fsm[1540] =
1563 {
1564   BITFIELD(54, 9) /* index 0 */,
1565   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1566   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1567   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1568   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1569   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1570   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1571   TILE_OPC_NONE, TILE_OPC_NONE, CHILD(513), CHILD(561), CHILD(594),
1572   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1573   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1574   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(641), CHILD(689),
1575   CHILD(722), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1576   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1577   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(766),
1578   CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1579   CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1580   CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1581   CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1582   CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1583   CHILD(766), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1584   CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1585   CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1586   CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1587   CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1588   CHILD(781), CHILD(781), CHILD(781), CHILD(796), CHILD(796), CHILD(796),
1589   CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
1590   CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
1591   CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
1592   CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
1593   CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(826),
1594   CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826),
1595   CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826),
1596   CHILD(826), CHILD(826), CHILD(826), CHILD(843), CHILD(843), CHILD(843),
1597   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1598   CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1599   CHILD(843), CHILD(860), CHILD(899), CHILD(923), CHILD(932), TILE_OPC_NONE,
1600   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1601   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1602   TILE_OPC_NONE, CHILD(941), CHILD(950), CHILD(974), CHILD(983),
1603   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1604   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1605   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1606   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1607   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1608   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1609   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1610   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1611   TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, CHILD(992),
1612   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1613   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1614   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1615   CHILD(1334), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1616   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1617   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1618   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1619   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1620   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1621   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1622   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1623   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1624   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_J, TILE_OPC_J,
1625   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1626   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1627   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1628   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1629   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1630   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1631   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1632   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1633   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1634   TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1635   TILE_OPC_J, TILE_OPC_J, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1636   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1637   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1638   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1639   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1640   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1641   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1642   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1643   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1644   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1645   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1646   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1647   TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1648   TILE_OPC_JAL, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1649   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1650   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1651   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1652   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1653   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1654   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1655   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1656   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1657   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1658   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1659   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1660   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1661   BITFIELD(49, 5) /* index 513 */,
1662   TILE_OPC_NONE, TILE_OPC_ADDB, TILE_OPC_ADDH, TILE_OPC_ADD, TILE_OPC_AND,
1663   TILE_OPC_INTHB, TILE_OPC_INTHH, TILE_OPC_INTLB, TILE_OPC_INTLH,
1664   TILE_OPC_JALRP, TILE_OPC_JALR, TILE_OPC_JRP, TILE_OPC_JR, TILE_OPC_LNK,
1665   TILE_OPC_MAXB_U, TILE_OPC_MAXH, TILE_OPC_MINB_U, TILE_OPC_MINH,
1666   TILE_OPC_MNZB, TILE_OPC_MNZH, TILE_OPC_MNZ, TILE_OPC_MZB, TILE_OPC_MZH,
1667   TILE_OPC_MZ, TILE_OPC_NOR, CHILD(546), TILE_OPC_PACKHB, TILE_OPC_PACKLB,
1668   TILE_OPC_RL, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_S3A,
1669   BITFIELD(43, 2) /* index 546 */,
1670   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(551),
1671   BITFIELD(45, 2) /* index 551 */,
1672   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(556),
1673   BITFIELD(47, 2) /* index 556 */,
1674   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE,
1675   BITFIELD(49, 5) /* index 561 */,
1676   TILE_OPC_SB, TILE_OPC_SEQB, TILE_OPC_SEQH, TILE_OPC_SEQ, TILE_OPC_SHLB,
1677   TILE_OPC_SHLH, TILE_OPC_SHL, TILE_OPC_SHRB, TILE_OPC_SHRH, TILE_OPC_SHR,
1678   TILE_OPC_SH, TILE_OPC_SLTB, TILE_OPC_SLTB_U, TILE_OPC_SLTEB,
1679   TILE_OPC_SLTEB_U, TILE_OPC_SLTEH, TILE_OPC_SLTEH_U, TILE_OPC_SLTE,
1680   TILE_OPC_SLTE_U, TILE_OPC_SLTH, TILE_OPC_SLTH_U, TILE_OPC_SLT,
1681   TILE_OPC_SLT_U, TILE_OPC_SNEB, TILE_OPC_SNEH, TILE_OPC_SNE, TILE_OPC_SRAB,
1682   TILE_OPC_SRAH, TILE_OPC_SRA, TILE_OPC_SUBB, TILE_OPC_SUBH, TILE_OPC_SUB,
1683   BITFIELD(49, 4) /* index 594 */,
1684   CHILD(611), CHILD(614), CHILD(617), CHILD(620), CHILD(623), CHILD(626),
1685   CHILD(629), CHILD(632), CHILD(635), CHILD(638), TILE_OPC_NONE,
1686   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1687   BITFIELD(53, 1) /* index 611 */,
1688   TILE_OPC_SW, TILE_OPC_NONE,
1689   BITFIELD(53, 1) /* index 614 */,
1690   TILE_OPC_XOR, TILE_OPC_NONE,
1691   BITFIELD(53, 1) /* index 617 */,
1692   TILE_OPC_ADDS, TILE_OPC_NONE,
1693   BITFIELD(53, 1) /* index 620 */,
1694   TILE_OPC_SUBS, TILE_OPC_NONE,
1695   BITFIELD(53, 1) /* index 623 */,
1696   TILE_OPC_ADDBS_U, TILE_OPC_NONE,
1697   BITFIELD(53, 1) /* index 626 */,
1698   TILE_OPC_ADDHS, TILE_OPC_NONE,
1699   BITFIELD(53, 1) /* index 629 */,
1700   TILE_OPC_SUBBS_U, TILE_OPC_NONE,
1701   BITFIELD(53, 1) /* index 632 */,
1702   TILE_OPC_SUBHS, TILE_OPC_NONE,
1703   BITFIELD(53, 1) /* index 635 */,
1704   TILE_OPC_PACKHS, TILE_OPC_NONE,
1705   BITFIELD(53, 1) /* index 638 */,
1706   TILE_OPC_PACKBS_U, TILE_OPC_NONE,
1707   BITFIELD(49, 5) /* index 641 */,
1708   TILE_OPC_NONE, TILE_OPC_ADDB_SN, TILE_OPC_ADDH_SN, TILE_OPC_ADD_SN,
1709   TILE_OPC_AND_SN, TILE_OPC_INTHB_SN, TILE_OPC_INTHH_SN, TILE_OPC_INTLB_SN,
1710   TILE_OPC_INTLH_SN, TILE_OPC_JALRP, TILE_OPC_JALR, TILE_OPC_JRP, TILE_OPC_JR,
1711   TILE_OPC_LNK_SN, TILE_OPC_MAXB_U_SN, TILE_OPC_MAXH_SN, TILE_OPC_MINB_U_SN,
1712   TILE_OPC_MINH_SN, TILE_OPC_MNZB_SN, TILE_OPC_MNZH_SN, TILE_OPC_MNZ_SN,
1713   TILE_OPC_MZB_SN, TILE_OPC_MZH_SN, TILE_OPC_MZ_SN, TILE_OPC_NOR_SN,
1714   CHILD(674), TILE_OPC_PACKHB_SN, TILE_OPC_PACKLB_SN, TILE_OPC_RL_SN,
1715   TILE_OPC_S1A_SN, TILE_OPC_S2A_SN, TILE_OPC_S3A_SN,
1716   BITFIELD(43, 2) /* index 674 */,
1717   TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(679),
1718   BITFIELD(45, 2) /* index 679 */,
1719   TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(684),
1720   BITFIELD(47, 2) /* index 684 */,
1721   TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_MOVE_SN,
1722   BITFIELD(49, 5) /* index 689 */,
1723   TILE_OPC_SB, TILE_OPC_SEQB_SN, TILE_OPC_SEQH_SN, TILE_OPC_SEQ_SN,
1724   TILE_OPC_SHLB_SN, TILE_OPC_SHLH_SN, TILE_OPC_SHL_SN, TILE_OPC_SHRB_SN,
1725   TILE_OPC_SHRH_SN, TILE_OPC_SHR_SN, TILE_OPC_SH, TILE_OPC_SLTB_SN,
1726   TILE_OPC_SLTB_U_SN, TILE_OPC_SLTEB_SN, TILE_OPC_SLTEB_U_SN,
1727   TILE_OPC_SLTEH_SN, TILE_OPC_SLTEH_U_SN, TILE_OPC_SLTE_SN,
1728   TILE_OPC_SLTE_U_SN, TILE_OPC_SLTH_SN, TILE_OPC_SLTH_U_SN, TILE_OPC_SLT_SN,
1729   TILE_OPC_SLT_U_SN, TILE_OPC_SNEB_SN, TILE_OPC_SNEH_SN, TILE_OPC_SNE_SN,
1730   TILE_OPC_SRAB_SN, TILE_OPC_SRAH_SN, TILE_OPC_SRA_SN, TILE_OPC_SUBB_SN,
1731   TILE_OPC_SUBH_SN, TILE_OPC_SUB_SN,
1732   BITFIELD(49, 4) /* index 722 */,
1733   CHILD(611), CHILD(739), CHILD(742), CHILD(745), CHILD(748), CHILD(751),
1734   CHILD(754), CHILD(757), CHILD(760), CHILD(763), TILE_OPC_NONE,
1735   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1736   BITFIELD(53, 1) /* index 739 */,
1737   TILE_OPC_XOR_SN, TILE_OPC_NONE,
1738   BITFIELD(53, 1) /* index 742 */,
1739   TILE_OPC_ADDS_SN, TILE_OPC_NONE,
1740   BITFIELD(53, 1) /* index 745 */,
1741   TILE_OPC_SUBS_SN, TILE_OPC_NONE,
1742   BITFIELD(53, 1) /* index 748 */,
1743   TILE_OPC_ADDBS_U_SN, TILE_OPC_NONE,
1744   BITFIELD(53, 1) /* index 751 */,
1745   TILE_OPC_ADDHS_SN, TILE_OPC_NONE,
1746   BITFIELD(53, 1) /* index 754 */,
1747   TILE_OPC_SUBBS_U_SN, TILE_OPC_NONE,
1748   BITFIELD(53, 1) /* index 757 */,
1749   TILE_OPC_SUBHS_SN, TILE_OPC_NONE,
1750   BITFIELD(53, 1) /* index 760 */,
1751   TILE_OPC_PACKHS_SN, TILE_OPC_NONE,
1752   BITFIELD(53, 1) /* index 763 */,
1753   TILE_OPC_PACKBS_U_SN, TILE_OPC_NONE,
1754   BITFIELD(37, 2) /* index 766 */,
1755   TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(771),
1756   BITFIELD(39, 2) /* index 771 */,
1757   TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(776),
1758   BITFIELD(41, 2) /* index 776 */,
1759   TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_MOVELI_SN,
1760   BITFIELD(37, 2) /* index 781 */,
1761   TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(786),
1762   BITFIELD(39, 2) /* index 786 */,
1763   TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(791),
1764   BITFIELD(41, 2) /* index 791 */,
1765   TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_MOVELI,
1766   BITFIELD(31, 2) /* index 796 */,
1767   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(801),
1768   BITFIELD(33, 2) /* index 801 */,
1769   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(806),
1770   BITFIELD(35, 2) /* index 806 */,
1771   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(811),
1772   BITFIELD(37, 2) /* index 811 */,
1773   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(816),
1774   BITFIELD(39, 2) /* index 816 */,
1775   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(821),
1776   BITFIELD(41, 2) /* index 821 */,
1777   TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_INFOL,
1778   BITFIELD(31, 4) /* index 826 */,
1779   TILE_OPC_BZ, TILE_OPC_BZT, TILE_OPC_BNZ, TILE_OPC_BNZT, TILE_OPC_BGZ,
1780   TILE_OPC_BGZT, TILE_OPC_BGEZ, TILE_OPC_BGEZT, TILE_OPC_BLZ, TILE_OPC_BLZT,
1781   TILE_OPC_BLEZ, TILE_OPC_BLEZT, TILE_OPC_BBS, TILE_OPC_BBST, TILE_OPC_BBNS,
1782   TILE_OPC_BBNST,
1783   BITFIELD(31, 4) /* index 843 */,
1784   TILE_OPC_BZ_SN, TILE_OPC_BZT_SN, TILE_OPC_BNZ_SN, TILE_OPC_BNZT_SN,
1785   TILE_OPC_BGZ_SN, TILE_OPC_BGZT_SN, TILE_OPC_BGEZ_SN, TILE_OPC_BGEZT_SN,
1786   TILE_OPC_BLZ_SN, TILE_OPC_BLZT_SN, TILE_OPC_BLEZ_SN, TILE_OPC_BLEZT_SN,
1787   TILE_OPC_BBS_SN, TILE_OPC_BBST_SN, TILE_OPC_BBNS_SN, TILE_OPC_BBNST_SN,
1788   BITFIELD(51, 3) /* index 860 */,
1789   TILE_OPC_NONE, TILE_OPC_ADDIB, TILE_OPC_ADDIH, TILE_OPC_ADDI, CHILD(869),
1790   TILE_OPC_MAXIB_U, TILE_OPC_MAXIH, TILE_OPC_MFSPR,
1791   BITFIELD(31, 2) /* index 869 */,
1792   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(874),
1793   BITFIELD(33, 2) /* index 874 */,
1794   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(879),
1795   BITFIELD(35, 2) /* index 879 */,
1796   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(884),
1797   BITFIELD(37, 2) /* index 884 */,
1798   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(889),
1799   BITFIELD(39, 2) /* index 889 */,
1800   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(894),
1801   BITFIELD(41, 2) /* index 894 */,
1802   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO,
1803   BITFIELD(51, 3) /* index 899 */,
1804   TILE_OPC_MINIB_U, TILE_OPC_MINIH, TILE_OPC_MTSPR, CHILD(908),
1805   TILE_OPC_SEQIB, TILE_OPC_SEQIH, TILE_OPC_SEQI, TILE_OPC_SLTIB,
1806   BITFIELD(37, 2) /* index 908 */,
1807   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(913),
1808   BITFIELD(39, 2) /* index 913 */,
1809   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(918),
1810   BITFIELD(41, 2) /* index 918 */,
1811   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI,
1812   BITFIELD(51, 3) /* index 923 */,
1813   TILE_OPC_SLTIB_U, TILE_OPC_SLTIH, TILE_OPC_SLTIH_U, TILE_OPC_SLTI,
1814   TILE_OPC_SLTI_U, TILE_OPC_XORI, TILE_OPC_LBADD, TILE_OPC_LBADD_U,
1815   BITFIELD(51, 3) /* index 932 */,
1816   TILE_OPC_LHADD, TILE_OPC_LHADD_U, TILE_OPC_LWADD, TILE_OPC_LWADD_NA,
1817   TILE_OPC_SBADD, TILE_OPC_SHADD, TILE_OPC_SWADD, TILE_OPC_NONE,
1818   BITFIELD(51, 3) /* index 941 */,
1819   TILE_OPC_NONE, TILE_OPC_ADDIB_SN, TILE_OPC_ADDIH_SN, TILE_OPC_ADDI_SN,
1820   TILE_OPC_ANDI_SN, TILE_OPC_MAXIB_U_SN, TILE_OPC_MAXIH_SN, TILE_OPC_MFSPR,
1821   BITFIELD(51, 3) /* index 950 */,
1822   TILE_OPC_MINIB_U_SN, TILE_OPC_MINIH_SN, TILE_OPC_MTSPR, CHILD(959),
1823   TILE_OPC_SEQIB_SN, TILE_OPC_SEQIH_SN, TILE_OPC_SEQI_SN, TILE_OPC_SLTIB_SN,
1824   BITFIELD(37, 2) /* index 959 */,
1825   TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(964),
1826   BITFIELD(39, 2) /* index 964 */,
1827   TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(969),
1828   BITFIELD(41, 2) /* index 969 */,
1829   TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_MOVEI_SN,
1830   BITFIELD(51, 3) /* index 974 */,
1831   TILE_OPC_SLTIB_U_SN, TILE_OPC_SLTIH_SN, TILE_OPC_SLTIH_U_SN,
1832   TILE_OPC_SLTI_SN, TILE_OPC_SLTI_U_SN, TILE_OPC_XORI_SN, TILE_OPC_LBADD_SN,
1833   TILE_OPC_LBADD_U_SN,
1834   BITFIELD(51, 3) /* index 983 */,
1835   TILE_OPC_LHADD_SN, TILE_OPC_LHADD_U_SN, TILE_OPC_LWADD_SN,
1836   TILE_OPC_LWADD_NA_SN, TILE_OPC_SBADD, TILE_OPC_SHADD, TILE_OPC_SWADD,
1837   TILE_OPC_NONE,
1838   BITFIELD(46, 7) /* index 992 */,
1839   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(1121),
1840   CHILD(1121), CHILD(1121), CHILD(1121), CHILD(1124), CHILD(1124),
1841   CHILD(1124), CHILD(1124), CHILD(1127), CHILD(1127), CHILD(1127),
1842   CHILD(1127), CHILD(1130), CHILD(1130), CHILD(1130), CHILD(1130),
1843   CHILD(1133), CHILD(1133), CHILD(1133), CHILD(1133), CHILD(1136),
1844   CHILD(1136), CHILD(1136), CHILD(1136), CHILD(1139), CHILD(1139),
1845   CHILD(1139), CHILD(1139), CHILD(1142), CHILD(1142), CHILD(1142),
1846   CHILD(1142), CHILD(1145), CHILD(1145), CHILD(1145), CHILD(1145),
1847   CHILD(1148), CHILD(1148), CHILD(1148), CHILD(1148), CHILD(1151),
1848   CHILD(1242), CHILD(1290), CHILD(1323), TILE_OPC_NONE, TILE_OPC_NONE,
1849   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1850   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1851   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1852   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1853   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1854   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1855   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1856   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1857   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1858   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1859   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1860   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1861   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1862   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1863   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1864   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1865   BITFIELD(53, 1) /* index 1121 */,
1866   TILE_OPC_RLI, TILE_OPC_NONE,
1867   BITFIELD(53, 1) /* index 1124 */,
1868   TILE_OPC_SHLIB, TILE_OPC_NONE,
1869   BITFIELD(53, 1) /* index 1127 */,
1870   TILE_OPC_SHLIH, TILE_OPC_NONE,
1871   BITFIELD(53, 1) /* index 1130 */,
1872   TILE_OPC_SHLI, TILE_OPC_NONE,
1873   BITFIELD(53, 1) /* index 1133 */,
1874   TILE_OPC_SHRIB, TILE_OPC_NONE,
1875   BITFIELD(53, 1) /* index 1136 */,
1876   TILE_OPC_SHRIH, TILE_OPC_NONE,
1877   BITFIELD(53, 1) /* index 1139 */,
1878   TILE_OPC_SHRI, TILE_OPC_NONE,
1879   BITFIELD(53, 1) /* index 1142 */,
1880   TILE_OPC_SRAIB, TILE_OPC_NONE,
1881   BITFIELD(53, 1) /* index 1145 */,
1882   TILE_OPC_SRAIH, TILE_OPC_NONE,
1883   BITFIELD(53, 1) /* index 1148 */,
1884   TILE_OPC_SRAI, TILE_OPC_NONE,
1885   BITFIELD(43, 3) /* index 1151 */,
1886   TILE_OPC_NONE, CHILD(1160), CHILD(1163), CHILD(1166), CHILD(1169),
1887   CHILD(1172), CHILD(1175), CHILD(1178),
1888   BITFIELD(53, 1) /* index 1160 */,
1889   TILE_OPC_DRAIN, TILE_OPC_NONE,
1890   BITFIELD(53, 1) /* index 1163 */,
1891   TILE_OPC_DTLBPR, TILE_OPC_NONE,
1892   BITFIELD(53, 1) /* index 1166 */,
1893   TILE_OPC_FINV, TILE_OPC_NONE,
1894   BITFIELD(53, 1) /* index 1169 */,
1895   TILE_OPC_FLUSH, TILE_OPC_NONE,
1896   BITFIELD(53, 1) /* index 1172 */,
1897   TILE_OPC_FNOP, TILE_OPC_NONE,
1898   BITFIELD(53, 1) /* index 1175 */,
1899   TILE_OPC_ICOH, TILE_OPC_NONE,
1900   BITFIELD(31, 2) /* index 1178 */,
1901   CHILD(1183), CHILD(1211), CHILD(1239), CHILD(1239),
1902   BITFIELD(53, 1) /* index 1183 */,
1903   CHILD(1186), TILE_OPC_NONE,
1904   BITFIELD(33, 2) /* index 1186 */,
1905   TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_ILL, CHILD(1191),
1906   BITFIELD(35, 2) /* index 1191 */,
1907   TILE_OPC_ILL, CHILD(1196), TILE_OPC_ILL, TILE_OPC_ILL,
1908   BITFIELD(37, 2) /* index 1196 */,
1909   TILE_OPC_ILL, CHILD(1201), TILE_OPC_ILL, TILE_OPC_ILL,
1910   BITFIELD(39, 2) /* index 1201 */,
1911   TILE_OPC_ILL, CHILD(1206), TILE_OPC_ILL, TILE_OPC_ILL,
1912   BITFIELD(41, 2) /* index 1206 */,
1913   TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_BPT, TILE_OPC_ILL,
1914   BITFIELD(53, 1) /* index 1211 */,
1915   CHILD(1214), TILE_OPC_NONE,
1916   BITFIELD(33, 2) /* index 1214 */,
1917   TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_ILL, CHILD(1219),
1918   BITFIELD(35, 2) /* index 1219 */,
1919   TILE_OPC_ILL, CHILD(1224), TILE_OPC_ILL, TILE_OPC_ILL,
1920   BITFIELD(37, 2) /* index 1224 */,
1921   TILE_OPC_ILL, CHILD(1229), TILE_OPC_ILL, TILE_OPC_ILL,
1922   BITFIELD(39, 2) /* index 1229 */,
1923   TILE_OPC_ILL, CHILD(1234), TILE_OPC_ILL, TILE_OPC_ILL,
1924   BITFIELD(41, 2) /* index 1234 */,
1925   TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_RAISE, TILE_OPC_ILL,
1926   BITFIELD(53, 1) /* index 1239 */,
1927   TILE_OPC_ILL, TILE_OPC_NONE,
1928   BITFIELD(43, 3) /* index 1242 */,
1929   CHILD(1251), CHILD(1254), CHILD(1257), CHILD(1275), CHILD(1278),
1930   CHILD(1281), CHILD(1284), CHILD(1287),
1931   BITFIELD(53, 1) /* index 1251 */,
1932   TILE_OPC_INV, TILE_OPC_NONE,
1933   BITFIELD(53, 1) /* index 1254 */,
1934   TILE_OPC_IRET, TILE_OPC_NONE,
1935   BITFIELD(53, 1) /* index 1257 */,
1936   CHILD(1260), TILE_OPC_NONE,
1937   BITFIELD(31, 2) /* index 1260 */,
1938   TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(1265),
1939   BITFIELD(33, 2) /* index 1265 */,
1940   TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(1270),
1941   BITFIELD(35, 2) /* index 1270 */,
1942   TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_PREFETCH,
1943   BITFIELD(53, 1) /* index 1275 */,
1944   TILE_OPC_LB_U, TILE_OPC_NONE,
1945   BITFIELD(53, 1) /* index 1278 */,
1946   TILE_OPC_LH, TILE_OPC_NONE,
1947   BITFIELD(53, 1) /* index 1281 */,
1948   TILE_OPC_LH_U, TILE_OPC_NONE,
1949   BITFIELD(53, 1) /* index 1284 */,
1950   TILE_OPC_LW, TILE_OPC_NONE,
1951   BITFIELD(53, 1) /* index 1287 */,
1952   TILE_OPC_MF, TILE_OPC_NONE,
1953   BITFIELD(43, 3) /* index 1290 */,
1954   CHILD(1299), CHILD(1302), CHILD(1305), CHILD(1308), CHILD(1311),
1955   CHILD(1314), CHILD(1317), CHILD(1320),
1956   BITFIELD(53, 1) /* index 1299 */,
1957   TILE_OPC_NAP, TILE_OPC_NONE,
1958   BITFIELD(53, 1) /* index 1302 */,
1959   TILE_OPC_NOP, TILE_OPC_NONE,
1960   BITFIELD(53, 1) /* index 1305 */,
1961   TILE_OPC_SWINT0, TILE_OPC_NONE,
1962   BITFIELD(53, 1) /* index 1308 */,
1963   TILE_OPC_SWINT1, TILE_OPC_NONE,
1964   BITFIELD(53, 1) /* index 1311 */,
1965   TILE_OPC_SWINT2, TILE_OPC_NONE,
1966   BITFIELD(53, 1) /* index 1314 */,
1967   TILE_OPC_SWINT3, TILE_OPC_NONE,
1968   BITFIELD(53, 1) /* index 1317 */,
1969   TILE_OPC_TNS, TILE_OPC_NONE,
1970   BITFIELD(53, 1) /* index 1320 */,
1971   TILE_OPC_WH64, TILE_OPC_NONE,
1972   BITFIELD(43, 2) /* index 1323 */,
1973   CHILD(1328), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1974   BITFIELD(45, 1) /* index 1328 */,
1975   CHILD(1331), TILE_OPC_NONE,
1976   BITFIELD(53, 1) /* index 1331 */,
1977   TILE_OPC_LW_NA, TILE_OPC_NONE,
1978   BITFIELD(46, 7) /* index 1334 */,
1979   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(1463),
1980   CHILD(1463), CHILD(1463), CHILD(1463), CHILD(1466), CHILD(1466),
1981   CHILD(1466), CHILD(1466), CHILD(1469), CHILD(1469), CHILD(1469),
1982   CHILD(1469), CHILD(1472), CHILD(1472), CHILD(1472), CHILD(1472),
1983   CHILD(1475), CHILD(1475), CHILD(1475), CHILD(1475), CHILD(1478),
1984   CHILD(1478), CHILD(1478), CHILD(1478), CHILD(1481), CHILD(1481),
1985   CHILD(1481), CHILD(1481), CHILD(1484), CHILD(1484), CHILD(1484),
1986   CHILD(1484), CHILD(1487), CHILD(1487), CHILD(1487), CHILD(1487),
1987   CHILD(1490), CHILD(1490), CHILD(1490), CHILD(1490), CHILD(1151),
1988   CHILD(1493), CHILD(1517), CHILD(1529), TILE_OPC_NONE, TILE_OPC_NONE,
1989   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1990   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1991   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1992   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1993   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1994   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1995   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1996   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1997   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1998   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1999   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2000   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2001   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2002   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2003   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2004   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2005   BITFIELD(53, 1) /* index 1463 */,
2006   TILE_OPC_RLI_SN, TILE_OPC_NONE,
2007   BITFIELD(53, 1) /* index 1466 */,
2008   TILE_OPC_SHLIB_SN, TILE_OPC_NONE,
2009   BITFIELD(53, 1) /* index 1469 */,
2010   TILE_OPC_SHLIH_SN, TILE_OPC_NONE,
2011   BITFIELD(53, 1) /* index 1472 */,
2012   TILE_OPC_SHLI_SN, TILE_OPC_NONE,
2013   BITFIELD(53, 1) /* index 1475 */,
2014   TILE_OPC_SHRIB_SN, TILE_OPC_NONE,
2015   BITFIELD(53, 1) /* index 1478 */,
2016   TILE_OPC_SHRIH_SN, TILE_OPC_NONE,
2017   BITFIELD(53, 1) /* index 1481 */,
2018   TILE_OPC_SHRI_SN, TILE_OPC_NONE,
2019   BITFIELD(53, 1) /* index 1484 */,
2020   TILE_OPC_SRAIB_SN, TILE_OPC_NONE,
2021   BITFIELD(53, 1) /* index 1487 */,
2022   TILE_OPC_SRAIH_SN, TILE_OPC_NONE,
2023   BITFIELD(53, 1) /* index 1490 */,
2024   TILE_OPC_SRAI_SN, TILE_OPC_NONE,
2025   BITFIELD(43, 3) /* index 1493 */,
2026   CHILD(1251), CHILD(1254), CHILD(1502), CHILD(1505), CHILD(1508),
2027   CHILD(1511), CHILD(1514), CHILD(1287),
2028   BITFIELD(53, 1) /* index 1502 */,
2029   TILE_OPC_LB_SN, TILE_OPC_NONE,
2030   BITFIELD(53, 1) /* index 1505 */,
2031   TILE_OPC_LB_U_SN, TILE_OPC_NONE,
2032   BITFIELD(53, 1) /* index 1508 */,
2033   TILE_OPC_LH_SN, TILE_OPC_NONE,
2034   BITFIELD(53, 1) /* index 1511 */,
2035   TILE_OPC_LH_U_SN, TILE_OPC_NONE,
2036   BITFIELD(53, 1) /* index 1514 */,
2037   TILE_OPC_LW_SN, TILE_OPC_NONE,
2038   BITFIELD(43, 3) /* index 1517 */,
2039   CHILD(1299), CHILD(1302), CHILD(1305), CHILD(1308), CHILD(1311),
2040   CHILD(1314), CHILD(1526), CHILD(1320),
2041   BITFIELD(53, 1) /* index 1526 */,
2042   TILE_OPC_TNS_SN, TILE_OPC_NONE,
2043   BITFIELD(43, 2) /* index 1529 */,
2044   CHILD(1534), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2045   BITFIELD(45, 1) /* index 1534 */,
2046   CHILD(1537), TILE_OPC_NONE,
2047   BITFIELD(53, 1) /* index 1537 */,
2048   TILE_OPC_LW_NA_SN, TILE_OPC_NONE,
2049 };
2050
2051 static const unsigned short decode_Y0_fsm[168] =
2052 {
2053   BITFIELD(27, 4) /* index 0 */,
2054   TILE_OPC_NONE, CHILD(17), CHILD(22), CHILD(27), CHILD(47), CHILD(52),
2055   CHILD(57), CHILD(62), CHILD(67), TILE_OPC_ADDI, CHILD(72), CHILD(102),
2056   TILE_OPC_SEQI, CHILD(117), TILE_OPC_SLTI, TILE_OPC_SLTI_U,
2057   BITFIELD(18, 2) /* index 17 */,
2058   TILE_OPC_ADD, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_SUB,
2059   BITFIELD(18, 2) /* index 22 */,
2060   TILE_OPC_MNZ, TILE_OPC_MVNZ, TILE_OPC_MVZ, TILE_OPC_MZ,
2061   BITFIELD(18, 2) /* index 27 */,
2062   TILE_OPC_AND, TILE_OPC_NOR, CHILD(32), TILE_OPC_XOR,
2063   BITFIELD(12, 2) /* index 32 */,
2064   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(37),
2065   BITFIELD(14, 2) /* index 37 */,
2066   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(42),
2067   BITFIELD(16, 2) /* index 42 */,
2068   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE,
2069   BITFIELD(18, 2) /* index 47 */,
2070   TILE_OPC_RL, TILE_OPC_SHL, TILE_OPC_SHR, TILE_OPC_SRA,
2071   BITFIELD(18, 2) /* index 52 */,
2072   TILE_OPC_SLTE, TILE_OPC_SLTE_U, TILE_OPC_SLT, TILE_OPC_SLT_U,
2073   BITFIELD(18, 2) /* index 57 */,
2074   TILE_OPC_MULHLSA_UU, TILE_OPC_S3A, TILE_OPC_SEQ, TILE_OPC_SNE,
2075   BITFIELD(18, 2) /* index 62 */,
2076   TILE_OPC_MULHH_SS, TILE_OPC_MULHH_UU, TILE_OPC_MULLL_SS, TILE_OPC_MULLL_UU,
2077   BITFIELD(18, 2) /* index 67 */,
2078   TILE_OPC_MULHHA_SS, TILE_OPC_MULHHA_UU, TILE_OPC_MULLLA_SS,
2079   TILE_OPC_MULLLA_UU,
2080   BITFIELD(0, 2) /* index 72 */,
2081   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(77),
2082   BITFIELD(2, 2) /* index 77 */,
2083   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(82),
2084   BITFIELD(4, 2) /* index 82 */,
2085   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(87),
2086   BITFIELD(6, 2) /* index 87 */,
2087   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(92),
2088   BITFIELD(8, 2) /* index 92 */,
2089   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(97),
2090   BITFIELD(10, 2) /* index 97 */,
2091   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO,
2092   BITFIELD(6, 2) /* index 102 */,
2093   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(107),
2094   BITFIELD(8, 2) /* index 107 */,
2095   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(112),
2096   BITFIELD(10, 2) /* index 112 */,
2097   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI,
2098   BITFIELD(15, 5) /* index 117 */,
2099   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_RLI,
2100   TILE_OPC_RLI, TILE_OPC_RLI, TILE_OPC_RLI, TILE_OPC_SHLI, TILE_OPC_SHLI,
2101   TILE_OPC_SHLI, TILE_OPC_SHLI, TILE_OPC_SHRI, TILE_OPC_SHRI, TILE_OPC_SHRI,
2102   TILE_OPC_SHRI, TILE_OPC_SRAI, TILE_OPC_SRAI, TILE_OPC_SRAI, TILE_OPC_SRAI,
2103   CHILD(150), CHILD(159), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2104   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2105   TILE_OPC_NONE, TILE_OPC_NONE,
2106   BITFIELD(12, 3) /* index 150 */,
2107   TILE_OPC_NONE, TILE_OPC_BITX, TILE_OPC_BYTEX, TILE_OPC_CLZ, TILE_OPC_CTZ,
2108   TILE_OPC_FNOP, TILE_OPC_NOP, TILE_OPC_PCNT,
2109   BITFIELD(12, 3) /* index 159 */,
2110   TILE_OPC_TBLIDXB0, TILE_OPC_TBLIDXB1, TILE_OPC_TBLIDXB2, TILE_OPC_TBLIDXB3,
2111   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2112 };
2113
2114 static const unsigned short decode_Y1_fsm[140] =
2115 {
2116   BITFIELD(59, 4) /* index 0 */,
2117   TILE_OPC_NONE, CHILD(17), CHILD(22), CHILD(27), CHILD(47), CHILD(52),
2118   CHILD(57), TILE_OPC_ADDI, CHILD(62), CHILD(92), TILE_OPC_SEQI, CHILD(107),
2119   TILE_OPC_SLTI, TILE_OPC_SLTI_U, TILE_OPC_NONE, TILE_OPC_NONE,
2120   BITFIELD(49, 2) /* index 17 */,
2121   TILE_OPC_ADD, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_SUB,
2122   BITFIELD(49, 2) /* index 22 */,
2123   TILE_OPC_NONE, TILE_OPC_MNZ, TILE_OPC_MZ, TILE_OPC_NONE,
2124   BITFIELD(49, 2) /* index 27 */,
2125   TILE_OPC_AND, TILE_OPC_NOR, CHILD(32), TILE_OPC_XOR,
2126   BITFIELD(43, 2) /* index 32 */,
2127   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(37),
2128   BITFIELD(45, 2) /* index 37 */,
2129   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(42),
2130   BITFIELD(47, 2) /* index 42 */,
2131   TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE,
2132   BITFIELD(49, 2) /* index 47 */,
2133   TILE_OPC_RL, TILE_OPC_SHL, TILE_OPC_SHR, TILE_OPC_SRA,
2134   BITFIELD(49, 2) /* index 52 */,
2135   TILE_OPC_SLTE, TILE_OPC_SLTE_U, TILE_OPC_SLT, TILE_OPC_SLT_U,
2136   BITFIELD(49, 2) /* index 57 */,
2137   TILE_OPC_NONE, TILE_OPC_S3A, TILE_OPC_SEQ, TILE_OPC_SNE,
2138   BITFIELD(31, 2) /* index 62 */,
2139   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(67),
2140   BITFIELD(33, 2) /* index 67 */,
2141   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(72),
2142   BITFIELD(35, 2) /* index 72 */,
2143   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(77),
2144   BITFIELD(37, 2) /* index 77 */,
2145   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(82),
2146   BITFIELD(39, 2) /* index 82 */,
2147   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(87),
2148   BITFIELD(41, 2) /* index 87 */,
2149   TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO,
2150   BITFIELD(37, 2) /* index 92 */,
2151   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(97),
2152   BITFIELD(39, 2) /* index 97 */,
2153   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(102),
2154   BITFIELD(41, 2) /* index 102 */,
2155   TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI,
2156   BITFIELD(48, 3) /* index 107 */,
2157   TILE_OPC_NONE, TILE_OPC_RLI, TILE_OPC_SHLI, TILE_OPC_SHRI, TILE_OPC_SRAI,
2158   CHILD(116), TILE_OPC_NONE, TILE_OPC_NONE,
2159   BITFIELD(43, 3) /* index 116 */,
2160   TILE_OPC_NONE, CHILD(125), CHILD(130), CHILD(135), TILE_OPC_NONE,
2161   TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2162   BITFIELD(46, 2) /* index 125 */,
2163   TILE_OPC_FNOP, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2164   BITFIELD(46, 2) /* index 130 */,
2165   TILE_OPC_ILL, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2166   BITFIELD(46, 2) /* index 135 */,
2167   TILE_OPC_NOP, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2168 };
2169
2170 static const unsigned short decode_Y2_fsm[24] =
2171 {
2172   BITFIELD(56, 3) /* index 0 */,
2173   CHILD(9), TILE_OPC_LB_U, TILE_OPC_LH, TILE_OPC_LH_U, TILE_OPC_LW,
2174   TILE_OPC_SB, TILE_OPC_SH, TILE_OPC_SW,
2175   BITFIELD(20, 2) /* index 9 */,
2176   TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(14),
2177   BITFIELD(22, 2) /* index 14 */,
2178   TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(19),
2179   BITFIELD(24, 2) /* index 19 */,
2180   TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_PREFETCH,
2181 };
2182
2183 #undef BITFIELD
2184 #undef CHILD
2185 const unsigned short * const
2186 tile_bundle_decoder_fsms[TILE_NUM_PIPELINE_ENCODINGS] =
2187 {
2188   decode_X0_fsm,
2189   decode_X1_fsm,
2190   decode_Y0_fsm,
2191   decode_Y1_fsm,
2192   decode_Y2_fsm
2193 };
2194 const struct tile_operand tile_operands[43] =
2195 {
2196   {
2197     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM8_X0),
2198     8, 1, 0, 0, 0, 0,
2199     create_Imm8_X0, get_Imm8_X0
2200   },
2201   {
2202     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM8_X1),
2203     8, 1, 0, 0, 0, 0,
2204     create_Imm8_X1, get_Imm8_X1
2205   },
2206   {
2207     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM8_Y0),
2208     8, 1, 0, 0, 0, 0,
2209     create_Imm8_Y0, get_Imm8_Y0
2210   },
2211   {
2212     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM8_Y1),
2213     8, 1, 0, 0, 0, 0,
2214     create_Imm8_Y1, get_Imm8_Y1
2215   },
2216   {
2217     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM16_X0),
2218     16, 1, 0, 0, 0, 0,
2219     create_Imm16_X0, get_Imm16_X0
2220   },
2221   {
2222     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM16_X1),
2223     16, 1, 0, 0, 0, 0,
2224     create_Imm16_X1, get_Imm16_X1
2225   },
2226   {
2227     TILE_OP_TYPE_ADDRESS, BFD_RELOC(TILE_JOFFLONG_X1),
2228     29, 1, 0, 0, 1, TILE_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
2229     create_JOffLong_X1, get_JOffLong_X1
2230   },
2231   {
2232     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2233     6, 0, 0, 1, 0, 0,
2234     create_Dest_X0, get_Dest_X0
2235   },
2236   {
2237     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2238     6, 0, 1, 0, 0, 0,
2239     create_SrcA_X0, get_SrcA_X0
2240   },
2241   {
2242     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2243     6, 0, 0, 1, 0, 0,
2244     create_Dest_X1, get_Dest_X1
2245   },
2246   {
2247     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2248     6, 0, 1, 0, 0, 0,
2249     create_SrcA_X1, get_SrcA_X1
2250   },
2251   {
2252     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2253     6, 0, 0, 1, 0, 0,
2254     create_Dest_Y0, get_Dest_Y0
2255   },
2256   {
2257     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2258     6, 0, 1, 0, 0, 0,
2259     create_SrcA_Y0, get_SrcA_Y0
2260   },
2261   {
2262     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2263     6, 0, 0, 1, 0, 0,
2264     create_Dest_Y1, get_Dest_Y1
2265   },
2266   {
2267     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2268     6, 0, 1, 0, 0, 0,
2269     create_SrcA_Y1, get_SrcA_Y1
2270   },
2271   {
2272     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2273     6, 0, 1, 0, 0, 0,
2274     create_SrcA_Y2, get_SrcA_Y2
2275   },
2276   {
2277     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2278     6, 0, 1, 0, 0, 0,
2279     create_SrcB_X0, get_SrcB_X0
2280   },
2281   {
2282     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2283     6, 0, 1, 0, 0, 0,
2284     create_SrcB_X1, get_SrcB_X1
2285   },
2286   {
2287     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2288     6, 0, 1, 0, 0, 0,
2289     create_SrcB_Y0, get_SrcB_Y0
2290   },
2291   {
2292     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2293     6, 0, 1, 0, 0, 0,
2294     create_SrcB_Y1, get_SrcB_Y1
2295   },
2296   {
2297     TILE_OP_TYPE_ADDRESS, BFD_RELOC(TILE_BROFF_X1),
2298     17, 1, 0, 0, 1, TILE_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
2299     create_BrOff_X1, get_BrOff_X1
2300   },
2301   {
2302     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2303     6, 0, 1, 1, 0, 0,
2304     create_Dest_X0, get_Dest_X0
2305   },
2306   {
2307     TILE_OP_TYPE_ADDRESS, BFD_RELOC(NONE),
2308     28, 1, 0, 0, 1, TILE_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
2309     create_JOff_X1, get_JOff_X1
2310   },
2311   {
2312     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2313     6, 0, 0, 1, 0, 0,
2314     create_SrcBDest_Y2, get_SrcBDest_Y2
2315   },
2316   {
2317     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2318     6, 0, 1, 1, 0, 0,
2319     create_SrcA_X1, get_SrcA_X1
2320   },
2321   {
2322     TILE_OP_TYPE_SPR, BFD_RELOC(TILE_MF_IMM15_X1),
2323     15, 0, 0, 0, 0, 0,
2324     create_MF_Imm15_X1, get_MF_Imm15_X1
2325   },
2326   {
2327     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_MMSTART_X0),
2328     5, 0, 0, 0, 0, 0,
2329     create_MMStart_X0, get_MMStart_X0
2330   },
2331   {
2332     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_MMEND_X0),
2333     5, 0, 0, 0, 0, 0,
2334     create_MMEnd_X0, get_MMEnd_X0
2335   },
2336   {
2337     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_MMSTART_X1),
2338     5, 0, 0, 0, 0, 0,
2339     create_MMStart_X1, get_MMStart_X1
2340   },
2341   {
2342     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_MMEND_X1),
2343     5, 0, 0, 0, 0, 0,
2344     create_MMEnd_X1, get_MMEnd_X1
2345   },
2346   {
2347     TILE_OP_TYPE_SPR, BFD_RELOC(TILE_MT_IMM15_X1),
2348     15, 0, 0, 0, 0, 0,
2349     create_MT_Imm15_X1, get_MT_Imm15_X1
2350   },
2351   {
2352     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2353     6, 0, 1, 1, 0, 0,
2354     create_Dest_Y0, get_Dest_Y0
2355   },
2356   {
2357     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SHAMT_X0),
2358     5, 0, 0, 0, 0, 0,
2359     create_ShAmt_X0, get_ShAmt_X0
2360   },
2361   {
2362     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SHAMT_X1),
2363     5, 0, 0, 0, 0, 0,
2364     create_ShAmt_X1, get_ShAmt_X1
2365   },
2366   {
2367     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SHAMT_Y0),
2368     5, 0, 0, 0, 0, 0,
2369     create_ShAmt_Y0, get_ShAmt_Y0
2370   },
2371   {
2372     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SHAMT_Y1),
2373     5, 0, 0, 0, 0, 0,
2374     create_ShAmt_Y1, get_ShAmt_Y1
2375   },
2376   {
2377     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2378     6, 0, 1, 0, 0, 0,
2379     create_SrcBDest_Y2, get_SrcBDest_Y2
2380   },
2381   {
2382     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(NONE),
2383     8, 1, 0, 0, 0, 0,
2384     create_Dest_Imm8_X1, get_Dest_Imm8_X1
2385   },
2386   {
2387     TILE_OP_TYPE_ADDRESS, BFD_RELOC(TILE_SN_BROFF),
2388     10, 1, 0, 0, 1, TILE_LOG2_SN_INSTRUCTION_SIZE_IN_BYTES,
2389     create_BrOff_SN, get_BrOff_SN
2390   },
2391   {
2392     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SN_UIMM8),
2393     8, 0, 0, 0, 0, 0,
2394     create_Imm8_SN, get_Imm8_SN
2395   },
2396   {
2397     TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SN_IMM8),
2398     8, 1, 0, 0, 0, 0,
2399     create_Imm8_SN, get_Imm8_SN
2400   },
2401   {
2402     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2403     2, 0, 0, 1, 0, 0,
2404     create_Dest_SN, get_Dest_SN
2405   },
2406   {
2407     TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2408     2, 0, 1, 0, 0, 0,
2409     create_Src_SN, get_Src_SN
2410   }
2411 };
2412
2413
2414
2415
2416 /* Given a set of bundle bits and the lookup FSM for a specific pipe,
2417  * returns which instruction the bundle contains in that pipe.
2418  */
2419 static const struct tile_opcode *
2420 find_opcode(tile_bundle_bits bits, const unsigned short *table)
2421 {
2422   int index = 0;
2423
2424   while (1)
2425   {
2426     unsigned short bitspec = table[index];
2427     unsigned int bitfield =
2428       ((unsigned int)(bits >> (bitspec & 63))) & (bitspec >> 6);
2429
2430     unsigned short next = table[index + 1 + bitfield];
2431     if (next <= TILE_OPC_NONE)
2432       return &tile_opcodes[next];
2433
2434     index = next - TILE_OPC_NONE;
2435   }
2436 }
2437
2438
2439 int
2440 parse_insn_tile(tile_bundle_bits bits,
2441                 unsigned int pc,
2442                 struct tile_decoded_instruction
2443                 decoded[TILE_MAX_INSTRUCTIONS_PER_BUNDLE])
2444 {
2445   int num_instructions = 0;
2446   int pipe;
2447
2448   int min_pipe, max_pipe;
2449   if ((bits & TILE_BUNDLE_Y_ENCODING_MASK) == 0)
2450   {
2451     min_pipe = TILE_PIPELINE_X0;
2452     max_pipe = TILE_PIPELINE_X1;
2453   }
2454   else
2455   {
2456     min_pipe = TILE_PIPELINE_Y0;
2457     max_pipe = TILE_PIPELINE_Y2;
2458   }
2459
2460   /* For each pipe, find an instruction that fits. */
2461   for (pipe = min_pipe; pipe <= max_pipe; pipe++)
2462   {
2463     const struct tile_opcode *opc;
2464     struct tile_decoded_instruction *d;
2465     int i;
2466
2467     d = &decoded[num_instructions++];
2468     opc = find_opcode (bits, tile_bundle_decoder_fsms[pipe]);
2469     d->opcode = opc;
2470
2471     /* Decode each operand, sign extending, etc. as appropriate. */
2472     for (i = 0; i < opc->num_operands; i++)
2473     {
2474       const struct tile_operand *op =
2475         &tile_operands[opc->operands[pipe][i]];
2476       int opval = op->extract (bits);
2477       if (op->is_signed)
2478       {
2479         /* Sign-extend the operand. */
2480         int shift = (int)((sizeof(int) * 8) - op->num_bits);
2481         opval = (opval << shift) >> shift;
2482       }
2483
2484       /* Adjust PC-relative scaled branch offsets. */
2485       if (op->type == TILE_OP_TYPE_ADDRESS)
2486       {
2487         opval *= TILE_BUNDLE_SIZE_IN_BYTES;
2488         opval += (int)pc;
2489       }
2490
2491       /* Record the final value. */
2492       d->operands[i] = op;
2493       d->operand_values[i] = opval;
2494     }
2495   }
2496
2497   return num_instructions;
2498 }