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