~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/tile/kernel/tile-desc_32.c

Version: ~ [ linux-5.2-rc1 ] ~ [ linux-5.1.2 ] ~ [ linux-5.0.16 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.43 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.119 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.176 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.179 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.139 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.67 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-3.9.11 ] ~ [ linux-3.8.13 ] ~ [ linux-3.7.10 ] ~ [ linux-3.6.11 ] ~ [ linux-3.5.7 ] ~ [ linux-3.4.113 ] ~ [ linux-3.3.8 ] ~ [ linux-3.2.102 ] ~ [ linux-3.1.10 ] ~ [ linux-3.0.101 ] ~ [ linux-2.6.39.4 ] ~ [ linux-2.6.38.8 ] ~ [ linux-2.6.37.6 ] ~ [ linux-2.6.36.4 ] ~ [ linux-2.6.35.14 ] ~ [ linux-2.6.34.15 ] ~ [ linux-2.6.33.20 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp