spi-topcliff-pch: Fix issue for transmitting over 4KByte
[zen-stable.git] / arch / tile / kernel / tile-desc_32.c
blobdd7bd1d8563c58fcf55ab10df7742e34614a274a
1 /* TILEPro opcode information.
3 * Copyright 2011 Tilera Corporation. All Rights Reserved.
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation, version 2.
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
12 * NON INFRINGEMENT. See the GNU General Public License for
13 * more details.
21 /* This define is BFD_RELOC_##x for real bfd, or -1 for everyone else. */
22 #define BFD_RELOC(x) -1
24 /* Special registers. */
25 #define TREG_LR 55
26 #define TREG_SN 56
27 #define TREG_ZERO 63
29 #include <linux/stddef.h>
30 #include <asm/tile-desc.h>
32 const struct tilepro_opcode tilepro_opcodes[395] =
34 { "bpt", TILEPRO_OPC_BPT, 0x2, 0, TREG_ZERO, 0,
35 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
37 { "info", TILEPRO_OPC_INFO, 0xf, 1, TREG_ZERO, 1,
38 { { 0 }, { 1 }, { 2 }, { 3 }, { 0, } },
40 { "infol", TILEPRO_OPC_INFOL, 0x3, 1, TREG_ZERO, 1,
41 { { 4 }, { 5 }, { 0, }, { 0, }, { 0, } },
43 { "j", TILEPRO_OPC_J, 0x2, 1, TREG_ZERO, 1,
44 { { 0, }, { 6 }, { 0, }, { 0, }, { 0, } },
46 { "jal", TILEPRO_OPC_JAL, 0x2, 1, TREG_LR, 1,
47 { { 0, }, { 6 }, { 0, }, { 0, }, { 0, } },
49 { "move", TILEPRO_OPC_MOVE, 0xf, 2, TREG_ZERO, 1,
50 { { 7, 8 }, { 9, 10 }, { 11, 12 }, { 13, 14 }, { 0, } },
52 { "move.sn", TILEPRO_OPC_MOVE_SN, 0x3, 2, TREG_SN, 1,
53 { { 7, 8 }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
55 { "movei", TILEPRO_OPC_MOVEI, 0xf, 2, TREG_ZERO, 1,
56 { { 7, 0 }, { 9, 1 }, { 11, 2 }, { 13, 3 }, { 0, } },
58 { "movei.sn", TILEPRO_OPC_MOVEI_SN, 0x3, 2, TREG_SN, 1,
59 { { 7, 0 }, { 9, 1 }, { 0, }, { 0, }, { 0, } },
61 { "moveli", TILEPRO_OPC_MOVELI, 0x3, 2, TREG_ZERO, 1,
62 { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
64 { "moveli.sn", TILEPRO_OPC_MOVELI_SN, 0x3, 2, TREG_SN, 1,
65 { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
67 { "movelis", TILEPRO_OPC_MOVELIS, 0x3, 2, TREG_SN, 1,
68 { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
70 { "prefetch", TILEPRO_OPC_PREFETCH, 0x12, 1, TREG_ZERO, 1,
71 { { 0, }, { 10 }, { 0, }, { 0, }, { 15 } },
73 { "raise", TILEPRO_OPC_RAISE, 0x2, 0, TREG_ZERO, 1,
74 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
76 { "add", TILEPRO_OPC_ADD, 0xf, 3, TREG_ZERO, 1,
77 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
79 { "add.sn", TILEPRO_OPC_ADD_SN, 0x3, 3, TREG_SN, 1,
80 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
82 { "addb", TILEPRO_OPC_ADDB, 0x3, 3, TREG_ZERO, 1,
83 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
85 { "addb.sn", TILEPRO_OPC_ADDB_SN, 0x3, 3, TREG_SN, 1,
86 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
88 { "addbs_u", TILEPRO_OPC_ADDBS_U, 0x3, 3, TREG_ZERO, 1,
89 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
91 { "addbs_u.sn", TILEPRO_OPC_ADDBS_U_SN, 0x3, 3, TREG_SN, 1,
92 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
94 { "addh", TILEPRO_OPC_ADDH, 0x3, 3, TREG_ZERO, 1,
95 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
97 { "addh.sn", TILEPRO_OPC_ADDH_SN, 0x3, 3, TREG_SN, 1,
98 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
100 { "addhs", TILEPRO_OPC_ADDHS, 0x3, 3, TREG_ZERO, 1,
101 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
103 { "addhs.sn", TILEPRO_OPC_ADDHS_SN, 0x3, 3, TREG_SN, 1,
104 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
106 { "addi", TILEPRO_OPC_ADDI, 0xf, 3, TREG_ZERO, 1,
107 { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
109 { "addi.sn", TILEPRO_OPC_ADDI_SN, 0x3, 3, TREG_SN, 1,
110 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
112 { "addib", TILEPRO_OPC_ADDIB, 0x3, 3, TREG_ZERO, 1,
113 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
115 { "addib.sn", TILEPRO_OPC_ADDIB_SN, 0x3, 3, TREG_SN, 1,
116 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
118 { "addih", TILEPRO_OPC_ADDIH, 0x3, 3, TREG_ZERO, 1,
119 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
121 { "addih.sn", TILEPRO_OPC_ADDIH_SN, 0x3, 3, TREG_SN, 1,
122 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
124 { "addli", TILEPRO_OPC_ADDLI, 0x3, 3, TREG_ZERO, 1,
125 { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
127 { "addli.sn", TILEPRO_OPC_ADDLI_SN, 0x3, 3, TREG_SN, 1,
128 { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
130 { "addlis", TILEPRO_OPC_ADDLIS, 0x3, 3, TREG_SN, 1,
131 { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
133 { "adds", TILEPRO_OPC_ADDS, 0x3, 3, TREG_ZERO, 1,
134 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
136 { "adds.sn", TILEPRO_OPC_ADDS_SN, 0x3, 3, TREG_SN, 1,
137 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
139 { "adiffb_u", TILEPRO_OPC_ADIFFB_U, 0x1, 3, TREG_ZERO, 1,
140 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
142 { "adiffb_u.sn", TILEPRO_OPC_ADIFFB_U_SN, 0x1, 3, TREG_SN, 1,
143 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
145 { "adiffh", TILEPRO_OPC_ADIFFH, 0x1, 3, TREG_ZERO, 1,
146 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
148 { "adiffh.sn", TILEPRO_OPC_ADIFFH_SN, 0x1, 3, TREG_SN, 1,
149 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
151 { "and", TILEPRO_OPC_AND, 0xf, 3, TREG_ZERO, 1,
152 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
154 { "and.sn", TILEPRO_OPC_AND_SN, 0x3, 3, TREG_SN, 1,
155 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
157 { "andi", TILEPRO_OPC_ANDI, 0xf, 3, TREG_ZERO, 1,
158 { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
160 { "andi.sn", TILEPRO_OPC_ANDI_SN, 0x3, 3, TREG_SN, 1,
161 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
163 { "auli", TILEPRO_OPC_AULI, 0x3, 3, TREG_ZERO, 1,
164 { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
166 { "avgb_u", TILEPRO_OPC_AVGB_U, 0x1, 3, TREG_ZERO, 1,
167 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
169 { "avgb_u.sn", TILEPRO_OPC_AVGB_U_SN, 0x1, 3, TREG_SN, 1,
170 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
172 { "avgh", TILEPRO_OPC_AVGH, 0x1, 3, TREG_ZERO, 1,
173 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
175 { "avgh.sn", TILEPRO_OPC_AVGH_SN, 0x1, 3, TREG_SN, 1,
176 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
178 { "bbns", TILEPRO_OPC_BBNS, 0x2, 2, TREG_ZERO, 1,
179 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
181 { "bbns.sn", TILEPRO_OPC_BBNS_SN, 0x2, 2, TREG_SN, 1,
182 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
184 { "bbnst", TILEPRO_OPC_BBNST, 0x2, 2, TREG_ZERO, 1,
185 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
187 { "bbnst.sn", TILEPRO_OPC_BBNST_SN, 0x2, 2, TREG_SN, 1,
188 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
190 { "bbs", TILEPRO_OPC_BBS, 0x2, 2, TREG_ZERO, 1,
191 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
193 { "bbs.sn", TILEPRO_OPC_BBS_SN, 0x2, 2, TREG_SN, 1,
194 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
196 { "bbst", TILEPRO_OPC_BBST, 0x2, 2, TREG_ZERO, 1,
197 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
199 { "bbst.sn", TILEPRO_OPC_BBST_SN, 0x2, 2, TREG_SN, 1,
200 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
202 { "bgez", TILEPRO_OPC_BGEZ, 0x2, 2, TREG_ZERO, 1,
203 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
205 { "bgez.sn", TILEPRO_OPC_BGEZ_SN, 0x2, 2, TREG_SN, 1,
206 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
208 { "bgezt", TILEPRO_OPC_BGEZT, 0x2, 2, TREG_ZERO, 1,
209 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
211 { "bgezt.sn", TILEPRO_OPC_BGEZT_SN, 0x2, 2, TREG_SN, 1,
212 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
214 { "bgz", TILEPRO_OPC_BGZ, 0x2, 2, TREG_ZERO, 1,
215 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
217 { "bgz.sn", TILEPRO_OPC_BGZ_SN, 0x2, 2, TREG_SN, 1,
218 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
220 { "bgzt", TILEPRO_OPC_BGZT, 0x2, 2, TREG_ZERO, 1,
221 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
223 { "bgzt.sn", TILEPRO_OPC_BGZT_SN, 0x2, 2, TREG_SN, 1,
224 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
226 { "bitx", TILEPRO_OPC_BITX, 0x5, 2, TREG_ZERO, 1,
227 { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
229 { "bitx.sn", TILEPRO_OPC_BITX_SN, 0x1, 2, TREG_SN, 1,
230 { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
232 { "blez", TILEPRO_OPC_BLEZ, 0x2, 2, TREG_ZERO, 1,
233 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
235 { "blez.sn", TILEPRO_OPC_BLEZ_SN, 0x2, 2, TREG_SN, 1,
236 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
238 { "blezt", TILEPRO_OPC_BLEZT, 0x2, 2, TREG_ZERO, 1,
239 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
241 { "blezt.sn", TILEPRO_OPC_BLEZT_SN, 0x2, 2, TREG_SN, 1,
242 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
244 { "blz", TILEPRO_OPC_BLZ, 0x2, 2, TREG_ZERO, 1,
245 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
247 { "blz.sn", TILEPRO_OPC_BLZ_SN, 0x2, 2, TREG_SN, 1,
248 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
250 { "blzt", TILEPRO_OPC_BLZT, 0x2, 2, TREG_ZERO, 1,
251 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
253 { "blzt.sn", TILEPRO_OPC_BLZT_SN, 0x2, 2, TREG_SN, 1,
254 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
256 { "bnz", TILEPRO_OPC_BNZ, 0x2, 2, TREG_ZERO, 1,
257 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
259 { "bnz.sn", TILEPRO_OPC_BNZ_SN, 0x2, 2, TREG_SN, 1,
260 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
262 { "bnzt", TILEPRO_OPC_BNZT, 0x2, 2, TREG_ZERO, 1,
263 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
265 { "bnzt.sn", TILEPRO_OPC_BNZT_SN, 0x2, 2, TREG_SN, 1,
266 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
268 { "bytex", TILEPRO_OPC_BYTEX, 0x5, 2, TREG_ZERO, 1,
269 { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
271 { "bytex.sn", TILEPRO_OPC_BYTEX_SN, 0x1, 2, TREG_SN, 1,
272 { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
274 { "bz", TILEPRO_OPC_BZ, 0x2, 2, TREG_ZERO, 1,
275 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
277 { "bz.sn", TILEPRO_OPC_BZ_SN, 0x2, 2, TREG_SN, 1,
278 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
280 { "bzt", TILEPRO_OPC_BZT, 0x2, 2, TREG_ZERO, 1,
281 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
283 { "bzt.sn", TILEPRO_OPC_BZT_SN, 0x2, 2, TREG_SN, 1,
284 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
286 { "clz", TILEPRO_OPC_CLZ, 0x5, 2, TREG_ZERO, 1,
287 { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
289 { "clz.sn", TILEPRO_OPC_CLZ_SN, 0x1, 2, TREG_SN, 1,
290 { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
292 { "crc32_32", TILEPRO_OPC_CRC32_32, 0x1, 3, TREG_ZERO, 1,
293 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
295 { "crc32_32.sn", TILEPRO_OPC_CRC32_32_SN, 0x1, 3, TREG_SN, 1,
296 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
298 { "crc32_8", TILEPRO_OPC_CRC32_8, 0x1, 3, TREG_ZERO, 1,
299 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
301 { "crc32_8.sn", TILEPRO_OPC_CRC32_8_SN, 0x1, 3, TREG_SN, 1,
302 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
304 { "ctz", TILEPRO_OPC_CTZ, 0x5, 2, TREG_ZERO, 1,
305 { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
307 { "ctz.sn", TILEPRO_OPC_CTZ_SN, 0x1, 2, TREG_SN, 1,
308 { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
310 { "drain", TILEPRO_OPC_DRAIN, 0x2, 0, TREG_ZERO, 0,
311 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
313 { "dtlbpr", TILEPRO_OPC_DTLBPR, 0x2, 1, TREG_ZERO, 1,
314 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
316 { "dword_align", TILEPRO_OPC_DWORD_ALIGN, 0x1, 3, TREG_ZERO, 1,
317 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
319 { "dword_align.sn", TILEPRO_OPC_DWORD_ALIGN_SN, 0x1, 3, TREG_SN, 1,
320 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
322 { "finv", TILEPRO_OPC_FINV, 0x2, 1, TREG_ZERO, 1,
323 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
325 { "flush", TILEPRO_OPC_FLUSH, 0x2, 1, TREG_ZERO, 1,
326 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
328 { "fnop", TILEPRO_OPC_FNOP, 0xf, 0, TREG_ZERO, 1,
329 { { }, { }, { }, { }, { 0, } },
331 { "icoh", TILEPRO_OPC_ICOH, 0x2, 1, TREG_ZERO, 1,
332 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
334 { "ill", TILEPRO_OPC_ILL, 0xa, 0, TREG_ZERO, 1,
335 { { 0, }, { }, { 0, }, { }, { 0, } },
337 { "inthb", TILEPRO_OPC_INTHB, 0x3, 3, TREG_ZERO, 1,
338 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
340 { "inthb.sn", TILEPRO_OPC_INTHB_SN, 0x3, 3, TREG_SN, 1,
341 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
343 { "inthh", TILEPRO_OPC_INTHH, 0x3, 3, TREG_ZERO, 1,
344 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
346 { "inthh.sn", TILEPRO_OPC_INTHH_SN, 0x3, 3, TREG_SN, 1,
347 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
349 { "intlb", TILEPRO_OPC_INTLB, 0x3, 3, TREG_ZERO, 1,
350 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
352 { "intlb.sn", TILEPRO_OPC_INTLB_SN, 0x3, 3, TREG_SN, 1,
353 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
355 { "intlh", TILEPRO_OPC_INTLH, 0x3, 3, TREG_ZERO, 1,
356 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
358 { "intlh.sn", TILEPRO_OPC_INTLH_SN, 0x3, 3, TREG_SN, 1,
359 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
361 { "inv", TILEPRO_OPC_INV, 0x2, 1, TREG_ZERO, 1,
362 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
364 { "iret", TILEPRO_OPC_IRET, 0x2, 0, TREG_ZERO, 1,
365 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
367 { "jalb", TILEPRO_OPC_JALB, 0x2, 1, TREG_LR, 1,
368 { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
370 { "jalf", TILEPRO_OPC_JALF, 0x2, 1, TREG_LR, 1,
371 { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
373 { "jalr", TILEPRO_OPC_JALR, 0x2, 1, TREG_LR, 1,
374 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
376 { "jalrp", TILEPRO_OPC_JALRP, 0x2, 1, TREG_LR, 1,
377 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
379 { "jb", TILEPRO_OPC_JB, 0x2, 1, TREG_ZERO, 1,
380 { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
382 { "jf", TILEPRO_OPC_JF, 0x2, 1, TREG_ZERO, 1,
383 { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
385 { "jr", TILEPRO_OPC_JR, 0x2, 1, TREG_ZERO, 1,
386 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
388 { "jrp", TILEPRO_OPC_JRP, 0x2, 1, TREG_ZERO, 1,
389 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
391 { "lb", TILEPRO_OPC_LB, 0x12, 2, TREG_ZERO, 1,
392 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
394 { "lb.sn", TILEPRO_OPC_LB_SN, 0x2, 2, TREG_SN, 1,
395 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
397 { "lb_u", TILEPRO_OPC_LB_U, 0x12, 2, TREG_ZERO, 1,
398 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
400 { "lb_u.sn", TILEPRO_OPC_LB_U_SN, 0x2, 2, TREG_SN, 1,
401 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
403 { "lbadd", TILEPRO_OPC_LBADD, 0x2, 3, TREG_ZERO, 1,
404 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
406 { "lbadd.sn", TILEPRO_OPC_LBADD_SN, 0x2, 3, TREG_SN, 1,
407 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
409 { "lbadd_u", TILEPRO_OPC_LBADD_U, 0x2, 3, TREG_ZERO, 1,
410 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
412 { "lbadd_u.sn", TILEPRO_OPC_LBADD_U_SN, 0x2, 3, TREG_SN, 1,
413 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
415 { "lh", TILEPRO_OPC_LH, 0x12, 2, TREG_ZERO, 1,
416 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
418 { "lh.sn", TILEPRO_OPC_LH_SN, 0x2, 2, TREG_SN, 1,
419 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
421 { "lh_u", TILEPRO_OPC_LH_U, 0x12, 2, TREG_ZERO, 1,
422 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
424 { "lh_u.sn", TILEPRO_OPC_LH_U_SN, 0x2, 2, TREG_SN, 1,
425 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
427 { "lhadd", TILEPRO_OPC_LHADD, 0x2, 3, TREG_ZERO, 1,
428 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
430 { "lhadd.sn", TILEPRO_OPC_LHADD_SN, 0x2, 3, TREG_SN, 1,
431 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
433 { "lhadd_u", TILEPRO_OPC_LHADD_U, 0x2, 3, TREG_ZERO, 1,
434 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
436 { "lhadd_u.sn", TILEPRO_OPC_LHADD_U_SN, 0x2, 3, TREG_SN, 1,
437 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
439 { "lnk", TILEPRO_OPC_LNK, 0x2, 1, TREG_ZERO, 1,
440 { { 0, }, { 9 }, { 0, }, { 0, }, { 0, } },
442 { "lnk.sn", TILEPRO_OPC_LNK_SN, 0x2, 1, TREG_SN, 1,
443 { { 0, }, { 9 }, { 0, }, { 0, }, { 0, } },
445 { "lw", TILEPRO_OPC_LW, 0x12, 2, TREG_ZERO, 1,
446 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
448 { "lw.sn", TILEPRO_OPC_LW_SN, 0x2, 2, TREG_SN, 1,
449 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
451 { "lw_na", TILEPRO_OPC_LW_NA, 0x2, 2, TREG_ZERO, 1,
452 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
454 { "lw_na.sn", TILEPRO_OPC_LW_NA_SN, 0x2, 2, TREG_SN, 1,
455 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
457 { "lwadd", TILEPRO_OPC_LWADD, 0x2, 3, TREG_ZERO, 1,
458 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
460 { "lwadd.sn", TILEPRO_OPC_LWADD_SN, 0x2, 3, TREG_SN, 1,
461 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
463 { "lwadd_na", TILEPRO_OPC_LWADD_NA, 0x2, 3, TREG_ZERO, 1,
464 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
466 { "lwadd_na.sn", TILEPRO_OPC_LWADD_NA_SN, 0x2, 3, TREG_SN, 1,
467 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
469 { "maxb_u", TILEPRO_OPC_MAXB_U, 0x3, 3, TREG_ZERO, 1,
470 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
472 { "maxb_u.sn", TILEPRO_OPC_MAXB_U_SN, 0x3, 3, TREG_SN, 1,
473 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
475 { "maxh", TILEPRO_OPC_MAXH, 0x3, 3, TREG_ZERO, 1,
476 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
478 { "maxh.sn", TILEPRO_OPC_MAXH_SN, 0x3, 3, TREG_SN, 1,
479 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
481 { "maxib_u", TILEPRO_OPC_MAXIB_U, 0x3, 3, TREG_ZERO, 1,
482 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
484 { "maxib_u.sn", TILEPRO_OPC_MAXIB_U_SN, 0x3, 3, TREG_SN, 1,
485 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
487 { "maxih", TILEPRO_OPC_MAXIH, 0x3, 3, TREG_ZERO, 1,
488 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
490 { "maxih.sn", TILEPRO_OPC_MAXIH_SN, 0x3, 3, TREG_SN, 1,
491 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
493 { "mf", TILEPRO_OPC_MF, 0x2, 0, TREG_ZERO, 1,
494 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
496 { "mfspr", TILEPRO_OPC_MFSPR, 0x2, 2, TREG_ZERO, 1,
497 { { 0, }, { 9, 25 }, { 0, }, { 0, }, { 0, } },
499 { "minb_u", TILEPRO_OPC_MINB_U, 0x3, 3, TREG_ZERO, 1,
500 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
502 { "minb_u.sn", TILEPRO_OPC_MINB_U_SN, 0x3, 3, TREG_SN, 1,
503 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
505 { "minh", TILEPRO_OPC_MINH, 0x3, 3, TREG_ZERO, 1,
506 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
508 { "minh.sn", TILEPRO_OPC_MINH_SN, 0x3, 3, TREG_SN, 1,
509 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
511 { "minib_u", TILEPRO_OPC_MINIB_U, 0x3, 3, TREG_ZERO, 1,
512 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
514 { "minib_u.sn", TILEPRO_OPC_MINIB_U_SN, 0x3, 3, TREG_SN, 1,
515 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
517 { "minih", TILEPRO_OPC_MINIH, 0x3, 3, TREG_ZERO, 1,
518 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
520 { "minih.sn", TILEPRO_OPC_MINIH_SN, 0x3, 3, TREG_SN, 1,
521 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
523 { "mm", TILEPRO_OPC_MM, 0x3, 5, TREG_ZERO, 1,
524 { { 7, 8, 16, 26, 27 }, { 9, 10, 17, 28, 29 }, { 0, }, { 0, }, { 0, } },
526 { "mnz", TILEPRO_OPC_MNZ, 0xf, 3, TREG_ZERO, 1,
527 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
529 { "mnz.sn", TILEPRO_OPC_MNZ_SN, 0x3, 3, TREG_SN, 1,
530 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
532 { "mnzb", TILEPRO_OPC_MNZB, 0x3, 3, TREG_ZERO, 1,
533 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
535 { "mnzb.sn", TILEPRO_OPC_MNZB_SN, 0x3, 3, TREG_SN, 1,
536 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
538 { "mnzh", TILEPRO_OPC_MNZH, 0x3, 3, TREG_ZERO, 1,
539 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
541 { "mnzh.sn", TILEPRO_OPC_MNZH_SN, 0x3, 3, TREG_SN, 1,
542 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
544 { "mtspr", TILEPRO_OPC_MTSPR, 0x2, 2, TREG_ZERO, 1,
545 { { 0, }, { 30, 10 }, { 0, }, { 0, }, { 0, } },
547 { "mulhh_ss", TILEPRO_OPC_MULHH_SS, 0x5, 3, TREG_ZERO, 1,
548 { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
550 { "mulhh_ss.sn", TILEPRO_OPC_MULHH_SS_SN, 0x1, 3, TREG_SN, 1,
551 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
553 { "mulhh_su", TILEPRO_OPC_MULHH_SU, 0x1, 3, TREG_ZERO, 1,
554 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
556 { "mulhh_su.sn", TILEPRO_OPC_MULHH_SU_SN, 0x1, 3, TREG_SN, 1,
557 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
559 { "mulhh_uu", TILEPRO_OPC_MULHH_UU, 0x5, 3, TREG_ZERO, 1,
560 { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
562 { "mulhh_uu.sn", TILEPRO_OPC_MULHH_UU_SN, 0x1, 3, TREG_SN, 1,
563 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
565 { "mulhha_ss", TILEPRO_OPC_MULHHA_SS, 0x5, 3, TREG_ZERO, 1,
566 { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
568 { "mulhha_ss.sn", TILEPRO_OPC_MULHHA_SS_SN, 0x1, 3, TREG_SN, 1,
569 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
571 { "mulhha_su", TILEPRO_OPC_MULHHA_SU, 0x1, 3, TREG_ZERO, 1,
572 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
574 { "mulhha_su.sn", TILEPRO_OPC_MULHHA_SU_SN, 0x1, 3, TREG_SN, 1,
575 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
577 { "mulhha_uu", TILEPRO_OPC_MULHHA_UU, 0x5, 3, TREG_ZERO, 1,
578 { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
580 { "mulhha_uu.sn", TILEPRO_OPC_MULHHA_UU_SN, 0x1, 3, TREG_SN, 1,
581 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
583 { "mulhhsa_uu", TILEPRO_OPC_MULHHSA_UU, 0x1, 3, TREG_ZERO, 1,
584 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
586 { "mulhhsa_uu.sn", TILEPRO_OPC_MULHHSA_UU_SN, 0x1, 3, TREG_SN, 1,
587 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
589 { "mulhl_ss", TILEPRO_OPC_MULHL_SS, 0x1, 3, TREG_ZERO, 1,
590 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
592 { "mulhl_ss.sn", TILEPRO_OPC_MULHL_SS_SN, 0x1, 3, TREG_SN, 1,
593 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
595 { "mulhl_su", TILEPRO_OPC_MULHL_SU, 0x1, 3, TREG_ZERO, 1,
596 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
598 { "mulhl_su.sn", TILEPRO_OPC_MULHL_SU_SN, 0x1, 3, TREG_SN, 1,
599 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
601 { "mulhl_us", TILEPRO_OPC_MULHL_US, 0x1, 3, TREG_ZERO, 1,
602 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
604 { "mulhl_us.sn", TILEPRO_OPC_MULHL_US_SN, 0x1, 3, TREG_SN, 1,
605 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
607 { "mulhl_uu", TILEPRO_OPC_MULHL_UU, 0x1, 3, TREG_ZERO, 1,
608 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
610 { "mulhl_uu.sn", TILEPRO_OPC_MULHL_UU_SN, 0x1, 3, TREG_SN, 1,
611 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
613 { "mulhla_ss", TILEPRO_OPC_MULHLA_SS, 0x1, 3, TREG_ZERO, 1,
614 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
616 { "mulhla_ss.sn", TILEPRO_OPC_MULHLA_SS_SN, 0x1, 3, TREG_SN, 1,
617 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
619 { "mulhla_su", TILEPRO_OPC_MULHLA_SU, 0x1, 3, TREG_ZERO, 1,
620 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
622 { "mulhla_su.sn", TILEPRO_OPC_MULHLA_SU_SN, 0x1, 3, TREG_SN, 1,
623 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
625 { "mulhla_us", TILEPRO_OPC_MULHLA_US, 0x1, 3, TREG_ZERO, 1,
626 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
628 { "mulhla_us.sn", TILEPRO_OPC_MULHLA_US_SN, 0x1, 3, TREG_SN, 1,
629 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
631 { "mulhla_uu", TILEPRO_OPC_MULHLA_UU, 0x1, 3, TREG_ZERO, 1,
632 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
634 { "mulhla_uu.sn", TILEPRO_OPC_MULHLA_UU_SN, 0x1, 3, TREG_SN, 1,
635 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
637 { "mulhlsa_uu", TILEPRO_OPC_MULHLSA_UU, 0x5, 3, TREG_ZERO, 1,
638 { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
640 { "mulhlsa_uu.sn", TILEPRO_OPC_MULHLSA_UU_SN, 0x1, 3, TREG_SN, 1,
641 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
643 { "mulll_ss", TILEPRO_OPC_MULLL_SS, 0x5, 3, TREG_ZERO, 1,
644 { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
646 { "mulll_ss.sn", TILEPRO_OPC_MULLL_SS_SN, 0x1, 3, TREG_SN, 1,
647 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
649 { "mulll_su", TILEPRO_OPC_MULLL_SU, 0x1, 3, TREG_ZERO, 1,
650 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
652 { "mulll_su.sn", TILEPRO_OPC_MULLL_SU_SN, 0x1, 3, TREG_SN, 1,
653 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
655 { "mulll_uu", TILEPRO_OPC_MULLL_UU, 0x5, 3, TREG_ZERO, 1,
656 { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
658 { "mulll_uu.sn", TILEPRO_OPC_MULLL_UU_SN, 0x1, 3, TREG_SN, 1,
659 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
661 { "mullla_ss", TILEPRO_OPC_MULLLA_SS, 0x5, 3, TREG_ZERO, 1,
662 { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
664 { "mullla_ss.sn", TILEPRO_OPC_MULLLA_SS_SN, 0x1, 3, TREG_SN, 1,
665 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
667 { "mullla_su", TILEPRO_OPC_MULLLA_SU, 0x1, 3, TREG_ZERO, 1,
668 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
670 { "mullla_su.sn", TILEPRO_OPC_MULLLA_SU_SN, 0x1, 3, TREG_SN, 1,
671 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
673 { "mullla_uu", TILEPRO_OPC_MULLLA_UU, 0x5, 3, TREG_ZERO, 1,
674 { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
676 { "mullla_uu.sn", TILEPRO_OPC_MULLLA_UU_SN, 0x1, 3, TREG_SN, 1,
677 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
679 { "mulllsa_uu", TILEPRO_OPC_MULLLSA_UU, 0x1, 3, TREG_ZERO, 1,
680 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
682 { "mulllsa_uu.sn", TILEPRO_OPC_MULLLSA_UU_SN, 0x1, 3, TREG_SN, 1,
683 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
685 { "mvnz", TILEPRO_OPC_MVNZ, 0x5, 3, TREG_ZERO, 1,
686 { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
688 { "mvnz.sn", TILEPRO_OPC_MVNZ_SN, 0x1, 3, TREG_SN, 1,
689 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
691 { "mvz", TILEPRO_OPC_MVZ, 0x5, 3, TREG_ZERO, 1,
692 { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
694 { "mvz.sn", TILEPRO_OPC_MVZ_SN, 0x1, 3, TREG_SN, 1,
695 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
697 { "mz", TILEPRO_OPC_MZ, 0xf, 3, TREG_ZERO, 1,
698 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
700 { "mz.sn", TILEPRO_OPC_MZ_SN, 0x3, 3, TREG_SN, 1,
701 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
703 { "mzb", TILEPRO_OPC_MZB, 0x3, 3, TREG_ZERO, 1,
704 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
706 { "mzb.sn", TILEPRO_OPC_MZB_SN, 0x3, 3, TREG_SN, 1,
707 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
709 { "mzh", TILEPRO_OPC_MZH, 0x3, 3, TREG_ZERO, 1,
710 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
712 { "mzh.sn", TILEPRO_OPC_MZH_SN, 0x3, 3, TREG_SN, 1,
713 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
715 { "nap", TILEPRO_OPC_NAP, 0x2, 0, TREG_ZERO, 0,
716 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
718 { "nop", TILEPRO_OPC_NOP, 0xf, 0, TREG_ZERO, 1,
719 { { }, { }, { }, { }, { 0, } },
721 { "nor", TILEPRO_OPC_NOR, 0xf, 3, TREG_ZERO, 1,
722 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
724 { "nor.sn", TILEPRO_OPC_NOR_SN, 0x3, 3, TREG_SN, 1,
725 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
727 { "or", TILEPRO_OPC_OR, 0xf, 3, TREG_ZERO, 1,
728 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
730 { "or.sn", TILEPRO_OPC_OR_SN, 0x3, 3, TREG_SN, 1,
731 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
733 { "ori", TILEPRO_OPC_ORI, 0xf, 3, TREG_ZERO, 1,
734 { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
736 { "ori.sn", TILEPRO_OPC_ORI_SN, 0x3, 3, TREG_SN, 1,
737 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
739 { "packbs_u", TILEPRO_OPC_PACKBS_U, 0x3, 3, TREG_ZERO, 1,
740 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
742 { "packbs_u.sn", TILEPRO_OPC_PACKBS_U_SN, 0x3, 3, TREG_SN, 1,
743 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
745 { "packhb", TILEPRO_OPC_PACKHB, 0x3, 3, TREG_ZERO, 1,
746 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
748 { "packhb.sn", TILEPRO_OPC_PACKHB_SN, 0x3, 3, TREG_SN, 1,
749 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
751 { "packhs", TILEPRO_OPC_PACKHS, 0x3, 3, TREG_ZERO, 1,
752 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
754 { "packhs.sn", TILEPRO_OPC_PACKHS_SN, 0x3, 3, TREG_SN, 1,
755 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
757 { "packlb", TILEPRO_OPC_PACKLB, 0x3, 3, TREG_ZERO, 1,
758 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
760 { "packlb.sn", TILEPRO_OPC_PACKLB_SN, 0x3, 3, TREG_SN, 1,
761 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
763 { "pcnt", TILEPRO_OPC_PCNT, 0x5, 2, TREG_ZERO, 1,
764 { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
766 { "pcnt.sn", TILEPRO_OPC_PCNT_SN, 0x1, 2, TREG_SN, 1,
767 { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
769 { "rl", TILEPRO_OPC_RL, 0xf, 3, TREG_ZERO, 1,
770 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
772 { "rl.sn", TILEPRO_OPC_RL_SN, 0x3, 3, TREG_SN, 1,
773 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
775 { "rli", TILEPRO_OPC_RLI, 0xf, 3, TREG_ZERO, 1,
776 { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
778 { "rli.sn", TILEPRO_OPC_RLI_SN, 0x3, 3, TREG_SN, 1,
779 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
781 { "s1a", TILEPRO_OPC_S1A, 0xf, 3, TREG_ZERO, 1,
782 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
784 { "s1a.sn", TILEPRO_OPC_S1A_SN, 0x3, 3, TREG_SN, 1,
785 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
787 { "s2a", TILEPRO_OPC_S2A, 0xf, 3, TREG_ZERO, 1,
788 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
790 { "s2a.sn", TILEPRO_OPC_S2A_SN, 0x3, 3, TREG_SN, 1,
791 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
793 { "s3a", TILEPRO_OPC_S3A, 0xf, 3, TREG_ZERO, 1,
794 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
796 { "s3a.sn", TILEPRO_OPC_S3A_SN, 0x3, 3, TREG_SN, 1,
797 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
799 { "sadab_u", TILEPRO_OPC_SADAB_U, 0x1, 3, TREG_ZERO, 1,
800 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
802 { "sadab_u.sn", TILEPRO_OPC_SADAB_U_SN, 0x1, 3, TREG_SN, 1,
803 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
805 { "sadah", TILEPRO_OPC_SADAH, 0x1, 3, TREG_ZERO, 1,
806 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
808 { "sadah.sn", TILEPRO_OPC_SADAH_SN, 0x1, 3, TREG_SN, 1,
809 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
811 { "sadah_u", TILEPRO_OPC_SADAH_U, 0x1, 3, TREG_ZERO, 1,
812 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
814 { "sadah_u.sn", TILEPRO_OPC_SADAH_U_SN, 0x1, 3, TREG_SN, 1,
815 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
817 { "sadb_u", TILEPRO_OPC_SADB_U, 0x1, 3, TREG_ZERO, 1,
818 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
820 { "sadb_u.sn", TILEPRO_OPC_SADB_U_SN, 0x1, 3, TREG_SN, 1,
821 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
823 { "sadh", TILEPRO_OPC_SADH, 0x1, 3, TREG_ZERO, 1,
824 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
826 { "sadh.sn", TILEPRO_OPC_SADH_SN, 0x1, 3, TREG_SN, 1,
827 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
829 { "sadh_u", TILEPRO_OPC_SADH_U, 0x1, 3, TREG_ZERO, 1,
830 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
832 { "sadh_u.sn", TILEPRO_OPC_SADH_U_SN, 0x1, 3, TREG_SN, 1,
833 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
835 { "sb", TILEPRO_OPC_SB, 0x12, 2, TREG_ZERO, 1,
836 { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
838 { "sbadd", TILEPRO_OPC_SBADD, 0x2, 3, TREG_ZERO, 1,
839 { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
841 { "seq", TILEPRO_OPC_SEQ, 0xf, 3, TREG_ZERO, 1,
842 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
844 { "seq.sn", TILEPRO_OPC_SEQ_SN, 0x3, 3, TREG_SN, 1,
845 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
847 { "seqb", TILEPRO_OPC_SEQB, 0x3, 3, TREG_ZERO, 1,
848 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
850 { "seqb.sn", TILEPRO_OPC_SEQB_SN, 0x3, 3, TREG_SN, 1,
851 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
853 { "seqh", TILEPRO_OPC_SEQH, 0x3, 3, TREG_ZERO, 1,
854 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
856 { "seqh.sn", TILEPRO_OPC_SEQH_SN, 0x3, 3, TREG_SN, 1,
857 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
859 { "seqi", TILEPRO_OPC_SEQI, 0xf, 3, TREG_ZERO, 1,
860 { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
862 { "seqi.sn", TILEPRO_OPC_SEQI_SN, 0x3, 3, TREG_SN, 1,
863 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
865 { "seqib", TILEPRO_OPC_SEQIB, 0x3, 3, TREG_ZERO, 1,
866 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
868 { "seqib.sn", TILEPRO_OPC_SEQIB_SN, 0x3, 3, TREG_SN, 1,
869 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
871 { "seqih", TILEPRO_OPC_SEQIH, 0x3, 3, TREG_ZERO, 1,
872 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
874 { "seqih.sn", TILEPRO_OPC_SEQIH_SN, 0x3, 3, TREG_SN, 1,
875 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
877 { "sh", TILEPRO_OPC_SH, 0x12, 2, TREG_ZERO, 1,
878 { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
880 { "shadd", TILEPRO_OPC_SHADD, 0x2, 3, TREG_ZERO, 1,
881 { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
883 { "shl", TILEPRO_OPC_SHL, 0xf, 3, TREG_ZERO, 1,
884 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
886 { "shl.sn", TILEPRO_OPC_SHL_SN, 0x3, 3, TREG_SN, 1,
887 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
889 { "shlb", TILEPRO_OPC_SHLB, 0x3, 3, TREG_ZERO, 1,
890 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
892 { "shlb.sn", TILEPRO_OPC_SHLB_SN, 0x3, 3, TREG_SN, 1,
893 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
895 { "shlh", TILEPRO_OPC_SHLH, 0x3, 3, TREG_ZERO, 1,
896 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
898 { "shlh.sn", TILEPRO_OPC_SHLH_SN, 0x3, 3, TREG_SN, 1,
899 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
901 { "shli", TILEPRO_OPC_SHLI, 0xf, 3, TREG_ZERO, 1,
902 { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
904 { "shli.sn", TILEPRO_OPC_SHLI_SN, 0x3, 3, TREG_SN, 1,
905 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
907 { "shlib", TILEPRO_OPC_SHLIB, 0x3, 3, TREG_ZERO, 1,
908 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
910 { "shlib.sn", TILEPRO_OPC_SHLIB_SN, 0x3, 3, TREG_SN, 1,
911 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
913 { "shlih", TILEPRO_OPC_SHLIH, 0x3, 3, TREG_ZERO, 1,
914 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
916 { "shlih.sn", TILEPRO_OPC_SHLIH_SN, 0x3, 3, TREG_SN, 1,
917 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
919 { "shr", TILEPRO_OPC_SHR, 0xf, 3, TREG_ZERO, 1,
920 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
922 { "shr.sn", TILEPRO_OPC_SHR_SN, 0x3, 3, TREG_SN, 1,
923 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
925 { "shrb", TILEPRO_OPC_SHRB, 0x3, 3, TREG_ZERO, 1,
926 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
928 { "shrb.sn", TILEPRO_OPC_SHRB_SN, 0x3, 3, TREG_SN, 1,
929 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
931 { "shrh", TILEPRO_OPC_SHRH, 0x3, 3, TREG_ZERO, 1,
932 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
934 { "shrh.sn", TILEPRO_OPC_SHRH_SN, 0x3, 3, TREG_SN, 1,
935 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
937 { "shri", TILEPRO_OPC_SHRI, 0xf, 3, TREG_ZERO, 1,
938 { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
940 { "shri.sn", TILEPRO_OPC_SHRI_SN, 0x3, 3, TREG_SN, 1,
941 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
943 { "shrib", TILEPRO_OPC_SHRIB, 0x3, 3, TREG_ZERO, 1,
944 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
946 { "shrib.sn", TILEPRO_OPC_SHRIB_SN, 0x3, 3, TREG_SN, 1,
947 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
949 { "shrih", TILEPRO_OPC_SHRIH, 0x3, 3, TREG_ZERO, 1,
950 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
952 { "shrih.sn", TILEPRO_OPC_SHRIH_SN, 0x3, 3, TREG_SN, 1,
953 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
955 { "slt", TILEPRO_OPC_SLT, 0xf, 3, TREG_ZERO, 1,
956 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
958 { "slt.sn", TILEPRO_OPC_SLT_SN, 0x3, 3, TREG_SN, 1,
959 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
961 { "slt_u", TILEPRO_OPC_SLT_U, 0xf, 3, TREG_ZERO, 1,
962 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
964 { "slt_u.sn", TILEPRO_OPC_SLT_U_SN, 0x3, 3, TREG_SN, 1,
965 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
967 { "sltb", TILEPRO_OPC_SLTB, 0x3, 3, TREG_ZERO, 1,
968 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
970 { "sltb.sn", TILEPRO_OPC_SLTB_SN, 0x3, 3, TREG_SN, 1,
971 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
973 { "sltb_u", TILEPRO_OPC_SLTB_U, 0x3, 3, TREG_ZERO, 1,
974 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
976 { "sltb_u.sn", TILEPRO_OPC_SLTB_U_SN, 0x3, 3, TREG_SN, 1,
977 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
979 { "slte", TILEPRO_OPC_SLTE, 0xf, 3, TREG_ZERO, 1,
980 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
982 { "slte.sn", TILEPRO_OPC_SLTE_SN, 0x3, 3, TREG_SN, 1,
983 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
985 { "slte_u", TILEPRO_OPC_SLTE_U, 0xf, 3, TREG_ZERO, 1,
986 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
988 { "slte_u.sn", TILEPRO_OPC_SLTE_U_SN, 0x3, 3, TREG_SN, 1,
989 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
991 { "slteb", TILEPRO_OPC_SLTEB, 0x3, 3, TREG_ZERO, 1,
992 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
994 { "slteb.sn", TILEPRO_OPC_SLTEB_SN, 0x3, 3, TREG_SN, 1,
995 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
997 { "slteb_u", TILEPRO_OPC_SLTEB_U, 0x3, 3, TREG_ZERO, 1,
998 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1000 { "slteb_u.sn", TILEPRO_OPC_SLTEB_U_SN, 0x3, 3, TREG_SN, 1,
1001 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1003 { "slteh", TILEPRO_OPC_SLTEH, 0x3, 3, TREG_ZERO, 1,
1004 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1006 { "slteh.sn", TILEPRO_OPC_SLTEH_SN, 0x3, 3, TREG_SN, 1,
1007 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1009 { "slteh_u", TILEPRO_OPC_SLTEH_U, 0x3, 3, TREG_ZERO, 1,
1010 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1012 { "slteh_u.sn", TILEPRO_OPC_SLTEH_U_SN, 0x3, 3, TREG_SN, 1,
1013 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1015 { "slth", TILEPRO_OPC_SLTH, 0x3, 3, TREG_ZERO, 1,
1016 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1018 { "slth.sn", TILEPRO_OPC_SLTH_SN, 0x3, 3, TREG_SN, 1,
1019 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1021 { "slth_u", TILEPRO_OPC_SLTH_U, 0x3, 3, TREG_ZERO, 1,
1022 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1024 { "slth_u.sn", TILEPRO_OPC_SLTH_U_SN, 0x3, 3, TREG_SN, 1,
1025 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1027 { "slti", TILEPRO_OPC_SLTI, 0xf, 3, TREG_ZERO, 1,
1028 { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
1030 { "slti.sn", TILEPRO_OPC_SLTI_SN, 0x3, 3, TREG_SN, 1,
1031 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1033 { "slti_u", TILEPRO_OPC_SLTI_U, 0xf, 3, TREG_ZERO, 1,
1034 { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
1036 { "slti_u.sn", TILEPRO_OPC_SLTI_U_SN, 0x3, 3, TREG_SN, 1,
1037 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1039 { "sltib", TILEPRO_OPC_SLTIB, 0x3, 3, TREG_ZERO, 1,
1040 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1042 { "sltib.sn", TILEPRO_OPC_SLTIB_SN, 0x3, 3, TREG_SN, 1,
1043 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1045 { "sltib_u", TILEPRO_OPC_SLTIB_U, 0x3, 3, TREG_ZERO, 1,
1046 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1048 { "sltib_u.sn", TILEPRO_OPC_SLTIB_U_SN, 0x3, 3, TREG_SN, 1,
1049 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1051 { "sltih", TILEPRO_OPC_SLTIH, 0x3, 3, TREG_ZERO, 1,
1052 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1054 { "sltih.sn", TILEPRO_OPC_SLTIH_SN, 0x3, 3, TREG_SN, 1,
1055 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1057 { "sltih_u", TILEPRO_OPC_SLTIH_U, 0x3, 3, TREG_ZERO, 1,
1058 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1060 { "sltih_u.sn", TILEPRO_OPC_SLTIH_U_SN, 0x3, 3, TREG_SN, 1,
1061 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1063 { "sne", TILEPRO_OPC_SNE, 0xf, 3, TREG_ZERO, 1,
1064 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1066 { "sne.sn", TILEPRO_OPC_SNE_SN, 0x3, 3, TREG_SN, 1,
1067 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1069 { "sneb", TILEPRO_OPC_SNEB, 0x3, 3, TREG_ZERO, 1,
1070 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1072 { "sneb.sn", TILEPRO_OPC_SNEB_SN, 0x3, 3, TREG_SN, 1,
1073 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1075 { "sneh", TILEPRO_OPC_SNEH, 0x3, 3, TREG_ZERO, 1,
1076 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1078 { "sneh.sn", TILEPRO_OPC_SNEH_SN, 0x3, 3, TREG_SN, 1,
1079 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1081 { "sra", TILEPRO_OPC_SRA, 0xf, 3, TREG_ZERO, 1,
1082 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1084 { "sra.sn", TILEPRO_OPC_SRA_SN, 0x3, 3, TREG_SN, 1,
1085 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1087 { "srab", TILEPRO_OPC_SRAB, 0x3, 3, TREG_ZERO, 1,
1088 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1090 { "srab.sn", TILEPRO_OPC_SRAB_SN, 0x3, 3, TREG_SN, 1,
1091 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1093 { "srah", TILEPRO_OPC_SRAH, 0x3, 3, TREG_ZERO, 1,
1094 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1096 { "srah.sn", TILEPRO_OPC_SRAH_SN, 0x3, 3, TREG_SN, 1,
1097 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1099 { "srai", TILEPRO_OPC_SRAI, 0xf, 3, TREG_ZERO, 1,
1100 { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
1102 { "srai.sn", TILEPRO_OPC_SRAI_SN, 0x3, 3, TREG_SN, 1,
1103 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1105 { "sraib", TILEPRO_OPC_SRAIB, 0x3, 3, TREG_ZERO, 1,
1106 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1108 { "sraib.sn", TILEPRO_OPC_SRAIB_SN, 0x3, 3, TREG_SN, 1,
1109 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1111 { "sraih", TILEPRO_OPC_SRAIH, 0x3, 3, TREG_ZERO, 1,
1112 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1114 { "sraih.sn", TILEPRO_OPC_SRAIH_SN, 0x3, 3, TREG_SN, 1,
1115 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1117 { "sub", TILEPRO_OPC_SUB, 0xf, 3, TREG_ZERO, 1,
1118 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1120 { "sub.sn", TILEPRO_OPC_SUB_SN, 0x3, 3, TREG_SN, 1,
1121 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1123 { "subb", TILEPRO_OPC_SUBB, 0x3, 3, TREG_ZERO, 1,
1124 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1126 { "subb.sn", TILEPRO_OPC_SUBB_SN, 0x3, 3, TREG_SN, 1,
1127 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1129 { "subbs_u", TILEPRO_OPC_SUBBS_U, 0x3, 3, TREG_ZERO, 1,
1130 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1132 { "subbs_u.sn", TILEPRO_OPC_SUBBS_U_SN, 0x3, 3, TREG_SN, 1,
1133 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1135 { "subh", TILEPRO_OPC_SUBH, 0x3, 3, TREG_ZERO, 1,
1136 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1138 { "subh.sn", TILEPRO_OPC_SUBH_SN, 0x3, 3, TREG_SN, 1,
1139 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1141 { "subhs", TILEPRO_OPC_SUBHS, 0x3, 3, TREG_ZERO, 1,
1142 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1144 { "subhs.sn", TILEPRO_OPC_SUBHS_SN, 0x3, 3, TREG_SN, 1,
1145 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1147 { "subs", TILEPRO_OPC_SUBS, 0x3, 3, TREG_ZERO, 1,
1148 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1150 { "subs.sn", TILEPRO_OPC_SUBS_SN, 0x3, 3, TREG_SN, 1,
1151 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1153 { "sw", TILEPRO_OPC_SW, 0x12, 2, TREG_ZERO, 1,
1154 { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
1156 { "swadd", TILEPRO_OPC_SWADD, 0x2, 3, TREG_ZERO, 1,
1157 { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
1159 { "swint0", TILEPRO_OPC_SWINT0, 0x2, 0, TREG_ZERO, 0,
1160 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
1162 { "swint1", TILEPRO_OPC_SWINT1, 0x2, 0, TREG_ZERO, 0,
1163 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
1165 { "swint2", TILEPRO_OPC_SWINT2, 0x2, 0, TREG_ZERO, 0,
1166 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
1168 { "swint3", TILEPRO_OPC_SWINT3, 0x2, 0, TREG_ZERO, 0,
1169 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
1171 { "tblidxb0", TILEPRO_OPC_TBLIDXB0, 0x5, 2, TREG_ZERO, 1,
1172 { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1174 { "tblidxb0.sn", TILEPRO_OPC_TBLIDXB0_SN, 0x1, 2, TREG_SN, 1,
1175 { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1177 { "tblidxb1", TILEPRO_OPC_TBLIDXB1, 0x5, 2, TREG_ZERO, 1,
1178 { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1180 { "tblidxb1.sn", TILEPRO_OPC_TBLIDXB1_SN, 0x1, 2, TREG_SN, 1,
1181 { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1183 { "tblidxb2", TILEPRO_OPC_TBLIDXB2, 0x5, 2, TREG_ZERO, 1,
1184 { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1186 { "tblidxb2.sn", TILEPRO_OPC_TBLIDXB2_SN, 0x1, 2, TREG_SN, 1,
1187 { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1189 { "tblidxb3", TILEPRO_OPC_TBLIDXB3, 0x5, 2, TREG_ZERO, 1,
1190 { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1192 { "tblidxb3.sn", TILEPRO_OPC_TBLIDXB3_SN, 0x1, 2, TREG_SN, 1,
1193 { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1195 { "tns", TILEPRO_OPC_TNS, 0x2, 2, TREG_ZERO, 1,
1196 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
1198 { "tns.sn", TILEPRO_OPC_TNS_SN, 0x2, 2, TREG_SN, 1,
1199 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
1201 { "wh64", TILEPRO_OPC_WH64, 0x2, 1, TREG_ZERO, 1,
1202 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
1204 { "xor", TILEPRO_OPC_XOR, 0xf, 3, TREG_ZERO, 1,
1205 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1207 { "xor.sn", TILEPRO_OPC_XOR_SN, 0x3, 3, TREG_SN, 1,
1208 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1210 { "xori", TILEPRO_OPC_XORI, 0x3, 3, TREG_ZERO, 1,
1211 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1213 { "xori.sn", TILEPRO_OPC_XORI_SN, 0x3, 3, TREG_SN, 1,
1214 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1216 { NULL, TILEPRO_OPC_NONE, 0, 0, TREG_ZERO, 0, { { 0, } },
1219 #define BITFIELD(start, size) ((start) | (((1 << (size)) - 1) << 6))
1220 #define CHILD(array_index) (TILEPRO_OPC_NONE + (array_index))
1222 static const unsigned short decode_X0_fsm[1153] =
1224 BITFIELD(22, 9) /* index 0 */,
1225 CHILD(513), CHILD(530), CHILD(547), CHILD(564), CHILD(596), CHILD(613),
1226 CHILD(630), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1227 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1228 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1229 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1230 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1231 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1232 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(663), CHILD(680), CHILD(697),
1233 CHILD(714), CHILD(746), CHILD(763), CHILD(780), TILEPRO_OPC_NONE,
1234 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1235 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1236 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1237 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1238 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1239 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1240 CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1241 CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1242 CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1243 CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1244 CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1245 CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1246 CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1247 CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1248 CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1249 CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1250 CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(828), CHILD(828),
1251 CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1252 CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1253 CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1254 CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1255 CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1256 CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1257 CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1258 CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1259 CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1260 CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1261 CHILD(828), CHILD(828), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1262 CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1263 CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1264 CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1265 CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1266 CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1267 CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1268 CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1269 CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1270 CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1271 CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1272 CHILD(873), CHILD(878), CHILD(883), CHILD(903), CHILD(908),
1273 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1274 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1275 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1276 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1277 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1278 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1279 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(913),
1280 CHILD(918), CHILD(923), CHILD(943), CHILD(948), TILEPRO_OPC_NONE,
1281 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1282 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1283 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1284 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1285 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1286 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1287 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(953), TILEPRO_OPC_NONE,
1288 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1289 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1290 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1291 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1292 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1293 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1294 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1295 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(988), TILEPRO_OPC_NONE,
1296 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1297 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1298 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1299 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1300 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1301 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1302 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1303 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1304 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1305 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1306 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1307 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1308 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1309 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1310 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1311 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1312 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1313 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1314 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1315 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1316 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1317 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1318 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1319 TILEPRO_OPC_MM, TILEPRO_OPC_MM, CHILD(993), TILEPRO_OPC_NONE,
1320 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1321 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1322 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1323 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1324 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1325 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1326 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1327 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(1076), TILEPRO_OPC_NONE,
1328 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1329 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1330 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1331 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1332 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1333 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1334 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1335 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1336 BITFIELD(18, 4) /* index 513 */,
1337 TILEPRO_OPC_NONE, TILEPRO_OPC_ADDB, TILEPRO_OPC_ADDH, TILEPRO_OPC_ADD,
1338 TILEPRO_OPC_ADIFFB_U, TILEPRO_OPC_ADIFFH, TILEPRO_OPC_AND,
1339 TILEPRO_OPC_AVGB_U, TILEPRO_OPC_AVGH, TILEPRO_OPC_CRC32_32,
1340 TILEPRO_OPC_CRC32_8, TILEPRO_OPC_INTHB, TILEPRO_OPC_INTHH,
1341 TILEPRO_OPC_INTLB, TILEPRO_OPC_INTLH, TILEPRO_OPC_MAXB_U,
1342 BITFIELD(18, 4) /* index 530 */,
1343 TILEPRO_OPC_MAXH, TILEPRO_OPC_MINB_U, TILEPRO_OPC_MINH, TILEPRO_OPC_MNZB,
1344 TILEPRO_OPC_MNZH, TILEPRO_OPC_MNZ, TILEPRO_OPC_MULHHA_SS,
1345 TILEPRO_OPC_MULHHA_SU, TILEPRO_OPC_MULHHA_UU, TILEPRO_OPC_MULHHSA_UU,
1346 TILEPRO_OPC_MULHH_SS, TILEPRO_OPC_MULHH_SU, TILEPRO_OPC_MULHH_UU,
1347 TILEPRO_OPC_MULHLA_SS, TILEPRO_OPC_MULHLA_SU, TILEPRO_OPC_MULHLA_US,
1348 BITFIELD(18, 4) /* index 547 */,
1349 TILEPRO_OPC_MULHLA_UU, TILEPRO_OPC_MULHLSA_UU, TILEPRO_OPC_MULHL_SS,
1350 TILEPRO_OPC_MULHL_SU, TILEPRO_OPC_MULHL_US, TILEPRO_OPC_MULHL_UU,
1351 TILEPRO_OPC_MULLLA_SS, TILEPRO_OPC_MULLLA_SU, TILEPRO_OPC_MULLLA_UU,
1352 TILEPRO_OPC_MULLLSA_UU, TILEPRO_OPC_MULLL_SS, TILEPRO_OPC_MULLL_SU,
1353 TILEPRO_OPC_MULLL_UU, TILEPRO_OPC_MVNZ, TILEPRO_OPC_MVZ, TILEPRO_OPC_MZB,
1354 BITFIELD(18, 4) /* index 564 */,
1355 TILEPRO_OPC_MZH, TILEPRO_OPC_MZ, TILEPRO_OPC_NOR, CHILD(581),
1356 TILEPRO_OPC_PACKHB, TILEPRO_OPC_PACKLB, TILEPRO_OPC_RL, TILEPRO_OPC_S1A,
1357 TILEPRO_OPC_S2A, TILEPRO_OPC_S3A, TILEPRO_OPC_SADAB_U, TILEPRO_OPC_SADAH,
1358 TILEPRO_OPC_SADAH_U, TILEPRO_OPC_SADB_U, TILEPRO_OPC_SADH,
1359 TILEPRO_OPC_SADH_U,
1360 BITFIELD(12, 2) /* index 581 */,
1361 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(586),
1362 BITFIELD(14, 2) /* index 586 */,
1363 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(591),
1364 BITFIELD(16, 2) /* index 591 */,
1365 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
1366 BITFIELD(18, 4) /* index 596 */,
1367 TILEPRO_OPC_SEQB, TILEPRO_OPC_SEQH, TILEPRO_OPC_SEQ, TILEPRO_OPC_SHLB,
1368 TILEPRO_OPC_SHLH, TILEPRO_OPC_SHL, TILEPRO_OPC_SHRB, TILEPRO_OPC_SHRH,
1369 TILEPRO_OPC_SHR, TILEPRO_OPC_SLTB, TILEPRO_OPC_SLTB_U, TILEPRO_OPC_SLTEB,
1370 TILEPRO_OPC_SLTEB_U, TILEPRO_OPC_SLTEH, TILEPRO_OPC_SLTEH_U,
1371 TILEPRO_OPC_SLTE,
1372 BITFIELD(18, 4) /* index 613 */,
1373 TILEPRO_OPC_SLTE_U, TILEPRO_OPC_SLTH, TILEPRO_OPC_SLTH_U, TILEPRO_OPC_SLT,
1374 TILEPRO_OPC_SLT_U, TILEPRO_OPC_SNEB, TILEPRO_OPC_SNEH, TILEPRO_OPC_SNE,
1375 TILEPRO_OPC_SRAB, TILEPRO_OPC_SRAH, TILEPRO_OPC_SRA, TILEPRO_OPC_SUBB,
1376 TILEPRO_OPC_SUBH, TILEPRO_OPC_SUB, TILEPRO_OPC_XOR, TILEPRO_OPC_DWORD_ALIGN,
1377 BITFIELD(18, 3) /* index 630 */,
1378 CHILD(639), CHILD(642), CHILD(645), CHILD(648), CHILD(651), CHILD(654),
1379 CHILD(657), CHILD(660),
1380 BITFIELD(21, 1) /* index 639 */,
1381 TILEPRO_OPC_ADDS, TILEPRO_OPC_NONE,
1382 BITFIELD(21, 1) /* index 642 */,
1383 TILEPRO_OPC_SUBS, TILEPRO_OPC_NONE,
1384 BITFIELD(21, 1) /* index 645 */,
1385 TILEPRO_OPC_ADDBS_U, TILEPRO_OPC_NONE,
1386 BITFIELD(21, 1) /* index 648 */,
1387 TILEPRO_OPC_ADDHS, TILEPRO_OPC_NONE,
1388 BITFIELD(21, 1) /* index 651 */,
1389 TILEPRO_OPC_SUBBS_U, TILEPRO_OPC_NONE,
1390 BITFIELD(21, 1) /* index 654 */,
1391 TILEPRO_OPC_SUBHS, TILEPRO_OPC_NONE,
1392 BITFIELD(21, 1) /* index 657 */,
1393 TILEPRO_OPC_PACKHS, TILEPRO_OPC_NONE,
1394 BITFIELD(21, 1) /* index 660 */,
1395 TILEPRO_OPC_PACKBS_U, TILEPRO_OPC_NONE,
1396 BITFIELD(18, 4) /* index 663 */,
1397 TILEPRO_OPC_NONE, TILEPRO_OPC_ADDB_SN, TILEPRO_OPC_ADDH_SN,
1398 TILEPRO_OPC_ADD_SN, TILEPRO_OPC_ADIFFB_U_SN, TILEPRO_OPC_ADIFFH_SN,
1399 TILEPRO_OPC_AND_SN, TILEPRO_OPC_AVGB_U_SN, TILEPRO_OPC_AVGH_SN,
1400 TILEPRO_OPC_CRC32_32_SN, TILEPRO_OPC_CRC32_8_SN, TILEPRO_OPC_INTHB_SN,
1401 TILEPRO_OPC_INTHH_SN, TILEPRO_OPC_INTLB_SN, TILEPRO_OPC_INTLH_SN,
1402 TILEPRO_OPC_MAXB_U_SN,
1403 BITFIELD(18, 4) /* index 680 */,
1404 TILEPRO_OPC_MAXH_SN, TILEPRO_OPC_MINB_U_SN, TILEPRO_OPC_MINH_SN,
1405 TILEPRO_OPC_MNZB_SN, TILEPRO_OPC_MNZH_SN, TILEPRO_OPC_MNZ_SN,
1406 TILEPRO_OPC_MULHHA_SS_SN, TILEPRO_OPC_MULHHA_SU_SN,
1407 TILEPRO_OPC_MULHHA_UU_SN, TILEPRO_OPC_MULHHSA_UU_SN,
1408 TILEPRO_OPC_MULHH_SS_SN, TILEPRO_OPC_MULHH_SU_SN, TILEPRO_OPC_MULHH_UU_SN,
1409 TILEPRO_OPC_MULHLA_SS_SN, TILEPRO_OPC_MULHLA_SU_SN,
1410 TILEPRO_OPC_MULHLA_US_SN,
1411 BITFIELD(18, 4) /* index 697 */,
1412 TILEPRO_OPC_MULHLA_UU_SN, TILEPRO_OPC_MULHLSA_UU_SN,
1413 TILEPRO_OPC_MULHL_SS_SN, TILEPRO_OPC_MULHL_SU_SN, TILEPRO_OPC_MULHL_US_SN,
1414 TILEPRO_OPC_MULHL_UU_SN, TILEPRO_OPC_MULLLA_SS_SN, TILEPRO_OPC_MULLLA_SU_SN,
1415 TILEPRO_OPC_MULLLA_UU_SN, TILEPRO_OPC_MULLLSA_UU_SN,
1416 TILEPRO_OPC_MULLL_SS_SN, TILEPRO_OPC_MULLL_SU_SN, TILEPRO_OPC_MULLL_UU_SN,
1417 TILEPRO_OPC_MVNZ_SN, TILEPRO_OPC_MVZ_SN, TILEPRO_OPC_MZB_SN,
1418 BITFIELD(18, 4) /* index 714 */,
1419 TILEPRO_OPC_MZH_SN, TILEPRO_OPC_MZ_SN, TILEPRO_OPC_NOR_SN, CHILD(731),
1420 TILEPRO_OPC_PACKHB_SN, TILEPRO_OPC_PACKLB_SN, TILEPRO_OPC_RL_SN,
1421 TILEPRO_OPC_S1A_SN, TILEPRO_OPC_S2A_SN, TILEPRO_OPC_S3A_SN,
1422 TILEPRO_OPC_SADAB_U_SN, TILEPRO_OPC_SADAH_SN, TILEPRO_OPC_SADAH_U_SN,
1423 TILEPRO_OPC_SADB_U_SN, TILEPRO_OPC_SADH_SN, TILEPRO_OPC_SADH_U_SN,
1424 BITFIELD(12, 2) /* index 731 */,
1425 TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(736),
1426 BITFIELD(14, 2) /* index 736 */,
1427 TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(741),
1428 BITFIELD(16, 2) /* index 741 */,
1429 TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN,
1430 TILEPRO_OPC_MOVE_SN,
1431 BITFIELD(18, 4) /* index 746 */,
1432 TILEPRO_OPC_SEQB_SN, TILEPRO_OPC_SEQH_SN, TILEPRO_OPC_SEQ_SN,
1433 TILEPRO_OPC_SHLB_SN, TILEPRO_OPC_SHLH_SN, TILEPRO_OPC_SHL_SN,
1434 TILEPRO_OPC_SHRB_SN, TILEPRO_OPC_SHRH_SN, TILEPRO_OPC_SHR_SN,
1435 TILEPRO_OPC_SLTB_SN, TILEPRO_OPC_SLTB_U_SN, TILEPRO_OPC_SLTEB_SN,
1436 TILEPRO_OPC_SLTEB_U_SN, TILEPRO_OPC_SLTEH_SN, TILEPRO_OPC_SLTEH_U_SN,
1437 TILEPRO_OPC_SLTE_SN,
1438 BITFIELD(18, 4) /* index 763 */,
1439 TILEPRO_OPC_SLTE_U_SN, TILEPRO_OPC_SLTH_SN, TILEPRO_OPC_SLTH_U_SN,
1440 TILEPRO_OPC_SLT_SN, TILEPRO_OPC_SLT_U_SN, TILEPRO_OPC_SNEB_SN,
1441 TILEPRO_OPC_SNEH_SN, TILEPRO_OPC_SNE_SN, TILEPRO_OPC_SRAB_SN,
1442 TILEPRO_OPC_SRAH_SN, TILEPRO_OPC_SRA_SN, TILEPRO_OPC_SUBB_SN,
1443 TILEPRO_OPC_SUBH_SN, TILEPRO_OPC_SUB_SN, TILEPRO_OPC_XOR_SN,
1444 TILEPRO_OPC_DWORD_ALIGN_SN,
1445 BITFIELD(18, 3) /* index 780 */,
1446 CHILD(789), CHILD(792), CHILD(795), CHILD(798), CHILD(801), CHILD(804),
1447 CHILD(807), CHILD(810),
1448 BITFIELD(21, 1) /* index 789 */,
1449 TILEPRO_OPC_ADDS_SN, TILEPRO_OPC_NONE,
1450 BITFIELD(21, 1) /* index 792 */,
1451 TILEPRO_OPC_SUBS_SN, TILEPRO_OPC_NONE,
1452 BITFIELD(21, 1) /* index 795 */,
1453 TILEPRO_OPC_ADDBS_U_SN, TILEPRO_OPC_NONE,
1454 BITFIELD(21, 1) /* index 798 */,
1455 TILEPRO_OPC_ADDHS_SN, TILEPRO_OPC_NONE,
1456 BITFIELD(21, 1) /* index 801 */,
1457 TILEPRO_OPC_SUBBS_U_SN, TILEPRO_OPC_NONE,
1458 BITFIELD(21, 1) /* index 804 */,
1459 TILEPRO_OPC_SUBHS_SN, TILEPRO_OPC_NONE,
1460 BITFIELD(21, 1) /* index 807 */,
1461 TILEPRO_OPC_PACKHS_SN, TILEPRO_OPC_NONE,
1462 BITFIELD(21, 1) /* index 810 */,
1463 TILEPRO_OPC_PACKBS_U_SN, TILEPRO_OPC_NONE,
1464 BITFIELD(6, 2) /* index 813 */,
1465 TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
1466 CHILD(818),
1467 BITFIELD(8, 2) /* index 818 */,
1468 TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
1469 CHILD(823),
1470 BITFIELD(10, 2) /* index 823 */,
1471 TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
1472 TILEPRO_OPC_MOVELI_SN,
1473 BITFIELD(6, 2) /* index 828 */,
1474 TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(833),
1475 BITFIELD(8, 2) /* index 833 */,
1476 TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(838),
1477 BITFIELD(10, 2) /* index 838 */,
1478 TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_MOVELI,
1479 BITFIELD(0, 2) /* index 843 */,
1480 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(848),
1481 BITFIELD(2, 2) /* index 848 */,
1482 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(853),
1483 BITFIELD(4, 2) /* index 853 */,
1484 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(858),
1485 BITFIELD(6, 2) /* index 858 */,
1486 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(863),
1487 BITFIELD(8, 2) /* index 863 */,
1488 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(868),
1489 BITFIELD(10, 2) /* index 868 */,
1490 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_INFOL,
1491 BITFIELD(20, 2) /* index 873 */,
1492 TILEPRO_OPC_NONE, TILEPRO_OPC_ADDIB, TILEPRO_OPC_ADDIH, TILEPRO_OPC_ADDI,
1493 BITFIELD(20, 2) /* index 878 */,
1494 TILEPRO_OPC_MAXIB_U, TILEPRO_OPC_MAXIH, TILEPRO_OPC_MINIB_U,
1495 TILEPRO_OPC_MINIH,
1496 BITFIELD(20, 2) /* index 883 */,
1497 CHILD(888), TILEPRO_OPC_SEQIB, TILEPRO_OPC_SEQIH, TILEPRO_OPC_SEQI,
1498 BITFIELD(6, 2) /* index 888 */,
1499 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(893),
1500 BITFIELD(8, 2) /* index 893 */,
1501 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(898),
1502 BITFIELD(10, 2) /* index 898 */,
1503 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
1504 BITFIELD(20, 2) /* index 903 */,
1505 TILEPRO_OPC_SLTIB, TILEPRO_OPC_SLTIB_U, TILEPRO_OPC_SLTIH,
1506 TILEPRO_OPC_SLTIH_U,
1507 BITFIELD(20, 2) /* index 908 */,
1508 TILEPRO_OPC_SLTI, TILEPRO_OPC_SLTI_U, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1509 BITFIELD(20, 2) /* index 913 */,
1510 TILEPRO_OPC_NONE, TILEPRO_OPC_ADDIB_SN, TILEPRO_OPC_ADDIH_SN,
1511 TILEPRO_OPC_ADDI_SN,
1512 BITFIELD(20, 2) /* index 918 */,
1513 TILEPRO_OPC_MAXIB_U_SN, TILEPRO_OPC_MAXIH_SN, TILEPRO_OPC_MINIB_U_SN,
1514 TILEPRO_OPC_MINIH_SN,
1515 BITFIELD(20, 2) /* index 923 */,
1516 CHILD(928), TILEPRO_OPC_SEQIB_SN, TILEPRO_OPC_SEQIH_SN, TILEPRO_OPC_SEQI_SN,
1517 BITFIELD(6, 2) /* index 928 */,
1518 TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(933),
1519 BITFIELD(8, 2) /* index 933 */,
1520 TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(938),
1521 BITFIELD(10, 2) /* index 938 */,
1522 TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN,
1523 TILEPRO_OPC_MOVEI_SN,
1524 BITFIELD(20, 2) /* index 943 */,
1525 TILEPRO_OPC_SLTIB_SN, TILEPRO_OPC_SLTIB_U_SN, TILEPRO_OPC_SLTIH_SN,
1526 TILEPRO_OPC_SLTIH_U_SN,
1527 BITFIELD(20, 2) /* index 948 */,
1528 TILEPRO_OPC_SLTI_SN, TILEPRO_OPC_SLTI_U_SN, TILEPRO_OPC_NONE,
1529 TILEPRO_OPC_NONE,
1530 BITFIELD(20, 2) /* index 953 */,
1531 TILEPRO_OPC_NONE, CHILD(958), TILEPRO_OPC_XORI, TILEPRO_OPC_NONE,
1532 BITFIELD(0, 2) /* index 958 */,
1533 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(963),
1534 BITFIELD(2, 2) /* index 963 */,
1535 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(968),
1536 BITFIELD(4, 2) /* index 968 */,
1537 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(973),
1538 BITFIELD(6, 2) /* index 973 */,
1539 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(978),
1540 BITFIELD(8, 2) /* index 978 */,
1541 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(983),
1542 BITFIELD(10, 2) /* index 983 */,
1543 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
1544 BITFIELD(20, 2) /* index 988 */,
1545 TILEPRO_OPC_NONE, TILEPRO_OPC_ANDI_SN, TILEPRO_OPC_XORI_SN,
1546 TILEPRO_OPC_NONE,
1547 BITFIELD(17, 5) /* index 993 */,
1548 TILEPRO_OPC_NONE, TILEPRO_OPC_RLI, TILEPRO_OPC_SHLIB, TILEPRO_OPC_SHLIH,
1549 TILEPRO_OPC_SHLI, TILEPRO_OPC_SHRIB, TILEPRO_OPC_SHRIH, TILEPRO_OPC_SHRI,
1550 TILEPRO_OPC_SRAIB, TILEPRO_OPC_SRAIH, TILEPRO_OPC_SRAI, CHILD(1026),
1551 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1552 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1553 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1554 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1555 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1556 BITFIELD(12, 4) /* index 1026 */,
1557 TILEPRO_OPC_NONE, CHILD(1043), CHILD(1046), CHILD(1049), CHILD(1052),
1558 CHILD(1055), CHILD(1058), CHILD(1061), CHILD(1064), CHILD(1067),
1559 CHILD(1070), CHILD(1073), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1560 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1561 BITFIELD(16, 1) /* index 1043 */,
1562 TILEPRO_OPC_BITX, TILEPRO_OPC_NONE,
1563 BITFIELD(16, 1) /* index 1046 */,
1564 TILEPRO_OPC_BYTEX, TILEPRO_OPC_NONE,
1565 BITFIELD(16, 1) /* index 1049 */,
1566 TILEPRO_OPC_CLZ, TILEPRO_OPC_NONE,
1567 BITFIELD(16, 1) /* index 1052 */,
1568 TILEPRO_OPC_CTZ, TILEPRO_OPC_NONE,
1569 BITFIELD(16, 1) /* index 1055 */,
1570 TILEPRO_OPC_FNOP, TILEPRO_OPC_NONE,
1571 BITFIELD(16, 1) /* index 1058 */,
1572 TILEPRO_OPC_NOP, TILEPRO_OPC_NONE,
1573 BITFIELD(16, 1) /* index 1061 */,
1574 TILEPRO_OPC_PCNT, TILEPRO_OPC_NONE,
1575 BITFIELD(16, 1) /* index 1064 */,
1576 TILEPRO_OPC_TBLIDXB0, TILEPRO_OPC_NONE,
1577 BITFIELD(16, 1) /* index 1067 */,
1578 TILEPRO_OPC_TBLIDXB1, TILEPRO_OPC_NONE,
1579 BITFIELD(16, 1) /* index 1070 */,
1580 TILEPRO_OPC_TBLIDXB2, TILEPRO_OPC_NONE,
1581 BITFIELD(16, 1) /* index 1073 */,
1582 TILEPRO_OPC_TBLIDXB3, TILEPRO_OPC_NONE,
1583 BITFIELD(17, 5) /* index 1076 */,
1584 TILEPRO_OPC_NONE, TILEPRO_OPC_RLI_SN, TILEPRO_OPC_SHLIB_SN,
1585 TILEPRO_OPC_SHLIH_SN, TILEPRO_OPC_SHLI_SN, TILEPRO_OPC_SHRIB_SN,
1586 TILEPRO_OPC_SHRIH_SN, TILEPRO_OPC_SHRI_SN, TILEPRO_OPC_SRAIB_SN,
1587 TILEPRO_OPC_SRAIH_SN, TILEPRO_OPC_SRAI_SN, CHILD(1109), TILEPRO_OPC_NONE,
1588 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1589 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1590 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1591 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1592 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1593 BITFIELD(12, 4) /* index 1109 */,
1594 TILEPRO_OPC_NONE, CHILD(1126), CHILD(1129), CHILD(1132), CHILD(1135),
1595 CHILD(1055), CHILD(1058), CHILD(1138), CHILD(1141), CHILD(1144),
1596 CHILD(1147), CHILD(1150), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1597 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1598 BITFIELD(16, 1) /* index 1126 */,
1599 TILEPRO_OPC_BITX_SN, TILEPRO_OPC_NONE,
1600 BITFIELD(16, 1) /* index 1129 */,
1601 TILEPRO_OPC_BYTEX_SN, TILEPRO_OPC_NONE,
1602 BITFIELD(16, 1) /* index 1132 */,
1603 TILEPRO_OPC_CLZ_SN, TILEPRO_OPC_NONE,
1604 BITFIELD(16, 1) /* index 1135 */,
1605 TILEPRO_OPC_CTZ_SN, TILEPRO_OPC_NONE,
1606 BITFIELD(16, 1) /* index 1138 */,
1607 TILEPRO_OPC_PCNT_SN, TILEPRO_OPC_NONE,
1608 BITFIELD(16, 1) /* index 1141 */,
1609 TILEPRO_OPC_TBLIDXB0_SN, TILEPRO_OPC_NONE,
1610 BITFIELD(16, 1) /* index 1144 */,
1611 TILEPRO_OPC_TBLIDXB1_SN, TILEPRO_OPC_NONE,
1612 BITFIELD(16, 1) /* index 1147 */,
1613 TILEPRO_OPC_TBLIDXB2_SN, TILEPRO_OPC_NONE,
1614 BITFIELD(16, 1) /* index 1150 */,
1615 TILEPRO_OPC_TBLIDXB3_SN, TILEPRO_OPC_NONE,
1618 static const unsigned short decode_X1_fsm[1540] =
1620 BITFIELD(54, 9) /* index 0 */,
1621 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1622 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1623 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1624 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1625 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1626 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1627 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1628 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1629 CHILD(513), CHILD(561), CHILD(594), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1630 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1631 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1632 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(641),
1633 CHILD(689), CHILD(722), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1634 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1635 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1636 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(766),
1637 CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1638 CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1639 CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1640 CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1641 CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1642 CHILD(766), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1643 CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1644 CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1645 CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1646 CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1647 CHILD(781), CHILD(781), CHILD(781), CHILD(796), CHILD(796), CHILD(796),
1648 CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
1649 CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
1650 CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
1651 CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
1652 CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(826),
1653 CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826),
1654 CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826),
1655 CHILD(826), CHILD(826), CHILD(826), CHILD(843), CHILD(843), CHILD(843),
1656 CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1657 CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1658 CHILD(843), CHILD(860), CHILD(899), CHILD(923), CHILD(932),
1659 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1660 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1661 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1662 CHILD(941), CHILD(950), CHILD(974), CHILD(983), TILEPRO_OPC_NONE,
1663 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1664 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1665 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_MM,
1666 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1667 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1668 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1669 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1670 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1671 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1672 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
1673 TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, CHILD(992),
1674 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1675 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1676 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1677 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(1334),
1678 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1679 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1680 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1681 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1682 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1683 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1684 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1685 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1686 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1687 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1688 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1689 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_J,
1690 TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
1691 TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
1692 TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
1693 TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
1694 TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
1695 TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
1696 TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
1697 TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
1698 TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
1699 TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
1700 TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
1701 TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
1702 TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_JAL,
1703 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1704 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1705 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1706 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1707 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1708 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1709 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1710 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1711 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1712 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1713 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1714 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1715 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1716 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1717 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
1718 TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_NONE,
1719 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1720 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1721 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1722 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1723 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1724 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1725 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1726 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1727 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1728 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1729 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1730 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1731 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1732 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1733 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1734 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1735 BITFIELD(49, 5) /* index 513 */,
1736 TILEPRO_OPC_NONE, TILEPRO_OPC_ADDB, TILEPRO_OPC_ADDH, TILEPRO_OPC_ADD,
1737 TILEPRO_OPC_AND, TILEPRO_OPC_INTHB, TILEPRO_OPC_INTHH, TILEPRO_OPC_INTLB,
1738 TILEPRO_OPC_INTLH, TILEPRO_OPC_JALRP, TILEPRO_OPC_JALR, TILEPRO_OPC_JRP,
1739 TILEPRO_OPC_JR, TILEPRO_OPC_LNK, TILEPRO_OPC_MAXB_U, TILEPRO_OPC_MAXH,
1740 TILEPRO_OPC_MINB_U, TILEPRO_OPC_MINH, TILEPRO_OPC_MNZB, TILEPRO_OPC_MNZH,
1741 TILEPRO_OPC_MNZ, TILEPRO_OPC_MZB, TILEPRO_OPC_MZH, TILEPRO_OPC_MZ,
1742 TILEPRO_OPC_NOR, CHILD(546), TILEPRO_OPC_PACKHB, TILEPRO_OPC_PACKLB,
1743 TILEPRO_OPC_RL, TILEPRO_OPC_S1A, TILEPRO_OPC_S2A, TILEPRO_OPC_S3A,
1744 BITFIELD(43, 2) /* index 546 */,
1745 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(551),
1746 BITFIELD(45, 2) /* index 551 */,
1747 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(556),
1748 BITFIELD(47, 2) /* index 556 */,
1749 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
1750 BITFIELD(49, 5) /* index 561 */,
1751 TILEPRO_OPC_SB, TILEPRO_OPC_SEQB, TILEPRO_OPC_SEQH, TILEPRO_OPC_SEQ,
1752 TILEPRO_OPC_SHLB, TILEPRO_OPC_SHLH, TILEPRO_OPC_SHL, TILEPRO_OPC_SHRB,
1753 TILEPRO_OPC_SHRH, TILEPRO_OPC_SHR, TILEPRO_OPC_SH, TILEPRO_OPC_SLTB,
1754 TILEPRO_OPC_SLTB_U, TILEPRO_OPC_SLTEB, TILEPRO_OPC_SLTEB_U,
1755 TILEPRO_OPC_SLTEH, TILEPRO_OPC_SLTEH_U, TILEPRO_OPC_SLTE,
1756 TILEPRO_OPC_SLTE_U, TILEPRO_OPC_SLTH, TILEPRO_OPC_SLTH_U, TILEPRO_OPC_SLT,
1757 TILEPRO_OPC_SLT_U, TILEPRO_OPC_SNEB, TILEPRO_OPC_SNEH, TILEPRO_OPC_SNE,
1758 TILEPRO_OPC_SRAB, TILEPRO_OPC_SRAH, TILEPRO_OPC_SRA, TILEPRO_OPC_SUBB,
1759 TILEPRO_OPC_SUBH, TILEPRO_OPC_SUB,
1760 BITFIELD(49, 4) /* index 594 */,
1761 CHILD(611), CHILD(614), CHILD(617), CHILD(620), CHILD(623), CHILD(626),
1762 CHILD(629), CHILD(632), CHILD(635), CHILD(638), TILEPRO_OPC_NONE,
1763 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1764 TILEPRO_OPC_NONE,
1765 BITFIELD(53, 1) /* index 611 */,
1766 TILEPRO_OPC_SW, TILEPRO_OPC_NONE,
1767 BITFIELD(53, 1) /* index 614 */,
1768 TILEPRO_OPC_XOR, TILEPRO_OPC_NONE,
1769 BITFIELD(53, 1) /* index 617 */,
1770 TILEPRO_OPC_ADDS, TILEPRO_OPC_NONE,
1771 BITFIELD(53, 1) /* index 620 */,
1772 TILEPRO_OPC_SUBS, TILEPRO_OPC_NONE,
1773 BITFIELD(53, 1) /* index 623 */,
1774 TILEPRO_OPC_ADDBS_U, TILEPRO_OPC_NONE,
1775 BITFIELD(53, 1) /* index 626 */,
1776 TILEPRO_OPC_ADDHS, TILEPRO_OPC_NONE,
1777 BITFIELD(53, 1) /* index 629 */,
1778 TILEPRO_OPC_SUBBS_U, TILEPRO_OPC_NONE,
1779 BITFIELD(53, 1) /* index 632 */,
1780 TILEPRO_OPC_SUBHS, TILEPRO_OPC_NONE,
1781 BITFIELD(53, 1) /* index 635 */,
1782 TILEPRO_OPC_PACKHS, TILEPRO_OPC_NONE,
1783 BITFIELD(53, 1) /* index 638 */,
1784 TILEPRO_OPC_PACKBS_U, TILEPRO_OPC_NONE,
1785 BITFIELD(49, 5) /* index 641 */,
1786 TILEPRO_OPC_NONE, TILEPRO_OPC_ADDB_SN, TILEPRO_OPC_ADDH_SN,
1787 TILEPRO_OPC_ADD_SN, TILEPRO_OPC_AND_SN, TILEPRO_OPC_INTHB_SN,
1788 TILEPRO_OPC_INTHH_SN, TILEPRO_OPC_INTLB_SN, TILEPRO_OPC_INTLH_SN,
1789 TILEPRO_OPC_JALRP, TILEPRO_OPC_JALR, TILEPRO_OPC_JRP, TILEPRO_OPC_JR,
1790 TILEPRO_OPC_LNK_SN, TILEPRO_OPC_MAXB_U_SN, TILEPRO_OPC_MAXH_SN,
1791 TILEPRO_OPC_MINB_U_SN, TILEPRO_OPC_MINH_SN, TILEPRO_OPC_MNZB_SN,
1792 TILEPRO_OPC_MNZH_SN, TILEPRO_OPC_MNZ_SN, TILEPRO_OPC_MZB_SN,
1793 TILEPRO_OPC_MZH_SN, TILEPRO_OPC_MZ_SN, TILEPRO_OPC_NOR_SN, CHILD(674),
1794 TILEPRO_OPC_PACKHB_SN, TILEPRO_OPC_PACKLB_SN, TILEPRO_OPC_RL_SN,
1795 TILEPRO_OPC_S1A_SN, TILEPRO_OPC_S2A_SN, TILEPRO_OPC_S3A_SN,
1796 BITFIELD(43, 2) /* index 674 */,
1797 TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(679),
1798 BITFIELD(45, 2) /* index 679 */,
1799 TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(684),
1800 BITFIELD(47, 2) /* index 684 */,
1801 TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN,
1802 TILEPRO_OPC_MOVE_SN,
1803 BITFIELD(49, 5) /* index 689 */,
1804 TILEPRO_OPC_SB, TILEPRO_OPC_SEQB_SN, TILEPRO_OPC_SEQH_SN,
1805 TILEPRO_OPC_SEQ_SN, TILEPRO_OPC_SHLB_SN, TILEPRO_OPC_SHLH_SN,
1806 TILEPRO_OPC_SHL_SN, TILEPRO_OPC_SHRB_SN, TILEPRO_OPC_SHRH_SN,
1807 TILEPRO_OPC_SHR_SN, TILEPRO_OPC_SH, TILEPRO_OPC_SLTB_SN,
1808 TILEPRO_OPC_SLTB_U_SN, TILEPRO_OPC_SLTEB_SN, TILEPRO_OPC_SLTEB_U_SN,
1809 TILEPRO_OPC_SLTEH_SN, TILEPRO_OPC_SLTEH_U_SN, TILEPRO_OPC_SLTE_SN,
1810 TILEPRO_OPC_SLTE_U_SN, TILEPRO_OPC_SLTH_SN, TILEPRO_OPC_SLTH_U_SN,
1811 TILEPRO_OPC_SLT_SN, TILEPRO_OPC_SLT_U_SN, TILEPRO_OPC_SNEB_SN,
1812 TILEPRO_OPC_SNEH_SN, TILEPRO_OPC_SNE_SN, TILEPRO_OPC_SRAB_SN,
1813 TILEPRO_OPC_SRAH_SN, TILEPRO_OPC_SRA_SN, TILEPRO_OPC_SUBB_SN,
1814 TILEPRO_OPC_SUBH_SN, TILEPRO_OPC_SUB_SN,
1815 BITFIELD(49, 4) /* index 722 */,
1816 CHILD(611), CHILD(739), CHILD(742), CHILD(745), CHILD(748), CHILD(751),
1817 CHILD(754), CHILD(757), CHILD(760), CHILD(763), TILEPRO_OPC_NONE,
1818 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1819 TILEPRO_OPC_NONE,
1820 BITFIELD(53, 1) /* index 739 */,
1821 TILEPRO_OPC_XOR_SN, TILEPRO_OPC_NONE,
1822 BITFIELD(53, 1) /* index 742 */,
1823 TILEPRO_OPC_ADDS_SN, TILEPRO_OPC_NONE,
1824 BITFIELD(53, 1) /* index 745 */,
1825 TILEPRO_OPC_SUBS_SN, TILEPRO_OPC_NONE,
1826 BITFIELD(53, 1) /* index 748 */,
1827 TILEPRO_OPC_ADDBS_U_SN, TILEPRO_OPC_NONE,
1828 BITFIELD(53, 1) /* index 751 */,
1829 TILEPRO_OPC_ADDHS_SN, TILEPRO_OPC_NONE,
1830 BITFIELD(53, 1) /* index 754 */,
1831 TILEPRO_OPC_SUBBS_U_SN, TILEPRO_OPC_NONE,
1832 BITFIELD(53, 1) /* index 757 */,
1833 TILEPRO_OPC_SUBHS_SN, TILEPRO_OPC_NONE,
1834 BITFIELD(53, 1) /* index 760 */,
1835 TILEPRO_OPC_PACKHS_SN, TILEPRO_OPC_NONE,
1836 BITFIELD(53, 1) /* index 763 */,
1837 TILEPRO_OPC_PACKBS_U_SN, TILEPRO_OPC_NONE,
1838 BITFIELD(37, 2) /* index 766 */,
1839 TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
1840 CHILD(771),
1841 BITFIELD(39, 2) /* index 771 */,
1842 TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
1843 CHILD(776),
1844 BITFIELD(41, 2) /* index 776 */,
1845 TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
1846 TILEPRO_OPC_MOVELI_SN,
1847 BITFIELD(37, 2) /* index 781 */,
1848 TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(786),
1849 BITFIELD(39, 2) /* index 786 */,
1850 TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(791),
1851 BITFIELD(41, 2) /* index 791 */,
1852 TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_MOVELI,
1853 BITFIELD(31, 2) /* index 796 */,
1854 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(801),
1855 BITFIELD(33, 2) /* index 801 */,
1856 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(806),
1857 BITFIELD(35, 2) /* index 806 */,
1858 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(811),
1859 BITFIELD(37, 2) /* index 811 */,
1860 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(816),
1861 BITFIELD(39, 2) /* index 816 */,
1862 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(821),
1863 BITFIELD(41, 2) /* index 821 */,
1864 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_INFOL,
1865 BITFIELD(31, 4) /* index 826 */,
1866 TILEPRO_OPC_BZ, TILEPRO_OPC_BZT, TILEPRO_OPC_BNZ, TILEPRO_OPC_BNZT,
1867 TILEPRO_OPC_BGZ, TILEPRO_OPC_BGZT, TILEPRO_OPC_BGEZ, TILEPRO_OPC_BGEZT,
1868 TILEPRO_OPC_BLZ, TILEPRO_OPC_BLZT, TILEPRO_OPC_BLEZ, TILEPRO_OPC_BLEZT,
1869 TILEPRO_OPC_BBS, TILEPRO_OPC_BBST, TILEPRO_OPC_BBNS, TILEPRO_OPC_BBNST,
1870 BITFIELD(31, 4) /* index 843 */,
1871 TILEPRO_OPC_BZ_SN, TILEPRO_OPC_BZT_SN, TILEPRO_OPC_BNZ_SN,
1872 TILEPRO_OPC_BNZT_SN, TILEPRO_OPC_BGZ_SN, TILEPRO_OPC_BGZT_SN,
1873 TILEPRO_OPC_BGEZ_SN, TILEPRO_OPC_BGEZT_SN, TILEPRO_OPC_BLZ_SN,
1874 TILEPRO_OPC_BLZT_SN, TILEPRO_OPC_BLEZ_SN, TILEPRO_OPC_BLEZT_SN,
1875 TILEPRO_OPC_BBS_SN, TILEPRO_OPC_BBST_SN, TILEPRO_OPC_BBNS_SN,
1876 TILEPRO_OPC_BBNST_SN,
1877 BITFIELD(51, 3) /* index 860 */,
1878 TILEPRO_OPC_NONE, TILEPRO_OPC_ADDIB, TILEPRO_OPC_ADDIH, TILEPRO_OPC_ADDI,
1879 CHILD(869), TILEPRO_OPC_MAXIB_U, TILEPRO_OPC_MAXIH, TILEPRO_OPC_MFSPR,
1880 BITFIELD(31, 2) /* index 869 */,
1881 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(874),
1882 BITFIELD(33, 2) /* index 874 */,
1883 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(879),
1884 BITFIELD(35, 2) /* index 879 */,
1885 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(884),
1886 BITFIELD(37, 2) /* index 884 */,
1887 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(889),
1888 BITFIELD(39, 2) /* index 889 */,
1889 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(894),
1890 BITFIELD(41, 2) /* index 894 */,
1891 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
1892 BITFIELD(51, 3) /* index 899 */,
1893 TILEPRO_OPC_MINIB_U, TILEPRO_OPC_MINIH, TILEPRO_OPC_MTSPR, CHILD(908),
1894 TILEPRO_OPC_SEQIB, TILEPRO_OPC_SEQIH, TILEPRO_OPC_SEQI, TILEPRO_OPC_SLTIB,
1895 BITFIELD(37, 2) /* index 908 */,
1896 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(913),
1897 BITFIELD(39, 2) /* index 913 */,
1898 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(918),
1899 BITFIELD(41, 2) /* index 918 */,
1900 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
1901 BITFIELD(51, 3) /* index 923 */,
1902 TILEPRO_OPC_SLTIB_U, TILEPRO_OPC_SLTIH, TILEPRO_OPC_SLTIH_U,
1903 TILEPRO_OPC_SLTI, TILEPRO_OPC_SLTI_U, TILEPRO_OPC_XORI, TILEPRO_OPC_LBADD,
1904 TILEPRO_OPC_LBADD_U,
1905 BITFIELD(51, 3) /* index 932 */,
1906 TILEPRO_OPC_LHADD, TILEPRO_OPC_LHADD_U, TILEPRO_OPC_LWADD,
1907 TILEPRO_OPC_LWADD_NA, TILEPRO_OPC_SBADD, TILEPRO_OPC_SHADD,
1908 TILEPRO_OPC_SWADD, TILEPRO_OPC_NONE,
1909 BITFIELD(51, 3) /* index 941 */,
1910 TILEPRO_OPC_NONE, TILEPRO_OPC_ADDIB_SN, TILEPRO_OPC_ADDIH_SN,
1911 TILEPRO_OPC_ADDI_SN, TILEPRO_OPC_ANDI_SN, TILEPRO_OPC_MAXIB_U_SN,
1912 TILEPRO_OPC_MAXIH_SN, TILEPRO_OPC_MFSPR,
1913 BITFIELD(51, 3) /* index 950 */,
1914 TILEPRO_OPC_MINIB_U_SN, TILEPRO_OPC_MINIH_SN, TILEPRO_OPC_MTSPR, CHILD(959),
1915 TILEPRO_OPC_SEQIB_SN, TILEPRO_OPC_SEQIH_SN, TILEPRO_OPC_SEQI_SN,
1916 TILEPRO_OPC_SLTIB_SN,
1917 BITFIELD(37, 2) /* index 959 */,
1918 TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(964),
1919 BITFIELD(39, 2) /* index 964 */,
1920 TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(969),
1921 BITFIELD(41, 2) /* index 969 */,
1922 TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN,
1923 TILEPRO_OPC_MOVEI_SN,
1924 BITFIELD(51, 3) /* index 974 */,
1925 TILEPRO_OPC_SLTIB_U_SN, TILEPRO_OPC_SLTIH_SN, TILEPRO_OPC_SLTIH_U_SN,
1926 TILEPRO_OPC_SLTI_SN, TILEPRO_OPC_SLTI_U_SN, TILEPRO_OPC_XORI_SN,
1927 TILEPRO_OPC_LBADD_SN, TILEPRO_OPC_LBADD_U_SN,
1928 BITFIELD(51, 3) /* index 983 */,
1929 TILEPRO_OPC_LHADD_SN, TILEPRO_OPC_LHADD_U_SN, TILEPRO_OPC_LWADD_SN,
1930 TILEPRO_OPC_LWADD_NA_SN, TILEPRO_OPC_SBADD, TILEPRO_OPC_SHADD,
1931 TILEPRO_OPC_SWADD, TILEPRO_OPC_NONE,
1932 BITFIELD(46, 7) /* index 992 */,
1933 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1934 CHILD(1121), CHILD(1121), CHILD(1121), CHILD(1121), CHILD(1124),
1935 CHILD(1124), CHILD(1124), CHILD(1124), CHILD(1127), CHILD(1127),
1936 CHILD(1127), CHILD(1127), CHILD(1130), CHILD(1130), CHILD(1130),
1937 CHILD(1130), CHILD(1133), CHILD(1133), CHILD(1133), CHILD(1133),
1938 CHILD(1136), CHILD(1136), CHILD(1136), CHILD(1136), CHILD(1139),
1939 CHILD(1139), CHILD(1139), CHILD(1139), CHILD(1142), CHILD(1142),
1940 CHILD(1142), CHILD(1142), CHILD(1145), CHILD(1145), CHILD(1145),
1941 CHILD(1145), CHILD(1148), CHILD(1148), CHILD(1148), CHILD(1148),
1942 CHILD(1151), CHILD(1242), CHILD(1290), CHILD(1323), TILEPRO_OPC_NONE,
1943 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1944 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1945 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1946 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1947 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1948 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1949 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1950 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1951 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1952 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1953 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1954 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1955 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1956 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1957 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1958 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1959 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1960 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1961 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1962 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1963 BITFIELD(53, 1) /* index 1121 */,
1964 TILEPRO_OPC_RLI, TILEPRO_OPC_NONE,
1965 BITFIELD(53, 1) /* index 1124 */,
1966 TILEPRO_OPC_SHLIB, TILEPRO_OPC_NONE,
1967 BITFIELD(53, 1) /* index 1127 */,
1968 TILEPRO_OPC_SHLIH, TILEPRO_OPC_NONE,
1969 BITFIELD(53, 1) /* index 1130 */,
1970 TILEPRO_OPC_SHLI, TILEPRO_OPC_NONE,
1971 BITFIELD(53, 1) /* index 1133 */,
1972 TILEPRO_OPC_SHRIB, TILEPRO_OPC_NONE,
1973 BITFIELD(53, 1) /* index 1136 */,
1974 TILEPRO_OPC_SHRIH, TILEPRO_OPC_NONE,
1975 BITFIELD(53, 1) /* index 1139 */,
1976 TILEPRO_OPC_SHRI, TILEPRO_OPC_NONE,
1977 BITFIELD(53, 1) /* index 1142 */,
1978 TILEPRO_OPC_SRAIB, TILEPRO_OPC_NONE,
1979 BITFIELD(53, 1) /* index 1145 */,
1980 TILEPRO_OPC_SRAIH, TILEPRO_OPC_NONE,
1981 BITFIELD(53, 1) /* index 1148 */,
1982 TILEPRO_OPC_SRAI, TILEPRO_OPC_NONE,
1983 BITFIELD(43, 3) /* index 1151 */,
1984 TILEPRO_OPC_NONE, CHILD(1160), CHILD(1163), CHILD(1166), CHILD(1169),
1985 CHILD(1172), CHILD(1175), CHILD(1178),
1986 BITFIELD(53, 1) /* index 1160 */,
1987 TILEPRO_OPC_DRAIN, TILEPRO_OPC_NONE,
1988 BITFIELD(53, 1) /* index 1163 */,
1989 TILEPRO_OPC_DTLBPR, TILEPRO_OPC_NONE,
1990 BITFIELD(53, 1) /* index 1166 */,
1991 TILEPRO_OPC_FINV, TILEPRO_OPC_NONE,
1992 BITFIELD(53, 1) /* index 1169 */,
1993 TILEPRO_OPC_FLUSH, TILEPRO_OPC_NONE,
1994 BITFIELD(53, 1) /* index 1172 */,
1995 TILEPRO_OPC_FNOP, TILEPRO_OPC_NONE,
1996 BITFIELD(53, 1) /* index 1175 */,
1997 TILEPRO_OPC_ICOH, TILEPRO_OPC_NONE,
1998 BITFIELD(31, 2) /* index 1178 */,
1999 CHILD(1183), CHILD(1211), CHILD(1239), CHILD(1239),
2000 BITFIELD(53, 1) /* index 1183 */,
2001 CHILD(1186), TILEPRO_OPC_NONE,
2002 BITFIELD(33, 2) /* index 1186 */,
2003 TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, CHILD(1191),
2004 BITFIELD(35, 2) /* index 1191 */,
2005 TILEPRO_OPC_ILL, CHILD(1196), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
2006 BITFIELD(37, 2) /* index 1196 */,
2007 TILEPRO_OPC_ILL, CHILD(1201), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
2008 BITFIELD(39, 2) /* index 1201 */,
2009 TILEPRO_OPC_ILL, CHILD(1206), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
2010 BITFIELD(41, 2) /* index 1206 */,
2011 TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_BPT, TILEPRO_OPC_ILL,
2012 BITFIELD(53, 1) /* index 1211 */,
2013 CHILD(1214), TILEPRO_OPC_NONE,
2014 BITFIELD(33, 2) /* index 1214 */,
2015 TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, CHILD(1219),
2016 BITFIELD(35, 2) /* index 1219 */,
2017 TILEPRO_OPC_ILL, CHILD(1224), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
2018 BITFIELD(37, 2) /* index 1224 */,
2019 TILEPRO_OPC_ILL, CHILD(1229), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
2020 BITFIELD(39, 2) /* index 1229 */,
2021 TILEPRO_OPC_ILL, CHILD(1234), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
2022 BITFIELD(41, 2) /* index 1234 */,
2023 TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_RAISE, TILEPRO_OPC_ILL,
2024 BITFIELD(53, 1) /* index 1239 */,
2025 TILEPRO_OPC_ILL, TILEPRO_OPC_NONE,
2026 BITFIELD(43, 3) /* index 1242 */,
2027 CHILD(1251), CHILD(1254), CHILD(1257), CHILD(1275), CHILD(1278),
2028 CHILD(1281), CHILD(1284), CHILD(1287),
2029 BITFIELD(53, 1) /* index 1251 */,
2030 TILEPRO_OPC_INV, TILEPRO_OPC_NONE,
2031 BITFIELD(53, 1) /* index 1254 */,
2032 TILEPRO_OPC_IRET, TILEPRO_OPC_NONE,
2033 BITFIELD(53, 1) /* index 1257 */,
2034 CHILD(1260), TILEPRO_OPC_NONE,
2035 BITFIELD(31, 2) /* index 1260 */,
2036 TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(1265),
2037 BITFIELD(33, 2) /* index 1265 */,
2038 TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(1270),
2039 BITFIELD(35, 2) /* index 1270 */,
2040 TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_PREFETCH,
2041 BITFIELD(53, 1) /* index 1275 */,
2042 TILEPRO_OPC_LB_U, TILEPRO_OPC_NONE,
2043 BITFIELD(53, 1) /* index 1278 */,
2044 TILEPRO_OPC_LH, TILEPRO_OPC_NONE,
2045 BITFIELD(53, 1) /* index 1281 */,
2046 TILEPRO_OPC_LH_U, TILEPRO_OPC_NONE,
2047 BITFIELD(53, 1) /* index 1284 */,
2048 TILEPRO_OPC_LW, TILEPRO_OPC_NONE,
2049 BITFIELD(53, 1) /* index 1287 */,
2050 TILEPRO_OPC_MF, TILEPRO_OPC_NONE,
2051 BITFIELD(43, 3) /* index 1290 */,
2052 CHILD(1299), CHILD(1302), CHILD(1305), CHILD(1308), CHILD(1311),
2053 CHILD(1314), CHILD(1317), CHILD(1320),
2054 BITFIELD(53, 1) /* index 1299 */,
2055 TILEPRO_OPC_NAP, TILEPRO_OPC_NONE,
2056 BITFIELD(53, 1) /* index 1302 */,
2057 TILEPRO_OPC_NOP, TILEPRO_OPC_NONE,
2058 BITFIELD(53, 1) /* index 1305 */,
2059 TILEPRO_OPC_SWINT0, TILEPRO_OPC_NONE,
2060 BITFIELD(53, 1) /* index 1308 */,
2061 TILEPRO_OPC_SWINT1, TILEPRO_OPC_NONE,
2062 BITFIELD(53, 1) /* index 1311 */,
2063 TILEPRO_OPC_SWINT2, TILEPRO_OPC_NONE,
2064 BITFIELD(53, 1) /* index 1314 */,
2065 TILEPRO_OPC_SWINT3, TILEPRO_OPC_NONE,
2066 BITFIELD(53, 1) /* index 1317 */,
2067 TILEPRO_OPC_TNS, TILEPRO_OPC_NONE,
2068 BITFIELD(53, 1) /* index 1320 */,
2069 TILEPRO_OPC_WH64, TILEPRO_OPC_NONE,
2070 BITFIELD(43, 2) /* index 1323 */,
2071 CHILD(1328), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2072 BITFIELD(45, 1) /* index 1328 */,
2073 CHILD(1331), TILEPRO_OPC_NONE,
2074 BITFIELD(53, 1) /* index 1331 */,
2075 TILEPRO_OPC_LW_NA, TILEPRO_OPC_NONE,
2076 BITFIELD(46, 7) /* index 1334 */,
2077 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2078 CHILD(1463), CHILD(1463), CHILD(1463), CHILD(1463), CHILD(1466),
2079 CHILD(1466), CHILD(1466), CHILD(1466), CHILD(1469), CHILD(1469),
2080 CHILD(1469), CHILD(1469), CHILD(1472), CHILD(1472), CHILD(1472),
2081 CHILD(1472), CHILD(1475), CHILD(1475), CHILD(1475), CHILD(1475),
2082 CHILD(1478), CHILD(1478), CHILD(1478), CHILD(1478), CHILD(1481),
2083 CHILD(1481), CHILD(1481), CHILD(1481), CHILD(1484), CHILD(1484),
2084 CHILD(1484), CHILD(1484), CHILD(1487), CHILD(1487), CHILD(1487),
2085 CHILD(1487), CHILD(1490), CHILD(1490), CHILD(1490), CHILD(1490),
2086 CHILD(1151), CHILD(1493), CHILD(1517), CHILD(1529), TILEPRO_OPC_NONE,
2087 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2088 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2089 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2090 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2091 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2092 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2093 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2094 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2095 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2096 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2097 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2098 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2099 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2100 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2101 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2102 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2103 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2104 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2105 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2106 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2107 BITFIELD(53, 1) /* index 1463 */,
2108 TILEPRO_OPC_RLI_SN, TILEPRO_OPC_NONE,
2109 BITFIELD(53, 1) /* index 1466 */,
2110 TILEPRO_OPC_SHLIB_SN, TILEPRO_OPC_NONE,
2111 BITFIELD(53, 1) /* index 1469 */,
2112 TILEPRO_OPC_SHLIH_SN, TILEPRO_OPC_NONE,
2113 BITFIELD(53, 1) /* index 1472 */,
2114 TILEPRO_OPC_SHLI_SN, TILEPRO_OPC_NONE,
2115 BITFIELD(53, 1) /* index 1475 */,
2116 TILEPRO_OPC_SHRIB_SN, TILEPRO_OPC_NONE,
2117 BITFIELD(53, 1) /* index 1478 */,
2118 TILEPRO_OPC_SHRIH_SN, TILEPRO_OPC_NONE,
2119 BITFIELD(53, 1) /* index 1481 */,
2120 TILEPRO_OPC_SHRI_SN, TILEPRO_OPC_NONE,
2121 BITFIELD(53, 1) /* index 1484 */,
2122 TILEPRO_OPC_SRAIB_SN, TILEPRO_OPC_NONE,
2123 BITFIELD(53, 1) /* index 1487 */,
2124 TILEPRO_OPC_SRAIH_SN, TILEPRO_OPC_NONE,
2125 BITFIELD(53, 1) /* index 1490 */,
2126 TILEPRO_OPC_SRAI_SN, TILEPRO_OPC_NONE,
2127 BITFIELD(43, 3) /* index 1493 */,
2128 CHILD(1251), CHILD(1254), CHILD(1502), CHILD(1505), CHILD(1508),
2129 CHILD(1511), CHILD(1514), CHILD(1287),
2130 BITFIELD(53, 1) /* index 1502 */,
2131 TILEPRO_OPC_LB_SN, TILEPRO_OPC_NONE,
2132 BITFIELD(53, 1) /* index 1505 */,
2133 TILEPRO_OPC_LB_U_SN, TILEPRO_OPC_NONE,
2134 BITFIELD(53, 1) /* index 1508 */,
2135 TILEPRO_OPC_LH_SN, TILEPRO_OPC_NONE,
2136 BITFIELD(53, 1) /* index 1511 */,
2137 TILEPRO_OPC_LH_U_SN, TILEPRO_OPC_NONE,
2138 BITFIELD(53, 1) /* index 1514 */,
2139 TILEPRO_OPC_LW_SN, TILEPRO_OPC_NONE,
2140 BITFIELD(43, 3) /* index 1517 */,
2141 CHILD(1299), CHILD(1302), CHILD(1305), CHILD(1308), CHILD(1311),
2142 CHILD(1314), CHILD(1526), CHILD(1320),
2143 BITFIELD(53, 1) /* index 1526 */,
2144 TILEPRO_OPC_TNS_SN, TILEPRO_OPC_NONE,
2145 BITFIELD(43, 2) /* index 1529 */,
2146 CHILD(1534), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2147 BITFIELD(45, 1) /* index 1534 */,
2148 CHILD(1537), TILEPRO_OPC_NONE,
2149 BITFIELD(53, 1) /* index 1537 */,
2150 TILEPRO_OPC_LW_NA_SN, TILEPRO_OPC_NONE,
2153 static const unsigned short decode_Y0_fsm[168] =
2155 BITFIELD(27, 4) /* index 0 */,
2156 TILEPRO_OPC_NONE, CHILD(17), CHILD(22), CHILD(27), CHILD(47), CHILD(52),
2157 CHILD(57), CHILD(62), CHILD(67), TILEPRO_OPC_ADDI, CHILD(72), CHILD(102),
2158 TILEPRO_OPC_SEQI, CHILD(117), TILEPRO_OPC_SLTI, TILEPRO_OPC_SLTI_U,
2159 BITFIELD(18, 2) /* index 17 */,
2160 TILEPRO_OPC_ADD, TILEPRO_OPC_S1A, TILEPRO_OPC_S2A, TILEPRO_OPC_SUB,
2161 BITFIELD(18, 2) /* index 22 */,
2162 TILEPRO_OPC_MNZ, TILEPRO_OPC_MVNZ, TILEPRO_OPC_MVZ, TILEPRO_OPC_MZ,
2163 BITFIELD(18, 2) /* index 27 */,
2164 TILEPRO_OPC_AND, TILEPRO_OPC_NOR, CHILD(32), TILEPRO_OPC_XOR,
2165 BITFIELD(12, 2) /* index 32 */,
2166 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(37),
2167 BITFIELD(14, 2) /* index 37 */,
2168 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(42),
2169 BITFIELD(16, 2) /* index 42 */,
2170 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
2171 BITFIELD(18, 2) /* index 47 */,
2172 TILEPRO_OPC_RL, TILEPRO_OPC_SHL, TILEPRO_OPC_SHR, TILEPRO_OPC_SRA,
2173 BITFIELD(18, 2) /* index 52 */,
2174 TILEPRO_OPC_SLTE, TILEPRO_OPC_SLTE_U, TILEPRO_OPC_SLT, TILEPRO_OPC_SLT_U,
2175 BITFIELD(18, 2) /* index 57 */,
2176 TILEPRO_OPC_MULHLSA_UU, TILEPRO_OPC_S3A, TILEPRO_OPC_SEQ, TILEPRO_OPC_SNE,
2177 BITFIELD(18, 2) /* index 62 */,
2178 TILEPRO_OPC_MULHH_SS, TILEPRO_OPC_MULHH_UU, TILEPRO_OPC_MULLL_SS,
2179 TILEPRO_OPC_MULLL_UU,
2180 BITFIELD(18, 2) /* index 67 */,
2181 TILEPRO_OPC_MULHHA_SS, TILEPRO_OPC_MULHHA_UU, TILEPRO_OPC_MULLLA_SS,
2182 TILEPRO_OPC_MULLLA_UU,
2183 BITFIELD(0, 2) /* index 72 */,
2184 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(77),
2185 BITFIELD(2, 2) /* index 77 */,
2186 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(82),
2187 BITFIELD(4, 2) /* index 82 */,
2188 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(87),
2189 BITFIELD(6, 2) /* index 87 */,
2190 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(92),
2191 BITFIELD(8, 2) /* index 92 */,
2192 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(97),
2193 BITFIELD(10, 2) /* index 97 */,
2194 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
2195 BITFIELD(6, 2) /* index 102 */,
2196 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(107),
2197 BITFIELD(8, 2) /* index 107 */,
2198 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(112),
2199 BITFIELD(10, 2) /* index 112 */,
2200 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
2201 BITFIELD(15, 5) /* index 117 */,
2202 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2203 TILEPRO_OPC_RLI, TILEPRO_OPC_RLI, TILEPRO_OPC_RLI, TILEPRO_OPC_RLI,
2204 TILEPRO_OPC_SHLI, TILEPRO_OPC_SHLI, TILEPRO_OPC_SHLI, TILEPRO_OPC_SHLI,
2205 TILEPRO_OPC_SHRI, TILEPRO_OPC_SHRI, TILEPRO_OPC_SHRI, TILEPRO_OPC_SHRI,
2206 TILEPRO_OPC_SRAI, TILEPRO_OPC_SRAI, TILEPRO_OPC_SRAI, TILEPRO_OPC_SRAI,
2207 CHILD(150), CHILD(159), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2208 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2209 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2210 BITFIELD(12, 3) /* index 150 */,
2211 TILEPRO_OPC_NONE, TILEPRO_OPC_BITX, TILEPRO_OPC_BYTEX, TILEPRO_OPC_CLZ,
2212 TILEPRO_OPC_CTZ, TILEPRO_OPC_FNOP, TILEPRO_OPC_NOP, TILEPRO_OPC_PCNT,
2213 BITFIELD(12, 3) /* index 159 */,
2214 TILEPRO_OPC_TBLIDXB0, TILEPRO_OPC_TBLIDXB1, TILEPRO_OPC_TBLIDXB2,
2215 TILEPRO_OPC_TBLIDXB3, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2216 TILEPRO_OPC_NONE,
2219 static const unsigned short decode_Y1_fsm[140] =
2221 BITFIELD(59, 4) /* index 0 */,
2222 TILEPRO_OPC_NONE, CHILD(17), CHILD(22), CHILD(27), CHILD(47), CHILD(52),
2223 CHILD(57), TILEPRO_OPC_ADDI, CHILD(62), CHILD(92), TILEPRO_OPC_SEQI,
2224 CHILD(107), TILEPRO_OPC_SLTI, TILEPRO_OPC_SLTI_U, TILEPRO_OPC_NONE,
2225 TILEPRO_OPC_NONE,
2226 BITFIELD(49, 2) /* index 17 */,
2227 TILEPRO_OPC_ADD, TILEPRO_OPC_S1A, TILEPRO_OPC_S2A, TILEPRO_OPC_SUB,
2228 BITFIELD(49, 2) /* index 22 */,
2229 TILEPRO_OPC_NONE, TILEPRO_OPC_MNZ, TILEPRO_OPC_MZ, TILEPRO_OPC_NONE,
2230 BITFIELD(49, 2) /* index 27 */,
2231 TILEPRO_OPC_AND, TILEPRO_OPC_NOR, CHILD(32), TILEPRO_OPC_XOR,
2232 BITFIELD(43, 2) /* index 32 */,
2233 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(37),
2234 BITFIELD(45, 2) /* index 37 */,
2235 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(42),
2236 BITFIELD(47, 2) /* index 42 */,
2237 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
2238 BITFIELD(49, 2) /* index 47 */,
2239 TILEPRO_OPC_RL, TILEPRO_OPC_SHL, TILEPRO_OPC_SHR, TILEPRO_OPC_SRA,
2240 BITFIELD(49, 2) /* index 52 */,
2241 TILEPRO_OPC_SLTE, TILEPRO_OPC_SLTE_U, TILEPRO_OPC_SLT, TILEPRO_OPC_SLT_U,
2242 BITFIELD(49, 2) /* index 57 */,
2243 TILEPRO_OPC_NONE, TILEPRO_OPC_S3A, TILEPRO_OPC_SEQ, TILEPRO_OPC_SNE,
2244 BITFIELD(31, 2) /* index 62 */,
2245 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(67),
2246 BITFIELD(33, 2) /* index 67 */,
2247 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(72),
2248 BITFIELD(35, 2) /* index 72 */,
2249 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(77),
2250 BITFIELD(37, 2) /* index 77 */,
2251 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(82),
2252 BITFIELD(39, 2) /* index 82 */,
2253 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(87),
2254 BITFIELD(41, 2) /* index 87 */,
2255 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
2256 BITFIELD(37, 2) /* index 92 */,
2257 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(97),
2258 BITFIELD(39, 2) /* index 97 */,
2259 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(102),
2260 BITFIELD(41, 2) /* index 102 */,
2261 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
2262 BITFIELD(48, 3) /* index 107 */,
2263 TILEPRO_OPC_NONE, TILEPRO_OPC_RLI, TILEPRO_OPC_SHLI, TILEPRO_OPC_SHRI,
2264 TILEPRO_OPC_SRAI, CHILD(116), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2265 BITFIELD(43, 3) /* index 116 */,
2266 TILEPRO_OPC_NONE, CHILD(125), CHILD(130), CHILD(135), TILEPRO_OPC_NONE,
2267 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2268 BITFIELD(46, 2) /* index 125 */,
2269 TILEPRO_OPC_FNOP, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2270 BITFIELD(46, 2) /* index 130 */,
2271 TILEPRO_OPC_ILL, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2272 BITFIELD(46, 2) /* index 135 */,
2273 TILEPRO_OPC_NOP, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2276 static const unsigned short decode_Y2_fsm[24] =
2278 BITFIELD(56, 3) /* index 0 */,
2279 CHILD(9), TILEPRO_OPC_LB_U, TILEPRO_OPC_LH, TILEPRO_OPC_LH_U,
2280 TILEPRO_OPC_LW, TILEPRO_OPC_SB, TILEPRO_OPC_SH, TILEPRO_OPC_SW,
2281 BITFIELD(20, 2) /* index 9 */,
2282 TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(14),
2283 BITFIELD(22, 2) /* index 14 */,
2284 TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(19),
2285 BITFIELD(24, 2) /* index 19 */,
2286 TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_PREFETCH,
2289 #undef BITFIELD
2290 #undef CHILD
2291 const unsigned short * const
2292 tilepro_bundle_decoder_fsms[TILEPRO_NUM_PIPELINE_ENCODINGS] =
2294 decode_X0_fsm,
2295 decode_X1_fsm,
2296 decode_Y0_fsm,
2297 decode_Y1_fsm,
2298 decode_Y2_fsm
2300 const struct tilepro_operand tilepro_operands[43] =
2303 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_X0),
2304 8, 1, 0, 0, 0, 0,
2305 create_Imm8_X0, get_Imm8_X0
2308 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_X1),
2309 8, 1, 0, 0, 0, 0,
2310 create_Imm8_X1, get_Imm8_X1
2313 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_Y0),
2314 8, 1, 0, 0, 0, 0,
2315 create_Imm8_Y0, get_Imm8_Y0
2318 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_Y1),
2319 8, 1, 0, 0, 0, 0,
2320 create_Imm8_Y1, get_Imm8_Y1
2323 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM16_X0),
2324 16, 1, 0, 0, 0, 0,
2325 create_Imm16_X0, get_Imm16_X0
2328 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM16_X1),
2329 16, 1, 0, 0, 0, 0,
2330 create_Imm16_X1, get_Imm16_X1
2333 TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(TILEPRO_JOFFLONG_X1),
2334 29, 1, 0, 0, 1, TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
2335 create_JOffLong_X1, get_JOffLong_X1
2338 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2339 6, 0, 0, 1, 0, 0,
2340 create_Dest_X0, get_Dest_X0
2343 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2344 6, 0, 1, 0, 0, 0,
2345 create_SrcA_X0, get_SrcA_X0
2348 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2349 6, 0, 0, 1, 0, 0,
2350 create_Dest_X1, get_Dest_X1
2353 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2354 6, 0, 1, 0, 0, 0,
2355 create_SrcA_X1, get_SrcA_X1
2358 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2359 6, 0, 0, 1, 0, 0,
2360 create_Dest_Y0, get_Dest_Y0
2363 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2364 6, 0, 1, 0, 0, 0,
2365 create_SrcA_Y0, get_SrcA_Y0
2368 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2369 6, 0, 0, 1, 0, 0,
2370 create_Dest_Y1, get_Dest_Y1
2373 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2374 6, 0, 1, 0, 0, 0,
2375 create_SrcA_Y1, get_SrcA_Y1
2378 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2379 6, 0, 1, 0, 0, 0,
2380 create_SrcA_Y2, get_SrcA_Y2
2383 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2384 6, 0, 1, 0, 0, 0,
2385 create_SrcB_X0, get_SrcB_X0
2388 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2389 6, 0, 1, 0, 0, 0,
2390 create_SrcB_X1, get_SrcB_X1
2393 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2394 6, 0, 1, 0, 0, 0,
2395 create_SrcB_Y0, get_SrcB_Y0
2398 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2399 6, 0, 1, 0, 0, 0,
2400 create_SrcB_Y1, get_SrcB_Y1
2403 TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(TILEPRO_BROFF_X1),
2404 17, 1, 0, 0, 1, TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
2405 create_BrOff_X1, get_BrOff_X1
2408 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2409 6, 0, 1, 1, 0, 0,
2410 create_Dest_X0, get_Dest_X0
2413 TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(NONE),
2414 28, 1, 0, 0, 1, TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
2415 create_JOff_X1, get_JOff_X1
2418 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2419 6, 0, 0, 1, 0, 0,
2420 create_SrcBDest_Y2, get_SrcBDest_Y2
2423 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2424 6, 0, 1, 1, 0, 0,
2425 create_SrcA_X1, get_SrcA_X1
2428 TILEPRO_OP_TYPE_SPR, BFD_RELOC(TILEPRO_MF_IMM15_X1),
2429 15, 0, 0, 0, 0, 0,
2430 create_MF_Imm15_X1, get_MF_Imm15_X1
2433 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMSTART_X0),
2434 5, 0, 0, 0, 0, 0,
2435 create_MMStart_X0, get_MMStart_X0
2438 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMEND_X0),
2439 5, 0, 0, 0, 0, 0,
2440 create_MMEnd_X0, get_MMEnd_X0
2443 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMSTART_X1),
2444 5, 0, 0, 0, 0, 0,
2445 create_MMStart_X1, get_MMStart_X1
2448 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMEND_X1),
2449 5, 0, 0, 0, 0, 0,
2450 create_MMEnd_X1, get_MMEnd_X1
2453 TILEPRO_OP_TYPE_SPR, BFD_RELOC(TILEPRO_MT_IMM15_X1),
2454 15, 0, 0, 0, 0, 0,
2455 create_MT_Imm15_X1, get_MT_Imm15_X1
2458 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2459 6, 0, 1, 1, 0, 0,
2460 create_Dest_Y0, get_Dest_Y0
2463 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_X0),
2464 5, 0, 0, 0, 0, 0,
2465 create_ShAmt_X0, get_ShAmt_X0
2468 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_X1),
2469 5, 0, 0, 0, 0, 0,
2470 create_ShAmt_X1, get_ShAmt_X1
2473 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_Y0),
2474 5, 0, 0, 0, 0, 0,
2475 create_ShAmt_Y0, get_ShAmt_Y0
2478 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_Y1),
2479 5, 0, 0, 0, 0, 0,
2480 create_ShAmt_Y1, get_ShAmt_Y1
2483 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2484 6, 0, 1, 0, 0, 0,
2485 create_SrcBDest_Y2, get_SrcBDest_Y2
2488 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_DEST_IMM8_X1),
2489 8, 1, 0, 0, 0, 0,
2490 create_Dest_Imm8_X1, get_Dest_Imm8_X1
2493 TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(NONE),
2494 10, 1, 0, 0, 1, TILEPRO_LOG2_SN_INSTRUCTION_SIZE_IN_BYTES,
2495 create_BrOff_SN, get_BrOff_SN
2498 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(NONE),
2499 8, 0, 0, 0, 0, 0,
2500 create_Imm8_SN, get_Imm8_SN
2503 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(NONE),
2504 8, 1, 0, 0, 0, 0,
2505 create_Imm8_SN, get_Imm8_SN
2508 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2509 2, 0, 0, 1, 0, 0,
2510 create_Dest_SN, get_Dest_SN
2513 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2514 2, 0, 1, 0, 0, 0,
2515 create_Src_SN, get_Src_SN
2522 /* Given a set of bundle bits and a specific pipe, returns which
2523 * instruction the bundle contains in that pipe.
2525 const struct tilepro_opcode *
2526 find_opcode(tilepro_bundle_bits bits, tilepro_pipeline pipe)
2528 const unsigned short *table = tilepro_bundle_decoder_fsms[pipe];
2529 int index = 0;
2531 while (1)
2533 unsigned short bitspec = table[index];
2534 unsigned int bitfield =
2535 ((unsigned int)(bits >> (bitspec & 63))) & (bitspec >> 6);
2537 unsigned short next = table[index + 1 + bitfield];
2538 if (next <= TILEPRO_OPC_NONE)
2539 return &tilepro_opcodes[next];
2541 index = next - TILEPRO_OPC_NONE;
2547 parse_insn_tilepro(tilepro_bundle_bits bits,
2548 unsigned int pc,
2549 struct tilepro_decoded_instruction
2550 decoded[TILEPRO_MAX_INSTRUCTIONS_PER_BUNDLE])
2552 int num_instructions = 0;
2553 int pipe;
2555 int min_pipe, max_pipe;
2556 if ((bits & TILEPRO_BUNDLE_Y_ENCODING_MASK) == 0)
2558 min_pipe = TILEPRO_PIPELINE_X0;
2559 max_pipe = TILEPRO_PIPELINE_X1;
2561 else
2563 min_pipe = TILEPRO_PIPELINE_Y0;
2564 max_pipe = TILEPRO_PIPELINE_Y2;
2567 /* For each pipe, find an instruction that fits. */
2568 for (pipe = min_pipe; pipe <= max_pipe; pipe++)
2570 const struct tilepro_opcode *opc;
2571 struct tilepro_decoded_instruction *d;
2572 int i;
2574 d = &decoded[num_instructions++];
2575 opc = find_opcode (bits, (tilepro_pipeline)pipe);
2576 d->opcode = opc;
2578 /* Decode each operand, sign extending, etc. as appropriate. */
2579 for (i = 0; i < opc->num_operands; i++)
2581 const struct tilepro_operand *op =
2582 &tilepro_operands[opc->operands[pipe][i]];
2583 int opval = op->extract (bits);
2584 if (op->is_signed)
2586 /* Sign-extend the operand. */
2587 int shift = (int)((sizeof(int) * 8) - op->num_bits);
2588 opval = (opval << shift) >> shift;
2591 /* Adjust PC-relative scaled branch offsets. */
2592 if (op->type == TILEPRO_OP_TYPE_ADDRESS)
2594 opval *= TILEPRO_BUNDLE_SIZE_IN_BYTES;
2595 opval += (int)pc;
2598 /* Record the final value. */
2599 d->operands[i] = op;
2600 d->operand_values[i] = opval;
2604 return num_instructions;