tile-desc_32.c 111.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
/* TILEPro opcode information.
 *
 * Copyright 2011 Tilera Corporation. All Rights Reserved.
 *
 *   This program is free software; you can redistribute it and/or
 *   modify it under the terms of the GNU General Public License
 *   as published by the Free Software Foundation, version 2.
 *
 *   This program is distributed in the hope that it will be useful, but
 *   WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
 *   NON INFRINGEMENT.  See the GNU General Public License for
 *   more details.
 *
 *
 *
 *
 *
 */

21 22
/* This define is BFD_RELOC_##x for real bfd, or -1 for everyone else. */
#define BFD_RELOC(x) -1
23 24 25 26 27 28

/* Special registers. */
#define TREG_LR 55
#define TREG_SN 56
#define TREG_ZERO 63

29
#include <linux/stddef.h>
30
#include <asm/tile-desc.h>
31

32
const struct tilepro_opcode tilepro_opcodes[395] =
33
{
34
 { "bpt", TILEPRO_OPC_BPT, 0x2, 0, TREG_ZERO, 0,
35 36
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
  },
37
  { "info", TILEPRO_OPC_INFO, 0xf, 1, TREG_ZERO, 1,
38 39
    { { 0 }, { 1 }, { 2 }, { 3 }, { 0, } },
  },
40
  { "infol", TILEPRO_OPC_INFOL, 0x3, 1, TREG_ZERO, 1,
41 42
    { { 4 }, { 5 }, { 0, }, { 0, }, { 0, } },
  },
43
  { "j", TILEPRO_OPC_J, 0x2, 1, TREG_ZERO, 1,
44 45
    { { 0, }, { 6 }, { 0, }, { 0, }, { 0, } },
  },
46
  { "jal", TILEPRO_OPC_JAL, 0x2, 1, TREG_LR, 1,
47 48
    { { 0, }, { 6 }, { 0, }, { 0, }, { 0, } },
  },
49
  { "move", TILEPRO_OPC_MOVE, 0xf, 2, TREG_ZERO, 1,
50 51
    { { 7, 8 }, { 9, 10 }, { 11, 12 }, { 13, 14 }, { 0, } },
  },
52
  { "move.sn", TILEPRO_OPC_MOVE_SN, 0x3, 2, TREG_SN, 1,
53 54
    { { 7, 8 }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
  },
55
  { "movei", TILEPRO_OPC_MOVEI, 0xf, 2, TREG_ZERO, 1,
56 57
    { { 7, 0 }, { 9, 1 }, { 11, 2 }, { 13, 3 }, { 0, } },
  },
58
  { "movei.sn", TILEPRO_OPC_MOVEI_SN, 0x3, 2, TREG_SN, 1,
59 60
    { { 7, 0 }, { 9, 1 }, { 0, }, { 0, }, { 0, } },
  },
61
  { "moveli", TILEPRO_OPC_MOVELI, 0x3, 2, TREG_ZERO, 1,
62 63
    { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
  },
64
  { "moveli.sn", TILEPRO_OPC_MOVELI_SN, 0x3, 2, TREG_SN, 1,
65 66
    { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
  },
67
  { "movelis", TILEPRO_OPC_MOVELIS, 0x3, 2, TREG_SN, 1,
68 69
    { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
  },
70
  { "prefetch", TILEPRO_OPC_PREFETCH, 0x12, 1, TREG_ZERO, 1,
71 72
    { { 0, }, { 10 }, { 0, }, { 0, }, { 15 } },
  },
73
  { "raise", TILEPRO_OPC_RAISE, 0x2, 0, TREG_ZERO, 1,
74 75
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
  },
76
  { "add", TILEPRO_OPC_ADD, 0xf, 3, TREG_ZERO, 1,
77 78
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
79
  { "add.sn", TILEPRO_OPC_ADD_SN, 0x3, 3, TREG_SN, 1,
80 81
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
82
  { "addb", TILEPRO_OPC_ADDB, 0x3, 3, TREG_ZERO, 1,
83 84
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
85
  { "addb.sn", TILEPRO_OPC_ADDB_SN, 0x3, 3, TREG_SN, 1,
86 87
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
88
  { "addbs_u", TILEPRO_OPC_ADDBS_U, 0x3, 3, TREG_ZERO, 1,
89 90
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
91
  { "addbs_u.sn", TILEPRO_OPC_ADDBS_U_SN, 0x3, 3, TREG_SN, 1,
92 93
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
94
  { "addh", TILEPRO_OPC_ADDH, 0x3, 3, TREG_ZERO, 1,
95 96
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
97
  { "addh.sn", TILEPRO_OPC_ADDH_SN, 0x3, 3, TREG_SN, 1,
98 99
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
100
  { "addhs", TILEPRO_OPC_ADDHS, 0x3, 3, TREG_ZERO, 1,
101 102
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
103
  { "addhs.sn", TILEPRO_OPC_ADDHS_SN, 0x3, 3, TREG_SN, 1,
104 105
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
106
  { "addi", TILEPRO_OPC_ADDI, 0xf, 3, TREG_ZERO, 1,
107 108
    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
  },
109
  { "addi.sn", TILEPRO_OPC_ADDI_SN, 0x3, 3, TREG_SN, 1,
110 111
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
112
  { "addib", TILEPRO_OPC_ADDIB, 0x3, 3, TREG_ZERO, 1,
113 114
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
115
  { "addib.sn", TILEPRO_OPC_ADDIB_SN, 0x3, 3, TREG_SN, 1,
116 117
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
118
  { "addih", TILEPRO_OPC_ADDIH, 0x3, 3, TREG_ZERO, 1,
119 120
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
121
  { "addih.sn", TILEPRO_OPC_ADDIH_SN, 0x3, 3, TREG_SN, 1,
122 123
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
124
  { "addli", TILEPRO_OPC_ADDLI, 0x3, 3, TREG_ZERO, 1,
125 126
    { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
  },
127
  { "addli.sn", TILEPRO_OPC_ADDLI_SN, 0x3, 3, TREG_SN, 1,
128 129
    { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
  },
130
  { "addlis", TILEPRO_OPC_ADDLIS, 0x3, 3, TREG_SN, 1,
131 132
    { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
  },
133
  { "adds", TILEPRO_OPC_ADDS, 0x3, 3, TREG_ZERO, 1,
134 135
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
136
  { "adds.sn", TILEPRO_OPC_ADDS_SN, 0x3, 3, TREG_SN, 1,
137 138
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
139
  { "adiffb_u", TILEPRO_OPC_ADIFFB_U, 0x1, 3, TREG_ZERO, 1,
140 141
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
142
  { "adiffb_u.sn", TILEPRO_OPC_ADIFFB_U_SN, 0x1, 3, TREG_SN, 1,
143 144
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
145
  { "adiffh", TILEPRO_OPC_ADIFFH, 0x1, 3, TREG_ZERO, 1,
146 147
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
148
  { "adiffh.sn", TILEPRO_OPC_ADIFFH_SN, 0x1, 3, TREG_SN, 1,
149 150
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
151
  { "and", TILEPRO_OPC_AND, 0xf, 3, TREG_ZERO, 1,
152 153
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
154
  { "and.sn", TILEPRO_OPC_AND_SN, 0x3, 3, TREG_SN, 1,
155 156
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
157
  { "andi", TILEPRO_OPC_ANDI, 0xf, 3, TREG_ZERO, 1,
158 159
    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
  },
160
  { "andi.sn", TILEPRO_OPC_ANDI_SN, 0x3, 3, TREG_SN, 1,
161 162
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
163
  { "auli", TILEPRO_OPC_AULI, 0x3, 3, TREG_ZERO, 1,
164 165
    { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
  },
166
  { "avgb_u", TILEPRO_OPC_AVGB_U, 0x1, 3, TREG_ZERO, 1,
167 168
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
169
  { "avgb_u.sn", TILEPRO_OPC_AVGB_U_SN, 0x1, 3, TREG_SN, 1,
170 171
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
172
  { "avgh", TILEPRO_OPC_AVGH, 0x1, 3, TREG_ZERO, 1,
173 174
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
175
  { "avgh.sn", TILEPRO_OPC_AVGH_SN, 0x1, 3, TREG_SN, 1,
176 177
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
178
  { "bbns", TILEPRO_OPC_BBNS, 0x2, 2, TREG_ZERO, 1,
179 180
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
181
  { "bbns.sn", TILEPRO_OPC_BBNS_SN, 0x2, 2, TREG_SN, 1,
182 183
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
184
  { "bbnst", TILEPRO_OPC_BBNST, 0x2, 2, TREG_ZERO, 1,
185 186
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
187
  { "bbnst.sn", TILEPRO_OPC_BBNST_SN, 0x2, 2, TREG_SN, 1,
188 189
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
190
  { "bbs", TILEPRO_OPC_BBS, 0x2, 2, TREG_ZERO, 1,
191 192
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
193
  { "bbs.sn", TILEPRO_OPC_BBS_SN, 0x2, 2, TREG_SN, 1,
194 195
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
196
  { "bbst", TILEPRO_OPC_BBST, 0x2, 2, TREG_ZERO, 1,
197 198
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
199
  { "bbst.sn", TILEPRO_OPC_BBST_SN, 0x2, 2, TREG_SN, 1,
200 201
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
202
  { "bgez", TILEPRO_OPC_BGEZ, 0x2, 2, TREG_ZERO, 1,
203 204
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
205
  { "bgez.sn", TILEPRO_OPC_BGEZ_SN, 0x2, 2, TREG_SN, 1,
206 207
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
208
  { "bgezt", TILEPRO_OPC_BGEZT, 0x2, 2, TREG_ZERO, 1,
209 210
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
211
  { "bgezt.sn", TILEPRO_OPC_BGEZT_SN, 0x2, 2, TREG_SN, 1,
212 213
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
214
  { "bgz", TILEPRO_OPC_BGZ, 0x2, 2, TREG_ZERO, 1,
215 216
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
217
  { "bgz.sn", TILEPRO_OPC_BGZ_SN, 0x2, 2, TREG_SN, 1,
218 219
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
220
  { "bgzt", TILEPRO_OPC_BGZT, 0x2, 2, TREG_ZERO, 1,
221 222
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
223
  { "bgzt.sn", TILEPRO_OPC_BGZT_SN, 0x2, 2, TREG_SN, 1,
224 225
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
226
  { "bitx", TILEPRO_OPC_BITX, 0x5, 2, TREG_ZERO, 1,
227 228
    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
  },
229
  { "bitx.sn", TILEPRO_OPC_BITX_SN, 0x1, 2, TREG_SN, 1,
230 231
    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
232
  { "blez", TILEPRO_OPC_BLEZ, 0x2, 2, TREG_ZERO, 1,
233 234
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
235
  { "blez.sn", TILEPRO_OPC_BLEZ_SN, 0x2, 2, TREG_SN, 1,
236 237
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
238
  { "blezt", TILEPRO_OPC_BLEZT, 0x2, 2, TREG_ZERO, 1,
239 240
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
241
  { "blezt.sn", TILEPRO_OPC_BLEZT_SN, 0x2, 2, TREG_SN, 1,
242 243
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
244
  { "blz", TILEPRO_OPC_BLZ, 0x2, 2, TREG_ZERO, 1,
245 246
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
247
  { "blz.sn", TILEPRO_OPC_BLZ_SN, 0x2, 2, TREG_SN, 1,
248 249
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
250
  { "blzt", TILEPRO_OPC_BLZT, 0x2, 2, TREG_ZERO, 1,
251 252
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
253
  { "blzt.sn", TILEPRO_OPC_BLZT_SN, 0x2, 2, TREG_SN, 1,
254 255
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
256
  { "bnz", TILEPRO_OPC_BNZ, 0x2, 2, TREG_ZERO, 1,
257 258
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
259
  { "bnz.sn", TILEPRO_OPC_BNZ_SN, 0x2, 2, TREG_SN, 1,
260 261
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
262
  { "bnzt", TILEPRO_OPC_BNZT, 0x2, 2, TREG_ZERO, 1,
263 264
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
265
  { "bnzt.sn", TILEPRO_OPC_BNZT_SN, 0x2, 2, TREG_SN, 1,
266 267
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
268
  { "bytex", TILEPRO_OPC_BYTEX, 0x5, 2, TREG_ZERO, 1,
269 270
    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
  },
271
  { "bytex.sn", TILEPRO_OPC_BYTEX_SN, 0x1, 2, TREG_SN, 1,
272 273
    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
274
  { "bz", TILEPRO_OPC_BZ, 0x2, 2, TREG_ZERO, 1,
275 276
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
277
  { "bz.sn", TILEPRO_OPC_BZ_SN, 0x2, 2, TREG_SN, 1,
278 279
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
280
  { "bzt", TILEPRO_OPC_BZT, 0x2, 2, TREG_ZERO, 1,
281 282
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
283
  { "bzt.sn", TILEPRO_OPC_BZT_SN, 0x2, 2, TREG_SN, 1,
284 285
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
  },
286
  { "clz", TILEPRO_OPC_CLZ, 0x5, 2, TREG_ZERO, 1,
287 288
    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
  },
289
  { "clz.sn", TILEPRO_OPC_CLZ_SN, 0x1, 2, TREG_SN, 1,
290 291
    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
292
  { "crc32_32", TILEPRO_OPC_CRC32_32, 0x1, 3, TREG_ZERO, 1,
293 294
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
295
  { "crc32_32.sn", TILEPRO_OPC_CRC32_32_SN, 0x1, 3, TREG_SN, 1,
296 297
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
298
  { "crc32_8", TILEPRO_OPC_CRC32_8, 0x1, 3, TREG_ZERO, 1,
299 300
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
301
  { "crc32_8.sn", TILEPRO_OPC_CRC32_8_SN, 0x1, 3, TREG_SN, 1,
302 303
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
304
  { "ctz", TILEPRO_OPC_CTZ, 0x5, 2, TREG_ZERO, 1,
305 306
    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
  },
307
  { "ctz.sn", TILEPRO_OPC_CTZ_SN, 0x1, 2, TREG_SN, 1,
308 309
    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
310
  { "drain", TILEPRO_OPC_DRAIN, 0x2, 0, TREG_ZERO, 0,
311 312
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
  },
313
  { "dtlbpr", TILEPRO_OPC_DTLBPR, 0x2, 1, TREG_ZERO, 1,
314 315
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
  },
316
  { "dword_align", TILEPRO_OPC_DWORD_ALIGN, 0x1, 3, TREG_ZERO, 1,
317 318
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
319
  { "dword_align.sn", TILEPRO_OPC_DWORD_ALIGN_SN, 0x1, 3, TREG_SN, 1,
320 321
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
322
  { "finv", TILEPRO_OPC_FINV, 0x2, 1, TREG_ZERO, 1,
323 324
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
  },
325
  { "flush", TILEPRO_OPC_FLUSH, 0x2, 1, TREG_ZERO, 1,
326 327
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
  },
328
  { "fnop", TILEPRO_OPC_FNOP, 0xf, 0, TREG_ZERO, 1,
329 330
    { {  }, {  }, {  }, {  }, { 0, } },
  },
331
  { "icoh", TILEPRO_OPC_ICOH, 0x2, 1, TREG_ZERO, 1,
332 333
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
  },
334
  { "ill", TILEPRO_OPC_ILL, 0xa, 0, TREG_ZERO, 1,
335 336
    { { 0, }, {  }, { 0, }, {  }, { 0, } },
  },
337
  { "inthb", TILEPRO_OPC_INTHB, 0x3, 3, TREG_ZERO, 1,
338 339
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
340
  { "inthb.sn", TILEPRO_OPC_INTHB_SN, 0x3, 3, TREG_SN, 1,
341 342
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
343
  { "inthh", TILEPRO_OPC_INTHH, 0x3, 3, TREG_ZERO, 1,
344 345
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
346
  { "inthh.sn", TILEPRO_OPC_INTHH_SN, 0x3, 3, TREG_SN, 1,
347 348
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
349
  { "intlb", TILEPRO_OPC_INTLB, 0x3, 3, TREG_ZERO, 1,
350 351
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
352
  { "intlb.sn", TILEPRO_OPC_INTLB_SN, 0x3, 3, TREG_SN, 1,
353 354
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
355
  { "intlh", TILEPRO_OPC_INTLH, 0x3, 3, TREG_ZERO, 1,
356 357
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
358
  { "intlh.sn", TILEPRO_OPC_INTLH_SN, 0x3, 3, TREG_SN, 1,
359 360
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
361
  { "inv", TILEPRO_OPC_INV, 0x2, 1, TREG_ZERO, 1,
362 363
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
  },
364
  { "iret", TILEPRO_OPC_IRET, 0x2, 0, TREG_ZERO, 1,
365 366
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
  },
367
  { "jalb", TILEPRO_OPC_JALB, 0x2, 1, TREG_LR, 1,
368 369
    { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
  },
370
  { "jalf", TILEPRO_OPC_JALF, 0x2, 1, TREG_LR, 1,
371 372
    { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
  },
373
  { "jalr", TILEPRO_OPC_JALR, 0x2, 1, TREG_LR, 1,
374 375
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
  },
376
  { "jalrp", TILEPRO_OPC_JALRP, 0x2, 1, TREG_LR, 1,
377 378
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
  },
379
  { "jb", TILEPRO_OPC_JB, 0x2, 1, TREG_ZERO, 1,
380 381
    { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
  },
382
  { "jf", TILEPRO_OPC_JF, 0x2, 1, TREG_ZERO, 1,
383 384
    { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
  },
385
  { "jr", TILEPRO_OPC_JR, 0x2, 1, TREG_ZERO, 1,
386 387
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
  },
388
  { "jrp", TILEPRO_OPC_JRP, 0x2, 1, TREG_ZERO, 1,
389 390
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
  },
391
  { "lb", TILEPRO_OPC_LB, 0x12, 2, TREG_ZERO, 1,
392 393
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
  },
394
  { "lb.sn", TILEPRO_OPC_LB_SN, 0x2, 2, TREG_SN, 1,
395 396
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
  },
397
  { "lb_u", TILEPRO_OPC_LB_U, 0x12, 2, TREG_ZERO, 1,
398 399
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
  },
400
  { "lb_u.sn", TILEPRO_OPC_LB_U_SN, 0x2, 2, TREG_SN, 1,
401 402
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
  },
403
  { "lbadd", TILEPRO_OPC_LBADD, 0x2, 3, TREG_ZERO, 1,
404 405
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
  },
406
  { "lbadd.sn", TILEPRO_OPC_LBADD_SN, 0x2, 3, TREG_SN, 1,
407 408
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
  },
409
  { "lbadd_u", TILEPRO_OPC_LBADD_U, 0x2, 3, TREG_ZERO, 1,
410 411
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
  },
412
  { "lbadd_u.sn", TILEPRO_OPC_LBADD_U_SN, 0x2, 3, TREG_SN, 1,
413 414
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
  },
415
  { "lh", TILEPRO_OPC_LH, 0x12, 2, TREG_ZERO, 1,
416 417
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
  },
418
  { "lh.sn", TILEPRO_OPC_LH_SN, 0x2, 2, TREG_SN, 1,
419 420
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
  },
421
  { "lh_u", TILEPRO_OPC_LH_U, 0x12, 2, TREG_ZERO, 1,
422 423
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
  },
424
  { "lh_u.sn", TILEPRO_OPC_LH_U_SN, 0x2, 2, TREG_SN, 1,
425 426
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
  },
427
  { "lhadd", TILEPRO_OPC_LHADD, 0x2, 3, TREG_ZERO, 1,
428 429
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
  },
430
  { "lhadd.sn", TILEPRO_OPC_LHADD_SN, 0x2, 3, TREG_SN, 1,
431 432
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
  },
433
  { "lhadd_u", TILEPRO_OPC_LHADD_U, 0x2, 3, TREG_ZERO, 1,
434 435
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
  },
436
  { "lhadd_u.sn", TILEPRO_OPC_LHADD_U_SN, 0x2, 3, TREG_SN, 1,
437 438
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
  },
439
  { "lnk", TILEPRO_OPC_LNK, 0x2, 1, TREG_ZERO, 1,
440 441
    { { 0, }, { 9 }, { 0, }, { 0, }, { 0, } },
  },
442
  { "lnk.sn", TILEPRO_OPC_LNK_SN, 0x2, 1, TREG_SN, 1,
443 444
    { { 0, }, { 9 }, { 0, }, { 0, }, { 0, } },
  },
445
  { "lw", TILEPRO_OPC_LW, 0x12, 2, TREG_ZERO, 1,
446 447
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
  },
448
  { "lw.sn", TILEPRO_OPC_LW_SN, 0x2, 2, TREG_SN, 1,
449 450
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
  },
451
  { "lw_na", TILEPRO_OPC_LW_NA, 0x2, 2, TREG_ZERO, 1,
452 453
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
  },
454
  { "lw_na.sn", TILEPRO_OPC_LW_NA_SN, 0x2, 2, TREG_SN, 1,
455 456
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
  },
457
  { "lwadd", TILEPRO_OPC_LWADD, 0x2, 3, TREG_ZERO, 1,
458 459
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
  },
460
  { "lwadd.sn", TILEPRO_OPC_LWADD_SN, 0x2, 3, TREG_SN, 1,
461 462
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
  },
463
  { "lwadd_na", TILEPRO_OPC_LWADD_NA, 0x2, 3, TREG_ZERO, 1,
464 465
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
  },
466
  { "lwadd_na.sn", TILEPRO_OPC_LWADD_NA_SN, 0x2, 3, TREG_SN, 1,
467 468
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
  },
469
  { "maxb_u", TILEPRO_OPC_MAXB_U, 0x3, 3, TREG_ZERO, 1,
470 471
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
472
  { "maxb_u.sn", TILEPRO_OPC_MAXB_U_SN, 0x3, 3, TREG_SN, 1,
473 474
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
475
  { "maxh", TILEPRO_OPC_MAXH, 0x3, 3, TREG_ZERO, 1,
476 477
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
478
  { "maxh.sn", TILEPRO_OPC_MAXH_SN, 0x3, 3, TREG_SN, 1,
479 480
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
481
  { "maxib_u", TILEPRO_OPC_MAXIB_U, 0x3, 3, TREG_ZERO, 1,
482 483
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
484
  { "maxib_u.sn", TILEPRO_OPC_MAXIB_U_SN, 0x3, 3, TREG_SN, 1,
485 486
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
487
  { "maxih", TILEPRO_OPC_MAXIH, 0x3, 3, TREG_ZERO, 1,
488 489
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
490
  { "maxih.sn", TILEPRO_OPC_MAXIH_SN, 0x3, 3, TREG_SN, 1,
491 492
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
493
  { "mf", TILEPRO_OPC_MF, 0x2, 0, TREG_ZERO, 1,
494 495
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
  },
496
  { "mfspr", TILEPRO_OPC_MFSPR, 0x2, 2, TREG_ZERO, 1,
497 498
    { { 0, }, { 9, 25 }, { 0, }, { 0, }, { 0, } },
  },
499
  { "minb_u", TILEPRO_OPC_MINB_U, 0x3, 3, TREG_ZERO, 1,
500 501
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
502
  { "minb_u.sn", TILEPRO_OPC_MINB_U_SN, 0x3, 3, TREG_SN, 1,
503 504
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
505
  { "minh", TILEPRO_OPC_MINH, 0x3, 3, TREG_ZERO, 1,
506 507
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
508
  { "minh.sn", TILEPRO_OPC_MINH_SN, 0x3, 3, TREG_SN, 1,
509 510
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
511
  { "minib_u", TILEPRO_OPC_MINIB_U, 0x3, 3, TREG_ZERO, 1,
512 513
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
514
  { "minib_u.sn", TILEPRO_OPC_MINIB_U_SN, 0x3, 3, TREG_SN, 1,
515 516
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
517
  { "minih", TILEPRO_OPC_MINIH, 0x3, 3, TREG_ZERO, 1,
518 519
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
520
  { "minih.sn", TILEPRO_OPC_MINIH_SN, 0x3, 3, TREG_SN, 1,
521 522
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
523
  { "mm", TILEPRO_OPC_MM, 0x3, 5, TREG_ZERO, 1,
524 525
    { { 7, 8, 16, 26, 27 }, { 9, 10, 17, 28, 29 }, { 0, }, { 0, }, { 0, } },
  },
526
  { "mnz", TILEPRO_OPC_MNZ, 0xf, 3, TREG_ZERO, 1,
527 528
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
529
  { "mnz.sn", TILEPRO_OPC_MNZ_SN, 0x3, 3, TREG_SN, 1,
530 531
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
532
  { "mnzb", TILEPRO_OPC_MNZB, 0x3, 3, TREG_ZERO, 1,
533 534
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
535
  { "mnzb.sn", TILEPRO_OPC_MNZB_SN, 0x3, 3, TREG_SN, 1,
536 537
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
538
  { "mnzh", TILEPRO_OPC_MNZH, 0x3, 3, TREG_ZERO, 1,
539 540
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
541
  { "mnzh.sn", TILEPRO_OPC_MNZH_SN, 0x3, 3, TREG_SN, 1,
542 543
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
544
  { "mtspr", TILEPRO_OPC_MTSPR, 0x2, 2, TREG_ZERO, 1,
545 546
    { { 0, }, { 30, 10 }, { 0, }, { 0, }, { 0, } },
  },
547
  { "mulhh_ss", TILEPRO_OPC_MULHH_SS, 0x5, 3, TREG_ZERO, 1,
548 549
    { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
  },
550
  { "mulhh_ss.sn", TILEPRO_OPC_MULHH_SS_SN, 0x1, 3, TREG_SN, 1,
551 552
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
553
  { "mulhh_su", TILEPRO_OPC_MULHH_SU, 0x1, 3, TREG_ZERO, 1,
554 555
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
556
  { "mulhh_su.sn", TILEPRO_OPC_MULHH_SU_SN, 0x1, 3, TREG_SN, 1,
557 558
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
559
  { "mulhh_uu", TILEPRO_OPC_MULHH_UU, 0x5, 3, TREG_ZERO, 1,
560 561
    { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
  },
562
  { "mulhh_uu.sn", TILEPRO_OPC_MULHH_UU_SN, 0x1, 3, TREG_SN, 1,
563 564
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
565
  { "mulhha_ss", TILEPRO_OPC_MULHHA_SS, 0x5, 3, TREG_ZERO, 1,
566 567
    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
  },
568
  { "mulhha_ss.sn", TILEPRO_OPC_MULHHA_SS_SN, 0x1, 3, TREG_SN, 1,
569 570
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
571
  { "mulhha_su", TILEPRO_OPC_MULHHA_SU, 0x1, 3, TREG_ZERO, 1,
572 573
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
574
  { "mulhha_su.sn", TILEPRO_OPC_MULHHA_SU_SN, 0x1, 3, TREG_SN, 1,
575 576
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
577
  { "mulhha_uu", TILEPRO_OPC_MULHHA_UU, 0x5, 3, TREG_ZERO, 1,
578 579
    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
  },
580
  { "mulhha_uu.sn", TILEPRO_OPC_MULHHA_UU_SN, 0x1, 3, TREG_SN, 1,
581 582
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
583
  { "mulhhsa_uu", TILEPRO_OPC_MULHHSA_UU, 0x1, 3, TREG_ZERO, 1,
584 585
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
586
  { "mulhhsa_uu.sn", TILEPRO_OPC_MULHHSA_UU_SN, 0x1, 3, TREG_SN, 1,
587 588
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
589
  { "mulhl_ss", TILEPRO_OPC_MULHL_SS, 0x1, 3, TREG_ZERO, 1,
590 591
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
592
  { "mulhl_ss.sn", TILEPRO_OPC_MULHL_SS_SN, 0x1, 3, TREG_SN, 1,
593 594
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
595
  { "mulhl_su", TILEPRO_OPC_MULHL_SU, 0x1, 3, TREG_ZERO, 1,
596 597
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
598
  { "mulhl_su.sn", TILEPRO_OPC_MULHL_SU_SN, 0x1, 3, TREG_SN, 1,
599 600
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
601
  { "mulhl_us", TILEPRO_OPC_MULHL_US, 0x1, 3, TREG_ZERO, 1,
602 603
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
604
  { "mulhl_us.sn", TILEPRO_OPC_MULHL_US_SN, 0x1, 3, TREG_SN, 1,
605 606
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
607
  { "mulhl_uu", TILEPRO_OPC_MULHL_UU, 0x1, 3, TREG_ZERO, 1,
608 609
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
610
  { "mulhl_uu.sn", TILEPRO_OPC_MULHL_UU_SN, 0x1, 3, TREG_SN, 1,
611 612
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
613
  { "mulhla_ss", TILEPRO_OPC_MULHLA_SS, 0x1, 3, TREG_ZERO, 1,
614 615
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
616
  { "mulhla_ss.sn", TILEPRO_OPC_MULHLA_SS_SN, 0x1, 3, TREG_SN, 1,
617 618
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
619
  { "mulhla_su", TILEPRO_OPC_MULHLA_SU, 0x1, 3, TREG_ZERO, 1,
620 621
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
622
  { "mulhla_su.sn", TILEPRO_OPC_MULHLA_SU_SN, 0x1, 3, TREG_SN, 1,
623 624
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
625
  { "mulhla_us", TILEPRO_OPC_MULHLA_US, 0x1, 3, TREG_ZERO, 1,
626 627
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
628
  { "mulhla_us.sn", TILEPRO_OPC_MULHLA_US_SN, 0x1, 3, TREG_SN, 1,
629 630
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
631
  { "mulhla_uu", TILEPRO_OPC_MULHLA_UU, 0x1, 3, TREG_ZERO, 1,
632 633
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
634
  { "mulhla_uu.sn", TILEPRO_OPC_MULHLA_UU_SN, 0x1, 3, TREG_SN, 1,
635 636
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
637
  { "mulhlsa_uu", TILEPRO_OPC_MULHLSA_UU, 0x5, 3, TREG_ZERO, 1,
638 639
    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
  },
640
  { "mulhlsa_uu.sn", TILEPRO_OPC_MULHLSA_UU_SN, 0x1, 3, TREG_SN, 1,
641 642
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
643
  { "mulll_ss", TILEPRO_OPC_MULLL_SS, 0x5, 3, TREG_ZERO, 1,
644 645
    { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
  },
646
  { "mulll_ss.sn", TILEPRO_OPC_MULLL_SS_SN, 0x1, 3, TREG_SN, 1,
647 648
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
649
  { "mulll_su", TILEPRO_OPC_MULLL_SU, 0x1, 3, TREG_ZERO, 1,
650 651
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
652
  { "mulll_su.sn", TILEPRO_OPC_MULLL_SU_SN, 0x1, 3, TREG_SN, 1,
653 654
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
655
  { "mulll_uu", TILEPRO_OPC_MULLL_UU, 0x5, 3, TREG_ZERO, 1,
656 657
    { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
  },
658
  { "mulll_uu.sn", TILEPRO_OPC_MULLL_UU_SN, 0x1, 3, TREG_SN, 1,
659 660
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
661
  { "mullla_ss", TILEPRO_OPC_MULLLA_SS, 0x5, 3, TREG_ZERO, 1,
662 663
    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
  },
664
  { "mullla_ss.sn", TILEPRO_OPC_MULLLA_SS_SN, 0x1, 3, TREG_SN, 1,
665 666
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
667
  { "mullla_su", TILEPRO_OPC_MULLLA_SU, 0x1, 3, TREG_ZERO, 1,
668 669
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
670
  { "mullla_su.sn", TILEPRO_OPC_MULLLA_SU_SN, 0x1, 3, TREG_SN, 1,
671 672
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
673
  { "mullla_uu", TILEPRO_OPC_MULLLA_UU, 0x5, 3, TREG_ZERO, 1,
674 675
    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
  },
676
  { "mullla_uu.sn", TILEPRO_OPC_MULLLA_UU_SN, 0x1, 3, TREG_SN, 1,
677 678
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
679
  { "mulllsa_uu", TILEPRO_OPC_MULLLSA_UU, 0x1, 3, TREG_ZERO, 1,
680 681
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
682
  { "mulllsa_uu.sn", TILEPRO_OPC_MULLLSA_UU_SN, 0x1, 3, TREG_SN, 1,
683 684
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
685
  { "mvnz", TILEPRO_OPC_MVNZ, 0x5, 3, TREG_ZERO, 1,
686 687
    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
  },
688
  { "mvnz.sn", TILEPRO_OPC_MVNZ_SN, 0x1, 3, TREG_SN, 1,
689 690
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
691
  { "mvz", TILEPRO_OPC_MVZ, 0x5, 3, TREG_ZERO, 1,
692 693
    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
  },
694
  { "mvz.sn", TILEPRO_OPC_MVZ_SN, 0x1, 3, TREG_SN, 1,
695 696
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
697
  { "mz", TILEPRO_OPC_MZ, 0xf, 3, TREG_ZERO, 1,
698 699
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
700
  { "mz.sn", TILEPRO_OPC_MZ_SN, 0x3, 3, TREG_SN, 1,
701 702
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
703
  { "mzb", TILEPRO_OPC_MZB, 0x3, 3, TREG_ZERO, 1,
704 705
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
706
  { "mzb.sn", TILEPRO_OPC_MZB_SN, 0x3, 3, TREG_SN, 1,
707 708
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
709
  { "mzh", TILEPRO_OPC_MZH, 0x3, 3, TREG_ZERO, 1,
710 711
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
712
  { "mzh.sn", TILEPRO_OPC_MZH_SN, 0x3, 3, TREG_SN, 1,
713 714
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
715
  { "nap", TILEPRO_OPC_NAP, 0x2, 0, TREG_ZERO, 0,
716 717
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
  },
718
  { "nop", TILEPRO_OPC_NOP, 0xf, 0, TREG_ZERO, 1,
719 720
    { {  }, {  }, {  }, {  }, { 0, } },
  },
721
  { "nor", TILEPRO_OPC_NOR, 0xf, 3, TREG_ZERO, 1,
722 723
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
724
  { "nor.sn", TILEPRO_OPC_NOR_SN, 0x3, 3, TREG_SN, 1,
725 726
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
727
  { "or", TILEPRO_OPC_OR, 0xf, 3, TREG_ZERO, 1,
728 729
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
730
  { "or.sn", TILEPRO_OPC_OR_SN, 0x3, 3, TREG_SN, 1,
731 732
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
733
  { "ori", TILEPRO_OPC_ORI, 0xf, 3, TREG_ZERO, 1,
734 735
    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
  },
736
  { "ori.sn", TILEPRO_OPC_ORI_SN, 0x3, 3, TREG_SN, 1,
737 738
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
739
  { "packbs_u", TILEPRO_OPC_PACKBS_U, 0x3, 3, TREG_ZERO, 1,
740 741
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
742
  { "packbs_u.sn", TILEPRO_OPC_PACKBS_U_SN, 0x3, 3, TREG_SN, 1,
743 744
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
745
  { "packhb", TILEPRO_OPC_PACKHB, 0x3, 3, TREG_ZERO, 1,
746 747
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
748
  { "packhb.sn", TILEPRO_OPC_PACKHB_SN, 0x3, 3, TREG_SN, 1,
749 750
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
751
  { "packhs", TILEPRO_OPC_PACKHS, 0x3, 3, TREG_ZERO, 1,
752 753
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
754
  { "packhs.sn", TILEPRO_OPC_PACKHS_SN, 0x3, 3, TREG_SN, 1,
755 756
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
757
  { "packlb", TILEPRO_OPC_PACKLB, 0x3, 3, TREG_ZERO, 1,
758 759
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
760
  { "packlb.sn", TILEPRO_OPC_PACKLB_SN, 0x3, 3, TREG_SN, 1,
761 762
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
763
  { "pcnt", TILEPRO_OPC_PCNT, 0x5, 2, TREG_ZERO, 1,
764 765
    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
  },
766
  { "pcnt.sn", TILEPRO_OPC_PCNT_SN, 0x1, 2, TREG_SN, 1,
767 768
    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
769
  { "rl", TILEPRO_OPC_RL, 0xf, 3, TREG_ZERO, 1,
770 771
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
772
  { "rl.sn", TILEPRO_OPC_RL_SN, 0x3, 3, TREG_SN, 1,
773 774
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
775
  { "rli", TILEPRO_OPC_RLI, 0xf, 3, TREG_ZERO, 1,
776 777
    { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
  },
778
  { "rli.sn", TILEPRO_OPC_RLI_SN, 0x3, 3, TREG_SN, 1,
779 780
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
781
  { "s1a", TILEPRO_OPC_S1A, 0xf, 3, TREG_ZERO, 1,
782 783
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
784
  { "s1a.sn", TILEPRO_OPC_S1A_SN, 0x3, 3, TREG_SN, 1,
785 786
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
787
  { "s2a", TILEPRO_OPC_S2A, 0xf, 3, TREG_ZERO, 1,
788 789
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
790
  { "s2a.sn", TILEPRO_OPC_S2A_SN, 0x3, 3, TREG_SN, 1,
791 792
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
793
  { "s3a", TILEPRO_OPC_S3A, 0xf, 3, TREG_ZERO, 1,
794 795
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
796
  { "s3a.sn", TILEPRO_OPC_S3A_SN, 0x3, 3, TREG_SN, 1,
797 798
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
799
  { "sadab_u", TILEPRO_OPC_SADAB_U, 0x1, 3, TREG_ZERO, 1,
800 801
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
802
  { "sadab_u.sn", TILEPRO_OPC_SADAB_U_SN, 0x1, 3, TREG_SN, 1,
803 804
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
805
  { "sadah", TILEPRO_OPC_SADAH, 0x1, 3, TREG_ZERO, 1,
806 807
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
808
  { "sadah.sn", TILEPRO_OPC_SADAH_SN, 0x1, 3, TREG_SN, 1,
809 810
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
811
  { "sadah_u", TILEPRO_OPC_SADAH_U, 0x1, 3, TREG_ZERO, 1,
812 813
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
814
  { "sadah_u.sn", TILEPRO_OPC_SADAH_U_SN, 0x1, 3, TREG_SN, 1,
815 816
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
817
  { "sadb_u", TILEPRO_OPC_SADB_U, 0x1, 3, TREG_ZERO, 1,
818 819
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
820
  { "sadb_u.sn", TILEPRO_OPC_SADB_U_SN, 0x1, 3, TREG_SN, 1,
821 822
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
823
  { "sadh", TILEPRO_OPC_SADH, 0x1, 3, TREG_ZERO, 1,
824 825
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
826
  { "sadh.sn", TILEPRO_OPC_SADH_SN, 0x1, 3, TREG_SN, 1,
827 828
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
829
  { "sadh_u", TILEPRO_OPC_SADH_U, 0x1, 3, TREG_ZERO, 1,
830 831
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
832
  { "sadh_u.sn", TILEPRO_OPC_SADH_U_SN, 0x1, 3, TREG_SN, 1,
833 834
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
835
  { "sb", TILEPRO_OPC_SB, 0x12, 2, TREG_ZERO, 1,
836 837
    { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
  },
838
  { "sbadd", TILEPRO_OPC_SBADD, 0x2, 3, TREG_ZERO, 1,
839 840
    { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
  },
841
  { "seq", TILEPRO_OPC_SEQ, 0xf, 3, TREG_ZERO, 1,
842 843
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
844
  { "seq.sn", TILEPRO_OPC_SEQ_SN, 0x3, 3, TREG_SN, 1,
845 846
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
847
  { "seqb", TILEPRO_OPC_SEQB, 0x3, 3, TREG_ZERO, 1,
848 849
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
850
  { "seqb.sn", TILEPRO_OPC_SEQB_SN, 0x3, 3, TREG_SN, 1,
851 852
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
853
  { "seqh", TILEPRO_OPC_SEQH, 0x3, 3, TREG_ZERO, 1,
854 855
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
856
  { "seqh.sn", TILEPRO_OPC_SEQH_SN, 0x3, 3, TREG_SN, 1,
857 858
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
859
  { "seqi", TILEPRO_OPC_SEQI, 0xf, 3, TREG_ZERO, 1,
860 861
    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
  },
862
  { "seqi.sn", TILEPRO_OPC_SEQI_SN, 0x3, 3, TREG_SN, 1,
863 864
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
865
  { "seqib", TILEPRO_OPC_SEQIB, 0x3, 3, TREG_ZERO, 1,
866 867
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
868
  { "seqib.sn", TILEPRO_OPC_SEQIB_SN, 0x3, 3, TREG_SN, 1,
869 870
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
871
  { "seqih", TILEPRO_OPC_SEQIH, 0x3, 3, TREG_ZERO, 1,
872 873
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
874
  { "seqih.sn", TILEPRO_OPC_SEQIH_SN, 0x3, 3, TREG_SN, 1,
875 876
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
877
  { "sh", TILEPRO_OPC_SH, 0x12, 2, TREG_ZERO, 1,
878 879
    { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
  },
880
  { "shadd", TILEPRO_OPC_SHADD, 0x2, 3, TREG_ZERO, 1,
881 882
    { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
  },
883
  { "shl", TILEPRO_OPC_SHL, 0xf, 3, TREG_ZERO, 1,
884 885
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
886
  { "shl.sn", TILEPRO_OPC_SHL_SN, 0x3, 3, TREG_SN, 1,
887 888
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
889
  { "shlb", TILEPRO_OPC_SHLB, 0x3, 3, TREG_ZERO, 1,
890 891
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
892
  { "shlb.sn", TILEPRO_OPC_SHLB_SN, 0x3, 3, TREG_SN, 1,
893 894
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
895
  { "shlh", TILEPRO_OPC_SHLH, 0x3, 3, TREG_ZERO, 1,
896 897
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
898
  { "shlh.sn", TILEPRO_OPC_SHLH_SN, 0x3, 3, TREG_SN, 1,
899 900
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
901
  { "shli", TILEPRO_OPC_SHLI, 0xf, 3, TREG_ZERO, 1,
902 903
    { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
  },
904
  { "shli.sn", TILEPRO_OPC_SHLI_SN, 0x3, 3, TREG_SN, 1,
905 906
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
907
  { "shlib", TILEPRO_OPC_SHLIB, 0x3, 3, TREG_ZERO, 1,
908 909
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
910
  { "shlib.sn", TILEPRO_OPC_SHLIB_SN, 0x3, 3, TREG_SN, 1,
911 912
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
913
  { "shlih", TILEPRO_OPC_SHLIH, 0x3, 3, TREG_ZERO, 1,
914 915
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
916
  { "shlih.sn", TILEPRO_OPC_SHLIH_SN, 0x3, 3, TREG_SN, 1,
917 918
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
919
  { "shr", TILEPRO_OPC_SHR, 0xf, 3, TREG_ZERO, 1,
920 921
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
922
  { "shr.sn", TILEPRO_OPC_SHR_SN, 0x3, 3, TREG_SN, 1,
923 924
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
925
  { "shrb", TILEPRO_OPC_SHRB, 0x3, 3, TREG_ZERO, 1,
926 927
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
928
  { "shrb.sn", TILEPRO_OPC_SHRB_SN, 0x3, 3, TREG_SN, 1,
929 930
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
931
  { "shrh", TILEPRO_OPC_SHRH, 0x3, 3, TREG_ZERO, 1,
932 933
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
934
  { "shrh.sn", TILEPRO_OPC_SHRH_SN, 0x3, 3, TREG_SN, 1,
935 936
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
937
  { "shri", TILEPRO_OPC_SHRI, 0xf, 3, TREG_ZERO, 1,
938 939
    { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
  },
940
  { "shri.sn", TILEPRO_OPC_SHRI_SN, 0x3, 3, TREG_SN, 1,
941 942
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
943
  { "shrib", TILEPRO_OPC_SHRIB, 0x3, 3, TREG_ZERO, 1,
944 945
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
946
  { "shrib.sn", TILEPRO_OPC_SHRIB_SN, 0x3, 3, TREG_SN, 1,
947 948
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
949
  { "shrih", TILEPRO_OPC_SHRIH, 0x3, 3, TREG_ZERO, 1,
950 951
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
952
  { "shrih.sn", TILEPRO_OPC_SHRIH_SN, 0x3, 3, TREG_SN, 1,
953 954
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
955
  { "slt", TILEPRO_OPC_SLT, 0xf, 3, TREG_ZERO, 1,
956 957
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
958
  { "slt.sn", TILEPRO_OPC_SLT_SN, 0x3, 3, TREG_SN, 1,
959 960
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
961
  { "slt_u", TILEPRO_OPC_SLT_U, 0xf, 3, TREG_ZERO, 1,
962 963
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
964
  { "slt_u.sn", TILEPRO_OPC_SLT_U_SN, 0x3, 3, TREG_SN, 1,
965 966
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
967
  { "sltb", TILEPRO_OPC_SLTB, 0x3, 3, TREG_ZERO, 1,
968 969
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
970
  { "sltb.sn", TILEPRO_OPC_SLTB_SN, 0x3, 3, TREG_SN, 1,
971 972
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
973
  { "sltb_u", TILEPRO_OPC_SLTB_U, 0x3, 3, TREG_ZERO, 1,
974 975
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
976
  { "sltb_u.sn", TILEPRO_OPC_SLTB_U_SN, 0x3, 3, TREG_SN, 1,
977 978
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
979
  { "slte", TILEPRO_OPC_SLTE, 0xf, 3, TREG_ZERO, 1,
980 981
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
982
  { "slte.sn", TILEPRO_OPC_SLTE_SN, 0x3, 3, TREG_SN, 1,
983 984
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
985
  { "slte_u", TILEPRO_OPC_SLTE_U, 0xf, 3, TREG_ZERO, 1,
986 987
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
988
  { "slte_u.sn", TILEPRO_OPC_SLTE_U_SN, 0x3, 3, TREG_SN, 1,
989 990
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
991
  { "slteb", TILEPRO_OPC_SLTEB, 0x3, 3, TREG_ZERO, 1,
992 993
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
994
  { "slteb.sn", TILEPRO_OPC_SLTEB_SN, 0x3, 3, TREG_SN, 1,
995 996
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
997
  { "slteb_u", TILEPRO_OPC_SLTEB_U, 0x3, 3, TREG_ZERO, 1,
998 999
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1000
  { "slteb_u.sn", TILEPRO_OPC_SLTEB_U_SN, 0x3, 3, TREG_SN, 1,
1001 1002
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1003
  { "slteh", TILEPRO_OPC_SLTEH, 0x3, 3, TREG_ZERO, 1,
1004 1005
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1006
  { "slteh.sn", TILEPRO_OPC_SLTEH_SN, 0x3, 3, TREG_SN, 1,
1007 1008
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1009
  { "slteh_u", TILEPRO_OPC_SLTEH_U, 0x3, 3, TREG_ZERO, 1,
1010 1011
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1012
  { "slteh_u.sn", TILEPRO_OPC_SLTEH_U_SN, 0x3, 3, TREG_SN, 1,
1013 1014
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1015
  { "slth", TILEPRO_OPC_SLTH, 0x3, 3, TREG_ZERO, 1,
1016 1017
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1018
  { "slth.sn", TILEPRO_OPC_SLTH_SN, 0x3, 3, TREG_SN, 1,
1019 1020
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1021
  { "slth_u", TILEPRO_OPC_SLTH_U, 0x3, 3, TREG_ZERO, 1,
1022 1023
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1024
  { "slth_u.sn", TILEPRO_OPC_SLTH_U_SN, 0x3, 3, TREG_SN, 1,
1025 1026
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1027
  { "slti", TILEPRO_OPC_SLTI, 0xf, 3, TREG_ZERO, 1,
1028 1029
    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
  },
1030
  { "slti.sn", TILEPRO_OPC_SLTI_SN, 0x3, 3, TREG_SN, 1,
1031 1032
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
1033
  { "slti_u", TILEPRO_OPC_SLTI_U, 0xf, 3, TREG_ZERO, 1,
1034 1035
    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
  },
1036
  { "slti_u.sn", TILEPRO_OPC_SLTI_U_SN, 0x3, 3, TREG_SN, 1,
1037 1038
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
1039
  { "sltib", TILEPRO_OPC_SLTIB, 0x3, 3, TREG_ZERO, 1,
1040 1041
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
1042
  { "sltib.sn", TILEPRO_OPC_SLTIB_SN, 0x3, 3, TREG_SN, 1,
1043 1044
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
1045
  { "sltib_u", TILEPRO_OPC_SLTIB_U, 0x3, 3, TREG_ZERO, 1,
1046 1047
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
1048
  { "sltib_u.sn", TILEPRO_OPC_SLTIB_U_SN, 0x3, 3, TREG_SN, 1,
1049 1050
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
1051
  { "sltih", TILEPRO_OPC_SLTIH, 0x3, 3, TREG_ZERO, 1,
1052 1053
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
1054
  { "sltih.sn", TILEPRO_OPC_SLTIH_SN, 0x3, 3, TREG_SN, 1,
1055 1056
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
1057
  { "sltih_u", TILEPRO_OPC_SLTIH_U, 0x3, 3, TREG_ZERO, 1,
1058 1059
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
1060
  { "sltih_u.sn", TILEPRO_OPC_SLTIH_U_SN, 0x3, 3, TREG_SN, 1,
1061 1062
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
1063
  { "sne", TILEPRO_OPC_SNE, 0xf, 3, TREG_ZERO, 1,
1064 1065
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
1066
  { "sne.sn", TILEPRO_OPC_SNE_SN, 0x3, 3, TREG_SN, 1,
1067 1068
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1069
  { "sneb", TILEPRO_OPC_SNEB, 0x3, 3, TREG_ZERO, 1,
1070 1071
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1072
  { "sneb.sn", TILEPRO_OPC_SNEB_SN, 0x3, 3, TREG_SN, 1,
1073 1074
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1075
  { "sneh", TILEPRO_OPC_SNEH, 0x3, 3, TREG_ZERO, 1,
1076 1077
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1078
  { "sneh.sn", TILEPRO_OPC_SNEH_SN, 0x3, 3, TREG_SN, 1,
1079 1080
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1081
  { "sra", TILEPRO_OPC_SRA, 0xf, 3, TREG_ZERO, 1,
1082 1083
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
1084
  { "sra.sn", TILEPRO_OPC_SRA_SN, 0x3, 3, TREG_SN, 1,
1085 1086
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1087
  { "srab", TILEPRO_OPC_SRAB, 0x3, 3, TREG_ZERO, 1,
1088 1089
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1090
  { "srab.sn", TILEPRO_OPC_SRAB_SN, 0x3, 3, TREG_SN, 1,
1091 1092
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1093
  { "srah", TILEPRO_OPC_SRAH, 0x3, 3, TREG_ZERO, 1,
1094 1095
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1096
  { "srah.sn", TILEPRO_OPC_SRAH_SN, 0x3, 3, TREG_SN, 1,
1097 1098
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1099
  { "srai", TILEPRO_OPC_SRAI, 0xf, 3, TREG_ZERO, 1,
1100 1101
    { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
  },
1102
  { "srai.sn", TILEPRO_OPC_SRAI_SN, 0x3, 3, TREG_SN, 1,
1103 1104
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
1105
  { "sraib", TILEPRO_OPC_SRAIB, 0x3, 3, TREG_ZERO, 1,
1106 1107
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
1108
  { "sraib.sn", TILEPRO_OPC_SRAIB_SN, 0x3, 3, TREG_SN, 1,
1109 1110
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
1111
  { "sraih", TILEPRO_OPC_SRAIH, 0x3, 3, TREG_ZERO, 1,
1112 1113
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
1114
  { "sraih.sn", TILEPRO_OPC_SRAIH_SN, 0x3, 3, TREG_SN, 1,
1115 1116
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
  },
1117
  { "sub", TILEPRO_OPC_SUB, 0xf, 3, TREG_ZERO, 1,
1118 1119
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
1120
  { "sub.sn", TILEPRO_OPC_SUB_SN, 0x3, 3, TREG_SN, 1,
1121 1122
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1123
  { "subb", TILEPRO_OPC_SUBB, 0x3, 3, TREG_ZERO, 1,
1124 1125
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1126
  { "subb.sn", TILEPRO_OPC_SUBB_SN, 0x3, 3, TREG_SN, 1,
1127 1128
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1129
  { "subbs_u", TILEPRO_OPC_SUBBS_U, 0x3, 3, TREG_ZERO, 1,
1130 1131
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1132
  { "subbs_u.sn", TILEPRO_OPC_SUBBS_U_SN, 0x3, 3, TREG_SN, 1,
1133 1134
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1135
  { "subh", TILEPRO_OPC_SUBH, 0x3, 3, TREG_ZERO, 1,
1136 1137
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1138
  { "subh.sn", TILEPRO_OPC_SUBH_SN, 0x3, 3, TREG_SN, 1,
1139 1140
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1141
  { "subhs", TILEPRO_OPC_SUBHS, 0x3, 3, TREG_ZERO, 1,
1142 1143
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1144
  { "subhs.sn", TILEPRO_OPC_SUBHS_SN, 0x3, 3, TREG_SN, 1,
1145 1146
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1147
  { "subs", TILEPRO_OPC_SUBS, 0x3, 3, TREG_ZERO, 1,
1148 1149
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1150
  { "subs.sn", TILEPRO_OPC_SUBS_SN, 0x3, 3, TREG_SN, 1,
1151 1152
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1153
  { "sw", TILEPRO_OPC_SW, 0x12, 2, TREG_ZERO, 1,
1154 1155
    { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
  },
1156
  { "swadd", TILEPRO_OPC_SWADD, 0x2, 3, TREG_ZERO, 1,
1157 1158
    { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
  },
1159
  { "swint0", TILEPRO_OPC_SWINT0, 0x2, 0, TREG_ZERO, 0,
1160 1161
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
  },
1162
  { "swint1", TILEPRO_OPC_SWINT1, 0x2, 0, TREG_ZERO, 0,
1163 1164
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
  },
1165
  { "swint2", TILEPRO_OPC_SWINT2, 0x2, 0, TREG_ZERO, 0,
1166 1167
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
  },
1168
  { "swint3", TILEPRO_OPC_SWINT3, 0x2, 0, TREG_ZERO, 0,
1169 1170
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
  },
1171
  { "tblidxb0", TILEPRO_OPC_TBLIDXB0, 0x5, 2, TREG_ZERO, 1,
1172 1173
    { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
  },
1174
  { "tblidxb0.sn", TILEPRO_OPC_TBLIDXB0_SN, 0x1, 2, TREG_SN, 1,
1175 1176
    { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
1177
  { "tblidxb1", TILEPRO_OPC_TBLIDXB1, 0x5, 2, TREG_ZERO, 1,
1178 1179
    { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
  },
1180
  { "tblidxb1.sn", TILEPRO_OPC_TBLIDXB1_SN, 0x1, 2, TREG_SN, 1,
1181 1182
    { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
1183
  { "tblidxb2", TILEPRO_OPC_TBLIDXB2, 0x5, 2, TREG_ZERO, 1,
1184 1185
    { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
  },
1186
  { "tblidxb2.sn", TILEPRO_OPC_TBLIDXB2_SN, 0x1, 2, TREG_SN, 1,
1187 1188
    { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
1189
  { "tblidxb3", TILEPRO_OPC_TBLIDXB3, 0x5, 2, TREG_ZERO, 1,
1190 1191
    { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
  },
1192
  { "tblidxb3.sn", TILEPRO_OPC_TBLIDXB3_SN, 0x1, 2, TREG_SN, 1,
1193 1194
    { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
  },
1195
  { "tns", TILEPRO_OPC_TNS, 0x2, 2, TREG_ZERO, 1,
1196 1197
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
  },
1198
  { "tns.sn", TILEPRO_OPC_TNS_SN, 0x2, 2, TREG_SN, 1,
1199 1200
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
  },
1201
  { "wh64", TILEPRO_OPC_WH64, 0x2, 1, TREG_ZERO, 1,
1202 1203
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
  },
1204
  { "xor", TILEPRO_OPC_XOR, 0xf, 3, TREG_ZERO, 1,
1205 1206
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  },
1207
  { "xor.sn", TILEPRO_OPC_XOR_SN, 0x3, 3, TREG_SN, 1,
1208 1209
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  },
1210
  { "xori", TILEPRO_OPC_XORI, 0x3, 3, TREG_ZERO, 1,
1211 1212
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
1213
  { "xori.sn", TILEPRO_OPC_XORI_SN, 0x3, 3, TREG_SN, 1,
1214 1215
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  },
1216
  { NULL, TILEPRO_OPC_NONE, 0, 0, TREG_ZERO, 0, { { 0, } },
1217 1218 1219
  }
};
#define BITFIELD(start, size) ((start) | (((1 << (size)) - 1) << 6))
1220
#define CHILD(array_index) (TILEPRO_OPC_NONE + (array_index))
1221 1222 1223 1224 1225

static const unsigned short decode_X0_fsm[1153] =
{
  BITFIELD(22, 9) /* index 0 */,
  CHILD(513), CHILD(530), CHILD(547), CHILD(564), CHILD(596), CHILD(613),
1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239
  CHILD(630), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(663), CHILD(680), CHILD(697),
  CHILD(714), CHILD(746), CHILD(763), CHILD(780), TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1240 1241 1242 1243 1244 1245 1246 1247 1248 1249
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1250 1251
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(828), CHILD(828),
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1252 1253 1254 1255 1256 1257 1258 1259 1260
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1261
  CHILD(828), CHILD(828), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1262 1263 1264 1265 1266 1267 1268 1269 1270 1271
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335
  CHILD(873), CHILD(878), CHILD(883), CHILD(903), CHILD(908),
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(913),
  CHILD(918), CHILD(923), CHILD(943), CHILD(948), TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(953), TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(988), TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, CHILD(993), TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(1076), TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1336
  BITFIELD(18, 4) /* index 513 */,
1337 1338 1339 1340 1341
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDB, TILEPRO_OPC_ADDH, TILEPRO_OPC_ADD,
  TILEPRO_OPC_ADIFFB_U, TILEPRO_OPC_ADIFFH, TILEPRO_OPC_AND,
  TILEPRO_OPC_AVGB_U, TILEPRO_OPC_AVGH, TILEPRO_OPC_CRC32_32,
  TILEPRO_OPC_CRC32_8, TILEPRO_OPC_INTHB, TILEPRO_OPC_INTHH,
  TILEPRO_OPC_INTLB, TILEPRO_OPC_INTLH, TILEPRO_OPC_MAXB_U,
1342
  BITFIELD(18, 4) /* index 530 */,
1343 1344 1345 1346 1347
  TILEPRO_OPC_MAXH, TILEPRO_OPC_MINB_U, TILEPRO_OPC_MINH, TILEPRO_OPC_MNZB,
  TILEPRO_OPC_MNZH, TILEPRO_OPC_MNZ, TILEPRO_OPC_MULHHA_SS,
  TILEPRO_OPC_MULHHA_SU, TILEPRO_OPC_MULHHA_UU, TILEPRO_OPC_MULHHSA_UU,
  TILEPRO_OPC_MULHH_SS, TILEPRO_OPC_MULHH_SU, TILEPRO_OPC_MULHH_UU,
  TILEPRO_OPC_MULHLA_SS, TILEPRO_OPC_MULHLA_SU, TILEPRO_OPC_MULHLA_US,
1348
  BITFIELD(18, 4) /* index 547 */,
1349 1350 1351 1352 1353
  TILEPRO_OPC_MULHLA_UU, TILEPRO_OPC_MULHLSA_UU, TILEPRO_OPC_MULHL_SS,
  TILEPRO_OPC_MULHL_SU, TILEPRO_OPC_MULHL_US, TILEPRO_OPC_MULHL_UU,
  TILEPRO_OPC_MULLLA_SS, TILEPRO_OPC_MULLLA_SU, TILEPRO_OPC_MULLLA_UU,
  TILEPRO_OPC_MULLLSA_UU, TILEPRO_OPC_MULLL_SS, TILEPRO_OPC_MULLL_SU,
  TILEPRO_OPC_MULLL_UU, TILEPRO_OPC_MVNZ, TILEPRO_OPC_MVZ, TILEPRO_OPC_MZB,
1354
  BITFIELD(18, 4) /* index 564 */,
1355 1356 1357 1358 1359
  TILEPRO_OPC_MZH, TILEPRO_OPC_MZ, TILEPRO_OPC_NOR, CHILD(581),
  TILEPRO_OPC_PACKHB, TILEPRO_OPC_PACKLB, TILEPRO_OPC_RL, TILEPRO_OPC_S1A,
  TILEPRO_OPC_S2A, TILEPRO_OPC_S3A, TILEPRO_OPC_SADAB_U, TILEPRO_OPC_SADAH,
  TILEPRO_OPC_SADAH_U, TILEPRO_OPC_SADB_U, TILEPRO_OPC_SADH,
  TILEPRO_OPC_SADH_U,
1360
  BITFIELD(12, 2) /* index 581 */,
1361
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(586),
1362
  BITFIELD(14, 2) /* index 586 */,
1363
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(591),
1364
  BITFIELD(16, 2) /* index 591 */,
1365
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
1366
  BITFIELD(18, 4) /* index 596 */,
1367 1368 1369 1370 1371
  TILEPRO_OPC_SEQB, TILEPRO_OPC_SEQH, TILEPRO_OPC_SEQ, TILEPRO_OPC_SHLB,
  TILEPRO_OPC_SHLH, TILEPRO_OPC_SHL, TILEPRO_OPC_SHRB, TILEPRO_OPC_SHRH,
  TILEPRO_OPC_SHR, TILEPRO_OPC_SLTB, TILEPRO_OPC_SLTB_U, TILEPRO_OPC_SLTEB,
  TILEPRO_OPC_SLTEB_U, TILEPRO_OPC_SLTEH, TILEPRO_OPC_SLTEH_U,
  TILEPRO_OPC_SLTE,
1372
  BITFIELD(18, 4) /* index 613 */,
1373 1374 1375 1376
  TILEPRO_OPC_SLTE_U, TILEPRO_OPC_SLTH, TILEPRO_OPC_SLTH_U, TILEPRO_OPC_SLT,
  TILEPRO_OPC_SLT_U, TILEPRO_OPC_SNEB, TILEPRO_OPC_SNEH, TILEPRO_OPC_SNE,
  TILEPRO_OPC_SRAB, TILEPRO_OPC_SRAH, TILEPRO_OPC_SRA, TILEPRO_OPC_SUBB,
  TILEPRO_OPC_SUBH, TILEPRO_OPC_SUB, TILEPRO_OPC_XOR, TILEPRO_OPC_DWORD_ALIGN,
1377 1378 1379 1380
  BITFIELD(18, 3) /* index 630 */,
  CHILD(639), CHILD(642), CHILD(645), CHILD(648), CHILD(651), CHILD(654),
  CHILD(657), CHILD(660),
  BITFIELD(21, 1) /* index 639 */,
1381
  TILEPRO_OPC_ADDS, TILEPRO_OPC_NONE,
1382
  BITFIELD(21, 1) /* index 642 */,
1383
  TILEPRO_OPC_SUBS, TILEPRO_OPC_NONE,
1384
  BITFIELD(21, 1) /* index 645 */,
1385
  TILEPRO_OPC_ADDBS_U, TILEPRO_OPC_NONE,
1386
  BITFIELD(21, 1) /* index 648 */,
1387
  TILEPRO_OPC_ADDHS, TILEPRO_OPC_NONE,
1388
  BITFIELD(21, 1) /* index 651 */,
1389
  TILEPRO_OPC_SUBBS_U, TILEPRO_OPC_NONE,
1390
  BITFIELD(21, 1) /* index 654 */,
1391
  TILEPRO_OPC_SUBHS, TILEPRO_OPC_NONE,
1392
  BITFIELD(21, 1) /* index 657 */,
1393
  TILEPRO_OPC_PACKHS, TILEPRO_OPC_NONE,
1394
  BITFIELD(21, 1) /* index 660 */,
1395
  TILEPRO_OPC_PACKBS_U, TILEPRO_OPC_NONE,
1396
  BITFIELD(18, 4) /* index 663 */,
1397 1398 1399 1400 1401 1402
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDB_SN, TILEPRO_OPC_ADDH_SN,
  TILEPRO_OPC_ADD_SN, TILEPRO_OPC_ADIFFB_U_SN, TILEPRO_OPC_ADIFFH_SN,
  TILEPRO_OPC_AND_SN, TILEPRO_OPC_AVGB_U_SN, TILEPRO_OPC_AVGH_SN,
  TILEPRO_OPC_CRC32_32_SN, TILEPRO_OPC_CRC32_8_SN, TILEPRO_OPC_INTHB_SN,
  TILEPRO_OPC_INTHH_SN, TILEPRO_OPC_INTLB_SN, TILEPRO_OPC_INTLH_SN,
  TILEPRO_OPC_MAXB_U_SN,
1403
  BITFIELD(18, 4) /* index 680 */,
1404 1405 1406 1407 1408 1409 1410
  TILEPRO_OPC_MAXH_SN, TILEPRO_OPC_MINB_U_SN, TILEPRO_OPC_MINH_SN,
  TILEPRO_OPC_MNZB_SN, TILEPRO_OPC_MNZH_SN, TILEPRO_OPC_MNZ_SN,
  TILEPRO_OPC_MULHHA_SS_SN, TILEPRO_OPC_MULHHA_SU_SN,
  TILEPRO_OPC_MULHHA_UU_SN, TILEPRO_OPC_MULHHSA_UU_SN,
  TILEPRO_OPC_MULHH_SS_SN, TILEPRO_OPC_MULHH_SU_SN, TILEPRO_OPC_MULHH_UU_SN,
  TILEPRO_OPC_MULHLA_SS_SN, TILEPRO_OPC_MULHLA_SU_SN,
  TILEPRO_OPC_MULHLA_US_SN,
1411
  BITFIELD(18, 4) /* index 697 */,
1412 1413 1414 1415 1416 1417
  TILEPRO_OPC_MULHLA_UU_SN, TILEPRO_OPC_MULHLSA_UU_SN,
  TILEPRO_OPC_MULHL_SS_SN, TILEPRO_OPC_MULHL_SU_SN, TILEPRO_OPC_MULHL_US_SN,
  TILEPRO_OPC_MULHL_UU_SN, TILEPRO_OPC_MULLLA_SS_SN, TILEPRO_OPC_MULLLA_SU_SN,
  TILEPRO_OPC_MULLLA_UU_SN, TILEPRO_OPC_MULLLSA_UU_SN,
  TILEPRO_OPC_MULLL_SS_SN, TILEPRO_OPC_MULLL_SU_SN, TILEPRO_OPC_MULLL_UU_SN,
  TILEPRO_OPC_MVNZ_SN, TILEPRO_OPC_MVZ_SN, TILEPRO_OPC_MZB_SN,
1418
  BITFIELD(18, 4) /* index 714 */,
1419 1420 1421 1422 1423
  TILEPRO_OPC_MZH_SN, TILEPRO_OPC_MZ_SN, TILEPRO_OPC_NOR_SN, CHILD(731),
  TILEPRO_OPC_PACKHB_SN, TILEPRO_OPC_PACKLB_SN, TILEPRO_OPC_RL_SN,
  TILEPRO_OPC_S1A_SN, TILEPRO_OPC_S2A_SN, TILEPRO_OPC_S3A_SN,
  TILEPRO_OPC_SADAB_U_SN, TILEPRO_OPC_SADAH_SN, TILEPRO_OPC_SADAH_U_SN,
  TILEPRO_OPC_SADB_U_SN, TILEPRO_OPC_SADH_SN, TILEPRO_OPC_SADH_U_SN,
1424
  BITFIELD(12, 2) /* index 731 */,
1425
  TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(736),
1426
  BITFIELD(14, 2) /* index 736 */,
1427
  TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(741),
1428
  BITFIELD(16, 2) /* index 741 */,
1429 1430
  TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN,
  TILEPRO_OPC_MOVE_SN,
1431
  BITFIELD(18, 4) /* index 746 */,
1432 1433 1434 1435 1436 1437
  TILEPRO_OPC_SEQB_SN, TILEPRO_OPC_SEQH_SN, TILEPRO_OPC_SEQ_SN,
  TILEPRO_OPC_SHLB_SN, TILEPRO_OPC_SHLH_SN, TILEPRO_OPC_SHL_SN,
  TILEPRO_OPC_SHRB_SN, TILEPRO_OPC_SHRH_SN, TILEPRO_OPC_SHR_SN,
  TILEPRO_OPC_SLTB_SN, TILEPRO_OPC_SLTB_U_SN, TILEPRO_OPC_SLTEB_SN,
  TILEPRO_OPC_SLTEB_U_SN, TILEPRO_OPC_SLTEH_SN, TILEPRO_OPC_SLTEH_U_SN,
  TILEPRO_OPC_SLTE_SN,
1438
  BITFIELD(18, 4) /* index 763 */,
1439 1440 1441 1442 1443 1444
  TILEPRO_OPC_SLTE_U_SN, TILEPRO_OPC_SLTH_SN, TILEPRO_OPC_SLTH_U_SN,
  TILEPRO_OPC_SLT_SN, TILEPRO_OPC_SLT_U_SN, TILEPRO_OPC_SNEB_SN,
  TILEPRO_OPC_SNEH_SN, TILEPRO_OPC_SNE_SN, TILEPRO_OPC_SRAB_SN,
  TILEPRO_OPC_SRAH_SN, TILEPRO_OPC_SRA_SN, TILEPRO_OPC_SUBB_SN,
  TILEPRO_OPC_SUBH_SN, TILEPRO_OPC_SUB_SN, TILEPRO_OPC_XOR_SN,
  TILEPRO_OPC_DWORD_ALIGN_SN,
1445 1446 1447 1448
  BITFIELD(18, 3) /* index 780 */,
  CHILD(789), CHILD(792), CHILD(795), CHILD(798), CHILD(801), CHILD(804),
  CHILD(807), CHILD(810),
  BITFIELD(21, 1) /* index 789 */,
1449
  TILEPRO_OPC_ADDS_SN, TILEPRO_OPC_NONE,
1450
  BITFIELD(21, 1) /* index 792 */,
1451
  TILEPRO_OPC_SUBS_SN, TILEPRO_OPC_NONE,
1452
  BITFIELD(21, 1) /* index 795 */,
1453
  TILEPRO_OPC_ADDBS_U_SN, TILEPRO_OPC_NONE,
1454
  BITFIELD(21, 1) /* index 798 */,
1455
  TILEPRO_OPC_ADDHS_SN, TILEPRO_OPC_NONE,
1456
  BITFIELD(21, 1) /* index 801 */,
1457
  TILEPRO_OPC_SUBBS_U_SN, TILEPRO_OPC_NONE,
1458
  BITFIELD(21, 1) /* index 804 */,
1459
  TILEPRO_OPC_SUBHS_SN, TILEPRO_OPC_NONE,
1460
  BITFIELD(21, 1) /* index 807 */,
1461
  TILEPRO_OPC_PACKHS_SN, TILEPRO_OPC_NONE,
1462
  BITFIELD(21, 1) /* index 810 */,
1463
  TILEPRO_OPC_PACKBS_U_SN, TILEPRO_OPC_NONE,
1464
  BITFIELD(6, 2) /* index 813 */,
1465 1466
  TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
  CHILD(818),
1467
  BITFIELD(8, 2) /* index 818 */,
1468 1469
  TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
  CHILD(823),
1470
  BITFIELD(10, 2) /* index 823 */,
1471 1472
  TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
  TILEPRO_OPC_MOVELI_SN,
1473
  BITFIELD(6, 2) /* index 828 */,
1474
  TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(833),
1475
  BITFIELD(8, 2) /* index 833 */,
1476
  TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(838),
1477
  BITFIELD(10, 2) /* index 838 */,
1478
  TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_MOVELI,
1479
  BITFIELD(0, 2) /* index 843 */,
1480
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(848),
1481
  BITFIELD(2, 2) /* index 848 */,
1482
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(853),
1483
  BITFIELD(4, 2) /* index 853 */,
1484
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(858),
1485
  BITFIELD(6, 2) /* index 858 */,
1486
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(863),
1487
  BITFIELD(8, 2) /* index 863 */,
1488
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(868),
1489
  BITFIELD(10, 2) /* index 868 */,
1490
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_INFOL,
1491
  BITFIELD(20, 2) /* index 873 */,
1492
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDIB, TILEPRO_OPC_ADDIH, TILEPRO_OPC_ADDI,
1493
  BITFIELD(20, 2) /* index 878 */,
1494 1495
  TILEPRO_OPC_MAXIB_U, TILEPRO_OPC_MAXIH, TILEPRO_OPC_MINIB_U,
  TILEPRO_OPC_MINIH,
1496
  BITFIELD(20, 2) /* index 883 */,
1497
  CHILD(888), TILEPRO_OPC_SEQIB, TILEPRO_OPC_SEQIH, TILEPRO_OPC_SEQI,
1498
  BITFIELD(6, 2) /* index 888 */,
1499
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(893),
1500
  BITFIELD(8, 2) /* index 893 */,
1501
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(898),
1502
  BITFIELD(10, 2) /* index 898 */,
1503
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
1504
  BITFIELD(20, 2) /* index 903 */,
1505 1506
  TILEPRO_OPC_SLTIB, TILEPRO_OPC_SLTIB_U, TILEPRO_OPC_SLTIH,
  TILEPRO_OPC_SLTIH_U,
1507
  BITFIELD(20, 2) /* index 908 */,
1508
  TILEPRO_OPC_SLTI, TILEPRO_OPC_SLTI_U, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1509
  BITFIELD(20, 2) /* index 913 */,
1510 1511
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDIB_SN, TILEPRO_OPC_ADDIH_SN,
  TILEPRO_OPC_ADDI_SN,
1512
  BITFIELD(20, 2) /* index 918 */,
1513 1514
  TILEPRO_OPC_MAXIB_U_SN, TILEPRO_OPC_MAXIH_SN, TILEPRO_OPC_MINIB_U_SN,
  TILEPRO_OPC_MINIH_SN,
1515
  BITFIELD(20, 2) /* index 923 */,
1516
  CHILD(928), TILEPRO_OPC_SEQIB_SN, TILEPRO_OPC_SEQIH_SN, TILEPRO_OPC_SEQI_SN,
1517
  BITFIELD(6, 2) /* index 928 */,
1518
  TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(933),
1519
  BITFIELD(8, 2) /* index 933 */,
1520
  TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(938),
1521
  BITFIELD(10, 2) /* index 938 */,
1522 1523
  TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN,
  TILEPRO_OPC_MOVEI_SN,
1524
  BITFIELD(20, 2) /* index 943 */,
1525 1526
  TILEPRO_OPC_SLTIB_SN, TILEPRO_OPC_SLTIB_U_SN, TILEPRO_OPC_SLTIH_SN,
  TILEPRO_OPC_SLTIH_U_SN,
1527
  BITFIELD(20, 2) /* index 948 */,
1528 1529
  TILEPRO_OPC_SLTI_SN, TILEPRO_OPC_SLTI_U_SN, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE,
1530
  BITFIELD(20, 2) /* index 953 */,
1531
  TILEPRO_OPC_NONE, CHILD(958), TILEPRO_OPC_XORI, TILEPRO_OPC_NONE,
1532
  BITFIELD(0, 2) /* index 958 */,
1533
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(963),
1534
  BITFIELD(2, 2) /* index 963 */,
1535
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(968),
1536
  BITFIELD(4, 2) /* index 968 */,
1537
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(973),
1538
  BITFIELD(6, 2) /* index 973 */,
1539
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(978),
1540
  BITFIELD(8, 2) /* index 978 */,
1541
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(983),
1542
  BITFIELD(10, 2) /* index 983 */,
1543
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
1544
  BITFIELD(20, 2) /* index 988 */,
1545 1546
  TILEPRO_OPC_NONE, TILEPRO_OPC_ANDI_SN, TILEPRO_OPC_XORI_SN,
  TILEPRO_OPC_NONE,
1547
  BITFIELD(17, 5) /* index 993 */,
1548 1549 1550 1551 1552 1553 1554 1555
  TILEPRO_OPC_NONE, TILEPRO_OPC_RLI, TILEPRO_OPC_SHLIB, TILEPRO_OPC_SHLIH,
  TILEPRO_OPC_SHLI, TILEPRO_OPC_SHRIB, TILEPRO_OPC_SHRIH, TILEPRO_OPC_SHRI,
  TILEPRO_OPC_SRAIB, TILEPRO_OPC_SRAIH, TILEPRO_OPC_SRAI, CHILD(1026),
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1556
  BITFIELD(12, 4) /* index 1026 */,
1557
  TILEPRO_OPC_NONE, CHILD(1043), CHILD(1046), CHILD(1049), CHILD(1052),
1558
  CHILD(1055), CHILD(1058), CHILD(1061), CHILD(1064), CHILD(1067),
1559 1560
  CHILD(1070), CHILD(1073), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1561
  BITFIELD(16, 1) /* index 1043 */,
1562
  TILEPRO_OPC_BITX, TILEPRO_OPC_NONE,
1563
  BITFIELD(16, 1) /* index 1046 */,
1564
  TILEPRO_OPC_BYTEX, TILEPRO_OPC_NONE,
1565
  BITFIELD(16, 1) /* index 1049 */,
1566
  TILEPRO_OPC_CLZ, TILEPRO_OPC_NONE,
1567
  BITFIELD(16, 1) /* index 1052 */,
1568
  TILEPRO_OPC_CTZ, TILEPRO_OPC_NONE,
1569
  BITFIELD(16, 1) /* index 1055 */,
1570
  TILEPRO_OPC_FNOP, TILEPRO_OPC_NONE,
1571
  BITFIELD(16, 1) /* index 1058 */,
1572
  TILEPRO_OPC_NOP, TILEPRO_OPC_NONE,
1573
  BITFIELD(16, 1) /* index 1061 */,
1574
  TILEPRO_OPC_PCNT, TILEPRO_OPC_NONE,
1575
  BITFIELD(16, 1) /* index 1064 */,
1576
  TILEPRO_OPC_TBLIDXB0, TILEPRO_OPC_NONE,
1577
  BITFIELD(16, 1) /* index 1067 */,
1578
  TILEPRO_OPC_TBLIDXB1, TILEPRO_OPC_NONE,
1579
  BITFIELD(16, 1) /* index 1070 */,
1580
  TILEPRO_OPC_TBLIDXB2, TILEPRO_OPC_NONE,
1581
  BITFIELD(16, 1) /* index 1073 */,
1582
  TILEPRO_OPC_TBLIDXB3, TILEPRO_OPC_NONE,
1583
  BITFIELD(17, 5) /* index 1076 */,
1584 1585 1586 1587 1588 1589 1590 1591 1592
  TILEPRO_OPC_NONE, TILEPRO_OPC_RLI_SN, TILEPRO_OPC_SHLIB_SN,
  TILEPRO_OPC_SHLIH_SN, TILEPRO_OPC_SHLI_SN, TILEPRO_OPC_SHRIB_SN,
  TILEPRO_OPC_SHRIH_SN, TILEPRO_OPC_SHRI_SN, TILEPRO_OPC_SRAIB_SN,
  TILEPRO_OPC_SRAIH_SN, TILEPRO_OPC_SRAI_SN, CHILD(1109), TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1593
  BITFIELD(12, 4) /* index 1109 */,
1594
  TILEPRO_OPC_NONE, CHILD(1126), CHILD(1129), CHILD(1132), CHILD(1135),
1595
  CHILD(1055), CHILD(1058), CHILD(1138), CHILD(1141), CHILD(1144),
1596 1597
  CHILD(1147), CHILD(1150), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1598
  BITFIELD(16, 1) /* index 1126 */,
1599
  TILEPRO_OPC_BITX_SN, TILEPRO_OPC_NONE,
1600
  BITFIELD(16, 1) /* index 1129 */,
1601
  TILEPRO_OPC_BYTEX_SN, TILEPRO_OPC_NONE,
1602
  BITFIELD(16, 1) /* index 1132 */,
1603
  TILEPRO_OPC_CLZ_SN, TILEPRO_OPC_NONE,
1604
  BITFIELD(16, 1) /* index 1135 */,
1605
  TILEPRO_OPC_CTZ_SN, TILEPRO_OPC_NONE,
1606
  BITFIELD(16, 1) /* index 1138 */,
1607
  TILEPRO_OPC_PCNT_SN, TILEPRO_OPC_NONE,
1608
  BITFIELD(16, 1) /* index 1141 */,
1609
  TILEPRO_OPC_TBLIDXB0_SN, TILEPRO_OPC_NONE,
1610
  BITFIELD(16, 1) /* index 1144 */,
1611
  TILEPRO_OPC_TBLIDXB1_SN, TILEPRO_OPC_NONE,
1612
  BITFIELD(16, 1) /* index 1147 */,
1613
  TILEPRO_OPC_TBLIDXB2_SN, TILEPRO_OPC_NONE,
1614
  BITFIELD(16, 1) /* index 1150 */,
1615
  TILEPRO_OPC_TBLIDXB3_SN, TILEPRO_OPC_NONE,
1616 1617
};

1618
static const unsigned short decode_X1_fsm[1540] =
1619 1620
{
  BITFIELD(54, 9) /* index 0 */,
1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  CHILD(513), CHILD(561), CHILD(594), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(641),
  CHILD(689), CHILD(722), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(766),
1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657
  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
  CHILD(766), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
  CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
  CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
  CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
  CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
  CHILD(781), CHILD(781), CHILD(781), CHILD(796), CHILD(796), CHILD(796),
  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(826),
  CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826),
  CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826),
  CHILD(826), CHILD(826), CHILD(826), CHILD(843), CHILD(843), CHILD(843),
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734
  CHILD(843), CHILD(860), CHILD(899), CHILD(923), CHILD(932),
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  CHILD(941), CHILD(950), CHILD(974), CHILD(983), TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, CHILD(992),
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(1334),
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_J,
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1735
  BITFIELD(49, 5) /* index 513 */,
1736 1737 1738 1739 1740 1741 1742 1743
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDB, TILEPRO_OPC_ADDH, TILEPRO_OPC_ADD,
  TILEPRO_OPC_AND, TILEPRO_OPC_INTHB, TILEPRO_OPC_INTHH, TILEPRO_OPC_INTLB,
  TILEPRO_OPC_INTLH, TILEPRO_OPC_JALRP, TILEPRO_OPC_JALR, TILEPRO_OPC_JRP,
  TILEPRO_OPC_JR, TILEPRO_OPC_LNK, TILEPRO_OPC_MAXB_U, TILEPRO_OPC_MAXH,
  TILEPRO_OPC_MINB_U, TILEPRO_OPC_MINH, TILEPRO_OPC_MNZB, TILEPRO_OPC_MNZH,
  TILEPRO_OPC_MNZ, TILEPRO_OPC_MZB, TILEPRO_OPC_MZH, TILEPRO_OPC_MZ,
  TILEPRO_OPC_NOR, CHILD(546), TILEPRO_OPC_PACKHB, TILEPRO_OPC_PACKLB,
  TILEPRO_OPC_RL, TILEPRO_OPC_S1A, TILEPRO_OPC_S2A, TILEPRO_OPC_S3A,
1744
  BITFIELD(43, 2) /* index 546 */,
1745
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(551),
1746
  BITFIELD(45, 2) /* index 551 */,
1747
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(556),
1748
  BITFIELD(47, 2) /* index 556 */,
1749
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
1750
  BITFIELD(49, 5) /* index 561 */,
1751 1752 1753 1754 1755 1756 1757 1758 1759
  TILEPRO_OPC_SB, TILEPRO_OPC_SEQB, TILEPRO_OPC_SEQH, TILEPRO_OPC_SEQ,
  TILEPRO_OPC_SHLB, TILEPRO_OPC_SHLH, TILEPRO_OPC_SHL, TILEPRO_OPC_SHRB,
  TILEPRO_OPC_SHRH, TILEPRO_OPC_SHR, TILEPRO_OPC_SH, TILEPRO_OPC_SLTB,
  TILEPRO_OPC_SLTB_U, TILEPRO_OPC_SLTEB, TILEPRO_OPC_SLTEB_U,
  TILEPRO_OPC_SLTEH, TILEPRO_OPC_SLTEH_U, TILEPRO_OPC_SLTE,
  TILEPRO_OPC_SLTE_U, TILEPRO_OPC_SLTH, TILEPRO_OPC_SLTH_U, TILEPRO_OPC_SLT,
  TILEPRO_OPC_SLT_U, TILEPRO_OPC_SNEB, TILEPRO_OPC_SNEH, TILEPRO_OPC_SNE,
  TILEPRO_OPC_SRAB, TILEPRO_OPC_SRAH, TILEPRO_OPC_SRA, TILEPRO_OPC_SUBB,
  TILEPRO_OPC_SUBH, TILEPRO_OPC_SUB,
1760 1761
  BITFIELD(49, 4) /* index 594 */,
  CHILD(611), CHILD(614), CHILD(617), CHILD(620), CHILD(623), CHILD(626),
1762 1763 1764
  CHILD(629), CHILD(632), CHILD(635), CHILD(638), TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE,
1765
  BITFIELD(53, 1) /* index 611 */,
1766
  TILEPRO_OPC_SW, TILEPRO_OPC_NONE,
1767
  BITFIELD(53, 1) /* index 614 */,
1768
  TILEPRO_OPC_XOR, TILEPRO_OPC_NONE,
1769
  BITFIELD(53, 1) /* index 617 */,
1770
  TILEPRO_OPC_ADDS, TILEPRO_OPC_NONE,
1771
  BITFIELD(53, 1) /* index 620 */,
1772
  TILEPRO_OPC_SUBS, TILEPRO_OPC_NONE,
1773
  BITFIELD(53, 1) /* index 623 */,
1774
  TILEPRO_OPC_ADDBS_U, TILEPRO_OPC_NONE,
1775
  BITFIELD(53, 1) /* index 626 */,
1776
  TILEPRO_OPC_ADDHS, TILEPRO_OPC_NONE,
1777
  BITFIELD(53, 1) /* index 629 */,
1778
  TILEPRO_OPC_SUBBS_U, TILEPRO_OPC_NONE,
1779
  BITFIELD(53, 1) /* index 632 */,
1780
  TILEPRO_OPC_SUBHS, TILEPRO_OPC_NONE,
1781
  BITFIELD(53, 1) /* index 635 */,
1782
  TILEPRO_OPC_PACKHS, TILEPRO_OPC_NONE,
1783
  BITFIELD(53, 1) /* index 638 */,
1784
  TILEPRO_OPC_PACKBS_U, TILEPRO_OPC_NONE,
1785
  BITFIELD(49, 5) /* index 641 */,
1786 1787 1788 1789 1790 1791 1792 1793 1794 1795
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDB_SN, TILEPRO_OPC_ADDH_SN,
  TILEPRO_OPC_ADD_SN, TILEPRO_OPC_AND_SN, TILEPRO_OPC_INTHB_SN,
  TILEPRO_OPC_INTHH_SN, TILEPRO_OPC_INTLB_SN, TILEPRO_OPC_INTLH_SN,
  TILEPRO_OPC_JALRP, TILEPRO_OPC_JALR, TILEPRO_OPC_JRP, TILEPRO_OPC_JR,
  TILEPRO_OPC_LNK_SN, TILEPRO_OPC_MAXB_U_SN, TILEPRO_OPC_MAXH_SN,
  TILEPRO_OPC_MINB_U_SN, TILEPRO_OPC_MINH_SN, TILEPRO_OPC_MNZB_SN,
  TILEPRO_OPC_MNZH_SN, TILEPRO_OPC_MNZ_SN, TILEPRO_OPC_MZB_SN,
  TILEPRO_OPC_MZH_SN, TILEPRO_OPC_MZ_SN, TILEPRO_OPC_NOR_SN, CHILD(674),
  TILEPRO_OPC_PACKHB_SN, TILEPRO_OPC_PACKLB_SN, TILEPRO_OPC_RL_SN,
  TILEPRO_OPC_S1A_SN, TILEPRO_OPC_S2A_SN, TILEPRO_OPC_S3A_SN,
1796
  BITFIELD(43, 2) /* index 674 */,
1797
  TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(679),
1798
  BITFIELD(45, 2) /* index 679 */,
1799
  TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(684),
1800
  BITFIELD(47, 2) /* index 684 */,
1801 1802
  TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN,
  TILEPRO_OPC_MOVE_SN,
1803
  BITFIELD(49, 5) /* index 689 */,
1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814
  TILEPRO_OPC_SB, TILEPRO_OPC_SEQB_SN, TILEPRO_OPC_SEQH_SN,
  TILEPRO_OPC_SEQ_SN, TILEPRO_OPC_SHLB_SN, TILEPRO_OPC_SHLH_SN,
  TILEPRO_OPC_SHL_SN, TILEPRO_OPC_SHRB_SN, TILEPRO_OPC_SHRH_SN,
  TILEPRO_OPC_SHR_SN, TILEPRO_OPC_SH, TILEPRO_OPC_SLTB_SN,
  TILEPRO_OPC_SLTB_U_SN, TILEPRO_OPC_SLTEB_SN, TILEPRO_OPC_SLTEB_U_SN,
  TILEPRO_OPC_SLTEH_SN, TILEPRO_OPC_SLTEH_U_SN, TILEPRO_OPC_SLTE_SN,
  TILEPRO_OPC_SLTE_U_SN, TILEPRO_OPC_SLTH_SN, TILEPRO_OPC_SLTH_U_SN,
  TILEPRO_OPC_SLT_SN, TILEPRO_OPC_SLT_U_SN, TILEPRO_OPC_SNEB_SN,
  TILEPRO_OPC_SNEH_SN, TILEPRO_OPC_SNE_SN, TILEPRO_OPC_SRAB_SN,
  TILEPRO_OPC_SRAH_SN, TILEPRO_OPC_SRA_SN, TILEPRO_OPC_SUBB_SN,
  TILEPRO_OPC_SUBH_SN, TILEPRO_OPC_SUB_SN,
1815 1816
  BITFIELD(49, 4) /* index 722 */,
  CHILD(611), CHILD(739), CHILD(742), CHILD(745), CHILD(748), CHILD(751),
1817 1818 1819
  CHILD(754), CHILD(757), CHILD(760), CHILD(763), TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE,
1820
  BITFIELD(53, 1) /* index 739 */,
1821
  TILEPRO_OPC_XOR_SN, TILEPRO_OPC_NONE,
1822
  BITFIELD(53, 1) /* index 742 */,
1823
  TILEPRO_OPC_ADDS_SN, TILEPRO_OPC_NONE,
1824
  BITFIELD(53, 1) /* index 745 */,
1825
  TILEPRO_OPC_SUBS_SN, TILEPRO_OPC_NONE,
1826
  BITFIELD(53, 1) /* index 748 */,
1827
  TILEPRO_OPC_ADDBS_U_SN, TILEPRO_OPC_NONE,
1828
  BITFIELD(53, 1) /* index 751 */,
1829
  TILEPRO_OPC_ADDHS_SN, TILEPRO_OPC_NONE,
1830
  BITFIELD(53, 1) /* index 754 */,
1831
  TILEPRO_OPC_SUBBS_U_SN, TILEPRO_OPC_NONE,
1832
  BITFIELD(53, 1) /* index 757 */,
1833
  TILEPRO_OPC_SUBHS_SN, TILEPRO_OPC_NONE,
1834
  BITFIELD(53, 1) /* index 760 */,
1835
  TILEPRO_OPC_PACKHS_SN, TILEPRO_OPC_NONE,
1836
  BITFIELD(53, 1) /* index 763 */,
1837
  TILEPRO_OPC_PACKBS_U_SN, TILEPRO_OPC_NONE,
1838
  BITFIELD(37, 2) /* index 766 */,
1839 1840
  TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
  CHILD(771),
1841
  BITFIELD(39, 2) /* index 771 */,
1842 1843
  TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
  CHILD(776),
1844
  BITFIELD(41, 2) /* index 776 */,
1845 1846
  TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
  TILEPRO_OPC_MOVELI_SN,
1847
  BITFIELD(37, 2) /* index 781 */,
1848
  TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(786),
1849
  BITFIELD(39, 2) /* index 786 */,
1850
  TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(791),
1851
  BITFIELD(41, 2) /* index 791 */,
1852
  TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_MOVELI,
1853
  BITFIELD(31, 2) /* index 796 */,
1854
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(801),
1855
  BITFIELD(33, 2) /* index 801 */,
1856
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(806),
1857
  BITFIELD(35, 2) /* index 806 */,
1858
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(811),
1859
  BITFIELD(37, 2) /* index 811 */,
1860
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(816),
1861
  BITFIELD(39, 2) /* index 816 */,
1862
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(821),
1863
  BITFIELD(41, 2) /* index 821 */,
1864
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_INFOL,
1865
  BITFIELD(31, 4) /* index 826 */,
1866 1867 1868 1869
  TILEPRO_OPC_BZ, TILEPRO_OPC_BZT, TILEPRO_OPC_BNZ, TILEPRO_OPC_BNZT,
  TILEPRO_OPC_BGZ, TILEPRO_OPC_BGZT, TILEPRO_OPC_BGEZ, TILEPRO_OPC_BGEZT,
  TILEPRO_OPC_BLZ, TILEPRO_OPC_BLZT, TILEPRO_OPC_BLEZ, TILEPRO_OPC_BLEZT,
  TILEPRO_OPC_BBS, TILEPRO_OPC_BBST, TILEPRO_OPC_BBNS, TILEPRO_OPC_BBNST,
1870
  BITFIELD(31, 4) /* index 843 */,
1871 1872 1873 1874 1875 1876
  TILEPRO_OPC_BZ_SN, TILEPRO_OPC_BZT_SN, TILEPRO_OPC_BNZ_SN,
  TILEPRO_OPC_BNZT_SN, TILEPRO_OPC_BGZ_SN, TILEPRO_OPC_BGZT_SN,
  TILEPRO_OPC_BGEZ_SN, TILEPRO_OPC_BGEZT_SN, TILEPRO_OPC_BLZ_SN,
  TILEPRO_OPC_BLZT_SN, TILEPRO_OPC_BLEZ_SN, TILEPRO_OPC_BLEZT_SN,
  TILEPRO_OPC_BBS_SN, TILEPRO_OPC_BBST_SN, TILEPRO_OPC_BBNS_SN,
  TILEPRO_OPC_BBNST_SN,
1877
  BITFIELD(51, 3) /* index 860 */,
1878 1879
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDIB, TILEPRO_OPC_ADDIH, TILEPRO_OPC_ADDI,
  CHILD(869), TILEPRO_OPC_MAXIB_U, TILEPRO_OPC_MAXIH, TILEPRO_OPC_MFSPR,
1880
  BITFIELD(31, 2) /* index 869 */,
1881
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(874),
1882
  BITFIELD(33, 2) /* index 874 */,
1883
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(879),
1884
  BITFIELD(35, 2) /* index 879 */,
1885
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(884),
1886
  BITFIELD(37, 2) /* index 884 */,
1887
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(889),
1888
  BITFIELD(39, 2) /* index 889 */,
1889
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(894),
1890
  BITFIELD(41, 2) /* index 894 */,
1891
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
1892
  BITFIELD(51, 3) /* index 899 */,
1893 1894
  TILEPRO_OPC_MINIB_U, TILEPRO_OPC_MINIH, TILEPRO_OPC_MTSPR, CHILD(908),
  TILEPRO_OPC_SEQIB, TILEPRO_OPC_SEQIH, TILEPRO_OPC_SEQI, TILEPRO_OPC_SLTIB,
1895
  BITFIELD(37, 2) /* index 908 */,
1896
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(913),
1897
  BITFIELD(39, 2) /* index 913 */,
1898
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(918),
1899
  BITFIELD(41, 2) /* index 918 */,
1900
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
1901
  BITFIELD(51, 3) /* index 923 */,
1902 1903 1904
  TILEPRO_OPC_SLTIB_U, TILEPRO_OPC_SLTIH, TILEPRO_OPC_SLTIH_U,
  TILEPRO_OPC_SLTI, TILEPRO_OPC_SLTI_U, TILEPRO_OPC_XORI, TILEPRO_OPC_LBADD,
  TILEPRO_OPC_LBADD_U,
1905
  BITFIELD(51, 3) /* index 932 */,
1906 1907 1908
  TILEPRO_OPC_LHADD, TILEPRO_OPC_LHADD_U, TILEPRO_OPC_LWADD,
  TILEPRO_OPC_LWADD_NA, TILEPRO_OPC_SBADD, TILEPRO_OPC_SHADD,
  TILEPRO_OPC_SWADD, TILEPRO_OPC_NONE,
1909
  BITFIELD(51, 3) /* index 941 */,
1910 1911 1912
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDIB_SN, TILEPRO_OPC_ADDIH_SN,
  TILEPRO_OPC_ADDI_SN, TILEPRO_OPC_ANDI_SN, TILEPRO_OPC_MAXIB_U_SN,
  TILEPRO_OPC_MAXIH_SN, TILEPRO_OPC_MFSPR,
1913
  BITFIELD(51, 3) /* index 950 */,
1914 1915 1916
  TILEPRO_OPC_MINIB_U_SN, TILEPRO_OPC_MINIH_SN, TILEPRO_OPC_MTSPR, CHILD(959),
  TILEPRO_OPC_SEQIB_SN, TILEPRO_OPC_SEQIH_SN, TILEPRO_OPC_SEQI_SN,
  TILEPRO_OPC_SLTIB_SN,
1917
  BITFIELD(37, 2) /* index 959 */,
1918
  TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(964),
1919
  BITFIELD(39, 2) /* index 964 */,
1920
  TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(969),
1921
  BITFIELD(41, 2) /* index 969 */,
1922 1923
  TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN,
  TILEPRO_OPC_MOVEI_SN,
1924
  BITFIELD(51, 3) /* index 974 */,
1925 1926 1927
  TILEPRO_OPC_SLTIB_U_SN, TILEPRO_OPC_SLTIH_SN, TILEPRO_OPC_SLTIH_U_SN,
  TILEPRO_OPC_SLTI_SN, TILEPRO_OPC_SLTI_U_SN, TILEPRO_OPC_XORI_SN,
  TILEPRO_OPC_LBADD_SN, TILEPRO_OPC_LBADD_U_SN,
1928
  BITFIELD(51, 3) /* index 983 */,
1929 1930 1931
  TILEPRO_OPC_LHADD_SN, TILEPRO_OPC_LHADD_U_SN, TILEPRO_OPC_LWADD_SN,
  TILEPRO_OPC_LWADD_NA_SN, TILEPRO_OPC_SBADD, TILEPRO_OPC_SHADD,
  TILEPRO_OPC_SWADD, TILEPRO_OPC_NONE,
1932
  BITFIELD(46, 7) /* index 992 */,
1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  CHILD(1121), CHILD(1121), CHILD(1121), CHILD(1121), CHILD(1124),
  CHILD(1124), CHILD(1124), CHILD(1124), CHILD(1127), CHILD(1127),
  CHILD(1127), CHILD(1127), CHILD(1130), CHILD(1130), CHILD(1130),
  CHILD(1130), CHILD(1133), CHILD(1133), CHILD(1133), CHILD(1133),
  CHILD(1136), CHILD(1136), CHILD(1136), CHILD(1136), CHILD(1139),
  CHILD(1139), CHILD(1139), CHILD(1139), CHILD(1142), CHILD(1142),
  CHILD(1142), CHILD(1142), CHILD(1145), CHILD(1145), CHILD(1145),
  CHILD(1145), CHILD(1148), CHILD(1148), CHILD(1148), CHILD(1148),
  CHILD(1151), CHILD(1242), CHILD(1290), CHILD(1323), TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
1963
  BITFIELD(53, 1) /* index 1121 */,
1964
  TILEPRO_OPC_RLI, TILEPRO_OPC_NONE,
1965
  BITFIELD(53, 1) /* index 1124 */,
1966
  TILEPRO_OPC_SHLIB, TILEPRO_OPC_NONE,
1967
  BITFIELD(53, 1) /* index 1127 */,
1968
  TILEPRO_OPC_SHLIH, TILEPRO_OPC_NONE,
1969
  BITFIELD(53, 1) /* index 1130 */,
1970
  TILEPRO_OPC_SHLI, TILEPRO_OPC_NONE,
1971
  BITFIELD(53, 1) /* index 1133 */,
1972
  TILEPRO_OPC_SHRIB, TILEPRO_OPC_NONE,
1973
  BITFIELD(53, 1) /* index 1136 */,
1974
  TILEPRO_OPC_SHRIH, TILEPRO_OPC_NONE,
1975
  BITFIELD(53, 1) /* index 1139 */,
1976
  TILEPRO_OPC_SHRI, TILEPRO_OPC_NONE,
1977
  BITFIELD(53, 1) /* index 1142 */,
1978
  TILEPRO_OPC_SRAIB, TILEPRO_OPC_NONE,
1979
  BITFIELD(53, 1) /* index 1145 */,
1980
  TILEPRO_OPC_SRAIH, TILEPRO_OPC_NONE,
1981
  BITFIELD(53, 1) /* index 1148 */,
1982
  TILEPRO_OPC_SRAI, TILEPRO_OPC_NONE,
1983
  BITFIELD(43, 3) /* index 1151 */,
1984
  TILEPRO_OPC_NONE, CHILD(1160), CHILD(1163), CHILD(1166), CHILD(1169),
1985 1986
  CHILD(1172), CHILD(1175), CHILD(1178),
  BITFIELD(53, 1) /* index 1160 */,
1987
  TILEPRO_OPC_DRAIN, TILEPRO_OPC_NONE,
1988
  BITFIELD(53, 1) /* index 1163 */,
1989
  TILEPRO_OPC_DTLBPR, TILEPRO_OPC_NONE,
1990
  BITFIELD(53, 1) /* index 1166 */,
1991
  TILEPRO_OPC_FINV, TILEPRO_OPC_NONE,
1992
  BITFIELD(53, 1) /* index 1169 */,
1993
  TILEPRO_OPC_FLUSH, TILEPRO_OPC_NONE,
1994
  BITFIELD(53, 1) /* index 1172 */,
1995
  TILEPRO_OPC_FNOP, TILEPRO_OPC_NONE,
1996
  BITFIELD(53, 1) /* index 1175 */,
1997
  TILEPRO_OPC_ICOH, TILEPRO_OPC_NONE,
1998 1999 2000
  BITFIELD(31, 2) /* index 1178 */,
  CHILD(1183), CHILD(1211), CHILD(1239), CHILD(1239),
  BITFIELD(53, 1) /* index 1183 */,
2001
  CHILD(1186), TILEPRO_OPC_NONE,
2002
  BITFIELD(33, 2) /* index 1186 */,
2003
  TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, CHILD(1191),
2004
  BITFIELD(35, 2) /* index 1191 */,
2005
  TILEPRO_OPC_ILL, CHILD(1196), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
2006
  BITFIELD(37, 2) /* index 1196 */,
2007
  TILEPRO_OPC_ILL, CHILD(1201), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
2008
  BITFIELD(39, 2) /* index 1201 */,
2009
  TILEPRO_OPC_ILL, CHILD(1206), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
2010
  BITFIELD(41, 2) /* index 1206 */,
2011
  TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_BPT, TILEPRO_OPC_ILL,
2012
  BITFIELD(53, 1) /* index 1211 */,
2013
  CHILD(1214), TILEPRO_OPC_NONE,
2014
  BITFIELD(33, 2) /* index 1214 */,
2015
  TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, CHILD(1219),
2016
  BITFIELD(35, 2) /* index 1219 */,
2017
  TILEPRO_OPC_ILL, CHILD(1224), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
2018
  BITFIELD(37, 2) /* index 1224 */,
2019
  TILEPRO_OPC_ILL, CHILD(1229), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
2020
  BITFIELD(39, 2) /* index 1229 */,
2021
  TILEPRO_OPC_ILL, CHILD(1234), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
2022
  BITFIELD(41, 2) /* index 1234 */,
2023
  TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_RAISE, TILEPRO_OPC_ILL,
2024
  BITFIELD(53, 1) /* index 1239 */,
2025
  TILEPRO_OPC_ILL, TILEPRO_OPC_NONE,
2026 2027 2028 2029
  BITFIELD(43, 3) /* index 1242 */,
  CHILD(1251), CHILD(1254), CHILD(1257), CHILD(1275), CHILD(1278),
  CHILD(1281), CHILD(1284), CHILD(1287),
  BITFIELD(53, 1) /* index 1251 */,
2030
  TILEPRO_OPC_INV, TILEPRO_OPC_NONE,
2031
  BITFIELD(53, 1) /* index 1254 */,
2032
  TILEPRO_OPC_IRET, TILEPRO_OPC_NONE,
2033
  BITFIELD(53, 1) /* index 1257 */,
2034
  CHILD(1260), TILEPRO_OPC_NONE,
2035
  BITFIELD(31, 2) /* index 1260 */,
2036
  TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(1265),
2037
  BITFIELD(33, 2) /* index 1265 */,
2038
  TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(1270),
2039
  BITFIELD(35, 2) /* index 1270 */,
2040
  TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_PREFETCH,
2041
  BITFIELD(53, 1) /* index 1275 */,
2042
  TILEPRO_OPC_LB_U, TILEPRO_OPC_NONE,
2043
  BITFIELD(53, 1) /* index 1278 */,
2044
  TILEPRO_OPC_LH, TILEPRO_OPC_NONE,
2045
  BITFIELD(53, 1) /* index 1281 */,
2046
  TILEPRO_OPC_LH_U, TILEPRO_OPC_NONE,
2047
  BITFIELD(53, 1) /* index 1284 */,
2048
  TILEPRO_OPC_LW, TILEPRO_OPC_NONE,
2049
  BITFIELD(53, 1) /* index 1287 */,
2050
  TILEPRO_OPC_MF, TILEPRO_OPC_NONE,
2051 2052 2053 2054
  BITFIELD(43, 3) /* index 1290 */,
  CHILD(1299), CHILD(1302), CHILD(1305), CHILD(1308), CHILD(1311),
  CHILD(1314), CHILD(1317), CHILD(1320),
  BITFIELD(53, 1) /* index 1299 */,
2055
  TILEPRO_OPC_NAP, TILEPRO_OPC_NONE,
2056
  BITFIELD(53, 1) /* index 1302 */,
2057
  TILEPRO_OPC_NOP, TILEPRO_OPC_NONE,
2058
  BITFIELD(53, 1) /* index 1305 */,
2059
  TILEPRO_OPC_SWINT0, TILEPRO_OPC_NONE,
2060
  BITFIELD(53, 1) /* index 1308 */,
2061
  TILEPRO_OPC_SWINT1, TILEPRO_OPC_NONE,
2062
  BITFIELD(53, 1) /* index 1311 */,
2063
  TILEPRO_OPC_SWINT2, TILEPRO_OPC_NONE,
2064
  BITFIELD(53, 1) /* index 1314 */,
2065
  TILEPRO_OPC_SWINT3, TILEPRO_OPC_NONE,
2066
  BITFIELD(53, 1) /* index 1317 */,
2067
  TILEPRO_OPC_TNS, TILEPRO_OPC_NONE,
2068
  BITFIELD(53, 1) /* index 1320 */,
2069
  TILEPRO_OPC_WH64, TILEPRO_OPC_NONE,
2070
  BITFIELD(43, 2) /* index 1323 */,
2071
  CHILD(1328), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2072
  BITFIELD(45, 1) /* index 1328 */,
2073
  CHILD(1331), TILEPRO_OPC_NONE,
2074
  BITFIELD(53, 1) /* index 1331 */,
2075
  TILEPRO_OPC_LW_NA, TILEPRO_OPC_NONE,
2076
  BITFIELD(46, 7) /* index 1334 */,
2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  CHILD(1463), CHILD(1463), CHILD(1463), CHILD(1463), CHILD(1466),
  CHILD(1466), CHILD(1466), CHILD(1466), CHILD(1469), CHILD(1469),
  CHILD(1469), CHILD(1469), CHILD(1472), CHILD(1472), CHILD(1472),
  CHILD(1472), CHILD(1475), CHILD(1475), CHILD(1475), CHILD(1475),
  CHILD(1478), CHILD(1478), CHILD(1478), CHILD(1478), CHILD(1481),
  CHILD(1481), CHILD(1481), CHILD(1481), CHILD(1484), CHILD(1484),
  CHILD(1484), CHILD(1484), CHILD(1487), CHILD(1487), CHILD(1487),
  CHILD(1487), CHILD(1490), CHILD(1490), CHILD(1490), CHILD(1490),
  CHILD(1151), CHILD(1493), CHILD(1517), CHILD(1529), TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2107
  BITFIELD(53, 1) /* index 1463 */,
2108
  TILEPRO_OPC_RLI_SN, TILEPRO_OPC_NONE,
2109
  BITFIELD(53, 1) /* index 1466 */,
2110
  TILEPRO_OPC_SHLIB_SN, TILEPRO_OPC_NONE,
2111
  BITFIELD(53, 1) /* index 1469 */,
2112
  TILEPRO_OPC_SHLIH_SN, TILEPRO_OPC_NONE,
2113
  BITFIELD(53, 1) /* index 1472 */,
2114
  TILEPRO_OPC_SHLI_SN, TILEPRO_OPC_NONE,
2115
  BITFIELD(53, 1) /* index 1475 */,
2116
  TILEPRO_OPC_SHRIB_SN, TILEPRO_OPC_NONE,
2117
  BITFIELD(53, 1) /* index 1478 */,
2118
  TILEPRO_OPC_SHRIH_SN, TILEPRO_OPC_NONE,
2119
  BITFIELD(53, 1) /* index 1481 */,
2120
  TILEPRO_OPC_SHRI_SN, TILEPRO_OPC_NONE,
2121
  BITFIELD(53, 1) /* index 1484 */,
2122
  TILEPRO_OPC_SRAIB_SN, TILEPRO_OPC_NONE,
2123
  BITFIELD(53, 1) /* index 1487 */,
2124
  TILEPRO_OPC_SRAIH_SN, TILEPRO_OPC_NONE,
2125
  BITFIELD(53, 1) /* index 1490 */,
2126
  TILEPRO_OPC_SRAI_SN, TILEPRO_OPC_NONE,
2127 2128 2129 2130
  BITFIELD(43, 3) /* index 1493 */,
  CHILD(1251), CHILD(1254), CHILD(1502), CHILD(1505), CHILD(1508),
  CHILD(1511), CHILD(1514), CHILD(1287),
  BITFIELD(53, 1) /* index 1502 */,
2131
  TILEPRO_OPC_LB_SN, TILEPRO_OPC_NONE,
2132
  BITFIELD(53, 1) /* index 1505 */,
2133
  TILEPRO_OPC_LB_U_SN, TILEPRO_OPC_NONE,
2134
  BITFIELD(53, 1) /* index 1508 */,
2135
  TILEPRO_OPC_LH_SN, TILEPRO_OPC_NONE,
2136
  BITFIELD(53, 1) /* index 1511 */,
2137
  TILEPRO_OPC_LH_U_SN, TILEPRO_OPC_NONE,
2138
  BITFIELD(53, 1) /* index 1514 */,
2139
  TILEPRO_OPC_LW_SN, TILEPRO_OPC_NONE,
2140 2141 2142 2143
  BITFIELD(43, 3) /* index 1517 */,
  CHILD(1299), CHILD(1302), CHILD(1305), CHILD(1308), CHILD(1311),
  CHILD(1314), CHILD(1526), CHILD(1320),
  BITFIELD(53, 1) /* index 1526 */,
2144
  TILEPRO_OPC_TNS_SN, TILEPRO_OPC_NONE,
2145
  BITFIELD(43, 2) /* index 1529 */,
2146
  CHILD(1534), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2147
  BITFIELD(45, 1) /* index 1534 */,
2148
  CHILD(1537), TILEPRO_OPC_NONE,
2149
  BITFIELD(53, 1) /* index 1537 */,
2150
  TILEPRO_OPC_LW_NA_SN, TILEPRO_OPC_NONE,
2151 2152 2153 2154 2155
};

static const unsigned short decode_Y0_fsm[168] =
{
  BITFIELD(27, 4) /* index 0 */,
2156 2157 2158
  TILEPRO_OPC_NONE, CHILD(17), CHILD(22), CHILD(27), CHILD(47), CHILD(52),
  CHILD(57), CHILD(62), CHILD(67), TILEPRO_OPC_ADDI, CHILD(72), CHILD(102),
  TILEPRO_OPC_SEQI, CHILD(117), TILEPRO_OPC_SLTI, TILEPRO_OPC_SLTI_U,
2159
  BITFIELD(18, 2) /* index 17 */,
2160
  TILEPRO_OPC_ADD, TILEPRO_OPC_S1A, TILEPRO_OPC_S2A, TILEPRO_OPC_SUB,
2161
  BITFIELD(18, 2) /* index 22 */,
2162
  TILEPRO_OPC_MNZ, TILEPRO_OPC_MVNZ, TILEPRO_OPC_MVZ, TILEPRO_OPC_MZ,
2163
  BITFIELD(18, 2) /* index 27 */,
2164
  TILEPRO_OPC_AND, TILEPRO_OPC_NOR, CHILD(32), TILEPRO_OPC_XOR,
2165
  BITFIELD(12, 2) /* index 32 */,
2166
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(37),
2167
  BITFIELD(14, 2) /* index 37 */,
2168
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(42),
2169
  BITFIELD(16, 2) /* index 42 */,
2170
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
2171
  BITFIELD(18, 2) /* index 47 */,
2172
  TILEPRO_OPC_RL, TILEPRO_OPC_SHL, TILEPRO_OPC_SHR, TILEPRO_OPC_SRA,
2173
  BITFIELD(18, 2) /* index 52 */,
2174
  TILEPRO_OPC_SLTE, TILEPRO_OPC_SLTE_U, TILEPRO_OPC_SLT, TILEPRO_OPC_SLT_U,
2175
  BITFIELD(18, 2) /* index 57 */,
2176
  TILEPRO_OPC_MULHLSA_UU, TILEPRO_OPC_S3A, TILEPRO_OPC_SEQ, TILEPRO_OPC_SNE,
2177
  BITFIELD(18, 2) /* index 62 */,
2178 2179
  TILEPRO_OPC_MULHH_SS, TILEPRO_OPC_MULHH_UU, TILEPRO_OPC_MULLL_SS,
  TILEPRO_OPC_MULLL_UU,
2180
  BITFIELD(18, 2) /* index 67 */,
2181 2182
  TILEPRO_OPC_MULHHA_SS, TILEPRO_OPC_MULHHA_UU, TILEPRO_OPC_MULLLA_SS,
  TILEPRO_OPC_MULLLA_UU,
2183
  BITFIELD(0, 2) /* index 72 */,
2184
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(77),
2185
  BITFIELD(2, 2) /* index 77 */,
2186
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(82),
2187
  BITFIELD(4, 2) /* index 82 */,
2188
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(87),
2189
  BITFIELD(6, 2) /* index 87 */,
2190
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(92),
2191
  BITFIELD(8, 2) /* index 92 */,
2192
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(97),
2193
  BITFIELD(10, 2) /* index 97 */,
2194
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
2195
  BITFIELD(6, 2) /* index 102 */,
2196
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(107),
2197
  BITFIELD(8, 2) /* index 107 */,
2198
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(112),
2199
  BITFIELD(10, 2) /* index 112 */,
2200
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
2201
  BITFIELD(15, 5) /* index 117 */,
2202 2203 2204 2205 2206 2207 2208 2209
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_RLI, TILEPRO_OPC_RLI, TILEPRO_OPC_RLI, TILEPRO_OPC_RLI,
  TILEPRO_OPC_SHLI, TILEPRO_OPC_SHLI, TILEPRO_OPC_SHLI, TILEPRO_OPC_SHLI,
  TILEPRO_OPC_SHRI, TILEPRO_OPC_SHRI, TILEPRO_OPC_SHRI, TILEPRO_OPC_SHRI,
  TILEPRO_OPC_SRAI, TILEPRO_OPC_SRAI, TILEPRO_OPC_SRAI, TILEPRO_OPC_SRAI,
  CHILD(150), CHILD(159), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2210
  BITFIELD(12, 3) /* index 150 */,
2211 2212
  TILEPRO_OPC_NONE, TILEPRO_OPC_BITX, TILEPRO_OPC_BYTEX, TILEPRO_OPC_CLZ,
  TILEPRO_OPC_CTZ, TILEPRO_OPC_FNOP, TILEPRO_OPC_NOP, TILEPRO_OPC_PCNT,
2213
  BITFIELD(12, 3) /* index 159 */,
2214 2215 2216
  TILEPRO_OPC_TBLIDXB0, TILEPRO_OPC_TBLIDXB1, TILEPRO_OPC_TBLIDXB2,
  TILEPRO_OPC_TBLIDXB3, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE,
2217 2218 2219 2220 2221
};

static const unsigned short decode_Y1_fsm[140] =
{
  BITFIELD(59, 4) /* index 0 */,
2222 2223 2224 2225
  TILEPRO_OPC_NONE, CHILD(17), CHILD(22), CHILD(27), CHILD(47), CHILD(52),
  CHILD(57), TILEPRO_OPC_ADDI, CHILD(62), CHILD(92), TILEPRO_OPC_SEQI,
  CHILD(107), TILEPRO_OPC_SLTI, TILEPRO_OPC_SLTI_U, TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE,
2226
  BITFIELD(49, 2) /* index 17 */,
2227
  TILEPRO_OPC_ADD, TILEPRO_OPC_S1A, TILEPRO_OPC_S2A, TILEPRO_OPC_SUB,
2228
  BITFIELD(49, 2) /* index 22 */,
2229
  TILEPRO_OPC_NONE, TILEPRO_OPC_MNZ, TILEPRO_OPC_MZ, TILEPRO_OPC_NONE,
2230
  BITFIELD(49, 2) /* index 27 */,
2231
  TILEPRO_OPC_AND, TILEPRO_OPC_NOR, CHILD(32), TILEPRO_OPC_XOR,
2232
  BITFIELD(43, 2) /* index 32 */,
2233
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(37),
2234
  BITFIELD(45, 2) /* index 37 */,
2235
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(42),
2236
  BITFIELD(47, 2) /* index 42 */,
2237
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
2238
  BITFIELD(49, 2) /* index 47 */,
2239
  TILEPRO_OPC_RL, TILEPRO_OPC_SHL, TILEPRO_OPC_SHR, TILEPRO_OPC_SRA,
2240
  BITFIELD(49, 2) /* index 52 */,
2241
  TILEPRO_OPC_SLTE, TILEPRO_OPC_SLTE_U, TILEPRO_OPC_SLT, TILEPRO_OPC_SLT_U,
2242
  BITFIELD(49, 2) /* index 57 */,
2243
  TILEPRO_OPC_NONE, TILEPRO_OPC_S3A, TILEPRO_OPC_SEQ, TILEPRO_OPC_SNE,
2244
  BITFIELD(31, 2) /* index 62 */,
2245
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(67),
2246
  BITFIELD(33, 2) /* index 67 */,
2247
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(72),
2248
  BITFIELD(35, 2) /* index 72 */,
2249
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(77),
2250
  BITFIELD(37, 2) /* index 77 */,
2251
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(82),
2252
  BITFIELD(39, 2) /* index 82 */,
2253
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(87),
2254
  BITFIELD(41, 2) /* index 87 */,
2255
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
2256
  BITFIELD(37, 2) /* index 92 */,
2257
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(97),
2258
  BITFIELD(39, 2) /* index 97 */,
2259
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(102),
2260
  BITFIELD(41, 2) /* index 102 */,
2261
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
2262
  BITFIELD(48, 3) /* index 107 */,
2263 2264
  TILEPRO_OPC_NONE, TILEPRO_OPC_RLI, TILEPRO_OPC_SHLI, TILEPRO_OPC_SHRI,
  TILEPRO_OPC_SRAI, CHILD(116), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2265
  BITFIELD(43, 3) /* index 116 */,
2266 2267
  TILEPRO_OPC_NONE, CHILD(125), CHILD(130), CHILD(135), TILEPRO_OPC_NONE,
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2268
  BITFIELD(46, 2) /* index 125 */,
2269
  TILEPRO_OPC_FNOP, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2270
  BITFIELD(46, 2) /* index 130 */,
2271
  TILEPRO_OPC_ILL, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2272
  BITFIELD(46, 2) /* index 135 */,
2273
  TILEPRO_OPC_NOP, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
2274 2275 2276 2277 2278
};

static const unsigned short decode_Y2_fsm[24] =
{
  BITFIELD(56, 3) /* index 0 */,
2279 2280
  CHILD(9), TILEPRO_OPC_LB_U, TILEPRO_OPC_LH, TILEPRO_OPC_LH_U,
  TILEPRO_OPC_LW, TILEPRO_OPC_SB, TILEPRO_OPC_SH, TILEPRO_OPC_SW,
2281
  BITFIELD(20, 2) /* index 9 */,
2282
  TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(14),
2283
  BITFIELD(22, 2) /* index 14 */,
2284
  TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(19),
2285
  BITFIELD(24, 2) /* index 19 */,
2286
  TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_PREFETCH,
2287 2288 2289 2290 2291
};

#undef BITFIELD
#undef CHILD
const unsigned short * const
2292
tilepro_bundle_decoder_fsms[TILEPRO_NUM_PIPELINE_ENCODINGS] =
2293 2294 2295 2296 2297 2298 2299
{
  decode_X0_fsm,
  decode_X1_fsm,
  decode_Y0_fsm,
  decode_Y1_fsm,
  decode_Y2_fsm
};
2300
const struct tilepro_operand tilepro_operands[43] =
2301 2302
{
  {
2303
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_X0),
2304 2305
    8, 1, 0, 0, 0, 0,
    create_Imm8_X0, get_Imm8_X0
2306 2307
  },
  {
2308
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_X1),
2309 2310
    8, 1, 0, 0, 0, 0,
    create_Imm8_X1, get_Imm8_X1
2311 2312
  },
  {
2313
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_Y0),
2314 2315
    8, 1, 0, 0, 0, 0,
    create_Imm8_Y0, get_Imm8_Y0
2316 2317
  },
  {
2318
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_Y1),
2319 2320
    8, 1, 0, 0, 0, 0,
    create_Imm8_Y1, get_Imm8_Y1
2321 2322
  },
  {
2323
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM16_X0),
2324 2325
    16, 1, 0, 0, 0, 0,
    create_Imm16_X0, get_Imm16_X0
2326 2327
  },
  {
2328
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM16_X1),
2329 2330
    16, 1, 0, 0, 0, 0,
    create_Imm16_X1, get_Imm16_X1
2331 2332
  },
  {
2333 2334
    TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(TILEPRO_JOFFLONG_X1),
    29, 1, 0, 0, 1, TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
2335
    create_JOffLong_X1, get_JOffLong_X1
2336 2337
  },
  {
2338
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2339 2340
    6, 0, 0, 1, 0, 0,
    create_Dest_X0, get_Dest_X0
2341 2342
  },
  {
2343
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2344 2345
    6, 0, 1, 0, 0, 0,
    create_SrcA_X0, get_SrcA_X0
2346 2347
  },
  {
2348
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2349 2350
    6, 0, 0, 1, 0, 0,
    create_Dest_X1, get_Dest_X1
2351 2352
  },
  {
2353
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2354 2355
    6, 0, 1, 0, 0, 0,
    create_SrcA_X1, get_SrcA_X1
2356 2357
  },
  {
2358
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2359 2360
    6, 0, 0, 1, 0, 0,
    create_Dest_Y0, get_Dest_Y0
2361 2362
  },
  {
2363
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2364 2365
    6, 0, 1, 0, 0, 0,
    create_SrcA_Y0, get_SrcA_Y0
2366 2367
  },
  {
2368
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2369 2370
    6, 0, 0, 1, 0, 0,
    create_Dest_Y1, get_Dest_Y1
2371 2372
  },
  {
2373
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2374 2375
    6, 0, 1, 0, 0, 0,
    create_SrcA_Y1, get_SrcA_Y1
2376 2377
  },
  {
2378
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2379 2380
    6, 0, 1, 0, 0, 0,
    create_SrcA_Y2, get_SrcA_Y2
2381 2382
  },
  {
2383
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2384 2385
    6, 0, 1, 0, 0, 0,
    create_SrcB_X0, get_SrcB_X0
2386 2387
  },
  {
2388
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2389 2390
    6, 0, 1, 0, 0, 0,
    create_SrcB_X1, get_SrcB_X1
2391 2392
  },
  {
2393
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2394 2395
    6, 0, 1, 0, 0, 0,
    create_SrcB_Y0, get_SrcB_Y0
2396 2397
  },
  {
2398
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2399 2400
    6, 0, 1, 0, 0, 0,
    create_SrcB_Y1, get_SrcB_Y1
2401 2402
  },
  {
2403 2404
    TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(TILEPRO_BROFF_X1),
    17, 1, 0, 0, 1, TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
2405
    create_BrOff_X1, get_BrOff_X1
2406 2407
  },
  {
2408
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2409 2410
    6, 0, 1, 1, 0, 0,
    create_Dest_X0, get_Dest_X0
2411 2412
  },
  {
2413 2414
    TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(NONE),
    28, 1, 0, 0, 1, TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
2415
    create_JOff_X1, get_JOff_X1
2416 2417
  },
  {
2418
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2419 2420
    6, 0, 0, 1, 0, 0,
    create_SrcBDest_Y2, get_SrcBDest_Y2
2421 2422
  },
  {
2423
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2424 2425
    6, 0, 1, 1, 0, 0,
    create_SrcA_X1, get_SrcA_X1
2426 2427
  },
  {
2428
    TILEPRO_OP_TYPE_SPR, BFD_RELOC(TILEPRO_MF_IMM15_X1),
2429 2430
    15, 0, 0, 0, 0, 0,
    create_MF_Imm15_X1, get_MF_Imm15_X1
2431 2432
  },
  {
2433
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMSTART_X0),
2434 2435
    5, 0, 0, 0, 0, 0,
    create_MMStart_X0, get_MMStart_X0
2436 2437
  },
  {
2438
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMEND_X0),
2439 2440
    5, 0, 0, 0, 0, 0,
    create_MMEnd_X0, get_MMEnd_X0
2441 2442
  },
  {
2443
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMSTART_X1),
2444 2445
    5, 0, 0, 0, 0, 0,
    create_MMStart_X1, get_MMStart_X1
2446 2447
  },
  {
2448
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMEND_X1),
2449 2450
    5, 0, 0, 0, 0, 0,
    create_MMEnd_X1, get_MMEnd_X1
2451 2452
  },
  {
2453
    TILEPRO_OP_TYPE_SPR, BFD_RELOC(TILEPRO_MT_IMM15_X1),
2454 2455
    15, 0, 0, 0, 0, 0,
    create_MT_Imm15_X1, get_MT_Imm15_X1
2456 2457
  },
  {
2458
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2459 2460
    6, 0, 1, 1, 0, 0,
    create_Dest_Y0, get_Dest_Y0
2461 2462
  },
  {
2463
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_X0),
2464 2465
    5, 0, 0, 0, 0, 0,
    create_ShAmt_X0, get_ShAmt_X0
2466 2467
  },
  {
2468
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_X1),
2469 2470
    5, 0, 0, 0, 0, 0,
    create_ShAmt_X1, get_ShAmt_X1
2471 2472
  },
  {
2473
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_Y0),
2474 2475
    5, 0, 0, 0, 0, 0,
    create_ShAmt_Y0, get_ShAmt_Y0
2476 2477
  },
  {
2478
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_Y1),
2479 2480
    5, 0, 0, 0, 0, 0,
    create_ShAmt_Y1, get_ShAmt_Y1
2481 2482
  },
  {
2483
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2484 2485
    6, 0, 1, 0, 0, 0,
    create_SrcBDest_Y2, get_SrcBDest_Y2
2486 2487
  },
  {
2488
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_DEST_IMM8_X1),
2489 2490
    8, 1, 0, 0, 0, 0,
    create_Dest_Imm8_X1, get_Dest_Imm8_X1
2491 2492
  },
  {
2493 2494
    TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(NONE),
    10, 1, 0, 0, 1, TILEPRO_LOG2_SN_INSTRUCTION_SIZE_IN_BYTES,
2495
    create_BrOff_SN, get_BrOff_SN
2496 2497
  },
  {
2498
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(NONE),
2499 2500
    8, 0, 0, 0, 0, 0,
    create_Imm8_SN, get_Imm8_SN
2501 2502
  },
  {
2503
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(NONE),
2504 2505
    8, 1, 0, 0, 0, 0,
    create_Imm8_SN, get_Imm8_SN
2506 2507
  },
  {
2508
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2509 2510
    2, 0, 0, 1, 0, 0,
    create_Dest_SN, get_Dest_SN
2511 2512
  },
  {
2513
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2514 2515
    2, 0, 1, 0, 0, 0,
    create_Src_SN, get_Src_SN
2516 2517 2518 2519 2520 2521
  }
};




2522 2523
/* Given a set of bundle bits and a specific pipe, returns which
 * instruction the bundle contains in that pipe.
2524
 */
2525 2526
const struct tilepro_opcode *
find_opcode(tilepro_bundle_bits bits, tilepro_pipeline pipe)
2527
{
2528
  const unsigned short *table = tilepro_bundle_decoder_fsms[pipe];
2529 2530 2531 2532 2533 2534 2535 2536 2537
  int index = 0;

  while (1)
  {
    unsigned short bitspec = table[index];
    unsigned int bitfield =
      ((unsigned int)(bits >> (bitspec & 63))) & (bitspec >> 6);

    unsigned short next = table[index + 1 + bitfield];
2538 2539
    if (next <= TILEPRO_OPC_NONE)
      return &tilepro_opcodes[next];
2540

2541
    index = next - TILEPRO_OPC_NONE;
2542 2543 2544 2545 2546
  }
}


int
2547 2548 2549 2550
parse_insn_tilepro(tilepro_bundle_bits bits,
                   unsigned int pc,
                   struct tilepro_decoded_instruction
                   decoded[TILEPRO_MAX_INSTRUCTIONS_PER_BUNDLE])
2551 2552 2553 2554 2555
{
  int num_instructions = 0;
  int pipe;

  int min_pipe, max_pipe;
2556
  if ((bits & TILEPRO_BUNDLE_Y_ENCODING_MASK) == 0)
2557
  {
2558 2559
    min_pipe = TILEPRO_PIPELINE_X0;
    max_pipe = TILEPRO_PIPELINE_X1;
2560 2561 2562
  }
  else
  {
2563 2564
    min_pipe = TILEPRO_PIPELINE_Y0;
    max_pipe = TILEPRO_PIPELINE_Y2;
2565 2566 2567 2568 2569
  }

  /* For each pipe, find an instruction that fits. */
  for (pipe = min_pipe; pipe <= max_pipe; pipe++)
  {
2570 2571
    const struct tilepro_opcode *opc;
    struct tilepro_decoded_instruction *d;
2572 2573 2574
    int i;

    d = &decoded[num_instructions++];
2575
    opc = find_opcode (bits, (tilepro_pipeline)pipe);
2576 2577 2578 2579 2580
    d->opcode = opc;

    /* Decode each operand, sign extending, etc. as appropriate. */
    for (i = 0; i < opc->num_operands; i++)
    {
2581 2582
      const struct tilepro_operand *op =
        &tilepro_operands[opc->operands[pipe][i]];
2583 2584 2585 2586 2587 2588 2589 2590 2591
      int opval = op->extract (bits);
      if (op->is_signed)
      {
        /* Sign-extend the operand. */
        int shift = (int)((sizeof(int) * 8) - op->num_bits);
        opval = (opval << shift) >> shift;
      }

      /* Adjust PC-relative scaled branch offsets. */
2592
      if (op->type == TILEPRO_OP_TYPE_ADDRESS)
2593
      {
2594
        opval *= TILEPRO_BUNDLE_SIZE_IN_BYTES;
2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605
        opval += (int)pc;
      }

      /* Record the final value. */
      d->operands[i] = op;
      d->operand_values[i] = opval;
    }
  }

  return num_instructions;
}