Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
[deliverable/linux.git] / arch / tile / kernel / tile-desc_32.c
CommitLineData
eb7c792d
CM
1/* TILEPro opcode information.
2 *
3 * Copyright 2011 Tilera Corporation. All Rights Reserved.
4 *
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.
8 *
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.
14 *
15 *
16 *
17 *
18 *
19 */
20
863fbac6
CM
21/* This define is BFD_RELOC_##x for real bfd, or -1 for everyone else. */
22#define BFD_RELOC(x) -1
867e359b
CM
23
24/* Special registers. */
25#define TREG_LR 55
26#define TREG_SN 56
27#define TREG_ZERO 63
28
863fbac6 29#include <linux/stddef.h>
eb7c792d 30#include <asm/tile-desc.h>
867e359b 31
eb7c792d 32const struct tilepro_opcode tilepro_opcodes[395] =
867e359b 33{
eb7c792d 34 { "bpt", TILEPRO_OPC_BPT, 0x2, 0, TREG_ZERO, 0,
863fbac6
CM
35 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
36 },
eb7c792d 37 { "info", TILEPRO_OPC_INFO, 0xf, 1, TREG_ZERO, 1,
863fbac6
CM
38 { { 0 }, { 1 }, { 2 }, { 3 }, { 0, } },
39 },
eb7c792d 40 { "infol", TILEPRO_OPC_INFOL, 0x3, 1, TREG_ZERO, 1,
863fbac6
CM
41 { { 4 }, { 5 }, { 0, }, { 0, }, { 0, } },
42 },
eb7c792d 43 { "j", TILEPRO_OPC_J, 0x2, 1, TREG_ZERO, 1,
863fbac6
CM
44 { { 0, }, { 6 }, { 0, }, { 0, }, { 0, } },
45 },
eb7c792d 46 { "jal", TILEPRO_OPC_JAL, 0x2, 1, TREG_LR, 1,
863fbac6
CM
47 { { 0, }, { 6 }, { 0, }, { 0, }, { 0, } },
48 },
eb7c792d 49 { "move", TILEPRO_OPC_MOVE, 0xf, 2, TREG_ZERO, 1,
863fbac6
CM
50 { { 7, 8 }, { 9, 10 }, { 11, 12 }, { 13, 14 }, { 0, } },
51 },
eb7c792d 52 { "move.sn", TILEPRO_OPC_MOVE_SN, 0x3, 2, TREG_SN, 1,
863fbac6
CM
53 { { 7, 8 }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
54 },
eb7c792d 55 { "movei", TILEPRO_OPC_MOVEI, 0xf, 2, TREG_ZERO, 1,
863fbac6
CM
56 { { 7, 0 }, { 9, 1 }, { 11, 2 }, { 13, 3 }, { 0, } },
57 },
eb7c792d 58 { "movei.sn", TILEPRO_OPC_MOVEI_SN, 0x3, 2, TREG_SN, 1,
863fbac6
CM
59 { { 7, 0 }, { 9, 1 }, { 0, }, { 0, }, { 0, } },
60 },
eb7c792d 61 { "moveli", TILEPRO_OPC_MOVELI, 0x3, 2, TREG_ZERO, 1,
863fbac6
CM
62 { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
63 },
eb7c792d 64 { "moveli.sn", TILEPRO_OPC_MOVELI_SN, 0x3, 2, TREG_SN, 1,
863fbac6
CM
65 { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
66 },
eb7c792d 67 { "movelis", TILEPRO_OPC_MOVELIS, 0x3, 2, TREG_SN, 1,
863fbac6
CM
68 { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
69 },
eb7c792d 70 { "prefetch", TILEPRO_OPC_PREFETCH, 0x12, 1, TREG_ZERO, 1,
863fbac6
CM
71 { { 0, }, { 10 }, { 0, }, { 0, }, { 15 } },
72 },
eb7c792d 73 { "raise", TILEPRO_OPC_RAISE, 0x2, 0, TREG_ZERO, 1,
863fbac6
CM
74 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
75 },
eb7c792d 76 { "add", TILEPRO_OPC_ADD, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
77 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
78 },
eb7c792d 79 { "add.sn", TILEPRO_OPC_ADD_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
80 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
81 },
eb7c792d 82 { "addb", TILEPRO_OPC_ADDB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
83 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
84 },
eb7c792d 85 { "addb.sn", TILEPRO_OPC_ADDB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
86 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
87 },
eb7c792d 88 { "addbs_u", TILEPRO_OPC_ADDBS_U, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
89 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
90 },
eb7c792d 91 { "addbs_u.sn", TILEPRO_OPC_ADDBS_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
92 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
93 },
eb7c792d 94 { "addh", TILEPRO_OPC_ADDH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
95 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
96 },
eb7c792d 97 { "addh.sn", TILEPRO_OPC_ADDH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
98 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
99 },
eb7c792d 100 { "addhs", TILEPRO_OPC_ADDHS, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
101 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
102 },
eb7c792d 103 { "addhs.sn", TILEPRO_OPC_ADDHS_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
104 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
105 },
eb7c792d 106 { "addi", TILEPRO_OPC_ADDI, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
107 { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
108 },
eb7c792d 109 { "addi.sn", TILEPRO_OPC_ADDI_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
110 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
111 },
eb7c792d 112 { "addib", TILEPRO_OPC_ADDIB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
113 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
114 },
eb7c792d 115 { "addib.sn", TILEPRO_OPC_ADDIB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
116 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
117 },
eb7c792d 118 { "addih", TILEPRO_OPC_ADDIH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
119 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
120 },
eb7c792d 121 { "addih.sn", TILEPRO_OPC_ADDIH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
122 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
123 },
eb7c792d 124 { "addli", TILEPRO_OPC_ADDLI, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
125 { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
126 },
eb7c792d 127 { "addli.sn", TILEPRO_OPC_ADDLI_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
128 { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
129 },
eb7c792d 130 { "addlis", TILEPRO_OPC_ADDLIS, 0x3, 3, TREG_SN, 1,
863fbac6
CM
131 { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
132 },
eb7c792d 133 { "adds", TILEPRO_OPC_ADDS, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
134 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
135 },
eb7c792d 136 { "adds.sn", TILEPRO_OPC_ADDS_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
137 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
138 },
eb7c792d 139 { "adiffb_u", TILEPRO_OPC_ADIFFB_U, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
140 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
141 },
eb7c792d 142 { "adiffb_u.sn", TILEPRO_OPC_ADIFFB_U_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
143 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
144 },
eb7c792d 145 { "adiffh", TILEPRO_OPC_ADIFFH, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
146 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
147 },
eb7c792d 148 { "adiffh.sn", TILEPRO_OPC_ADIFFH_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
149 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
150 },
eb7c792d 151 { "and", TILEPRO_OPC_AND, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
152 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
153 },
eb7c792d 154 { "and.sn", TILEPRO_OPC_AND_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
155 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
156 },
eb7c792d 157 { "andi", TILEPRO_OPC_ANDI, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
158 { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
159 },
eb7c792d 160 { "andi.sn", TILEPRO_OPC_ANDI_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
161 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
162 },
eb7c792d 163 { "auli", TILEPRO_OPC_AULI, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
164 { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
165 },
eb7c792d 166 { "avgb_u", TILEPRO_OPC_AVGB_U, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
167 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
168 },
eb7c792d 169 { "avgb_u.sn", TILEPRO_OPC_AVGB_U_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
170 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
171 },
eb7c792d 172 { "avgh", TILEPRO_OPC_AVGH, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
173 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
174 },
eb7c792d 175 { "avgh.sn", TILEPRO_OPC_AVGH_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
176 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
177 },
eb7c792d 178 { "bbns", TILEPRO_OPC_BBNS, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
179 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
180 },
eb7c792d 181 { "bbns.sn", TILEPRO_OPC_BBNS_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
182 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
183 },
eb7c792d 184 { "bbnst", TILEPRO_OPC_BBNST, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
185 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
186 },
eb7c792d 187 { "bbnst.sn", TILEPRO_OPC_BBNST_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
188 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
189 },
eb7c792d 190 { "bbs", TILEPRO_OPC_BBS, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
191 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
192 },
eb7c792d 193 { "bbs.sn", TILEPRO_OPC_BBS_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
194 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
195 },
eb7c792d 196 { "bbst", TILEPRO_OPC_BBST, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
197 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
198 },
eb7c792d 199 { "bbst.sn", TILEPRO_OPC_BBST_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
200 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
201 },
eb7c792d 202 { "bgez", TILEPRO_OPC_BGEZ, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
203 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
204 },
eb7c792d 205 { "bgez.sn", TILEPRO_OPC_BGEZ_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
206 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
207 },
eb7c792d 208 { "bgezt", TILEPRO_OPC_BGEZT, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
209 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
210 },
eb7c792d 211 { "bgezt.sn", TILEPRO_OPC_BGEZT_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
212 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
213 },
eb7c792d 214 { "bgz", TILEPRO_OPC_BGZ, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
215 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
216 },
eb7c792d 217 { "bgz.sn", TILEPRO_OPC_BGZ_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
218 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
219 },
eb7c792d 220 { "bgzt", TILEPRO_OPC_BGZT, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
221 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
222 },
eb7c792d 223 { "bgzt.sn", TILEPRO_OPC_BGZT_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
224 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
225 },
eb7c792d 226 { "bitx", TILEPRO_OPC_BITX, 0x5, 2, TREG_ZERO, 1,
863fbac6
CM
227 { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
228 },
eb7c792d 229 { "bitx.sn", TILEPRO_OPC_BITX_SN, 0x1, 2, TREG_SN, 1,
863fbac6
CM
230 { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
231 },
eb7c792d 232 { "blez", TILEPRO_OPC_BLEZ, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
233 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
234 },
eb7c792d 235 { "blez.sn", TILEPRO_OPC_BLEZ_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
236 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
237 },
eb7c792d 238 { "blezt", TILEPRO_OPC_BLEZT, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
239 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
240 },
eb7c792d 241 { "blezt.sn", TILEPRO_OPC_BLEZT_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
242 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
243 },
eb7c792d 244 { "blz", TILEPRO_OPC_BLZ, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
245 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
246 },
eb7c792d 247 { "blz.sn", TILEPRO_OPC_BLZ_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
248 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
249 },
eb7c792d 250 { "blzt", TILEPRO_OPC_BLZT, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
251 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
252 },
eb7c792d 253 { "blzt.sn", TILEPRO_OPC_BLZT_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
254 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
255 },
eb7c792d 256 { "bnz", TILEPRO_OPC_BNZ, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
257 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
258 },
eb7c792d 259 { "bnz.sn", TILEPRO_OPC_BNZ_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
260 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
261 },
eb7c792d 262 { "bnzt", TILEPRO_OPC_BNZT, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
263 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
264 },
eb7c792d 265 { "bnzt.sn", TILEPRO_OPC_BNZT_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
266 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
267 },
eb7c792d 268 { "bytex", TILEPRO_OPC_BYTEX, 0x5, 2, TREG_ZERO, 1,
863fbac6
CM
269 { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
270 },
eb7c792d 271 { "bytex.sn", TILEPRO_OPC_BYTEX_SN, 0x1, 2, TREG_SN, 1,
863fbac6
CM
272 { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
273 },
eb7c792d 274 { "bz", TILEPRO_OPC_BZ, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
275 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
276 },
eb7c792d 277 { "bz.sn", TILEPRO_OPC_BZ_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
278 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
279 },
eb7c792d 280 { "bzt", TILEPRO_OPC_BZT, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
281 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
282 },
eb7c792d 283 { "bzt.sn", TILEPRO_OPC_BZT_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
284 { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
285 },
eb7c792d 286 { "clz", TILEPRO_OPC_CLZ, 0x5, 2, TREG_ZERO, 1,
863fbac6
CM
287 { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
288 },
eb7c792d 289 { "clz.sn", TILEPRO_OPC_CLZ_SN, 0x1, 2, TREG_SN, 1,
863fbac6
CM
290 { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
291 },
eb7c792d 292 { "crc32_32", TILEPRO_OPC_CRC32_32, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
293 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
294 },
eb7c792d 295 { "crc32_32.sn", TILEPRO_OPC_CRC32_32_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
296 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
297 },
eb7c792d 298 { "crc32_8", TILEPRO_OPC_CRC32_8, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
299 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
300 },
eb7c792d 301 { "crc32_8.sn", TILEPRO_OPC_CRC32_8_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
302 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
303 },
eb7c792d 304 { "ctz", TILEPRO_OPC_CTZ, 0x5, 2, TREG_ZERO, 1,
863fbac6
CM
305 { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
306 },
eb7c792d 307 { "ctz.sn", TILEPRO_OPC_CTZ_SN, 0x1, 2, TREG_SN, 1,
863fbac6
CM
308 { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
309 },
eb7c792d 310 { "drain", TILEPRO_OPC_DRAIN, 0x2, 0, TREG_ZERO, 0,
863fbac6
CM
311 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
312 },
eb7c792d 313 { "dtlbpr", TILEPRO_OPC_DTLBPR, 0x2, 1, TREG_ZERO, 1,
863fbac6
CM
314 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
315 },
eb7c792d 316 { "dword_align", TILEPRO_OPC_DWORD_ALIGN, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
317 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
318 },
eb7c792d 319 { "dword_align.sn", TILEPRO_OPC_DWORD_ALIGN_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
320 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
321 },
eb7c792d 322 { "finv", TILEPRO_OPC_FINV, 0x2, 1, TREG_ZERO, 1,
863fbac6
CM
323 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
324 },
eb7c792d 325 { "flush", TILEPRO_OPC_FLUSH, 0x2, 1, TREG_ZERO, 1,
863fbac6
CM
326 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
327 },
eb7c792d 328 { "fnop", TILEPRO_OPC_FNOP, 0xf, 0, TREG_ZERO, 1,
863fbac6
CM
329 { { }, { }, { }, { }, { 0, } },
330 },
eb7c792d 331 { "icoh", TILEPRO_OPC_ICOH, 0x2, 1, TREG_ZERO, 1,
863fbac6
CM
332 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
333 },
eb7c792d 334 { "ill", TILEPRO_OPC_ILL, 0xa, 0, TREG_ZERO, 1,
863fbac6
CM
335 { { 0, }, { }, { 0, }, { }, { 0, } },
336 },
eb7c792d 337 { "inthb", TILEPRO_OPC_INTHB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
338 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
339 },
eb7c792d 340 { "inthb.sn", TILEPRO_OPC_INTHB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
341 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
342 },
eb7c792d 343 { "inthh", TILEPRO_OPC_INTHH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
344 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
345 },
eb7c792d 346 { "inthh.sn", TILEPRO_OPC_INTHH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
347 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
348 },
eb7c792d 349 { "intlb", TILEPRO_OPC_INTLB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
350 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
351 },
eb7c792d 352 { "intlb.sn", TILEPRO_OPC_INTLB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
353 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
354 },
eb7c792d 355 { "intlh", TILEPRO_OPC_INTLH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
356 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
357 },
eb7c792d 358 { "intlh.sn", TILEPRO_OPC_INTLH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
359 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
360 },
eb7c792d 361 { "inv", TILEPRO_OPC_INV, 0x2, 1, TREG_ZERO, 1,
863fbac6
CM
362 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
363 },
eb7c792d 364 { "iret", TILEPRO_OPC_IRET, 0x2, 0, TREG_ZERO, 1,
863fbac6
CM
365 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
366 },
eb7c792d 367 { "jalb", TILEPRO_OPC_JALB, 0x2, 1, TREG_LR, 1,
863fbac6
CM
368 { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
369 },
eb7c792d 370 { "jalf", TILEPRO_OPC_JALF, 0x2, 1, TREG_LR, 1,
863fbac6
CM
371 { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
372 },
eb7c792d 373 { "jalr", TILEPRO_OPC_JALR, 0x2, 1, TREG_LR, 1,
863fbac6
CM
374 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
375 },
eb7c792d 376 { "jalrp", TILEPRO_OPC_JALRP, 0x2, 1, TREG_LR, 1,
863fbac6
CM
377 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
378 },
eb7c792d 379 { "jb", TILEPRO_OPC_JB, 0x2, 1, TREG_ZERO, 1,
863fbac6
CM
380 { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
381 },
eb7c792d 382 { "jf", TILEPRO_OPC_JF, 0x2, 1, TREG_ZERO, 1,
863fbac6
CM
383 { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
384 },
eb7c792d 385 { "jr", TILEPRO_OPC_JR, 0x2, 1, TREG_ZERO, 1,
863fbac6
CM
386 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
387 },
eb7c792d 388 { "jrp", TILEPRO_OPC_JRP, 0x2, 1, TREG_ZERO, 1,
863fbac6
CM
389 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
390 },
eb7c792d 391 { "lb", TILEPRO_OPC_LB, 0x12, 2, TREG_ZERO, 1,
863fbac6
CM
392 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
393 },
eb7c792d 394 { "lb.sn", TILEPRO_OPC_LB_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
395 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
396 },
eb7c792d 397 { "lb_u", TILEPRO_OPC_LB_U, 0x12, 2, TREG_ZERO, 1,
863fbac6
CM
398 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
399 },
eb7c792d 400 { "lb_u.sn", TILEPRO_OPC_LB_U_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
401 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
402 },
eb7c792d 403 { "lbadd", TILEPRO_OPC_LBADD, 0x2, 3, TREG_ZERO, 1,
863fbac6
CM
404 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
405 },
eb7c792d 406 { "lbadd.sn", TILEPRO_OPC_LBADD_SN, 0x2, 3, TREG_SN, 1,
863fbac6
CM
407 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
408 },
eb7c792d 409 { "lbadd_u", TILEPRO_OPC_LBADD_U, 0x2, 3, TREG_ZERO, 1,
863fbac6
CM
410 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
411 },
eb7c792d 412 { "lbadd_u.sn", TILEPRO_OPC_LBADD_U_SN, 0x2, 3, TREG_SN, 1,
863fbac6
CM
413 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
414 },
eb7c792d 415 { "lh", TILEPRO_OPC_LH, 0x12, 2, TREG_ZERO, 1,
863fbac6
CM
416 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
417 },
eb7c792d 418 { "lh.sn", TILEPRO_OPC_LH_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
419 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
420 },
eb7c792d 421 { "lh_u", TILEPRO_OPC_LH_U, 0x12, 2, TREG_ZERO, 1,
863fbac6
CM
422 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
423 },
eb7c792d 424 { "lh_u.sn", TILEPRO_OPC_LH_U_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
425 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
426 },
eb7c792d 427 { "lhadd", TILEPRO_OPC_LHADD, 0x2, 3, TREG_ZERO, 1,
863fbac6
CM
428 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
429 },
eb7c792d 430 { "lhadd.sn", TILEPRO_OPC_LHADD_SN, 0x2, 3, TREG_SN, 1,
863fbac6
CM
431 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
432 },
eb7c792d 433 { "lhadd_u", TILEPRO_OPC_LHADD_U, 0x2, 3, TREG_ZERO, 1,
863fbac6
CM
434 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
435 },
eb7c792d 436 { "lhadd_u.sn", TILEPRO_OPC_LHADD_U_SN, 0x2, 3, TREG_SN, 1,
863fbac6
CM
437 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
438 },
eb7c792d 439 { "lnk", TILEPRO_OPC_LNK, 0x2, 1, TREG_ZERO, 1,
863fbac6
CM
440 { { 0, }, { 9 }, { 0, }, { 0, }, { 0, } },
441 },
eb7c792d 442 { "lnk.sn", TILEPRO_OPC_LNK_SN, 0x2, 1, TREG_SN, 1,
863fbac6
CM
443 { { 0, }, { 9 }, { 0, }, { 0, }, { 0, } },
444 },
eb7c792d 445 { "lw", TILEPRO_OPC_LW, 0x12, 2, TREG_ZERO, 1,
863fbac6
CM
446 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
447 },
eb7c792d 448 { "lw.sn", TILEPRO_OPC_LW_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
449 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
450 },
eb7c792d 451 { "lw_na", TILEPRO_OPC_LW_NA, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
452 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
453 },
eb7c792d 454 { "lw_na.sn", TILEPRO_OPC_LW_NA_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
455 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
456 },
eb7c792d 457 { "lwadd", TILEPRO_OPC_LWADD, 0x2, 3, TREG_ZERO, 1,
863fbac6
CM
458 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
459 },
eb7c792d 460 { "lwadd.sn", TILEPRO_OPC_LWADD_SN, 0x2, 3, TREG_SN, 1,
863fbac6
CM
461 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
462 },
eb7c792d 463 { "lwadd_na", TILEPRO_OPC_LWADD_NA, 0x2, 3, TREG_ZERO, 1,
863fbac6
CM
464 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
465 },
eb7c792d 466 { "lwadd_na.sn", TILEPRO_OPC_LWADD_NA_SN, 0x2, 3, TREG_SN, 1,
863fbac6
CM
467 { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
468 },
eb7c792d 469 { "maxb_u", TILEPRO_OPC_MAXB_U, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
470 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
471 },
eb7c792d 472 { "maxb_u.sn", TILEPRO_OPC_MAXB_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
473 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
474 },
eb7c792d 475 { "maxh", TILEPRO_OPC_MAXH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
476 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
477 },
eb7c792d 478 { "maxh.sn", TILEPRO_OPC_MAXH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
479 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
480 },
eb7c792d 481 { "maxib_u", TILEPRO_OPC_MAXIB_U, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
482 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
483 },
eb7c792d 484 { "maxib_u.sn", TILEPRO_OPC_MAXIB_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
485 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
486 },
eb7c792d 487 { "maxih", TILEPRO_OPC_MAXIH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
488 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
489 },
eb7c792d 490 { "maxih.sn", TILEPRO_OPC_MAXIH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
491 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
492 },
eb7c792d 493 { "mf", TILEPRO_OPC_MF, 0x2, 0, TREG_ZERO, 1,
863fbac6
CM
494 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
495 },
eb7c792d 496 { "mfspr", TILEPRO_OPC_MFSPR, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
497 { { 0, }, { 9, 25 }, { 0, }, { 0, }, { 0, } },
498 },
eb7c792d 499 { "minb_u", TILEPRO_OPC_MINB_U, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
500 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
501 },
eb7c792d 502 { "minb_u.sn", TILEPRO_OPC_MINB_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
503 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
504 },
eb7c792d 505 { "minh", TILEPRO_OPC_MINH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
506 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
507 },
eb7c792d 508 { "minh.sn", TILEPRO_OPC_MINH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
509 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
510 },
eb7c792d 511 { "minib_u", TILEPRO_OPC_MINIB_U, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
512 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
513 },
eb7c792d 514 { "minib_u.sn", TILEPRO_OPC_MINIB_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
515 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
516 },
eb7c792d 517 { "minih", TILEPRO_OPC_MINIH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
518 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
519 },
eb7c792d 520 { "minih.sn", TILEPRO_OPC_MINIH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
521 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
522 },
eb7c792d 523 { "mm", TILEPRO_OPC_MM, 0x3, 5, TREG_ZERO, 1,
863fbac6
CM
524 { { 7, 8, 16, 26, 27 }, { 9, 10, 17, 28, 29 }, { 0, }, { 0, }, { 0, } },
525 },
eb7c792d 526 { "mnz", TILEPRO_OPC_MNZ, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
527 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
528 },
eb7c792d 529 { "mnz.sn", TILEPRO_OPC_MNZ_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
530 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
531 },
eb7c792d 532 { "mnzb", TILEPRO_OPC_MNZB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
533 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
534 },
eb7c792d 535 { "mnzb.sn", TILEPRO_OPC_MNZB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
536 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
537 },
eb7c792d 538 { "mnzh", TILEPRO_OPC_MNZH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
539 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
540 },
eb7c792d 541 { "mnzh.sn", TILEPRO_OPC_MNZH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
542 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
543 },
eb7c792d 544 { "mtspr", TILEPRO_OPC_MTSPR, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
545 { { 0, }, { 30, 10 }, { 0, }, { 0, }, { 0, } },
546 },
eb7c792d 547 { "mulhh_ss", TILEPRO_OPC_MULHH_SS, 0x5, 3, TREG_ZERO, 1,
863fbac6
CM
548 { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
549 },
eb7c792d 550 { "mulhh_ss.sn", TILEPRO_OPC_MULHH_SS_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
551 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
552 },
eb7c792d 553 { "mulhh_su", TILEPRO_OPC_MULHH_SU, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
554 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
555 },
eb7c792d 556 { "mulhh_su.sn", TILEPRO_OPC_MULHH_SU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
557 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
558 },
eb7c792d 559 { "mulhh_uu", TILEPRO_OPC_MULHH_UU, 0x5, 3, TREG_ZERO, 1,
863fbac6
CM
560 { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
561 },
eb7c792d 562 { "mulhh_uu.sn", TILEPRO_OPC_MULHH_UU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
563 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
564 },
eb7c792d 565 { "mulhha_ss", TILEPRO_OPC_MULHHA_SS, 0x5, 3, TREG_ZERO, 1,
863fbac6
CM
566 { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
567 },
eb7c792d 568 { "mulhha_ss.sn", TILEPRO_OPC_MULHHA_SS_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
569 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
570 },
eb7c792d 571 { "mulhha_su", TILEPRO_OPC_MULHHA_SU, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
572 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
573 },
eb7c792d 574 { "mulhha_su.sn", TILEPRO_OPC_MULHHA_SU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
575 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
576 },
eb7c792d 577 { "mulhha_uu", TILEPRO_OPC_MULHHA_UU, 0x5, 3, TREG_ZERO, 1,
863fbac6
CM
578 { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
579 },
eb7c792d 580 { "mulhha_uu.sn", TILEPRO_OPC_MULHHA_UU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
581 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
582 },
eb7c792d 583 { "mulhhsa_uu", TILEPRO_OPC_MULHHSA_UU, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
584 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
585 },
eb7c792d 586 { "mulhhsa_uu.sn", TILEPRO_OPC_MULHHSA_UU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
587 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
588 },
eb7c792d 589 { "mulhl_ss", TILEPRO_OPC_MULHL_SS, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
590 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
591 },
eb7c792d 592 { "mulhl_ss.sn", TILEPRO_OPC_MULHL_SS_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
593 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
594 },
eb7c792d 595 { "mulhl_su", TILEPRO_OPC_MULHL_SU, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
596 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
597 },
eb7c792d 598 { "mulhl_su.sn", TILEPRO_OPC_MULHL_SU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
599 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
600 },
eb7c792d 601 { "mulhl_us", TILEPRO_OPC_MULHL_US, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
602 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
603 },
eb7c792d 604 { "mulhl_us.sn", TILEPRO_OPC_MULHL_US_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
605 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
606 },
eb7c792d 607 { "mulhl_uu", TILEPRO_OPC_MULHL_UU, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
608 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
609 },
eb7c792d 610 { "mulhl_uu.sn", TILEPRO_OPC_MULHL_UU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
611 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
612 },
eb7c792d 613 { "mulhla_ss", TILEPRO_OPC_MULHLA_SS, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
614 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
615 },
eb7c792d 616 { "mulhla_ss.sn", TILEPRO_OPC_MULHLA_SS_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
617 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
618 },
eb7c792d 619 { "mulhla_su", TILEPRO_OPC_MULHLA_SU, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
620 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
621 },
eb7c792d 622 { "mulhla_su.sn", TILEPRO_OPC_MULHLA_SU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
623 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
624 },
eb7c792d 625 { "mulhla_us", TILEPRO_OPC_MULHLA_US, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
626 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
627 },
eb7c792d 628 { "mulhla_us.sn", TILEPRO_OPC_MULHLA_US_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
629 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
630 },
eb7c792d 631 { "mulhla_uu", TILEPRO_OPC_MULHLA_UU, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
632 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
633 },
eb7c792d 634 { "mulhla_uu.sn", TILEPRO_OPC_MULHLA_UU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
635 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
636 },
eb7c792d 637 { "mulhlsa_uu", TILEPRO_OPC_MULHLSA_UU, 0x5, 3, TREG_ZERO, 1,
863fbac6
CM
638 { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
639 },
eb7c792d 640 { "mulhlsa_uu.sn", TILEPRO_OPC_MULHLSA_UU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
641 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
642 },
eb7c792d 643 { "mulll_ss", TILEPRO_OPC_MULLL_SS, 0x5, 3, TREG_ZERO, 1,
863fbac6
CM
644 { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
645 },
eb7c792d 646 { "mulll_ss.sn", TILEPRO_OPC_MULLL_SS_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
647 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
648 },
eb7c792d 649 { "mulll_su", TILEPRO_OPC_MULLL_SU, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
650 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
651 },
eb7c792d 652 { "mulll_su.sn", TILEPRO_OPC_MULLL_SU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
653 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
654 },
eb7c792d 655 { "mulll_uu", TILEPRO_OPC_MULLL_UU, 0x5, 3, TREG_ZERO, 1,
863fbac6
CM
656 { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
657 },
eb7c792d 658 { "mulll_uu.sn", TILEPRO_OPC_MULLL_UU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
659 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
660 },
eb7c792d 661 { "mullla_ss", TILEPRO_OPC_MULLLA_SS, 0x5, 3, TREG_ZERO, 1,
863fbac6
CM
662 { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
663 },
eb7c792d 664 { "mullla_ss.sn", TILEPRO_OPC_MULLLA_SS_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
665 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
666 },
eb7c792d 667 { "mullla_su", TILEPRO_OPC_MULLLA_SU, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
668 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
669 },
eb7c792d 670 { "mullla_su.sn", TILEPRO_OPC_MULLLA_SU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
671 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
672 },
eb7c792d 673 { "mullla_uu", TILEPRO_OPC_MULLLA_UU, 0x5, 3, TREG_ZERO, 1,
863fbac6
CM
674 { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
675 },
eb7c792d 676 { "mullla_uu.sn", TILEPRO_OPC_MULLLA_UU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
677 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
678 },
eb7c792d 679 { "mulllsa_uu", TILEPRO_OPC_MULLLSA_UU, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
680 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
681 },
eb7c792d 682 { "mulllsa_uu.sn", TILEPRO_OPC_MULLLSA_UU_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
683 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
684 },
eb7c792d 685 { "mvnz", TILEPRO_OPC_MVNZ, 0x5, 3, TREG_ZERO, 1,
863fbac6
CM
686 { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
687 },
eb7c792d 688 { "mvnz.sn", TILEPRO_OPC_MVNZ_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
689 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
690 },
eb7c792d 691 { "mvz", TILEPRO_OPC_MVZ, 0x5, 3, TREG_ZERO, 1,
863fbac6
CM
692 { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
693 },
eb7c792d 694 { "mvz.sn", TILEPRO_OPC_MVZ_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
695 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
696 },
eb7c792d 697 { "mz", TILEPRO_OPC_MZ, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
698 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
699 },
eb7c792d 700 { "mz.sn", TILEPRO_OPC_MZ_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
701 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
702 },
eb7c792d 703 { "mzb", TILEPRO_OPC_MZB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
704 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
705 },
eb7c792d 706 { "mzb.sn", TILEPRO_OPC_MZB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
707 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
708 },
eb7c792d 709 { "mzh", TILEPRO_OPC_MZH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
710 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
711 },
eb7c792d 712 { "mzh.sn", TILEPRO_OPC_MZH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
713 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
714 },
eb7c792d 715 { "nap", TILEPRO_OPC_NAP, 0x2, 0, TREG_ZERO, 0,
863fbac6
CM
716 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
717 },
eb7c792d 718 { "nop", TILEPRO_OPC_NOP, 0xf, 0, TREG_ZERO, 1,
863fbac6
CM
719 { { }, { }, { }, { }, { 0, } },
720 },
eb7c792d 721 { "nor", TILEPRO_OPC_NOR, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
722 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
723 },
eb7c792d 724 { "nor.sn", TILEPRO_OPC_NOR_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
725 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
726 },
eb7c792d 727 { "or", TILEPRO_OPC_OR, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
728 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
729 },
eb7c792d 730 { "or.sn", TILEPRO_OPC_OR_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
731 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
732 },
eb7c792d 733 { "ori", TILEPRO_OPC_ORI, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
734 { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
735 },
eb7c792d 736 { "ori.sn", TILEPRO_OPC_ORI_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
737 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
738 },
eb7c792d 739 { "packbs_u", TILEPRO_OPC_PACKBS_U, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
740 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
741 },
eb7c792d 742 { "packbs_u.sn", TILEPRO_OPC_PACKBS_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
743 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
744 },
eb7c792d 745 { "packhb", TILEPRO_OPC_PACKHB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
746 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
747 },
eb7c792d 748 { "packhb.sn", TILEPRO_OPC_PACKHB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
749 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
750 },
eb7c792d 751 { "packhs", TILEPRO_OPC_PACKHS, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
752 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
753 },
eb7c792d 754 { "packhs.sn", TILEPRO_OPC_PACKHS_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
755 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
756 },
eb7c792d 757 { "packlb", TILEPRO_OPC_PACKLB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
758 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
759 },
eb7c792d 760 { "packlb.sn", TILEPRO_OPC_PACKLB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
761 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
762 },
eb7c792d 763 { "pcnt", TILEPRO_OPC_PCNT, 0x5, 2, TREG_ZERO, 1,
863fbac6
CM
764 { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
765 },
eb7c792d 766 { "pcnt.sn", TILEPRO_OPC_PCNT_SN, 0x1, 2, TREG_SN, 1,
863fbac6
CM
767 { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
768 },
eb7c792d 769 { "rl", TILEPRO_OPC_RL, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
770 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
771 },
eb7c792d 772 { "rl.sn", TILEPRO_OPC_RL_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
773 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
774 },
eb7c792d 775 { "rli", TILEPRO_OPC_RLI, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
776 { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
777 },
eb7c792d 778 { "rli.sn", TILEPRO_OPC_RLI_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
779 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
780 },
eb7c792d 781 { "s1a", TILEPRO_OPC_S1A, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
782 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
783 },
eb7c792d 784 { "s1a.sn", TILEPRO_OPC_S1A_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
785 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
786 },
eb7c792d 787 { "s2a", TILEPRO_OPC_S2A, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
788 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
789 },
eb7c792d 790 { "s2a.sn", TILEPRO_OPC_S2A_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
791 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
792 },
eb7c792d 793 { "s3a", TILEPRO_OPC_S3A, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
794 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
795 },
eb7c792d 796 { "s3a.sn", TILEPRO_OPC_S3A_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
797 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
798 },
eb7c792d 799 { "sadab_u", TILEPRO_OPC_SADAB_U, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
800 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
801 },
eb7c792d 802 { "sadab_u.sn", TILEPRO_OPC_SADAB_U_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
803 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
804 },
eb7c792d 805 { "sadah", TILEPRO_OPC_SADAH, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
806 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
807 },
eb7c792d 808 { "sadah.sn", TILEPRO_OPC_SADAH_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
809 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
810 },
eb7c792d 811 { "sadah_u", TILEPRO_OPC_SADAH_U, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
812 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
813 },
eb7c792d 814 { "sadah_u.sn", TILEPRO_OPC_SADAH_U_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
815 { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
816 },
eb7c792d 817 { "sadb_u", TILEPRO_OPC_SADB_U, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
818 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
819 },
eb7c792d 820 { "sadb_u.sn", TILEPRO_OPC_SADB_U_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
821 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
822 },
eb7c792d 823 { "sadh", TILEPRO_OPC_SADH, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
824 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
825 },
eb7c792d 826 { "sadh.sn", TILEPRO_OPC_SADH_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
827 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
828 },
eb7c792d 829 { "sadh_u", TILEPRO_OPC_SADH_U, 0x1, 3, TREG_ZERO, 1,
863fbac6
CM
830 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
831 },
eb7c792d 832 { "sadh_u.sn", TILEPRO_OPC_SADH_U_SN, 0x1, 3, TREG_SN, 1,
863fbac6
CM
833 { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
834 },
eb7c792d 835 { "sb", TILEPRO_OPC_SB, 0x12, 2, TREG_ZERO, 1,
863fbac6
CM
836 { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
837 },
eb7c792d 838 { "sbadd", TILEPRO_OPC_SBADD, 0x2, 3, TREG_ZERO, 1,
863fbac6
CM
839 { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
840 },
eb7c792d 841 { "seq", TILEPRO_OPC_SEQ, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
842 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
843 },
eb7c792d 844 { "seq.sn", TILEPRO_OPC_SEQ_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
845 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
846 },
eb7c792d 847 { "seqb", TILEPRO_OPC_SEQB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
848 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
849 },
eb7c792d 850 { "seqb.sn", TILEPRO_OPC_SEQB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
851 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
852 },
eb7c792d 853 { "seqh", TILEPRO_OPC_SEQH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
854 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
855 },
eb7c792d 856 { "seqh.sn", TILEPRO_OPC_SEQH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
857 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
858 },
eb7c792d 859 { "seqi", TILEPRO_OPC_SEQI, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
860 { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
861 },
eb7c792d 862 { "seqi.sn", TILEPRO_OPC_SEQI_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
863 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
864 },
eb7c792d 865 { "seqib", TILEPRO_OPC_SEQIB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
866 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
867 },
eb7c792d 868 { "seqib.sn", TILEPRO_OPC_SEQIB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
869 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
870 },
eb7c792d 871 { "seqih", TILEPRO_OPC_SEQIH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
872 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
873 },
eb7c792d 874 { "seqih.sn", TILEPRO_OPC_SEQIH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
875 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
876 },
eb7c792d 877 { "sh", TILEPRO_OPC_SH, 0x12, 2, TREG_ZERO, 1,
863fbac6
CM
878 { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
879 },
eb7c792d 880 { "shadd", TILEPRO_OPC_SHADD, 0x2, 3, TREG_ZERO, 1,
863fbac6
CM
881 { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
882 },
eb7c792d 883 { "shl", TILEPRO_OPC_SHL, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
884 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
885 },
eb7c792d 886 { "shl.sn", TILEPRO_OPC_SHL_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
887 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
888 },
eb7c792d 889 { "shlb", TILEPRO_OPC_SHLB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
890 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
891 },
eb7c792d 892 { "shlb.sn", TILEPRO_OPC_SHLB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
893 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
894 },
eb7c792d 895 { "shlh", TILEPRO_OPC_SHLH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
896 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
897 },
eb7c792d 898 { "shlh.sn", TILEPRO_OPC_SHLH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
899 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
900 },
eb7c792d 901 { "shli", TILEPRO_OPC_SHLI, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
902 { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
903 },
eb7c792d 904 { "shli.sn", TILEPRO_OPC_SHLI_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
905 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
906 },
eb7c792d 907 { "shlib", TILEPRO_OPC_SHLIB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
908 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
909 },
eb7c792d 910 { "shlib.sn", TILEPRO_OPC_SHLIB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
911 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
912 },
eb7c792d 913 { "shlih", TILEPRO_OPC_SHLIH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
914 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
915 },
eb7c792d 916 { "shlih.sn", TILEPRO_OPC_SHLIH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
917 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
918 },
eb7c792d 919 { "shr", TILEPRO_OPC_SHR, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
920 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
921 },
eb7c792d 922 { "shr.sn", TILEPRO_OPC_SHR_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
923 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
924 },
eb7c792d 925 { "shrb", TILEPRO_OPC_SHRB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
926 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
927 },
eb7c792d 928 { "shrb.sn", TILEPRO_OPC_SHRB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
929 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
930 },
eb7c792d 931 { "shrh", TILEPRO_OPC_SHRH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
932 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
933 },
eb7c792d 934 { "shrh.sn", TILEPRO_OPC_SHRH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
935 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
936 },
eb7c792d 937 { "shri", TILEPRO_OPC_SHRI, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
938 { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
939 },
eb7c792d 940 { "shri.sn", TILEPRO_OPC_SHRI_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
941 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
942 },
eb7c792d 943 { "shrib", TILEPRO_OPC_SHRIB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
944 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
945 },
eb7c792d 946 { "shrib.sn", TILEPRO_OPC_SHRIB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
947 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
948 },
eb7c792d 949 { "shrih", TILEPRO_OPC_SHRIH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
950 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
951 },
eb7c792d 952 { "shrih.sn", TILEPRO_OPC_SHRIH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
953 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
954 },
eb7c792d 955 { "slt", TILEPRO_OPC_SLT, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
956 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
957 },
eb7c792d 958 { "slt.sn", TILEPRO_OPC_SLT_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
959 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
960 },
eb7c792d 961 { "slt_u", TILEPRO_OPC_SLT_U, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
962 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
963 },
eb7c792d 964 { "slt_u.sn", TILEPRO_OPC_SLT_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
965 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
966 },
eb7c792d 967 { "sltb", TILEPRO_OPC_SLTB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
968 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
969 },
eb7c792d 970 { "sltb.sn", TILEPRO_OPC_SLTB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
971 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
972 },
eb7c792d 973 { "sltb_u", TILEPRO_OPC_SLTB_U, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
974 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
975 },
eb7c792d 976 { "sltb_u.sn", TILEPRO_OPC_SLTB_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
977 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
978 },
eb7c792d 979 { "slte", TILEPRO_OPC_SLTE, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
980 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
981 },
eb7c792d 982 { "slte.sn", TILEPRO_OPC_SLTE_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
983 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
984 },
eb7c792d 985 { "slte_u", TILEPRO_OPC_SLTE_U, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
986 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
987 },
eb7c792d 988 { "slte_u.sn", TILEPRO_OPC_SLTE_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
989 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
990 },
eb7c792d 991 { "slteb", TILEPRO_OPC_SLTEB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
992 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
993 },
eb7c792d 994 { "slteb.sn", TILEPRO_OPC_SLTEB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
995 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
996 },
eb7c792d 997 { "slteb_u", TILEPRO_OPC_SLTEB_U, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
998 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
999 },
eb7c792d 1000 { "slteb_u.sn", TILEPRO_OPC_SLTEB_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1001 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1002 },
eb7c792d 1003 { "slteh", TILEPRO_OPC_SLTEH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1004 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1005 },
eb7c792d 1006 { "slteh.sn", TILEPRO_OPC_SLTEH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1007 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1008 },
eb7c792d 1009 { "slteh_u", TILEPRO_OPC_SLTEH_U, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1010 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1011 },
eb7c792d 1012 { "slteh_u.sn", TILEPRO_OPC_SLTEH_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1013 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1014 },
eb7c792d 1015 { "slth", TILEPRO_OPC_SLTH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1016 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1017 },
eb7c792d 1018 { "slth.sn", TILEPRO_OPC_SLTH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1019 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1020 },
eb7c792d 1021 { "slth_u", TILEPRO_OPC_SLTH_U, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1022 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1023 },
eb7c792d 1024 { "slth_u.sn", TILEPRO_OPC_SLTH_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1025 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1026 },
eb7c792d 1027 { "slti", TILEPRO_OPC_SLTI, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
1028 { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
1029 },
eb7c792d 1030 { "slti.sn", TILEPRO_OPC_SLTI_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1031 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1032 },
eb7c792d 1033 { "slti_u", TILEPRO_OPC_SLTI_U, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
1034 { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
1035 },
eb7c792d 1036 { "slti_u.sn", TILEPRO_OPC_SLTI_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1037 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1038 },
eb7c792d 1039 { "sltib", TILEPRO_OPC_SLTIB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1040 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1041 },
eb7c792d 1042 { "sltib.sn", TILEPRO_OPC_SLTIB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1043 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1044 },
eb7c792d 1045 { "sltib_u", TILEPRO_OPC_SLTIB_U, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1046 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1047 },
eb7c792d 1048 { "sltib_u.sn", TILEPRO_OPC_SLTIB_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1049 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1050 },
eb7c792d 1051 { "sltih", TILEPRO_OPC_SLTIH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1052 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1053 },
eb7c792d 1054 { "sltih.sn", TILEPRO_OPC_SLTIH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1055 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1056 },
eb7c792d 1057 { "sltih_u", TILEPRO_OPC_SLTIH_U, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1058 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1059 },
eb7c792d 1060 { "sltih_u.sn", TILEPRO_OPC_SLTIH_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1061 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1062 },
eb7c792d 1063 { "sne", TILEPRO_OPC_SNE, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
1064 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1065 },
eb7c792d 1066 { "sne.sn", TILEPRO_OPC_SNE_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1067 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1068 },
eb7c792d 1069 { "sneb", TILEPRO_OPC_SNEB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1070 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1071 },
eb7c792d 1072 { "sneb.sn", TILEPRO_OPC_SNEB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1073 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1074 },
eb7c792d 1075 { "sneh", TILEPRO_OPC_SNEH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1076 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1077 },
eb7c792d 1078 { "sneh.sn", TILEPRO_OPC_SNEH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1079 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1080 },
eb7c792d 1081 { "sra", TILEPRO_OPC_SRA, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
1082 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1083 },
eb7c792d 1084 { "sra.sn", TILEPRO_OPC_SRA_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1085 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1086 },
eb7c792d 1087 { "srab", TILEPRO_OPC_SRAB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1088 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1089 },
eb7c792d 1090 { "srab.sn", TILEPRO_OPC_SRAB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1091 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1092 },
eb7c792d 1093 { "srah", TILEPRO_OPC_SRAH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1094 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1095 },
eb7c792d 1096 { "srah.sn", TILEPRO_OPC_SRAH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1097 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1098 },
eb7c792d 1099 { "srai", TILEPRO_OPC_SRAI, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
1100 { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
1101 },
eb7c792d 1102 { "srai.sn", TILEPRO_OPC_SRAI_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1103 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1104 },
eb7c792d 1105 { "sraib", TILEPRO_OPC_SRAIB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1106 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1107 },
eb7c792d 1108 { "sraib.sn", TILEPRO_OPC_SRAIB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1109 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1110 },
eb7c792d 1111 { "sraih", TILEPRO_OPC_SRAIH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1112 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1113 },
eb7c792d 1114 { "sraih.sn", TILEPRO_OPC_SRAIH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1115 { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1116 },
eb7c792d 1117 { "sub", TILEPRO_OPC_SUB, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
1118 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1119 },
eb7c792d 1120 { "sub.sn", TILEPRO_OPC_SUB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1121 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1122 },
eb7c792d 1123 { "subb", TILEPRO_OPC_SUBB, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1124 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1125 },
eb7c792d 1126 { "subb.sn", TILEPRO_OPC_SUBB_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1127 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1128 },
eb7c792d 1129 { "subbs_u", TILEPRO_OPC_SUBBS_U, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1130 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1131 },
eb7c792d 1132 { "subbs_u.sn", TILEPRO_OPC_SUBBS_U_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1133 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1134 },
eb7c792d 1135 { "subh", TILEPRO_OPC_SUBH, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1136 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1137 },
eb7c792d 1138 { "subh.sn", TILEPRO_OPC_SUBH_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1139 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1140 },
eb7c792d 1141 { "subhs", TILEPRO_OPC_SUBHS, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1142 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1143 },
eb7c792d 1144 { "subhs.sn", TILEPRO_OPC_SUBHS_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1145 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1146 },
eb7c792d 1147 { "subs", TILEPRO_OPC_SUBS, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1148 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1149 },
eb7c792d 1150 { "subs.sn", TILEPRO_OPC_SUBS_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1151 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1152 },
eb7c792d 1153 { "sw", TILEPRO_OPC_SW, 0x12, 2, TREG_ZERO, 1,
863fbac6
CM
1154 { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
1155 },
eb7c792d 1156 { "swadd", TILEPRO_OPC_SWADD, 0x2, 3, TREG_ZERO, 1,
863fbac6
CM
1157 { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
1158 },
eb7c792d 1159 { "swint0", TILEPRO_OPC_SWINT0, 0x2, 0, TREG_ZERO, 0,
863fbac6
CM
1160 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
1161 },
eb7c792d 1162 { "swint1", TILEPRO_OPC_SWINT1, 0x2, 0, TREG_ZERO, 0,
863fbac6
CM
1163 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
1164 },
eb7c792d 1165 { "swint2", TILEPRO_OPC_SWINT2, 0x2, 0, TREG_ZERO, 0,
863fbac6
CM
1166 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
1167 },
eb7c792d 1168 { "swint3", TILEPRO_OPC_SWINT3, 0x2, 0, TREG_ZERO, 0,
863fbac6
CM
1169 { { 0, }, { }, { 0, }, { 0, }, { 0, } },
1170 },
eb7c792d 1171 { "tblidxb0", TILEPRO_OPC_TBLIDXB0, 0x5, 2, TREG_ZERO, 1,
863fbac6
CM
1172 { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1173 },
eb7c792d 1174 { "tblidxb0.sn", TILEPRO_OPC_TBLIDXB0_SN, 0x1, 2, TREG_SN, 1,
863fbac6
CM
1175 { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1176 },
eb7c792d 1177 { "tblidxb1", TILEPRO_OPC_TBLIDXB1, 0x5, 2, TREG_ZERO, 1,
863fbac6
CM
1178 { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1179 },
eb7c792d 1180 { "tblidxb1.sn", TILEPRO_OPC_TBLIDXB1_SN, 0x1, 2, TREG_SN, 1,
863fbac6
CM
1181 { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1182 },
eb7c792d 1183 { "tblidxb2", TILEPRO_OPC_TBLIDXB2, 0x5, 2, TREG_ZERO, 1,
863fbac6
CM
1184 { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1185 },
eb7c792d 1186 { "tblidxb2.sn", TILEPRO_OPC_TBLIDXB2_SN, 0x1, 2, TREG_SN, 1,
863fbac6
CM
1187 { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1188 },
eb7c792d 1189 { "tblidxb3", TILEPRO_OPC_TBLIDXB3, 0x5, 2, TREG_ZERO, 1,
863fbac6
CM
1190 { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1191 },
eb7c792d 1192 { "tblidxb3.sn", TILEPRO_OPC_TBLIDXB3_SN, 0x1, 2, TREG_SN, 1,
863fbac6
CM
1193 { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1194 },
eb7c792d 1195 { "tns", TILEPRO_OPC_TNS, 0x2, 2, TREG_ZERO, 1,
863fbac6
CM
1196 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
1197 },
eb7c792d 1198 { "tns.sn", TILEPRO_OPC_TNS_SN, 0x2, 2, TREG_SN, 1,
863fbac6
CM
1199 { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
1200 },
eb7c792d 1201 { "wh64", TILEPRO_OPC_WH64, 0x2, 1, TREG_ZERO, 1,
863fbac6
CM
1202 { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
1203 },
eb7c792d 1204 { "xor", TILEPRO_OPC_XOR, 0xf, 3, TREG_ZERO, 1,
863fbac6
CM
1205 { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1206 },
eb7c792d 1207 { "xor.sn", TILEPRO_OPC_XOR_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1208 { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1209 },
eb7c792d 1210 { "xori", TILEPRO_OPC_XORI, 0x3, 3, TREG_ZERO, 1,
863fbac6
CM
1211 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1212 },
eb7c792d 1213 { "xori.sn", TILEPRO_OPC_XORI_SN, 0x3, 3, TREG_SN, 1,
863fbac6
CM
1214 { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1215 },
eb7c792d 1216 { NULL, TILEPRO_OPC_NONE, 0, 0, TREG_ZERO, 0, { { 0, } },
867e359b
CM
1217 }
1218};
1219#define BITFIELD(start, size) ((start) | (((1 << (size)) - 1) << 6))
eb7c792d 1220#define CHILD(array_index) (TILEPRO_OPC_NONE + (array_index))
867e359b
CM
1221
1222static const unsigned short decode_X0_fsm[1153] =
1223{
1224 BITFIELD(22, 9) /* index 0 */,
1225 CHILD(513), CHILD(530), CHILD(547), CHILD(564), CHILD(596), CHILD(613),
eb7c792d
CM
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,
867e359b
CM
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),
eb7c792d
CM
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),
867e359b
CM
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),
eb7c792d 1261 CHILD(828), CHILD(828), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
867e359b
CM
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),
eb7c792d
CM
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,
867e359b 1336 BITFIELD(18, 4) /* index 513 */,
eb7c792d
CM
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,
867e359b 1342 BITFIELD(18, 4) /* index 530 */,
eb7c792d
CM
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,
867e359b 1348 BITFIELD(18, 4) /* index 547 */,
eb7c792d
CM
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,
867e359b 1354 BITFIELD(18, 4) /* index 564 */,
eb7c792d
CM
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,
867e359b 1360 BITFIELD(12, 2) /* index 581 */,
eb7c792d 1361 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(586),
867e359b 1362 BITFIELD(14, 2) /* index 586 */,
eb7c792d 1363 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(591),
867e359b 1364 BITFIELD(16, 2) /* index 591 */,
eb7c792d 1365 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
867e359b 1366 BITFIELD(18, 4) /* index 596 */,
eb7c792d
CM
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,
867e359b 1372 BITFIELD(18, 4) /* index 613 */,
eb7c792d
CM
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,
867e359b
CM
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 */,
eb7c792d 1381 TILEPRO_OPC_ADDS, TILEPRO_OPC_NONE,
867e359b 1382 BITFIELD(21, 1) /* index 642 */,
eb7c792d 1383 TILEPRO_OPC_SUBS, TILEPRO_OPC_NONE,
867e359b 1384 BITFIELD(21, 1) /* index 645 */,
eb7c792d 1385 TILEPRO_OPC_ADDBS_U, TILEPRO_OPC_NONE,
867e359b 1386 BITFIELD(21, 1) /* index 648 */,
eb7c792d 1387 TILEPRO_OPC_ADDHS, TILEPRO_OPC_NONE,
867e359b 1388 BITFIELD(21, 1) /* index 651 */,
eb7c792d 1389 TILEPRO_OPC_SUBBS_U, TILEPRO_OPC_NONE,
867e359b 1390 BITFIELD(21, 1) /* index 654 */,
eb7c792d 1391 TILEPRO_OPC_SUBHS, TILEPRO_OPC_NONE,
867e359b 1392 BITFIELD(21, 1) /* index 657 */,
eb7c792d 1393 TILEPRO_OPC_PACKHS, TILEPRO_OPC_NONE,
867e359b 1394 BITFIELD(21, 1) /* index 660 */,
eb7c792d 1395 TILEPRO_OPC_PACKBS_U, TILEPRO_OPC_NONE,
867e359b 1396 BITFIELD(18, 4) /* index 663 */,
eb7c792d
CM
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,
867e359b 1403 BITFIELD(18, 4) /* index 680 */,
eb7c792d
CM
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,
867e359b 1411 BITFIELD(18, 4) /* index 697 */,
eb7c792d
CM
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,
867e359b 1418 BITFIELD(18, 4) /* index 714 */,
eb7c792d
CM
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,
867e359b 1424 BITFIELD(12, 2) /* index 731 */,
eb7c792d 1425 TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(736),
867e359b 1426 BITFIELD(14, 2) /* index 736 */,
eb7c792d 1427 TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(741),
867e359b 1428 BITFIELD(16, 2) /* index 741 */,
eb7c792d
CM
1429 TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN,
1430 TILEPRO_OPC_MOVE_SN,
867e359b 1431 BITFIELD(18, 4) /* index 746 */,
eb7c792d
CM
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,
867e359b 1438 BITFIELD(18, 4) /* index 763 */,
eb7c792d
CM
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,
867e359b
CM
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 */,
eb7c792d 1449 TILEPRO_OPC_ADDS_SN, TILEPRO_OPC_NONE,
867e359b 1450 BITFIELD(21, 1) /* index 792 */,
eb7c792d 1451 TILEPRO_OPC_SUBS_SN, TILEPRO_OPC_NONE,
867e359b 1452 BITFIELD(21, 1) /* index 795 */,
eb7c792d 1453 TILEPRO_OPC_ADDBS_U_SN, TILEPRO_OPC_NONE,
867e359b 1454 BITFIELD(21, 1) /* index 798 */,
eb7c792d 1455 TILEPRO_OPC_ADDHS_SN, TILEPRO_OPC_NONE,
867e359b 1456 BITFIELD(21, 1) /* index 801 */,
eb7c792d 1457 TILEPRO_OPC_SUBBS_U_SN, TILEPRO_OPC_NONE,
867e359b 1458 BITFIELD(21, 1) /* index 804 */,
eb7c792d 1459 TILEPRO_OPC_SUBHS_SN, TILEPRO_OPC_NONE,
867e359b 1460 BITFIELD(21, 1) /* index 807 */,
eb7c792d 1461 TILEPRO_OPC_PACKHS_SN, TILEPRO_OPC_NONE,
867e359b 1462 BITFIELD(21, 1) /* index 810 */,
eb7c792d 1463 TILEPRO_OPC_PACKBS_U_SN, TILEPRO_OPC_NONE,
867e359b 1464 BITFIELD(6, 2) /* index 813 */,
eb7c792d
CM
1465 TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
1466 CHILD(818),
867e359b 1467 BITFIELD(8, 2) /* index 818 */,
eb7c792d
CM
1468 TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
1469 CHILD(823),
867e359b 1470 BITFIELD(10, 2) /* index 823 */,
eb7c792d
CM
1471 TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
1472 TILEPRO_OPC_MOVELI_SN,
867e359b 1473 BITFIELD(6, 2) /* index 828 */,
eb7c792d 1474 TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(833),
867e359b 1475 BITFIELD(8, 2) /* index 833 */,
eb7c792d 1476 TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(838),
867e359b 1477 BITFIELD(10, 2) /* index 838 */,
eb7c792d 1478 TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_MOVELI,
867e359b 1479 BITFIELD(0, 2) /* index 843 */,
eb7c792d 1480 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(848),
867e359b 1481 BITFIELD(2, 2) /* index 848 */,
eb7c792d 1482 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(853),
867e359b 1483 BITFIELD(4, 2) /* index 853 */,
eb7c792d 1484 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(858),
867e359b 1485 BITFIELD(6, 2) /* index 858 */,
eb7c792d 1486 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(863),
867e359b 1487 BITFIELD(8, 2) /* index 863 */,
eb7c792d 1488 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(868),
867e359b 1489 BITFIELD(10, 2) /* index 868 */,
eb7c792d 1490 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_INFOL,
867e359b 1491 BITFIELD(20, 2) /* index 873 */,
eb7c792d 1492 TILEPRO_OPC_NONE, TILEPRO_OPC_ADDIB, TILEPRO_OPC_ADDIH, TILEPRO_OPC_ADDI,
867e359b 1493 BITFIELD(20, 2) /* index 878 */,
eb7c792d
CM
1494 TILEPRO_OPC_MAXIB_U, TILEPRO_OPC_MAXIH, TILEPRO_OPC_MINIB_U,
1495 TILEPRO_OPC_MINIH,
867e359b 1496 BITFIELD(20, 2) /* index 883 */,
eb7c792d 1497 CHILD(888), TILEPRO_OPC_SEQIB, TILEPRO_OPC_SEQIH, TILEPRO_OPC_SEQI,
867e359b 1498 BITFIELD(6, 2) /* index 888 */,
eb7c792d 1499 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(893),
867e359b 1500 BITFIELD(8, 2) /* index 893 */,
eb7c792d 1501 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(898),
867e359b 1502 BITFIELD(10, 2) /* index 898 */,
eb7c792d 1503 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
867e359b 1504 BITFIELD(20, 2) /* index 903 */,
eb7c792d
CM
1505 TILEPRO_OPC_SLTIB, TILEPRO_OPC_SLTIB_U, TILEPRO_OPC_SLTIH,
1506 TILEPRO_OPC_SLTIH_U,
867e359b 1507 BITFIELD(20, 2) /* index 908 */,
eb7c792d 1508 TILEPRO_OPC_SLTI, TILEPRO_OPC_SLTI_U, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
867e359b 1509 BITFIELD(20, 2) /* index 913 */,
eb7c792d
CM
1510 TILEPRO_OPC_NONE, TILEPRO_OPC_ADDIB_SN, TILEPRO_OPC_ADDIH_SN,
1511 TILEPRO_OPC_ADDI_SN,
867e359b 1512 BITFIELD(20, 2) /* index 918 */,
eb7c792d
CM
1513 TILEPRO_OPC_MAXIB_U_SN, TILEPRO_OPC_MAXIH_SN, TILEPRO_OPC_MINIB_U_SN,
1514 TILEPRO_OPC_MINIH_SN,
867e359b 1515 BITFIELD(20, 2) /* index 923 */,
eb7c792d 1516 CHILD(928), TILEPRO_OPC_SEQIB_SN, TILEPRO_OPC_SEQIH_SN, TILEPRO_OPC_SEQI_SN,
867e359b 1517 BITFIELD(6, 2) /* index 928 */,
eb7c792d 1518 TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(933),
867e359b 1519 BITFIELD(8, 2) /* index 933 */,
eb7c792d 1520 TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(938),
867e359b 1521 BITFIELD(10, 2) /* index 938 */,
eb7c792d
CM
1522 TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN,
1523 TILEPRO_OPC_MOVEI_SN,
867e359b 1524 BITFIELD(20, 2) /* index 943 */,
eb7c792d
CM
1525 TILEPRO_OPC_SLTIB_SN, TILEPRO_OPC_SLTIB_U_SN, TILEPRO_OPC_SLTIH_SN,
1526 TILEPRO_OPC_SLTIH_U_SN,
867e359b 1527 BITFIELD(20, 2) /* index 948 */,
eb7c792d
CM
1528 TILEPRO_OPC_SLTI_SN, TILEPRO_OPC_SLTI_U_SN, TILEPRO_OPC_NONE,
1529 TILEPRO_OPC_NONE,
867e359b 1530 BITFIELD(20, 2) /* index 953 */,
eb7c792d 1531 TILEPRO_OPC_NONE, CHILD(958), TILEPRO_OPC_XORI, TILEPRO_OPC_NONE,
867e359b 1532 BITFIELD(0, 2) /* index 958 */,
eb7c792d 1533 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(963),
867e359b 1534 BITFIELD(2, 2) /* index 963 */,
eb7c792d 1535 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(968),
867e359b 1536 BITFIELD(4, 2) /* index 968 */,
eb7c792d 1537 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(973),
867e359b 1538 BITFIELD(6, 2) /* index 973 */,
eb7c792d 1539 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(978),
867e359b 1540 BITFIELD(8, 2) /* index 978 */,
eb7c792d 1541 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(983),
867e359b 1542 BITFIELD(10, 2) /* index 983 */,
eb7c792d 1543 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
867e359b 1544 BITFIELD(20, 2) /* index 988 */,
eb7c792d
CM
1545 TILEPRO_OPC_NONE, TILEPRO_OPC_ANDI_SN, TILEPRO_OPC_XORI_SN,
1546 TILEPRO_OPC_NONE,
867e359b 1547 BITFIELD(17, 5) /* index 993 */,
eb7c792d
CM
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,
867e359b 1556 BITFIELD(12, 4) /* index 1026 */,
eb7c792d 1557 TILEPRO_OPC_NONE, CHILD(1043), CHILD(1046), CHILD(1049), CHILD(1052),
867e359b 1558 CHILD(1055), CHILD(1058), CHILD(1061), CHILD(1064), CHILD(1067),
eb7c792d
CM
1559 CHILD(1070), CHILD(1073), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1560 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
867e359b 1561 BITFIELD(16, 1) /* index 1043 */,
eb7c792d 1562 TILEPRO_OPC_BITX, TILEPRO_OPC_NONE,
867e359b 1563 BITFIELD(16, 1) /* index 1046 */,
eb7c792d 1564 TILEPRO_OPC_BYTEX, TILEPRO_OPC_NONE,
867e359b 1565 BITFIELD(16, 1) /* index 1049 */,
eb7c792d 1566 TILEPRO_OPC_CLZ, TILEPRO_OPC_NONE,
867e359b 1567 BITFIELD(16, 1) /* index 1052 */,
eb7c792d 1568 TILEPRO_OPC_CTZ, TILEPRO_OPC_NONE,
867e359b 1569 BITFIELD(16, 1) /* index 1055 */,
eb7c792d 1570 TILEPRO_OPC_FNOP, TILEPRO_OPC_NONE,
867e359b 1571 BITFIELD(16, 1) /* index 1058 */,
eb7c792d 1572 TILEPRO_OPC_NOP, TILEPRO_OPC_NONE,
867e359b 1573 BITFIELD(16, 1) /* index 1061 */,
eb7c792d 1574 TILEPRO_OPC_PCNT, TILEPRO_OPC_NONE,
867e359b 1575 BITFIELD(16, 1) /* index 1064 */,
eb7c792d 1576 TILEPRO_OPC_TBLIDXB0, TILEPRO_OPC_NONE,
867e359b 1577 BITFIELD(16, 1) /* index 1067 */,
eb7c792d 1578 TILEPRO_OPC_TBLIDXB1, TILEPRO_OPC_NONE,
867e359b 1579 BITFIELD(16, 1) /* index 1070 */,
eb7c792d 1580 TILEPRO_OPC_TBLIDXB2, TILEPRO_OPC_NONE,
867e359b 1581 BITFIELD(16, 1) /* index 1073 */,
eb7c792d 1582 TILEPRO_OPC_TBLIDXB3, TILEPRO_OPC_NONE,
867e359b 1583 BITFIELD(17, 5) /* index 1076 */,
eb7c792d
CM
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,
867e359b 1593 BITFIELD(12, 4) /* index 1109 */,
eb7c792d 1594 TILEPRO_OPC_NONE, CHILD(1126), CHILD(1129), CHILD(1132), CHILD(1135),
867e359b 1595 CHILD(1055), CHILD(1058), CHILD(1138), CHILD(1141), CHILD(1144),
eb7c792d
CM
1596 CHILD(1147), CHILD(1150), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1597 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
867e359b 1598 BITFIELD(16, 1) /* index 1126 */,
eb7c792d 1599 TILEPRO_OPC_BITX_SN, TILEPRO_OPC_NONE,
867e359b 1600 BITFIELD(16, 1) /* index 1129 */,
eb7c792d 1601 TILEPRO_OPC_BYTEX_SN, TILEPRO_OPC_NONE,
867e359b 1602 BITFIELD(16, 1) /* index 1132 */,
eb7c792d 1603 TILEPRO_OPC_CLZ_SN, TILEPRO_OPC_NONE,
867e359b 1604 BITFIELD(16, 1) /* index 1135 */,
eb7c792d 1605 TILEPRO_OPC_CTZ_SN, TILEPRO_OPC_NONE,
867e359b 1606 BITFIELD(16, 1) /* index 1138 */,
eb7c792d 1607 TILEPRO_OPC_PCNT_SN, TILEPRO_OPC_NONE,
867e359b 1608 BITFIELD(16, 1) /* index 1141 */,
eb7c792d 1609 TILEPRO_OPC_TBLIDXB0_SN, TILEPRO_OPC_NONE,
867e359b 1610 BITFIELD(16, 1) /* index 1144 */,
eb7c792d 1611 TILEPRO_OPC_TBLIDXB1_SN, TILEPRO_OPC_NONE,
867e359b 1612 BITFIELD(16, 1) /* index 1147 */,
eb7c792d 1613 TILEPRO_OPC_TBLIDXB2_SN, TILEPRO_OPC_NONE,
867e359b 1614 BITFIELD(16, 1) /* index 1150 */,
eb7c792d 1615 TILEPRO_OPC_TBLIDXB3_SN, TILEPRO_OPC_NONE,
867e359b
CM
1616};
1617
863fbac6 1618static const unsigned short decode_X1_fsm[1540] =
867e359b
CM
1619{
1620 BITFIELD(54, 9) /* index 0 */,
eb7c792d
CM
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),
867e359b
CM
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),
eb7c792d
CM
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,
867e359b 1735 BITFIELD(49, 5) /* index 513 */,
eb7c792d
CM
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,
867e359b 1744 BITFIELD(43, 2) /* index 546 */,
eb7c792d 1745 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(551),
867e359b 1746 BITFIELD(45, 2) /* index 551 */,
eb7c792d 1747 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(556),
867e359b 1748 BITFIELD(47, 2) /* index 556 */,
eb7c792d 1749 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
867e359b 1750 BITFIELD(49, 5) /* index 561 */,
eb7c792d
CM
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,
867e359b
CM
1760 BITFIELD(49, 4) /* index 594 */,
1761 CHILD(611), CHILD(614), CHILD(617), CHILD(620), CHILD(623), CHILD(626),
eb7c792d
CM
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,
867e359b 1765 BITFIELD(53, 1) /* index 611 */,
eb7c792d 1766 TILEPRO_OPC_SW, TILEPRO_OPC_NONE,
867e359b 1767 BITFIELD(53, 1) /* index 614 */,
eb7c792d 1768 TILEPRO_OPC_XOR, TILEPRO_OPC_NONE,
867e359b 1769 BITFIELD(53, 1) /* index 617 */,
eb7c792d 1770 TILEPRO_OPC_ADDS, TILEPRO_OPC_NONE,
867e359b 1771 BITFIELD(53, 1) /* index 620 */,
eb7c792d 1772 TILEPRO_OPC_SUBS, TILEPRO_OPC_NONE,
867e359b 1773 BITFIELD(53, 1) /* index 623 */,
eb7c792d 1774 TILEPRO_OPC_ADDBS_U, TILEPRO_OPC_NONE,
867e359b 1775 BITFIELD(53, 1) /* index 626 */,
eb7c792d 1776 TILEPRO_OPC_ADDHS, TILEPRO_OPC_NONE,
867e359b 1777 BITFIELD(53, 1) /* index 629 */,
eb7c792d 1778 TILEPRO_OPC_SUBBS_U, TILEPRO_OPC_NONE,
867e359b 1779 BITFIELD(53, 1) /* index 632 */,
eb7c792d 1780 TILEPRO_OPC_SUBHS, TILEPRO_OPC_NONE,
867e359b 1781 BITFIELD(53, 1) /* index 635 */,
eb7c792d 1782 TILEPRO_OPC_PACKHS, TILEPRO_OPC_NONE,
867e359b 1783 BITFIELD(53, 1) /* index 638 */,
eb7c792d 1784 TILEPRO_OPC_PACKBS_U, TILEPRO_OPC_NONE,
867e359b 1785 BITFIELD(49, 5) /* index 641 */,
eb7c792d
CM
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,
867e359b 1796 BITFIELD(43, 2) /* index 674 */,
eb7c792d 1797 TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(679),
867e359b 1798 BITFIELD(45, 2) /* index 679 */,
eb7c792d 1799 TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(684),
867e359b 1800 BITFIELD(47, 2) /* index 684 */,
eb7c792d
CM
1801 TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN,
1802 TILEPRO_OPC_MOVE_SN,
867e359b 1803 BITFIELD(49, 5) /* index 689 */,
eb7c792d
CM
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,
867e359b
CM
1815 BITFIELD(49, 4) /* index 722 */,
1816 CHILD(611), CHILD(739), CHILD(742), CHILD(745), CHILD(748), CHILD(751),
eb7c792d
CM
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,
867e359b 1820 BITFIELD(53, 1) /* index 739 */,
eb7c792d 1821 TILEPRO_OPC_XOR_SN, TILEPRO_OPC_NONE,
867e359b 1822 BITFIELD(53, 1) /* index 742 */,
eb7c792d 1823 TILEPRO_OPC_ADDS_SN, TILEPRO_OPC_NONE,
867e359b 1824 BITFIELD(53, 1) /* index 745 */,
eb7c792d 1825 TILEPRO_OPC_SUBS_SN, TILEPRO_OPC_NONE,
867e359b 1826 BITFIELD(53, 1) /* index 748 */,
eb7c792d 1827 TILEPRO_OPC_ADDBS_U_SN, TILEPRO_OPC_NONE,
867e359b 1828 BITFIELD(53, 1) /* index 751 */,
eb7c792d 1829 TILEPRO_OPC_ADDHS_SN, TILEPRO_OPC_NONE,
867e359b 1830 BITFIELD(53, 1) /* index 754 */,
eb7c792d 1831 TILEPRO_OPC_SUBBS_U_SN, TILEPRO_OPC_NONE,
867e359b 1832 BITFIELD(53, 1) /* index 757 */,
eb7c792d 1833 TILEPRO_OPC_SUBHS_SN, TILEPRO_OPC_NONE,
867e359b 1834 BITFIELD(53, 1) /* index 760 */,
eb7c792d 1835 TILEPRO_OPC_PACKHS_SN, TILEPRO_OPC_NONE,
867e359b 1836 BITFIELD(53, 1) /* index 763 */,
eb7c792d 1837 TILEPRO_OPC_PACKBS_U_SN, TILEPRO_OPC_NONE,
867e359b 1838 BITFIELD(37, 2) /* index 766 */,
eb7c792d
CM
1839 TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
1840 CHILD(771),
867e359b 1841 BITFIELD(39, 2) /* index 771 */,
eb7c792d
CM
1842 TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
1843 CHILD(776),
867e359b 1844 BITFIELD(41, 2) /* index 776 */,
eb7c792d
CM
1845 TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
1846 TILEPRO_OPC_MOVELI_SN,
867e359b 1847 BITFIELD(37, 2) /* index 781 */,
eb7c792d 1848 TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(786),
867e359b 1849 BITFIELD(39, 2) /* index 786 */,
eb7c792d 1850 TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(791),
867e359b 1851 BITFIELD(41, 2) /* index 791 */,
eb7c792d 1852 TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_MOVELI,
867e359b 1853 BITFIELD(31, 2) /* index 796 */,
eb7c792d 1854 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(801),
867e359b 1855 BITFIELD(33, 2) /* index 801 */,
eb7c792d 1856 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(806),
867e359b 1857 BITFIELD(35, 2) /* index 806 */,
eb7c792d 1858 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(811),
867e359b 1859 BITFIELD(37, 2) /* index 811 */,
eb7c792d 1860 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(816),
867e359b 1861 BITFIELD(39, 2) /* index 816 */,
eb7c792d 1862 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(821),
867e359b 1863 BITFIELD(41, 2) /* index 821 */,
eb7c792d 1864 TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_INFOL,
867e359b 1865 BITFIELD(31, 4) /* index 826 */,
eb7c792d
CM
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,
867e359b 1870 BITFIELD(31, 4) /* index 843 */,
eb7c792d
CM
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,
867e359b 1877 BITFIELD(51, 3) /* index 860 */,
eb7c792d
CM
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,
867e359b 1880 BITFIELD(31, 2) /* index 869 */,
eb7c792d 1881 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(874),
867e359b 1882 BITFIELD(33, 2) /* index 874 */,
eb7c792d 1883 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(879),
867e359b 1884 BITFIELD(35, 2) /* index 879 */,
eb7c792d 1885 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(884),
867e359b 1886 BITFIELD(37, 2) /* index 884 */,
eb7c792d 1887 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(889),
867e359b 1888 BITFIELD(39, 2) /* index 889 */,
eb7c792d 1889 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(894),
867e359b 1890 BITFIELD(41, 2) /* index 894 */,
eb7c792d 1891 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
867e359b 1892 BITFIELD(51, 3) /* index 899 */,
eb7c792d
CM
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,
867e359b 1895 BITFIELD(37, 2) /* index 908 */,
eb7c792d 1896 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(913),
867e359b 1897 BITFIELD(39, 2) /* index 913 */,
eb7c792d 1898 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(918),
867e359b 1899 BITFIELD(41, 2) /* index 918 */,
eb7c792d 1900 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
867e359b 1901 BITFIELD(51, 3) /* index 923 */,
eb7c792d
CM
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,
867e359b 1905 BITFIELD(51, 3) /* index 932 */,
eb7c792d
CM
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,
867e359b 1909 BITFIELD(51, 3) /* index 941 */,
eb7c792d
CM
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,
867e359b 1913 BITFIELD(51, 3) /* index 950 */,
eb7c792d
CM
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,
867e359b 1917 BITFIELD(37, 2) /* index 959 */,
eb7c792d 1918 TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(964),
867e359b 1919 BITFIELD(39, 2) /* index 964 */,
eb7c792d 1920 TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(969),
867e359b 1921 BITFIELD(41, 2) /* index 969 */,
eb7c792d
CM
1922 TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN,
1923 TILEPRO_OPC_MOVEI_SN,
867e359b 1924 BITFIELD(51, 3) /* index 974 */,
eb7c792d
CM
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,
867e359b 1928 BITFIELD(51, 3) /* index 983 */,
eb7c792d
CM
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,
867e359b 1932 BITFIELD(46, 7) /* index 992 */,
eb7c792d
CM
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,
867e359b 1963 BITFIELD(53, 1) /* index 1121 */,
eb7c792d 1964 TILEPRO_OPC_RLI, TILEPRO_OPC_NONE,
867e359b 1965 BITFIELD(53, 1) /* index 1124 */,
eb7c792d 1966 TILEPRO_OPC_SHLIB, TILEPRO_OPC_NONE,
867e359b 1967 BITFIELD(53, 1) /* index 1127 */,
eb7c792d 1968 TILEPRO_OPC_SHLIH, TILEPRO_OPC_NONE,
867e359b 1969 BITFIELD(53, 1) /* index 1130 */,
eb7c792d 1970 TILEPRO_OPC_SHLI, TILEPRO_OPC_NONE,
867e359b 1971 BITFIELD(53, 1) /* index 1133 */,
eb7c792d 1972 TILEPRO_OPC_SHRIB, TILEPRO_OPC_NONE,
867e359b 1973 BITFIELD(53, 1) /* index 1136 */,
eb7c792d 1974 TILEPRO_OPC_SHRIH, TILEPRO_OPC_NONE,
867e359b 1975 BITFIELD(53, 1) /* index 1139 */,
eb7c792d 1976 TILEPRO_OPC_SHRI, TILEPRO_OPC_NONE,
867e359b 1977 BITFIELD(53, 1) /* index 1142 */,
eb7c792d 1978 TILEPRO_OPC_SRAIB, TILEPRO_OPC_NONE,
867e359b 1979 BITFIELD(53, 1) /* index 1145 */,
eb7c792d 1980 TILEPRO_OPC_SRAIH, TILEPRO_OPC_NONE,
867e359b 1981 BITFIELD(53, 1) /* index 1148 */,
eb7c792d 1982 TILEPRO_OPC_SRAI, TILEPRO_OPC_NONE,
867e359b 1983 BITFIELD(43, 3) /* index 1151 */,
eb7c792d 1984 TILEPRO_OPC_NONE, CHILD(1160), CHILD(1163), CHILD(1166), CHILD(1169),
867e359b
CM
1985 CHILD(1172), CHILD(1175), CHILD(1178),
1986 BITFIELD(53, 1) /* index 1160 */,
eb7c792d 1987 TILEPRO_OPC_DRAIN, TILEPRO_OPC_NONE,
867e359b 1988 BITFIELD(53, 1) /* index 1163 */,
eb7c792d 1989 TILEPRO_OPC_DTLBPR, TILEPRO_OPC_NONE,
867e359b 1990 BITFIELD(53, 1) /* index 1166 */,
eb7c792d 1991 TILEPRO_OPC_FINV, TILEPRO_OPC_NONE,
867e359b 1992 BITFIELD(53, 1) /* index 1169 */,
eb7c792d 1993 TILEPRO_OPC_FLUSH, TILEPRO_OPC_NONE,
867e359b 1994 BITFIELD(53, 1) /* index 1172 */,
eb7c792d 1995 TILEPRO_OPC_FNOP, TILEPRO_OPC_NONE,
867e359b 1996 BITFIELD(53, 1) /* index 1175 */,
eb7c792d 1997 TILEPRO_OPC_ICOH, TILEPRO_OPC_NONE,
863fbac6
CM
1998 BITFIELD(31, 2) /* index 1178 */,
1999 CHILD(1183), CHILD(1211), CHILD(1239), CHILD(1239),
2000 BITFIELD(53, 1) /* index 1183 */,
eb7c792d 2001 CHILD(1186), TILEPRO_OPC_NONE,
867e359b 2002 BITFIELD(33, 2) /* index 1186 */,
eb7c792d 2003 TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, CHILD(1191),
867e359b 2004 BITFIELD(35, 2) /* index 1191 */,
eb7c792d 2005 TILEPRO_OPC_ILL, CHILD(1196), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
867e359b 2006 BITFIELD(37, 2) /* index 1196 */,
eb7c792d 2007 TILEPRO_OPC_ILL, CHILD(1201), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
867e359b 2008 BITFIELD(39, 2) /* index 1201 */,
eb7c792d 2009 TILEPRO_OPC_ILL, CHILD(1206), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
867e359b 2010 BITFIELD(41, 2) /* index 1206 */,
eb7c792d 2011 TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_BPT, TILEPRO_OPC_ILL,
863fbac6 2012 BITFIELD(53, 1) /* index 1211 */,
eb7c792d 2013 CHILD(1214), TILEPRO_OPC_NONE,
863fbac6 2014 BITFIELD(33, 2) /* index 1214 */,
eb7c792d 2015 TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, CHILD(1219),
863fbac6 2016 BITFIELD(35, 2) /* index 1219 */,
eb7c792d 2017 TILEPRO_OPC_ILL, CHILD(1224), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
863fbac6 2018 BITFIELD(37, 2) /* index 1224 */,
eb7c792d 2019 TILEPRO_OPC_ILL, CHILD(1229), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
863fbac6 2020 BITFIELD(39, 2) /* index 1229 */,
eb7c792d 2021 TILEPRO_OPC_ILL, CHILD(1234), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
863fbac6 2022 BITFIELD(41, 2) /* index 1234 */,
eb7c792d 2023 TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_RAISE, TILEPRO_OPC_ILL,
863fbac6 2024 BITFIELD(53, 1) /* index 1239 */,
eb7c792d 2025 TILEPRO_OPC_ILL, TILEPRO_OPC_NONE,
863fbac6
CM
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 */,
eb7c792d 2030 TILEPRO_OPC_INV, TILEPRO_OPC_NONE,
863fbac6 2031 BITFIELD(53, 1) /* index 1254 */,
eb7c792d 2032 TILEPRO_OPC_IRET, TILEPRO_OPC_NONE,
863fbac6 2033 BITFIELD(53, 1) /* index 1257 */,
eb7c792d 2034 CHILD(1260), TILEPRO_OPC_NONE,
863fbac6 2035 BITFIELD(31, 2) /* index 1260 */,
eb7c792d 2036 TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(1265),
863fbac6 2037 BITFIELD(33, 2) /* index 1265 */,
eb7c792d 2038 TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(1270),
863fbac6 2039 BITFIELD(35, 2) /* index 1270 */,
eb7c792d 2040 TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_PREFETCH,
863fbac6 2041 BITFIELD(53, 1) /* index 1275 */,
eb7c792d 2042 TILEPRO_OPC_LB_U, TILEPRO_OPC_NONE,
863fbac6 2043 BITFIELD(53, 1) /* index 1278 */,
eb7c792d 2044 TILEPRO_OPC_LH, TILEPRO_OPC_NONE,
863fbac6 2045 BITFIELD(53, 1) /* index 1281 */,
eb7c792d 2046 TILEPRO_OPC_LH_U, TILEPRO_OPC_NONE,
863fbac6 2047 BITFIELD(53, 1) /* index 1284 */,
eb7c792d 2048 TILEPRO_OPC_LW, TILEPRO_OPC_NONE,
863fbac6 2049 BITFIELD(53, 1) /* index 1287 */,
eb7c792d 2050 TILEPRO_OPC_MF, TILEPRO_OPC_NONE,
863fbac6
CM
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 */,
eb7c792d 2055 TILEPRO_OPC_NAP, TILEPRO_OPC_NONE,
863fbac6 2056 BITFIELD(53, 1) /* index 1302 */,
eb7c792d 2057 TILEPRO_OPC_NOP, TILEPRO_OPC_NONE,
863fbac6 2058 BITFIELD(53, 1) /* index 1305 */,
eb7c792d 2059 TILEPRO_OPC_SWINT0, TILEPRO_OPC_NONE,
863fbac6 2060 BITFIELD(53, 1) /* index 1308 */,
eb7c792d 2061 TILEPRO_OPC_SWINT1, TILEPRO_OPC_NONE,
863fbac6 2062 BITFIELD(53, 1) /* index 1311 */,
eb7c792d 2063 TILEPRO_OPC_SWINT2, TILEPRO_OPC_NONE,
863fbac6 2064 BITFIELD(53, 1) /* index 1314 */,
eb7c792d 2065 TILEPRO_OPC_SWINT3, TILEPRO_OPC_NONE,
863fbac6 2066 BITFIELD(53, 1) /* index 1317 */,
eb7c792d 2067 TILEPRO_OPC_TNS, TILEPRO_OPC_NONE,
863fbac6 2068 BITFIELD(53, 1) /* index 1320 */,
eb7c792d 2069 TILEPRO_OPC_WH64, TILEPRO_OPC_NONE,
863fbac6 2070 BITFIELD(43, 2) /* index 1323 */,
eb7c792d 2071 CHILD(1328), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
863fbac6 2072 BITFIELD(45, 1) /* index 1328 */,
eb7c792d 2073 CHILD(1331), TILEPRO_OPC_NONE,
863fbac6 2074 BITFIELD(53, 1) /* index 1331 */,
eb7c792d 2075 TILEPRO_OPC_LW_NA, TILEPRO_OPC_NONE,
863fbac6 2076 BITFIELD(46, 7) /* index 1334 */,
eb7c792d
CM
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,
863fbac6 2107 BITFIELD(53, 1) /* index 1463 */,
eb7c792d 2108 TILEPRO_OPC_RLI_SN, TILEPRO_OPC_NONE,
863fbac6 2109 BITFIELD(53, 1) /* index 1466 */,
eb7c792d 2110 TILEPRO_OPC_SHLIB_SN, TILEPRO_OPC_NONE,
863fbac6 2111 BITFIELD(53, 1) /* index 1469 */,
eb7c792d 2112 TILEPRO_OPC_SHLIH_SN, TILEPRO_OPC_NONE,
863fbac6 2113 BITFIELD(53, 1) /* index 1472 */,
eb7c792d 2114 TILEPRO_OPC_SHLI_SN, TILEPRO_OPC_NONE,
863fbac6 2115 BITFIELD(53, 1) /* index 1475 */,
eb7c792d 2116 TILEPRO_OPC_SHRIB_SN, TILEPRO_OPC_NONE,
863fbac6 2117 BITFIELD(53, 1) /* index 1478 */,
eb7c792d 2118 TILEPRO_OPC_SHRIH_SN, TILEPRO_OPC_NONE,
863fbac6 2119 BITFIELD(53, 1) /* index 1481 */,
eb7c792d 2120 TILEPRO_OPC_SHRI_SN, TILEPRO_OPC_NONE,
863fbac6 2121 BITFIELD(53, 1) /* index 1484 */,
eb7c792d 2122 TILEPRO_OPC_SRAIB_SN, TILEPRO_OPC_NONE,
863fbac6 2123 BITFIELD(53, 1) /* index 1487 */,
eb7c792d 2124 TILEPRO_OPC_SRAIH_SN, TILEPRO_OPC_NONE,
863fbac6 2125 BITFIELD(53, 1) /* index 1490 */,
eb7c792d 2126 TILEPRO_OPC_SRAI_SN, TILEPRO_OPC_NONE,
863fbac6
CM
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 */,
eb7c792d 2131 TILEPRO_OPC_LB_SN, TILEPRO_OPC_NONE,
863fbac6 2132 BITFIELD(53, 1) /* index 1505 */,
eb7c792d 2133 TILEPRO_OPC_LB_U_SN, TILEPRO_OPC_NONE,
863fbac6 2134 BITFIELD(53, 1) /* index 1508 */,
eb7c792d 2135 TILEPRO_OPC_LH_SN, TILEPRO_OPC_NONE,
863fbac6 2136 BITFIELD(53, 1) /* index 1511 */,
eb7c792d 2137 TILEPRO_OPC_LH_U_SN, TILEPRO_OPC_NONE,
863fbac6 2138 BITFIELD(53, 1) /* index 1514 */,
eb7c792d 2139 TILEPRO_OPC_LW_SN, TILEPRO_OPC_NONE,
863fbac6
CM
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 */,
eb7c792d 2144 TILEPRO_OPC_TNS_SN, TILEPRO_OPC_NONE,
863fbac6 2145 BITFIELD(43, 2) /* index 1529 */,
eb7c792d 2146 CHILD(1534), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
863fbac6 2147 BITFIELD(45, 1) /* index 1534 */,
eb7c792d 2148 CHILD(1537), TILEPRO_OPC_NONE,
863fbac6 2149 BITFIELD(53, 1) /* index 1537 */,
eb7c792d 2150 TILEPRO_OPC_LW_NA_SN, TILEPRO_OPC_NONE,
867e359b
CM
2151};
2152
2153static const unsigned short decode_Y0_fsm[168] =
2154{
2155 BITFIELD(27, 4) /* index 0 */,
eb7c792d
CM
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,
867e359b 2159 BITFIELD(18, 2) /* index 17 */,
eb7c792d 2160 TILEPRO_OPC_ADD, TILEPRO_OPC_S1A, TILEPRO_OPC_S2A, TILEPRO_OPC_SUB,
867e359b 2161 BITFIELD(18, 2) /* index 22 */,
eb7c792d 2162 TILEPRO_OPC_MNZ, TILEPRO_OPC_MVNZ, TILEPRO_OPC_MVZ, TILEPRO_OPC_MZ,
867e359b 2163 BITFIELD(18, 2) /* index 27 */,
eb7c792d 2164 TILEPRO_OPC_AND, TILEPRO_OPC_NOR, CHILD(32), TILEPRO_OPC_XOR,
867e359b 2165 BITFIELD(12, 2) /* index 32 */,
eb7c792d 2166 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(37),
867e359b 2167 BITFIELD(14, 2) /* index 37 */,
eb7c792d 2168 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(42),
867e359b 2169 BITFIELD(16, 2) /* index 42 */,
eb7c792d 2170 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
867e359b 2171 BITFIELD(18, 2) /* index 47 */,
eb7c792d 2172 TILEPRO_OPC_RL, TILEPRO_OPC_SHL, TILEPRO_OPC_SHR, TILEPRO_OPC_SRA,
867e359b 2173 BITFIELD(18, 2) /* index 52 */,
eb7c792d 2174 TILEPRO_OPC_SLTE, TILEPRO_OPC_SLTE_U, TILEPRO_OPC_SLT, TILEPRO_OPC_SLT_U,
867e359b 2175 BITFIELD(18, 2) /* index 57 */,
eb7c792d 2176 TILEPRO_OPC_MULHLSA_UU, TILEPRO_OPC_S3A, TILEPRO_OPC_SEQ, TILEPRO_OPC_SNE,
867e359b 2177 BITFIELD(18, 2) /* index 62 */,
eb7c792d
CM
2178 TILEPRO_OPC_MULHH_SS, TILEPRO_OPC_MULHH_UU, TILEPRO_OPC_MULLL_SS,
2179 TILEPRO_OPC_MULLL_UU,
867e359b 2180 BITFIELD(18, 2) /* index 67 */,
eb7c792d
CM
2181 TILEPRO_OPC_MULHHA_SS, TILEPRO_OPC_MULHHA_UU, TILEPRO_OPC_MULLLA_SS,
2182 TILEPRO_OPC_MULLLA_UU,
867e359b 2183 BITFIELD(0, 2) /* index 72 */,
eb7c792d 2184 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(77),
867e359b 2185 BITFIELD(2, 2) /* index 77 */,
eb7c792d 2186 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(82),
867e359b 2187 BITFIELD(4, 2) /* index 82 */,
eb7c792d 2188 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(87),
867e359b 2189 BITFIELD(6, 2) /* index 87 */,
eb7c792d 2190 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(92),
867e359b 2191 BITFIELD(8, 2) /* index 92 */,
eb7c792d 2192 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(97),
867e359b 2193 BITFIELD(10, 2) /* index 97 */,
eb7c792d 2194 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
867e359b 2195 BITFIELD(6, 2) /* index 102 */,
eb7c792d 2196 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(107),
867e359b 2197 BITFIELD(8, 2) /* index 107 */,
eb7c792d 2198 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(112),
867e359b 2199 BITFIELD(10, 2) /* index 112 */,
eb7c792d 2200 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
867e359b 2201 BITFIELD(15, 5) /* index 117 */,
eb7c792d
CM
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,
867e359b 2210 BITFIELD(12, 3) /* index 150 */,
eb7c792d
CM
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,
867e359b 2213 BITFIELD(12, 3) /* index 159 */,
eb7c792d
CM
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,
867e359b
CM
2217};
2218
2219static const unsigned short decode_Y1_fsm[140] =
2220{
2221 BITFIELD(59, 4) /* index 0 */,
eb7c792d
CM
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,
867e359b 2226 BITFIELD(49, 2) /* index 17 */,
eb7c792d 2227 TILEPRO_OPC_ADD, TILEPRO_OPC_S1A, TILEPRO_OPC_S2A, TILEPRO_OPC_SUB,
867e359b 2228 BITFIELD(49, 2) /* index 22 */,
eb7c792d 2229 TILEPRO_OPC_NONE, TILEPRO_OPC_MNZ, TILEPRO_OPC_MZ, TILEPRO_OPC_NONE,
867e359b 2230 BITFIELD(49, 2) /* index 27 */,
eb7c792d 2231 TILEPRO_OPC_AND, TILEPRO_OPC_NOR, CHILD(32), TILEPRO_OPC_XOR,
867e359b 2232 BITFIELD(43, 2) /* index 32 */,
eb7c792d 2233 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(37),
867e359b 2234 BITFIELD(45, 2) /* index 37 */,
eb7c792d 2235 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(42),
867e359b 2236 BITFIELD(47, 2) /* index 42 */,
eb7c792d 2237 TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
867e359b 2238 BITFIELD(49, 2) /* index 47 */,
eb7c792d 2239 TILEPRO_OPC_RL, TILEPRO_OPC_SHL, TILEPRO_OPC_SHR, TILEPRO_OPC_SRA,
867e359b 2240 BITFIELD(49, 2) /* index 52 */,
eb7c792d 2241 TILEPRO_OPC_SLTE, TILEPRO_OPC_SLTE_U, TILEPRO_OPC_SLT, TILEPRO_OPC_SLT_U,
867e359b 2242 BITFIELD(49, 2) /* index 57 */,
eb7c792d 2243 TILEPRO_OPC_NONE, TILEPRO_OPC_S3A, TILEPRO_OPC_SEQ, TILEPRO_OPC_SNE,
867e359b 2244 BITFIELD(31, 2) /* index 62 */,
eb7c792d 2245 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(67),
867e359b 2246 BITFIELD(33, 2) /* index 67 */,
eb7c792d 2247 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(72),
867e359b 2248 BITFIELD(35, 2) /* index 72 */,
eb7c792d 2249 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(77),
867e359b 2250 BITFIELD(37, 2) /* index 77 */,
eb7c792d 2251 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(82),
867e359b 2252 BITFIELD(39, 2) /* index 82 */,
eb7c792d 2253 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(87),
867e359b 2254 BITFIELD(41, 2) /* index 87 */,
eb7c792d 2255 TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
867e359b 2256 BITFIELD(37, 2) /* index 92 */,
eb7c792d 2257 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(97),
867e359b 2258 BITFIELD(39, 2) /* index 97 */,
eb7c792d 2259 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(102),
867e359b 2260 BITFIELD(41, 2) /* index 102 */,
eb7c792d 2261 TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
867e359b 2262 BITFIELD(48, 3) /* index 107 */,
eb7c792d
CM
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,
867e359b 2265 BITFIELD(43, 3) /* index 116 */,
eb7c792d
CM
2266 TILEPRO_OPC_NONE, CHILD(125), CHILD(130), CHILD(135), TILEPRO_OPC_NONE,
2267 TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
867e359b 2268 BITFIELD(46, 2) /* index 125 */,
eb7c792d 2269 TILEPRO_OPC_FNOP, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
867e359b 2270 BITFIELD(46, 2) /* index 130 */,
eb7c792d 2271 TILEPRO_OPC_ILL, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
867e359b 2272 BITFIELD(46, 2) /* index 135 */,
eb7c792d 2273 TILEPRO_OPC_NOP, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
867e359b
CM
2274};
2275
2276static const unsigned short decode_Y2_fsm[24] =
2277{
2278 BITFIELD(56, 3) /* index 0 */,
eb7c792d
CM
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,
867e359b 2281 BITFIELD(20, 2) /* index 9 */,
eb7c792d 2282 TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(14),
867e359b 2283 BITFIELD(22, 2) /* index 14 */,
eb7c792d 2284 TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(19),
867e359b 2285 BITFIELD(24, 2) /* index 19 */,
eb7c792d 2286 TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_PREFETCH,
867e359b
CM
2287};
2288
2289#undef BITFIELD
2290#undef CHILD
2291const unsigned short * const
eb7c792d 2292tilepro_bundle_decoder_fsms[TILEPRO_NUM_PIPELINE_ENCODINGS] =
867e359b
CM
2293{
2294 decode_X0_fsm,
2295 decode_X1_fsm,
2296 decode_Y0_fsm,
2297 decode_Y1_fsm,
2298 decode_Y2_fsm
2299};
eb7c792d 2300const struct tilepro_operand tilepro_operands[43] =
867e359b
CM
2301{
2302 {
eb7c792d 2303 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_X0),
863fbac6
CM
2304 8, 1, 0, 0, 0, 0,
2305 create_Imm8_X0, get_Imm8_X0
867e359b
CM
2306 },
2307 {
eb7c792d 2308 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_X1),
863fbac6
CM
2309 8, 1, 0, 0, 0, 0,
2310 create_Imm8_X1, get_Imm8_X1
867e359b
CM
2311 },
2312 {
eb7c792d 2313 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_Y0),
863fbac6
CM
2314 8, 1, 0, 0, 0, 0,
2315 create_Imm8_Y0, get_Imm8_Y0
867e359b
CM
2316 },
2317 {
eb7c792d 2318 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_Y1),
863fbac6
CM
2319 8, 1, 0, 0, 0, 0,
2320 create_Imm8_Y1, get_Imm8_Y1
867e359b
CM
2321 },
2322 {
eb7c792d 2323 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM16_X0),
863fbac6
CM
2324 16, 1, 0, 0, 0, 0,
2325 create_Imm16_X0, get_Imm16_X0
867e359b
CM
2326 },
2327 {
eb7c792d 2328 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM16_X1),
863fbac6
CM
2329 16, 1, 0, 0, 0, 0,
2330 create_Imm16_X1, get_Imm16_X1
867e359b
CM
2331 },
2332 {
eb7c792d
CM
2333 TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(TILEPRO_JOFFLONG_X1),
2334 29, 1, 0, 0, 1, TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
863fbac6 2335 create_JOffLong_X1, get_JOffLong_X1
867e359b
CM
2336 },
2337 {
eb7c792d 2338 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2339 6, 0, 0, 1, 0, 0,
2340 create_Dest_X0, get_Dest_X0
867e359b
CM
2341 },
2342 {
eb7c792d 2343 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2344 6, 0, 1, 0, 0, 0,
2345 create_SrcA_X0, get_SrcA_X0
867e359b
CM
2346 },
2347 {
eb7c792d 2348 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2349 6, 0, 0, 1, 0, 0,
2350 create_Dest_X1, get_Dest_X1
867e359b
CM
2351 },
2352 {
eb7c792d 2353 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2354 6, 0, 1, 0, 0, 0,
2355 create_SrcA_X1, get_SrcA_X1
867e359b
CM
2356 },
2357 {
eb7c792d 2358 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2359 6, 0, 0, 1, 0, 0,
2360 create_Dest_Y0, get_Dest_Y0
867e359b
CM
2361 },
2362 {
eb7c792d 2363 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2364 6, 0, 1, 0, 0, 0,
2365 create_SrcA_Y0, get_SrcA_Y0
867e359b
CM
2366 },
2367 {
eb7c792d 2368 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2369 6, 0, 0, 1, 0, 0,
2370 create_Dest_Y1, get_Dest_Y1
867e359b
CM
2371 },
2372 {
eb7c792d 2373 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2374 6, 0, 1, 0, 0, 0,
2375 create_SrcA_Y1, get_SrcA_Y1
867e359b
CM
2376 },
2377 {
eb7c792d 2378 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2379 6, 0, 1, 0, 0, 0,
2380 create_SrcA_Y2, get_SrcA_Y2
867e359b
CM
2381 },
2382 {
eb7c792d 2383 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2384 6, 0, 1, 0, 0, 0,
2385 create_SrcB_X0, get_SrcB_X0
867e359b
CM
2386 },
2387 {
eb7c792d 2388 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2389 6, 0, 1, 0, 0, 0,
2390 create_SrcB_X1, get_SrcB_X1
867e359b
CM
2391 },
2392 {
eb7c792d 2393 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2394 6, 0, 1, 0, 0, 0,
2395 create_SrcB_Y0, get_SrcB_Y0
867e359b
CM
2396 },
2397 {
eb7c792d 2398 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2399 6, 0, 1, 0, 0, 0,
2400 create_SrcB_Y1, get_SrcB_Y1
867e359b
CM
2401 },
2402 {
eb7c792d
CM
2403 TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(TILEPRO_BROFF_X1),
2404 17, 1, 0, 0, 1, TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
863fbac6 2405 create_BrOff_X1, get_BrOff_X1
867e359b
CM
2406 },
2407 {
eb7c792d 2408 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2409 6, 0, 1, 1, 0, 0,
2410 create_Dest_X0, get_Dest_X0
867e359b
CM
2411 },
2412 {
eb7c792d
CM
2413 TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(NONE),
2414 28, 1, 0, 0, 1, TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
863fbac6 2415 create_JOff_X1, get_JOff_X1
867e359b
CM
2416 },
2417 {
eb7c792d 2418 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2419 6, 0, 0, 1, 0, 0,
2420 create_SrcBDest_Y2, get_SrcBDest_Y2
867e359b
CM
2421 },
2422 {
eb7c792d 2423 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2424 6, 0, 1, 1, 0, 0,
2425 create_SrcA_X1, get_SrcA_X1
867e359b
CM
2426 },
2427 {
eb7c792d 2428 TILEPRO_OP_TYPE_SPR, BFD_RELOC(TILEPRO_MF_IMM15_X1),
863fbac6
CM
2429 15, 0, 0, 0, 0, 0,
2430 create_MF_Imm15_X1, get_MF_Imm15_X1
867e359b
CM
2431 },
2432 {
eb7c792d 2433 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMSTART_X0),
863fbac6
CM
2434 5, 0, 0, 0, 0, 0,
2435 create_MMStart_X0, get_MMStart_X0
867e359b
CM
2436 },
2437 {
eb7c792d 2438 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMEND_X0),
863fbac6
CM
2439 5, 0, 0, 0, 0, 0,
2440 create_MMEnd_X0, get_MMEnd_X0
867e359b
CM
2441 },
2442 {
eb7c792d 2443 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMSTART_X1),
863fbac6
CM
2444 5, 0, 0, 0, 0, 0,
2445 create_MMStart_X1, get_MMStart_X1
867e359b
CM
2446 },
2447 {
eb7c792d 2448 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMEND_X1),
863fbac6
CM
2449 5, 0, 0, 0, 0, 0,
2450 create_MMEnd_X1, get_MMEnd_X1
867e359b
CM
2451 },
2452 {
eb7c792d 2453 TILEPRO_OP_TYPE_SPR, BFD_RELOC(TILEPRO_MT_IMM15_X1),
863fbac6
CM
2454 15, 0, 0, 0, 0, 0,
2455 create_MT_Imm15_X1, get_MT_Imm15_X1
867e359b
CM
2456 },
2457 {
eb7c792d 2458 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2459 6, 0, 1, 1, 0, 0,
2460 create_Dest_Y0, get_Dest_Y0
867e359b
CM
2461 },
2462 {
eb7c792d 2463 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_X0),
863fbac6
CM
2464 5, 0, 0, 0, 0, 0,
2465 create_ShAmt_X0, get_ShAmt_X0
867e359b
CM
2466 },
2467 {
eb7c792d 2468 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_X1),
863fbac6
CM
2469 5, 0, 0, 0, 0, 0,
2470 create_ShAmt_X1, get_ShAmt_X1
867e359b
CM
2471 },
2472 {
eb7c792d 2473 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_Y0),
863fbac6
CM
2474 5, 0, 0, 0, 0, 0,
2475 create_ShAmt_Y0, get_ShAmt_Y0
867e359b
CM
2476 },
2477 {
eb7c792d 2478 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_Y1),
863fbac6
CM
2479 5, 0, 0, 0, 0, 0,
2480 create_ShAmt_Y1, get_ShAmt_Y1
867e359b
CM
2481 },
2482 {
eb7c792d 2483 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2484 6, 0, 1, 0, 0, 0,
2485 create_SrcBDest_Y2, get_SrcBDest_Y2
867e359b
CM
2486 },
2487 {
eb7c792d 2488 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_DEST_IMM8_X1),
863fbac6
CM
2489 8, 1, 0, 0, 0, 0,
2490 create_Dest_Imm8_X1, get_Dest_Imm8_X1
867e359b
CM
2491 },
2492 {
eb7c792d
CM
2493 TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(NONE),
2494 10, 1, 0, 0, 1, TILEPRO_LOG2_SN_INSTRUCTION_SIZE_IN_BYTES,
863fbac6 2495 create_BrOff_SN, get_BrOff_SN
867e359b
CM
2496 },
2497 {
eb7c792d 2498 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(NONE),
863fbac6
CM
2499 8, 0, 0, 0, 0, 0,
2500 create_Imm8_SN, get_Imm8_SN
867e359b
CM
2501 },
2502 {
eb7c792d 2503 TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(NONE),
863fbac6
CM
2504 8, 1, 0, 0, 0, 0,
2505 create_Imm8_SN, get_Imm8_SN
867e359b
CM
2506 },
2507 {
eb7c792d 2508 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2509 2, 0, 0, 1, 0, 0,
2510 create_Dest_SN, get_Dest_SN
867e359b
CM
2511 },
2512 {
eb7c792d 2513 TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
863fbac6
CM
2514 2, 0, 1, 0, 0, 0,
2515 create_Src_SN, get_Src_SN
867e359b
CM
2516 }
2517};
2518
867e359b 2519
867e359b
CM
2520
2521
93013a0f
CM
2522/* Given a set of bundle bits and a specific pipe, returns which
2523 * instruction the bundle contains in that pipe.
867e359b 2524 */
eb7c792d
CM
2525const struct tilepro_opcode *
2526find_opcode(tilepro_bundle_bits bits, tilepro_pipeline pipe)
867e359b 2527{
eb7c792d 2528 const unsigned short *table = tilepro_bundle_decoder_fsms[pipe];
867e359b
CM
2529 int index = 0;
2530
2531 while (1)
2532 {
2533 unsigned short bitspec = table[index];
2534 unsigned int bitfield =
2535 ((unsigned int)(bits >> (bitspec & 63))) & (bitspec >> 6);
2536
2537 unsigned short next = table[index + 1 + bitfield];
eb7c792d
CM
2538 if (next <= TILEPRO_OPC_NONE)
2539 return &tilepro_opcodes[next];
867e359b 2540
eb7c792d 2541 index = next - TILEPRO_OPC_NONE;
867e359b
CM
2542 }
2543}
2544
2545
2546int
eb7c792d
CM
2547parse_insn_tilepro(tilepro_bundle_bits bits,
2548 unsigned int pc,
2549 struct tilepro_decoded_instruction
2550 decoded[TILEPRO_MAX_INSTRUCTIONS_PER_BUNDLE])
867e359b
CM
2551{
2552 int num_instructions = 0;
2553 int pipe;
2554
2555 int min_pipe, max_pipe;
eb7c792d 2556 if ((bits & TILEPRO_BUNDLE_Y_ENCODING_MASK) == 0)
867e359b 2557 {
eb7c792d
CM
2558 min_pipe = TILEPRO_PIPELINE_X0;
2559 max_pipe = TILEPRO_PIPELINE_X1;
867e359b
CM
2560 }
2561 else
2562 {
eb7c792d
CM
2563 min_pipe = TILEPRO_PIPELINE_Y0;
2564 max_pipe = TILEPRO_PIPELINE_Y2;
867e359b
CM
2565 }
2566
2567 /* For each pipe, find an instruction that fits. */
2568 for (pipe = min_pipe; pipe <= max_pipe; pipe++)
2569 {
eb7c792d
CM
2570 const struct tilepro_opcode *opc;
2571 struct tilepro_decoded_instruction *d;
867e359b
CM
2572 int i;
2573
2574 d = &decoded[num_instructions++];
eb7c792d 2575 opc = find_opcode (bits, (tilepro_pipeline)pipe);
867e359b
CM
2576 d->opcode = opc;
2577
2578 /* Decode each operand, sign extending, etc. as appropriate. */
2579 for (i = 0; i < opc->num_operands; i++)
2580 {
eb7c792d
CM
2581 const struct tilepro_operand *op =
2582 &tilepro_operands[opc->operands[pipe][i]];
867e359b
CM
2583 int opval = op->extract (bits);
2584 if (op->is_signed)
2585 {
2586 /* Sign-extend the operand. */
2587 int shift = (int)((sizeof(int) * 8) - op->num_bits);
2588 opval = (opval << shift) >> shift;
2589 }
2590
2591 /* Adjust PC-relative scaled branch offsets. */
eb7c792d 2592 if (op->type == TILEPRO_OP_TYPE_ADDRESS)
867e359b 2593 {
eb7c792d 2594 opval *= TILEPRO_BUNDLE_SIZE_IN_BYTES;
867e359b
CM
2595 opval += (int)pc;
2596 }
2597
2598 /* Record the final value. */
2599 d->operands[i] = op;
2600 d->operand_values[i] = opval;
2601 }
2602 }
2603
2604 return num_instructions;
2605}
This page took 0.927415 seconds and 5 git commands to generate.