linux/arch/tile/kernel/tile-desc_32.c
<<
>>
Prefs
   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
  32const 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
1222static const unsigned short decode_X0_fsm[1153] =
1223{
1224  BITFIELD(22, 9) /* index 0 */,
1225  CHILD(513), CHILD(530), CHILD(547), CHILD(564), CHILD(596), CHILD(613),
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
1618static 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
2153static 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
2219static 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
2276static 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
2291const unsigned short * const
2292tilepro_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};
2300const 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 */
2525const struct tilepro_opcode *
2526find_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
2546int
2547parse_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