Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.2.
   1/* This define is BFD_RELOC_##x for real bfd, or -1 for everyone else. */
   2#define BFD_RELOC(x) -1
   3
   4/* Special registers. */
   5#define TREG_LR 55
   6#define TREG_SN 56
   7#define TREG_ZERO 63
   8
   9/* FIXME: Rename this. */
  10#include <asm/opcode-tile.h>
  11
  12#include <linux/stddef.h>
  13
  14const struct tile_opcode tile_opcodes[395] =
  15{
  16 { "bpt", TILE_OPC_BPT, 0x2, 0, TREG_ZERO, 0,
  17    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
  18  },
  19  { "info", TILE_OPC_INFO, 0xf, 1, TREG_ZERO, 1,
  20    { { 0 }, { 1 }, { 2 }, { 3 }, { 0, } },
  21  },
  22  { "infol", TILE_OPC_INFOL, 0x3, 1, TREG_ZERO, 1,
  23    { { 4 }, { 5 }, { 0, }, { 0, }, { 0, } },
  24  },
  25  { "j", TILE_OPC_J, 0x2, 1, TREG_ZERO, 1,
  26    { { 0, }, { 6 }, { 0, }, { 0, }, { 0, } },
  27  },
  28  { "jal", TILE_OPC_JAL, 0x2, 1, TREG_LR, 1,
  29    { { 0, }, { 6 }, { 0, }, { 0, }, { 0, } },
  30  },
  31  { "move", TILE_OPC_MOVE, 0xf, 2, TREG_ZERO, 1,
  32    { { 7, 8 }, { 9, 10 }, { 11, 12 }, { 13, 14 }, { 0, } },
  33  },
  34  { "move.sn", TILE_OPC_MOVE_SN, 0x3, 2, TREG_SN, 1,
  35    { { 7, 8 }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
  36  },
  37  { "movei", TILE_OPC_MOVEI, 0xf, 2, TREG_ZERO, 1,
  38    { { 7, 0 }, { 9, 1 }, { 11, 2 }, { 13, 3 }, { 0, } },
  39  },
  40  { "movei.sn", TILE_OPC_MOVEI_SN, 0x3, 2, TREG_SN, 1,
  41    { { 7, 0 }, { 9, 1 }, { 0, }, { 0, }, { 0, } },
  42  },
  43  { "moveli", TILE_OPC_MOVELI, 0x3, 2, TREG_ZERO, 1,
  44    { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
  45  },
  46  { "moveli.sn", TILE_OPC_MOVELI_SN, 0x3, 2, TREG_SN, 1,
  47    { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
  48  },
  49  { "movelis", TILE_OPC_MOVELIS, 0x3, 2, TREG_SN, 1,
  50    { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
  51  },
  52  { "prefetch", TILE_OPC_PREFETCH, 0x12, 1, TREG_ZERO, 1,
  53    { { 0, }, { 10 }, { 0, }, { 0, }, { 15 } },
  54  },
  55  { "raise", TILE_OPC_RAISE, 0x2, 0, TREG_ZERO, 1,
  56    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
  57  },
  58  { "add", TILE_OPC_ADD, 0xf, 3, TREG_ZERO, 1,
  59    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
  60  },
  61  { "add.sn", TILE_OPC_ADD_SN, 0x3, 3, TREG_SN, 1,
  62    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  63  },
  64  { "addb", TILE_OPC_ADDB, 0x3, 3, TREG_ZERO, 1,
  65    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  66  },
  67  { "addb.sn", TILE_OPC_ADDB_SN, 0x3, 3, TREG_SN, 1,
  68    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  69  },
  70  { "addbs_u", TILE_OPC_ADDBS_U, 0x3, 3, TREG_ZERO, 1,
  71    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  72  },
  73  { "addbs_u.sn", TILE_OPC_ADDBS_U_SN, 0x3, 3, TREG_SN, 1,
  74    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  75  },
  76  { "addh", TILE_OPC_ADDH, 0x3, 3, TREG_ZERO, 1,
  77    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  78  },
  79  { "addh.sn", TILE_OPC_ADDH_SN, 0x3, 3, TREG_SN, 1,
  80    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  81  },
  82  { "addhs", TILE_OPC_ADDHS, 0x3, 3, TREG_ZERO, 1,
  83    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  84  },
  85  { "addhs.sn", TILE_OPC_ADDHS_SN, 0x3, 3, TREG_SN, 1,
  86    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
  87  },
  88  { "addi", TILE_OPC_ADDI, 0xf, 3, TREG_ZERO, 1,
  89    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
  90  },
  91  { "addi.sn", TILE_OPC_ADDI_SN, 0x3, 3, TREG_SN, 1,
  92    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  93  },
  94  { "addib", TILE_OPC_ADDIB, 0x3, 3, TREG_ZERO, 1,
  95    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  96  },
  97  { "addib.sn", TILE_OPC_ADDIB_SN, 0x3, 3, TREG_SN, 1,
  98    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
  99  },
 100  { "addih", TILE_OPC_ADDIH, 0x3, 3, TREG_ZERO, 1,
 101    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 102  },
 103  { "addih.sn", TILE_OPC_ADDIH_SN, 0x3, 3, TREG_SN, 1,
 104    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 105  },
 106  { "addli", TILE_OPC_ADDLI, 0x3, 3, TREG_ZERO, 1,
 107    { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
 108  },
 109  { "addli.sn", TILE_OPC_ADDLI_SN, 0x3, 3, TREG_SN, 1,
 110    { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
 111  },
 112  { "addlis", TILE_OPC_ADDLIS, 0x3, 3, TREG_SN, 1,
 113    { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
 114  },
 115  { "adds", TILE_OPC_ADDS, 0x3, 3, TREG_ZERO, 1,
 116    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 117  },
 118  { "adds.sn", TILE_OPC_ADDS_SN, 0x3, 3, TREG_SN, 1,
 119    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 120  },
 121  { "adiffb_u", TILE_OPC_ADIFFB_U, 0x1, 3, TREG_ZERO, 1,
 122    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 123  },
 124  { "adiffb_u.sn", TILE_OPC_ADIFFB_U_SN, 0x1, 3, TREG_SN, 1,
 125    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 126  },
 127  { "adiffh", TILE_OPC_ADIFFH, 0x1, 3, TREG_ZERO, 1,
 128    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 129  },
 130  { "adiffh.sn", TILE_OPC_ADIFFH_SN, 0x1, 3, TREG_SN, 1,
 131    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 132  },
 133  { "and", TILE_OPC_AND, 0xf, 3, TREG_ZERO, 1,
 134    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 135  },
 136  { "and.sn", TILE_OPC_AND_SN, 0x3, 3, TREG_SN, 1,
 137    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 138  },
 139  { "andi", TILE_OPC_ANDI, 0xf, 3, TREG_ZERO, 1,
 140    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
 141  },
 142  { "andi.sn", TILE_OPC_ANDI_SN, 0x3, 3, TREG_SN, 1,
 143    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 144  },
 145  { "auli", TILE_OPC_AULI, 0x3, 3, TREG_ZERO, 1,
 146    { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
 147  },
 148  { "avgb_u", TILE_OPC_AVGB_U, 0x1, 3, TREG_ZERO, 1,
 149    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 150  },
 151  { "avgb_u.sn", TILE_OPC_AVGB_U_SN, 0x1, 3, TREG_SN, 1,
 152    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 153  },
 154  { "avgh", TILE_OPC_AVGH, 0x1, 3, TREG_ZERO, 1,
 155    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 156  },
 157  { "avgh.sn", TILE_OPC_AVGH_SN, 0x1, 3, TREG_SN, 1,
 158    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 159  },
 160  { "bbns", TILE_OPC_BBNS, 0x2, 2, TREG_ZERO, 1,
 161    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 162  },
 163  { "bbns.sn", TILE_OPC_BBNS_SN, 0x2, 2, TREG_SN, 1,
 164    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 165  },
 166  { "bbnst", TILE_OPC_BBNST, 0x2, 2, TREG_ZERO, 1,
 167    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 168  },
 169  { "bbnst.sn", TILE_OPC_BBNST_SN, 0x2, 2, TREG_SN, 1,
 170    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 171  },
 172  { "bbs", TILE_OPC_BBS, 0x2, 2, TREG_ZERO, 1,
 173    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 174  },
 175  { "bbs.sn", TILE_OPC_BBS_SN, 0x2, 2, TREG_SN, 1,
 176    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 177  },
 178  { "bbst", TILE_OPC_BBST, 0x2, 2, TREG_ZERO, 1,
 179    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 180  },
 181  { "bbst.sn", TILE_OPC_BBST_SN, 0x2, 2, TREG_SN, 1,
 182    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 183  },
 184  { "bgez", TILE_OPC_BGEZ, 0x2, 2, TREG_ZERO, 1,
 185    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 186  },
 187  { "bgez.sn", TILE_OPC_BGEZ_SN, 0x2, 2, TREG_SN, 1,
 188    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 189  },
 190  { "bgezt", TILE_OPC_BGEZT, 0x2, 2, TREG_ZERO, 1,
 191    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 192  },
 193  { "bgezt.sn", TILE_OPC_BGEZT_SN, 0x2, 2, TREG_SN, 1,
 194    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 195  },
 196  { "bgz", TILE_OPC_BGZ, 0x2, 2, TREG_ZERO, 1,
 197    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 198  },
 199  { "bgz.sn", TILE_OPC_BGZ_SN, 0x2, 2, TREG_SN, 1,
 200    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 201  },
 202  { "bgzt", TILE_OPC_BGZT, 0x2, 2, TREG_ZERO, 1,
 203    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 204  },
 205  { "bgzt.sn", TILE_OPC_BGZT_SN, 0x2, 2, TREG_SN, 1,
 206    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 207  },
 208  { "bitx", TILE_OPC_BITX, 0x5, 2, TREG_ZERO, 1,
 209    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
 210  },
 211  { "bitx.sn", TILE_OPC_BITX_SN, 0x1, 2, TREG_SN, 1,
 212    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
 213  },
 214  { "blez", TILE_OPC_BLEZ, 0x2, 2, TREG_ZERO, 1,
 215    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 216  },
 217  { "blez.sn", TILE_OPC_BLEZ_SN, 0x2, 2, TREG_SN, 1,
 218    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 219  },
 220  { "blezt", TILE_OPC_BLEZT, 0x2, 2, TREG_ZERO, 1,
 221    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 222  },
 223  { "blezt.sn", TILE_OPC_BLEZT_SN, 0x2, 2, TREG_SN, 1,
 224    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 225  },
 226  { "blz", TILE_OPC_BLZ, 0x2, 2, TREG_ZERO, 1,
 227    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 228  },
 229  { "blz.sn", TILE_OPC_BLZ_SN, 0x2, 2, TREG_SN, 1,
 230    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 231  },
 232  { "blzt", TILE_OPC_BLZT, 0x2, 2, TREG_ZERO, 1,
 233    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 234  },
 235  { "blzt.sn", TILE_OPC_BLZT_SN, 0x2, 2, TREG_SN, 1,
 236    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 237  },
 238  { "bnz", TILE_OPC_BNZ, 0x2, 2, TREG_ZERO, 1,
 239    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 240  },
 241  { "bnz.sn", TILE_OPC_BNZ_SN, 0x2, 2, TREG_SN, 1,
 242    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 243  },
 244  { "bnzt", TILE_OPC_BNZT, 0x2, 2, TREG_ZERO, 1,
 245    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 246  },
 247  { "bnzt.sn", TILE_OPC_BNZT_SN, 0x2, 2, TREG_SN, 1,
 248    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 249  },
 250  { "bytex", TILE_OPC_BYTEX, 0x5, 2, TREG_ZERO, 1,
 251    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
 252  },
 253  { "bytex.sn", TILE_OPC_BYTEX_SN, 0x1, 2, TREG_SN, 1,
 254    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
 255  },
 256  { "bz", TILE_OPC_BZ, 0x2, 2, TREG_ZERO, 1,
 257    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 258  },
 259  { "bz.sn", TILE_OPC_BZ_SN, 0x2, 2, TREG_SN, 1,
 260    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 261  },
 262  { "bzt", TILE_OPC_BZT, 0x2, 2, TREG_ZERO, 1,
 263    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 264  },
 265  { "bzt.sn", TILE_OPC_BZT_SN, 0x2, 2, TREG_SN, 1,
 266    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
 267  },
 268  { "clz", TILE_OPC_CLZ, 0x5, 2, TREG_ZERO, 1,
 269    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
 270  },
 271  { "clz.sn", TILE_OPC_CLZ_SN, 0x1, 2, TREG_SN, 1,
 272    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
 273  },
 274  { "crc32_32", TILE_OPC_CRC32_32, 0x1, 3, TREG_ZERO, 1,
 275    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 276  },
 277  { "crc32_32.sn", TILE_OPC_CRC32_32_SN, 0x1, 3, TREG_SN, 1,
 278    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 279  },
 280  { "crc32_8", TILE_OPC_CRC32_8, 0x1, 3, TREG_ZERO, 1,
 281    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 282  },
 283  { "crc32_8.sn", TILE_OPC_CRC32_8_SN, 0x1, 3, TREG_SN, 1,
 284    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 285  },
 286  { "ctz", TILE_OPC_CTZ, 0x5, 2, TREG_ZERO, 1,
 287    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
 288  },
 289  { "ctz.sn", TILE_OPC_CTZ_SN, 0x1, 2, TREG_SN, 1,
 290    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
 291  },
 292  { "drain", TILE_OPC_DRAIN, 0x2, 0, TREG_ZERO, 0,
 293    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
 294  },
 295  { "dtlbpr", TILE_OPC_DTLBPR, 0x2, 1, TREG_ZERO, 1,
 296    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
 297  },
 298  { "dword_align", TILE_OPC_DWORD_ALIGN, 0x1, 3, TREG_ZERO, 1,
 299    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 300  },
 301  { "dword_align.sn", TILE_OPC_DWORD_ALIGN_SN, 0x1, 3, TREG_SN, 1,
 302    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 303  },
 304  { "finv", TILE_OPC_FINV, 0x2, 1, TREG_ZERO, 1,
 305    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
 306  },
 307  { "flush", TILE_OPC_FLUSH, 0x2, 1, TREG_ZERO, 1,
 308    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
 309  },
 310  { "fnop", TILE_OPC_FNOP, 0xf, 0, TREG_ZERO, 1,
 311    { {  }, {  }, {  }, {  }, { 0, } },
 312  },
 313  { "icoh", TILE_OPC_ICOH, 0x2, 1, TREG_ZERO, 1,
 314    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
 315  },
 316  { "ill", TILE_OPC_ILL, 0xa, 0, TREG_ZERO, 1,
 317    { { 0, }, {  }, { 0, }, {  }, { 0, } },
 318  },
 319  { "inthb", TILE_OPC_INTHB, 0x3, 3, TREG_ZERO, 1,
 320    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 321  },
 322  { "inthb.sn", TILE_OPC_INTHB_SN, 0x3, 3, TREG_SN, 1,
 323    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 324  },
 325  { "inthh", TILE_OPC_INTHH, 0x3, 3, TREG_ZERO, 1,
 326    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 327  },
 328  { "inthh.sn", TILE_OPC_INTHH_SN, 0x3, 3, TREG_SN, 1,
 329    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 330  },
 331  { "intlb", TILE_OPC_INTLB, 0x3, 3, TREG_ZERO, 1,
 332    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 333  },
 334  { "intlb.sn", TILE_OPC_INTLB_SN, 0x3, 3, TREG_SN, 1,
 335    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 336  },
 337  { "intlh", TILE_OPC_INTLH, 0x3, 3, TREG_ZERO, 1,
 338    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 339  },
 340  { "intlh.sn", TILE_OPC_INTLH_SN, 0x3, 3, TREG_SN, 1,
 341    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 342  },
 343  { "inv", TILE_OPC_INV, 0x2, 1, TREG_ZERO, 1,
 344    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
 345  },
 346  { "iret", TILE_OPC_IRET, 0x2, 0, TREG_ZERO, 1,
 347    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
 348  },
 349  { "jalb", TILE_OPC_JALB, 0x2, 1, TREG_LR, 1,
 350    { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
 351  },
 352  { "jalf", TILE_OPC_JALF, 0x2, 1, TREG_LR, 1,
 353    { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
 354  },
 355  { "jalr", TILE_OPC_JALR, 0x2, 1, TREG_LR, 1,
 356    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
 357  },
 358  { "jalrp", TILE_OPC_JALRP, 0x2, 1, TREG_LR, 1,
 359    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
 360  },
 361  { "jb", TILE_OPC_JB, 0x2, 1, TREG_ZERO, 1,
 362    { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
 363  },
 364  { "jf", TILE_OPC_JF, 0x2, 1, TREG_ZERO, 1,
 365    { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
 366  },
 367  { "jr", TILE_OPC_JR, 0x2, 1, TREG_ZERO, 1,
 368    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
 369  },
 370  { "jrp", TILE_OPC_JRP, 0x2, 1, TREG_ZERO, 1,
 371    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
 372  },
 373  { "lb", TILE_OPC_LB, 0x12, 2, TREG_ZERO, 1,
 374    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
 375  },
 376  { "lb.sn", TILE_OPC_LB_SN, 0x2, 2, TREG_SN, 1,
 377    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
 378  },
 379  { "lb_u", TILE_OPC_LB_U, 0x12, 2, TREG_ZERO, 1,
 380    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
 381  },
 382  { "lb_u.sn", TILE_OPC_LB_U_SN, 0x2, 2, TREG_SN, 1,
 383    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
 384  },
 385  { "lbadd", TILE_OPC_LBADD, 0x2, 3, TREG_ZERO, 1,
 386    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
 387  },
 388  { "lbadd.sn", TILE_OPC_LBADD_SN, 0x2, 3, TREG_SN, 1,
 389    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
 390  },
 391  { "lbadd_u", TILE_OPC_LBADD_U, 0x2, 3, TREG_ZERO, 1,
 392    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
 393  },
 394  { "lbadd_u.sn", TILE_OPC_LBADD_U_SN, 0x2, 3, TREG_SN, 1,
 395    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
 396  },
 397  { "lh", TILE_OPC_LH, 0x12, 2, TREG_ZERO, 1,
 398    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
 399  },
 400  { "lh.sn", TILE_OPC_LH_SN, 0x2, 2, TREG_SN, 1,
 401    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
 402  },
 403  { "lh_u", TILE_OPC_LH_U, 0x12, 2, TREG_ZERO, 1,
 404    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
 405  },
 406  { "lh_u.sn", TILE_OPC_LH_U_SN, 0x2, 2, TREG_SN, 1,
 407    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
 408  },
 409  { "lhadd", TILE_OPC_LHADD, 0x2, 3, TREG_ZERO, 1,
 410    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
 411  },
 412  { "lhadd.sn", TILE_OPC_LHADD_SN, 0x2, 3, TREG_SN, 1,
 413    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
 414  },
 415  { "lhadd_u", TILE_OPC_LHADD_U, 0x2, 3, TREG_ZERO, 1,
 416    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
 417  },
 418  { "lhadd_u.sn", TILE_OPC_LHADD_U_SN, 0x2, 3, TREG_SN, 1,
 419    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
 420  },
 421  { "lnk", TILE_OPC_LNK, 0x2, 1, TREG_ZERO, 1,
 422    { { 0, }, { 9 }, { 0, }, { 0, }, { 0, } },
 423  },
 424  { "lnk.sn", TILE_OPC_LNK_SN, 0x2, 1, TREG_SN, 1,
 425    { { 0, }, { 9 }, { 0, }, { 0, }, { 0, } },
 426  },
 427  { "lw", TILE_OPC_LW, 0x12, 2, TREG_ZERO, 1,
 428    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
 429  },
 430  { "lw.sn", TILE_OPC_LW_SN, 0x2, 2, TREG_SN, 1,
 431    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
 432  },
 433  { "lw_na", TILE_OPC_LW_NA, 0x2, 2, TREG_ZERO, 1,
 434    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
 435  },
 436  { "lw_na.sn", TILE_OPC_LW_NA_SN, 0x2, 2, TREG_SN, 1,
 437    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
 438  },
 439  { "lwadd", TILE_OPC_LWADD, 0x2, 3, TREG_ZERO, 1,
 440    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
 441  },
 442  { "lwadd.sn", TILE_OPC_LWADD_SN, 0x2, 3, TREG_SN, 1,
 443    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
 444  },
 445  { "lwadd_na", TILE_OPC_LWADD_NA, 0x2, 3, TREG_ZERO, 1,
 446    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
 447  },
 448  { "lwadd_na.sn", TILE_OPC_LWADD_NA_SN, 0x2, 3, TREG_SN, 1,
 449    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
 450  },
 451  { "maxb_u", TILE_OPC_MAXB_U, 0x3, 3, TREG_ZERO, 1,
 452    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 453  },
 454  { "maxb_u.sn", TILE_OPC_MAXB_U_SN, 0x3, 3, TREG_SN, 1,
 455    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 456  },
 457  { "maxh", TILE_OPC_MAXH, 0x3, 3, TREG_ZERO, 1,
 458    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 459  },
 460  { "maxh.sn", TILE_OPC_MAXH_SN, 0x3, 3, TREG_SN, 1,
 461    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 462  },
 463  { "maxib_u", TILE_OPC_MAXIB_U, 0x3, 3, TREG_ZERO, 1,
 464    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 465  },
 466  { "maxib_u.sn", TILE_OPC_MAXIB_U_SN, 0x3, 3, TREG_SN, 1,
 467    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 468  },
 469  { "maxih", TILE_OPC_MAXIH, 0x3, 3, TREG_ZERO, 1,
 470    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 471  },
 472  { "maxih.sn", TILE_OPC_MAXIH_SN, 0x3, 3, TREG_SN, 1,
 473    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 474  },
 475  { "mf", TILE_OPC_MF, 0x2, 0, TREG_ZERO, 1,
 476    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
 477  },
 478  { "mfspr", TILE_OPC_MFSPR, 0x2, 2, TREG_ZERO, 1,
 479    { { 0, }, { 9, 25 }, { 0, }, { 0, }, { 0, } },
 480  },
 481  { "minb_u", TILE_OPC_MINB_U, 0x3, 3, TREG_ZERO, 1,
 482    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 483  },
 484  { "minb_u.sn", TILE_OPC_MINB_U_SN, 0x3, 3, TREG_SN, 1,
 485    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 486  },
 487  { "minh", TILE_OPC_MINH, 0x3, 3, TREG_ZERO, 1,
 488    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 489  },
 490  { "minh.sn", TILE_OPC_MINH_SN, 0x3, 3, TREG_SN, 1,
 491    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 492  },
 493  { "minib_u", TILE_OPC_MINIB_U, 0x3, 3, TREG_ZERO, 1,
 494    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 495  },
 496  { "minib_u.sn", TILE_OPC_MINIB_U_SN, 0x3, 3, TREG_SN, 1,
 497    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 498  },
 499  { "minih", TILE_OPC_MINIH, 0x3, 3, TREG_ZERO, 1,
 500    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 501  },
 502  { "minih.sn", TILE_OPC_MINIH_SN, 0x3, 3, TREG_SN, 1,
 503    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 504  },
 505  { "mm", TILE_OPC_MM, 0x3, 5, TREG_ZERO, 1,
 506    { { 7, 8, 16, 26, 27 }, { 9, 10, 17, 28, 29 }, { 0, }, { 0, }, { 0, } },
 507  },
 508  { "mnz", TILE_OPC_MNZ, 0xf, 3, TREG_ZERO, 1,
 509    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 510  },
 511  { "mnz.sn", TILE_OPC_MNZ_SN, 0x3, 3, TREG_SN, 1,
 512    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 513  },
 514  { "mnzb", TILE_OPC_MNZB, 0x3, 3, TREG_ZERO, 1,
 515    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 516  },
 517  { "mnzb.sn", TILE_OPC_MNZB_SN, 0x3, 3, TREG_SN, 1,
 518    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 519  },
 520  { "mnzh", TILE_OPC_MNZH, 0x3, 3, TREG_ZERO, 1,
 521    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 522  },
 523  { "mnzh.sn", TILE_OPC_MNZH_SN, 0x3, 3, TREG_SN, 1,
 524    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 525  },
 526  { "mtspr", TILE_OPC_MTSPR, 0x2, 2, TREG_ZERO, 1,
 527    { { 0, }, { 30, 10 }, { 0, }, { 0, }, { 0, } },
 528  },
 529  { "mulhh_ss", TILE_OPC_MULHH_SS, 0x5, 3, TREG_ZERO, 1,
 530    { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
 531  },
 532  { "mulhh_ss.sn", TILE_OPC_MULHH_SS_SN, 0x1, 3, TREG_SN, 1,
 533    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 534  },
 535  { "mulhh_su", TILE_OPC_MULHH_SU, 0x1, 3, TREG_ZERO, 1,
 536    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 537  },
 538  { "mulhh_su.sn", TILE_OPC_MULHH_SU_SN, 0x1, 3, TREG_SN, 1,
 539    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 540  },
 541  { "mulhh_uu", TILE_OPC_MULHH_UU, 0x5, 3, TREG_ZERO, 1,
 542    { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
 543  },
 544  { "mulhh_uu.sn", TILE_OPC_MULHH_UU_SN, 0x1, 3, TREG_SN, 1,
 545    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 546  },
 547  { "mulhha_ss", TILE_OPC_MULHHA_SS, 0x5, 3, TREG_ZERO, 1,
 548    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
 549  },
 550  { "mulhha_ss.sn", TILE_OPC_MULHHA_SS_SN, 0x1, 3, TREG_SN, 1,
 551    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 552  },
 553  { "mulhha_su", TILE_OPC_MULHHA_SU, 0x1, 3, TREG_ZERO, 1,
 554    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 555  },
 556  { "mulhha_su.sn", TILE_OPC_MULHHA_SU_SN, 0x1, 3, TREG_SN, 1,
 557    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 558  },
 559  { "mulhha_uu", TILE_OPC_MULHHA_UU, 0x5, 3, TREG_ZERO, 1,
 560    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
 561  },
 562  { "mulhha_uu.sn", TILE_OPC_MULHHA_UU_SN, 0x1, 3, TREG_SN, 1,
 563    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 564  },
 565  { "mulhhsa_uu", TILE_OPC_MULHHSA_UU, 0x1, 3, TREG_ZERO, 1,
 566    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 567  },
 568  { "mulhhsa_uu.sn", TILE_OPC_MULHHSA_UU_SN, 0x1, 3, TREG_SN, 1,
 569    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 570  },
 571  { "mulhl_ss", TILE_OPC_MULHL_SS, 0x1, 3, TREG_ZERO, 1,
 572    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 573  },
 574  { "mulhl_ss.sn", TILE_OPC_MULHL_SS_SN, 0x1, 3, TREG_SN, 1,
 575    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 576  },
 577  { "mulhl_su", TILE_OPC_MULHL_SU, 0x1, 3, TREG_ZERO, 1,
 578    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 579  },
 580  { "mulhl_su.sn", TILE_OPC_MULHL_SU_SN, 0x1, 3, TREG_SN, 1,
 581    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 582  },
 583  { "mulhl_us", TILE_OPC_MULHL_US, 0x1, 3, TREG_ZERO, 1,
 584    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 585  },
 586  { "mulhl_us.sn", TILE_OPC_MULHL_US_SN, 0x1, 3, TREG_SN, 1,
 587    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 588  },
 589  { "mulhl_uu", TILE_OPC_MULHL_UU, 0x1, 3, TREG_ZERO, 1,
 590    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 591  },
 592  { "mulhl_uu.sn", TILE_OPC_MULHL_UU_SN, 0x1, 3, TREG_SN, 1,
 593    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 594  },
 595  { "mulhla_ss", TILE_OPC_MULHLA_SS, 0x1, 3, TREG_ZERO, 1,
 596    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 597  },
 598  { "mulhla_ss.sn", TILE_OPC_MULHLA_SS_SN, 0x1, 3, TREG_SN, 1,
 599    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 600  },
 601  { "mulhla_su", TILE_OPC_MULHLA_SU, 0x1, 3, TREG_ZERO, 1,
 602    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 603  },
 604  { "mulhla_su.sn", TILE_OPC_MULHLA_SU_SN, 0x1, 3, TREG_SN, 1,
 605    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 606  },
 607  { "mulhla_us", TILE_OPC_MULHLA_US, 0x1, 3, TREG_ZERO, 1,
 608    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 609  },
 610  { "mulhla_us.sn", TILE_OPC_MULHLA_US_SN, 0x1, 3, TREG_SN, 1,
 611    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 612  },
 613  { "mulhla_uu", TILE_OPC_MULHLA_UU, 0x1, 3, TREG_ZERO, 1,
 614    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 615  },
 616  { "mulhla_uu.sn", TILE_OPC_MULHLA_UU_SN, 0x1, 3, TREG_SN, 1,
 617    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 618  },
 619  { "mulhlsa_uu", TILE_OPC_MULHLSA_UU, 0x5, 3, TREG_ZERO, 1,
 620    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
 621  },
 622  { "mulhlsa_uu.sn", TILE_OPC_MULHLSA_UU_SN, 0x1, 3, TREG_SN, 1,
 623    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 624  },
 625  { "mulll_ss", TILE_OPC_MULLL_SS, 0x5, 3, TREG_ZERO, 1,
 626    { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
 627  },
 628  { "mulll_ss.sn", TILE_OPC_MULLL_SS_SN, 0x1, 3, TREG_SN, 1,
 629    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 630  },
 631  { "mulll_su", TILE_OPC_MULLL_SU, 0x1, 3, TREG_ZERO, 1,
 632    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 633  },
 634  { "mulll_su.sn", TILE_OPC_MULLL_SU_SN, 0x1, 3, TREG_SN, 1,
 635    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 636  },
 637  { "mulll_uu", TILE_OPC_MULLL_UU, 0x5, 3, TREG_ZERO, 1,
 638    { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
 639  },
 640  { "mulll_uu.sn", TILE_OPC_MULLL_UU_SN, 0x1, 3, TREG_SN, 1,
 641    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 642  },
 643  { "mullla_ss", TILE_OPC_MULLLA_SS, 0x5, 3, TREG_ZERO, 1,
 644    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
 645  },
 646  { "mullla_ss.sn", TILE_OPC_MULLLA_SS_SN, 0x1, 3, TREG_SN, 1,
 647    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 648  },
 649  { "mullla_su", TILE_OPC_MULLLA_SU, 0x1, 3, TREG_ZERO, 1,
 650    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 651  },
 652  { "mullla_su.sn", TILE_OPC_MULLLA_SU_SN, 0x1, 3, TREG_SN, 1,
 653    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 654  },
 655  { "mullla_uu", TILE_OPC_MULLLA_UU, 0x5, 3, TREG_ZERO, 1,
 656    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
 657  },
 658  { "mullla_uu.sn", TILE_OPC_MULLLA_UU_SN, 0x1, 3, TREG_SN, 1,
 659    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 660  },
 661  { "mulllsa_uu", TILE_OPC_MULLLSA_UU, 0x1, 3, TREG_ZERO, 1,
 662    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 663  },
 664  { "mulllsa_uu.sn", TILE_OPC_MULLLSA_UU_SN, 0x1, 3, TREG_SN, 1,
 665    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 666  },
 667  { "mvnz", TILE_OPC_MVNZ, 0x5, 3, TREG_ZERO, 1,
 668    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
 669  },
 670  { "mvnz.sn", TILE_OPC_MVNZ_SN, 0x1, 3, TREG_SN, 1,
 671    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 672  },
 673  { "mvz", TILE_OPC_MVZ, 0x5, 3, TREG_ZERO, 1,
 674    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
 675  },
 676  { "mvz.sn", TILE_OPC_MVZ_SN, 0x1, 3, TREG_SN, 1,
 677    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 678  },
 679  { "mz", TILE_OPC_MZ, 0xf, 3, TREG_ZERO, 1,
 680    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 681  },
 682  { "mz.sn", TILE_OPC_MZ_SN, 0x3, 3, TREG_SN, 1,
 683    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 684  },
 685  { "mzb", TILE_OPC_MZB, 0x3, 3, TREG_ZERO, 1,
 686    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 687  },
 688  { "mzb.sn", TILE_OPC_MZB_SN, 0x3, 3, TREG_SN, 1,
 689    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 690  },
 691  { "mzh", TILE_OPC_MZH, 0x3, 3, TREG_ZERO, 1,
 692    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 693  },
 694  { "mzh.sn", TILE_OPC_MZH_SN, 0x3, 3, TREG_SN, 1,
 695    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 696  },
 697  { "nap", TILE_OPC_NAP, 0x2, 0, TREG_ZERO, 0,
 698    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
 699  },
 700  { "nop", TILE_OPC_NOP, 0xf, 0, TREG_ZERO, 1,
 701    { {  }, {  }, {  }, {  }, { 0, } },
 702  },
 703  { "nor", TILE_OPC_NOR, 0xf, 3, TREG_ZERO, 1,
 704    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 705  },
 706  { "nor.sn", TILE_OPC_NOR_SN, 0x3, 3, TREG_SN, 1,
 707    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 708  },
 709  { "or", TILE_OPC_OR, 0xf, 3, TREG_ZERO, 1,
 710    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 711  },
 712  { "or.sn", TILE_OPC_OR_SN, 0x3, 3, TREG_SN, 1,
 713    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 714  },
 715  { "ori", TILE_OPC_ORI, 0xf, 3, TREG_ZERO, 1,
 716    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
 717  },
 718  { "ori.sn", TILE_OPC_ORI_SN, 0x3, 3, TREG_SN, 1,
 719    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 720  },
 721  { "packbs_u", TILE_OPC_PACKBS_U, 0x3, 3, TREG_ZERO, 1,
 722    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 723  },
 724  { "packbs_u.sn", TILE_OPC_PACKBS_U_SN, 0x3, 3, TREG_SN, 1,
 725    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 726  },
 727  { "packhb", TILE_OPC_PACKHB, 0x3, 3, TREG_ZERO, 1,
 728    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 729  },
 730  { "packhb.sn", TILE_OPC_PACKHB_SN, 0x3, 3, TREG_SN, 1,
 731    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 732  },
 733  { "packhs", TILE_OPC_PACKHS, 0x3, 3, TREG_ZERO, 1,
 734    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 735  },
 736  { "packhs.sn", TILE_OPC_PACKHS_SN, 0x3, 3, TREG_SN, 1,
 737    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 738  },
 739  { "packlb", TILE_OPC_PACKLB, 0x3, 3, TREG_ZERO, 1,
 740    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 741  },
 742  { "packlb.sn", TILE_OPC_PACKLB_SN, 0x3, 3, TREG_SN, 1,
 743    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 744  },
 745  { "pcnt", TILE_OPC_PCNT, 0x5, 2, TREG_ZERO, 1,
 746    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
 747  },
 748  { "pcnt.sn", TILE_OPC_PCNT_SN, 0x1, 2, TREG_SN, 1,
 749    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
 750  },
 751  { "rl", TILE_OPC_RL, 0xf, 3, TREG_ZERO, 1,
 752    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 753  },
 754  { "rl.sn", TILE_OPC_RL_SN, 0x3, 3, TREG_SN, 1,
 755    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 756  },
 757  { "rli", TILE_OPC_RLI, 0xf, 3, TREG_ZERO, 1,
 758    { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
 759  },
 760  { "rli.sn", TILE_OPC_RLI_SN, 0x3, 3, TREG_SN, 1,
 761    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
 762  },
 763  { "s1a", TILE_OPC_S1A, 0xf, 3, TREG_ZERO, 1,
 764    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 765  },
 766  { "s1a.sn", TILE_OPC_S1A_SN, 0x3, 3, TREG_SN, 1,
 767    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 768  },
 769  { "s2a", TILE_OPC_S2A, 0xf, 3, TREG_ZERO, 1,
 770    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 771  },
 772  { "s2a.sn", TILE_OPC_S2A_SN, 0x3, 3, TREG_SN, 1,
 773    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 774  },
 775  { "s3a", TILE_OPC_S3A, 0xf, 3, TREG_ZERO, 1,
 776    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 777  },
 778  { "s3a.sn", TILE_OPC_S3A_SN, 0x3, 3, TREG_SN, 1,
 779    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 780  },
 781  { "sadab_u", TILE_OPC_SADAB_U, 0x1, 3, TREG_ZERO, 1,
 782    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 783  },
 784  { "sadab_u.sn", TILE_OPC_SADAB_U_SN, 0x1, 3, TREG_SN, 1,
 785    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 786  },
 787  { "sadah", TILE_OPC_SADAH, 0x1, 3, TREG_ZERO, 1,
 788    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 789  },
 790  { "sadah.sn", TILE_OPC_SADAH_SN, 0x1, 3, TREG_SN, 1,
 791    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 792  },
 793  { "sadah_u", TILE_OPC_SADAH_U, 0x1, 3, TREG_ZERO, 1,
 794    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 795  },
 796  { "sadah_u.sn", TILE_OPC_SADAH_U_SN, 0x1, 3, TREG_SN, 1,
 797    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 798  },
 799  { "sadb_u", TILE_OPC_SADB_U, 0x1, 3, TREG_ZERO, 1,
 800    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 801  },
 802  { "sadb_u.sn", TILE_OPC_SADB_U_SN, 0x1, 3, TREG_SN, 1,
 803    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 804  },
 805  { "sadh", TILE_OPC_SADH, 0x1, 3, TREG_ZERO, 1,
 806    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 807  },
 808  { "sadh.sn", TILE_OPC_SADH_SN, 0x1, 3, TREG_SN, 1,
 809    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 810  },
 811  { "sadh_u", TILE_OPC_SADH_U, 0x1, 3, TREG_ZERO, 1,
 812    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 813  },
 814  { "sadh_u.sn", TILE_OPC_SADH_U_SN, 0x1, 3, TREG_SN, 1,
 815    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
 816  },
 817  { "sb", TILE_OPC_SB, 0x12, 2, TREG_ZERO, 1,
 818    { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
 819  },
 820  { "sbadd", TILE_OPC_SBADD, 0x2, 3, TREG_ZERO, 1,
 821    { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
 822  },
 823  { "seq", TILE_OPC_SEQ, 0xf, 3, TREG_ZERO, 1,
 824    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 825  },
 826  { "seq.sn", TILE_OPC_SEQ_SN, 0x3, 3, TREG_SN, 1,
 827    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 828  },
 829  { "seqb", TILE_OPC_SEQB, 0x3, 3, TREG_ZERO, 1,
 830    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 831  },
 832  { "seqb.sn", TILE_OPC_SEQB_SN, 0x3, 3, TREG_SN, 1,
 833    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 834  },
 835  { "seqh", TILE_OPC_SEQH, 0x3, 3, TREG_ZERO, 1,
 836    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 837  },
 838  { "seqh.sn", TILE_OPC_SEQH_SN, 0x3, 3, TREG_SN, 1,
 839    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 840  },
 841  { "seqi", TILE_OPC_SEQI, 0xf, 3, TREG_ZERO, 1,
 842    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
 843  },
 844  { "seqi.sn", TILE_OPC_SEQI_SN, 0x3, 3, TREG_SN, 1,
 845    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 846  },
 847  { "seqib", TILE_OPC_SEQIB, 0x3, 3, TREG_ZERO, 1,
 848    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 849  },
 850  { "seqib.sn", TILE_OPC_SEQIB_SN, 0x3, 3, TREG_SN, 1,
 851    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 852  },
 853  { "seqih", TILE_OPC_SEQIH, 0x3, 3, TREG_ZERO, 1,
 854    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 855  },
 856  { "seqih.sn", TILE_OPC_SEQIH_SN, 0x3, 3, TREG_SN, 1,
 857    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
 858  },
 859  { "sh", TILE_OPC_SH, 0x12, 2, TREG_ZERO, 1,
 860    { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
 861  },
 862  { "shadd", TILE_OPC_SHADD, 0x2, 3, TREG_ZERO, 1,
 863    { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
 864  },
 865  { "shl", TILE_OPC_SHL, 0xf, 3, TREG_ZERO, 1,
 866    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 867  },
 868  { "shl.sn", TILE_OPC_SHL_SN, 0x3, 3, TREG_SN, 1,
 869    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 870  },
 871  { "shlb", TILE_OPC_SHLB, 0x3, 3, TREG_ZERO, 1,
 872    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 873  },
 874  { "shlb.sn", TILE_OPC_SHLB_SN, 0x3, 3, TREG_SN, 1,
 875    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 876  },
 877  { "shlh", TILE_OPC_SHLH, 0x3, 3, TREG_ZERO, 1,
 878    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 879  },
 880  { "shlh.sn", TILE_OPC_SHLH_SN, 0x3, 3, TREG_SN, 1,
 881    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 882  },
 883  { "shli", TILE_OPC_SHLI, 0xf, 3, TREG_ZERO, 1,
 884    { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
 885  },
 886  { "shli.sn", TILE_OPC_SHLI_SN, 0x3, 3, TREG_SN, 1,
 887    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
 888  },
 889  { "shlib", TILE_OPC_SHLIB, 0x3, 3, TREG_ZERO, 1,
 890    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
 891  },
 892  { "shlib.sn", TILE_OPC_SHLIB_SN, 0x3, 3, TREG_SN, 1,
 893    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
 894  },
 895  { "shlih", TILE_OPC_SHLIH, 0x3, 3, TREG_ZERO, 1,
 896    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
 897  },
 898  { "shlih.sn", TILE_OPC_SHLIH_SN, 0x3, 3, TREG_SN, 1,
 899    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
 900  },
 901  { "shr", TILE_OPC_SHR, 0xf, 3, TREG_ZERO, 1,
 902    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 903  },
 904  { "shr.sn", TILE_OPC_SHR_SN, 0x3, 3, TREG_SN, 1,
 905    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 906  },
 907  { "shrb", TILE_OPC_SHRB, 0x3, 3, TREG_ZERO, 1,
 908    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 909  },
 910  { "shrb.sn", TILE_OPC_SHRB_SN, 0x3, 3, TREG_SN, 1,
 911    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 912  },
 913  { "shrh", TILE_OPC_SHRH, 0x3, 3, TREG_ZERO, 1,
 914    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 915  },
 916  { "shrh.sn", TILE_OPC_SHRH_SN, 0x3, 3, TREG_SN, 1,
 917    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 918  },
 919  { "shri", TILE_OPC_SHRI, 0xf, 3, TREG_ZERO, 1,
 920    { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
 921  },
 922  { "shri.sn", TILE_OPC_SHRI_SN, 0x3, 3, TREG_SN, 1,
 923    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
 924  },
 925  { "shrib", TILE_OPC_SHRIB, 0x3, 3, TREG_ZERO, 1,
 926    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
 927  },
 928  { "shrib.sn", TILE_OPC_SHRIB_SN, 0x3, 3, TREG_SN, 1,
 929    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
 930  },
 931  { "shrih", TILE_OPC_SHRIH, 0x3, 3, TREG_ZERO, 1,
 932    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
 933  },
 934  { "shrih.sn", TILE_OPC_SHRIH_SN, 0x3, 3, TREG_SN, 1,
 935    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
 936  },
 937  { "slt", TILE_OPC_SLT, 0xf, 3, TREG_ZERO, 1,
 938    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 939  },
 940  { "slt.sn", TILE_OPC_SLT_SN, 0x3, 3, TREG_SN, 1,
 941    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 942  },
 943  { "slt_u", TILE_OPC_SLT_U, 0xf, 3, TREG_ZERO, 1,
 944    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 945  },
 946  { "slt_u.sn", TILE_OPC_SLT_U_SN, 0x3, 3, TREG_SN, 1,
 947    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 948  },
 949  { "sltb", TILE_OPC_SLTB, 0x3, 3, TREG_ZERO, 1,
 950    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 951  },
 952  { "sltb.sn", TILE_OPC_SLTB_SN, 0x3, 3, TREG_SN, 1,
 953    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 954  },
 955  { "sltb_u", TILE_OPC_SLTB_U, 0x3, 3, TREG_ZERO, 1,
 956    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 957  },
 958  { "sltb_u.sn", TILE_OPC_SLTB_U_SN, 0x3, 3, TREG_SN, 1,
 959    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 960  },
 961  { "slte", TILE_OPC_SLTE, 0xf, 3, TREG_ZERO, 1,
 962    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 963  },
 964  { "slte.sn", TILE_OPC_SLTE_SN, 0x3, 3, TREG_SN, 1,
 965    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 966  },
 967  { "slte_u", TILE_OPC_SLTE_U, 0xf, 3, TREG_ZERO, 1,
 968    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
 969  },
 970  { "slte_u.sn", TILE_OPC_SLTE_U_SN, 0x3, 3, TREG_SN, 1,
 971    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 972  },
 973  { "slteb", TILE_OPC_SLTEB, 0x3, 3, TREG_ZERO, 1,
 974    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 975  },
 976  { "slteb.sn", TILE_OPC_SLTEB_SN, 0x3, 3, TREG_SN, 1,
 977    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 978  },
 979  { "slteb_u", TILE_OPC_SLTEB_U, 0x3, 3, TREG_ZERO, 1,
 980    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 981  },
 982  { "slteb_u.sn", TILE_OPC_SLTEB_U_SN, 0x3, 3, TREG_SN, 1,
 983    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 984  },
 985  { "slteh", TILE_OPC_SLTEH, 0x3, 3, TREG_ZERO, 1,
 986    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 987  },
 988  { "slteh.sn", TILE_OPC_SLTEH_SN, 0x3, 3, TREG_SN, 1,
 989    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 990  },
 991  { "slteh_u", TILE_OPC_SLTEH_U, 0x3, 3, TREG_ZERO, 1,
 992    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 993  },
 994  { "slteh_u.sn", TILE_OPC_SLTEH_U_SN, 0x3, 3, TREG_SN, 1,
 995    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 996  },
 997  { "slth", TILE_OPC_SLTH, 0x3, 3, TREG_ZERO, 1,
 998    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
 999  },
1000  { "slth.sn", TILE_OPC_SLTH_SN, 0x3, 3, TREG_SN, 1,
1001    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1002  },
1003  { "slth_u", TILE_OPC_SLTH_U, 0x3, 3, TREG_ZERO, 1,
1004    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1005  },
1006  { "slth_u.sn", TILE_OPC_SLTH_U_SN, 0x3, 3, TREG_SN, 1,
1007    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1008  },
1009  { "slti", TILE_OPC_SLTI, 0xf, 3, TREG_ZERO, 1,
1010    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
1011  },
1012  { "slti.sn", TILE_OPC_SLTI_SN, 0x3, 3, TREG_SN, 1,
1013    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1014  },
1015  { "slti_u", TILE_OPC_SLTI_U, 0xf, 3, TREG_ZERO, 1,
1016    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
1017  },
1018  { "slti_u.sn", TILE_OPC_SLTI_U_SN, 0x3, 3, TREG_SN, 1,
1019    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1020  },
1021  { "sltib", TILE_OPC_SLTIB, 0x3, 3, TREG_ZERO, 1,
1022    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1023  },
1024  { "sltib.sn", TILE_OPC_SLTIB_SN, 0x3, 3, TREG_SN, 1,
1025    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1026  },
1027  { "sltib_u", TILE_OPC_SLTIB_U, 0x3, 3, TREG_ZERO, 1,
1028    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1029  },
1030  { "sltib_u.sn", TILE_OPC_SLTIB_U_SN, 0x3, 3, TREG_SN, 1,
1031    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1032  },
1033  { "sltih", TILE_OPC_SLTIH, 0x3, 3, TREG_ZERO, 1,
1034    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1035  },
1036  { "sltih.sn", TILE_OPC_SLTIH_SN, 0x3, 3, TREG_SN, 1,
1037    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1038  },
1039  { "sltih_u", TILE_OPC_SLTIH_U, 0x3, 3, TREG_ZERO, 1,
1040    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1041  },
1042  { "sltih_u.sn", TILE_OPC_SLTIH_U_SN, 0x3, 3, TREG_SN, 1,
1043    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1044  },
1045  { "sne", TILE_OPC_SNE, 0xf, 3, TREG_ZERO, 1,
1046    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1047  },
1048  { "sne.sn", TILE_OPC_SNE_SN, 0x3, 3, TREG_SN, 1,
1049    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1050  },
1051  { "sneb", TILE_OPC_SNEB, 0x3, 3, TREG_ZERO, 1,
1052    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1053  },
1054  { "sneb.sn", TILE_OPC_SNEB_SN, 0x3, 3, TREG_SN, 1,
1055    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1056  },
1057  { "sneh", TILE_OPC_SNEH, 0x3, 3, TREG_ZERO, 1,
1058    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1059  },
1060  { "sneh.sn", TILE_OPC_SNEH_SN, 0x3, 3, TREG_SN, 1,
1061    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1062  },
1063  { "sra", TILE_OPC_SRA, 0xf, 3, TREG_ZERO, 1,
1064    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1065  },
1066  { "sra.sn", TILE_OPC_SRA_SN, 0x3, 3, TREG_SN, 1,
1067    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1068  },
1069  { "srab", TILE_OPC_SRAB, 0x3, 3, TREG_ZERO, 1,
1070    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1071  },
1072  { "srab.sn", TILE_OPC_SRAB_SN, 0x3, 3, TREG_SN, 1,
1073    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1074  },
1075  { "srah", TILE_OPC_SRAH, 0x3, 3, TREG_ZERO, 1,
1076    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1077  },
1078  { "srah.sn", TILE_OPC_SRAH_SN, 0x3, 3, TREG_SN, 1,
1079    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1080  },
1081  { "srai", TILE_OPC_SRAI, 0xf, 3, TREG_ZERO, 1,
1082    { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
1083  },
1084  { "srai.sn", TILE_OPC_SRAI_SN, 0x3, 3, TREG_SN, 1,
1085    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1086  },
1087  { "sraib", TILE_OPC_SRAIB, 0x3, 3, TREG_ZERO, 1,
1088    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1089  },
1090  { "sraib.sn", TILE_OPC_SRAIB_SN, 0x3, 3, TREG_SN, 1,
1091    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1092  },
1093  { "sraih", TILE_OPC_SRAIH, 0x3, 3, TREG_ZERO, 1,
1094    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1095  },
1096  { "sraih.sn", TILE_OPC_SRAIH_SN, 0x3, 3, TREG_SN, 1,
1097    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
1098  },
1099  { "sub", TILE_OPC_SUB, 0xf, 3, TREG_ZERO, 1,
1100    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1101  },
1102  { "sub.sn", TILE_OPC_SUB_SN, 0x3, 3, TREG_SN, 1,
1103    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1104  },
1105  { "subb", TILE_OPC_SUBB, 0x3, 3, TREG_ZERO, 1,
1106    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1107  },
1108  { "subb.sn", TILE_OPC_SUBB_SN, 0x3, 3, TREG_SN, 1,
1109    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1110  },
1111  { "subbs_u", TILE_OPC_SUBBS_U, 0x3, 3, TREG_ZERO, 1,
1112    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1113  },
1114  { "subbs_u.sn", TILE_OPC_SUBBS_U_SN, 0x3, 3, TREG_SN, 1,
1115    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1116  },
1117  { "subh", TILE_OPC_SUBH, 0x3, 3, TREG_ZERO, 1,
1118    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1119  },
1120  { "subh.sn", TILE_OPC_SUBH_SN, 0x3, 3, TREG_SN, 1,
1121    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1122  },
1123  { "subhs", TILE_OPC_SUBHS, 0x3, 3, TREG_ZERO, 1,
1124    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1125  },
1126  { "subhs.sn", TILE_OPC_SUBHS_SN, 0x3, 3, TREG_SN, 1,
1127    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1128  },
1129  { "subs", TILE_OPC_SUBS, 0x3, 3, TREG_ZERO, 1,
1130    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1131  },
1132  { "subs.sn", TILE_OPC_SUBS_SN, 0x3, 3, TREG_SN, 1,
1133    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1134  },
1135  { "sw", TILE_OPC_SW, 0x12, 2, TREG_ZERO, 1,
1136    { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
1137  },
1138  { "swadd", TILE_OPC_SWADD, 0x2, 3, TREG_ZERO, 1,
1139    { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
1140  },
1141  { "swint0", TILE_OPC_SWINT0, 0x2, 0, TREG_ZERO, 0,
1142    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
1143  },
1144  { "swint1", TILE_OPC_SWINT1, 0x2, 0, TREG_ZERO, 0,
1145    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
1146  },
1147  { "swint2", TILE_OPC_SWINT2, 0x2, 0, TREG_ZERO, 0,
1148    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
1149  },
1150  { "swint3", TILE_OPC_SWINT3, 0x2, 0, TREG_ZERO, 0,
1151    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
1152  },
1153  { "tblidxb0", TILE_OPC_TBLIDXB0, 0x5, 2, TREG_ZERO, 1,
1154    { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1155  },
1156  { "tblidxb0.sn", TILE_OPC_TBLIDXB0_SN, 0x1, 2, TREG_SN, 1,
1157    { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1158  },
1159  { "tblidxb1", TILE_OPC_TBLIDXB1, 0x5, 2, TREG_ZERO, 1,
1160    { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1161  },
1162  { "tblidxb1.sn", TILE_OPC_TBLIDXB1_SN, 0x1, 2, TREG_SN, 1,
1163    { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1164  },
1165  { "tblidxb2", TILE_OPC_TBLIDXB2, 0x5, 2, TREG_ZERO, 1,
1166    { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1167  },
1168  { "tblidxb2.sn", TILE_OPC_TBLIDXB2_SN, 0x1, 2, TREG_SN, 1,
1169    { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1170  },
1171  { "tblidxb3", TILE_OPC_TBLIDXB3, 0x5, 2, TREG_ZERO, 1,
1172    { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
1173  },
1174  { "tblidxb3.sn", TILE_OPC_TBLIDXB3_SN, 0x1, 2, TREG_SN, 1,
1175    { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1176  },
1177  { "tns", TILE_OPC_TNS, 0x2, 2, TREG_ZERO, 1,
1178    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
1179  },
1180  { "tns.sn", TILE_OPC_TNS_SN, 0x2, 2, TREG_SN, 1,
1181    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
1182  },
1183  { "wh64", TILE_OPC_WH64, 0x2, 1, TREG_ZERO, 1,
1184    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
1185  },
1186  { "xor", TILE_OPC_XOR, 0xf, 3, TREG_ZERO, 1,
1187    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
1188  },
1189  { "xor.sn", TILE_OPC_XOR_SN, 0x3, 3, TREG_SN, 1,
1190    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1191  },
1192  { "xori", TILE_OPC_XORI, 0x3, 3, TREG_ZERO, 1,
1193    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1194  },
1195  { "xori.sn", TILE_OPC_XORI_SN, 0x3, 3, TREG_SN, 1,
1196    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
1197  },
1198  { NULL, TILE_OPC_NONE, 0, 0, TREG_ZERO, 0, { { 0, } },
1199  }
1200};
1201#define BITFIELD(start, size) ((start) | (((1 << (size)) - 1) << 6))
1202#define CHILD(array_index) (TILE_OPC_NONE + (array_index))
1203
1204static const unsigned short decode_X0_fsm[1153] =
1205{
1206  BITFIELD(22, 9) /* index 0 */,
1207  CHILD(513), CHILD(530), CHILD(547), CHILD(564), CHILD(596), CHILD(613),
1208  CHILD(630), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1209  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1210  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1211  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1212  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1213  TILE_OPC_NONE, CHILD(663), CHILD(680), CHILD(697), CHILD(714), CHILD(746),
1214  CHILD(763), CHILD(780), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1215  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1216  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1217  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1218  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1219  TILE_OPC_NONE, TILE_OPC_NONE, CHILD(813), CHILD(813), CHILD(813),
1220  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1221  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1222  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1223  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1224  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1225  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1226  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1227  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1228  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1229  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
1230  CHILD(813), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1231  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1232  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1233  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1234  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1235  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1236  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1237  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1238  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1239  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
1240  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(843),
1241  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1242  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1243  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1244  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1245  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1246  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1247  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1248  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1249  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1250  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1251  CHILD(843), CHILD(843), CHILD(843), CHILD(873), CHILD(878), CHILD(883),
1252  CHILD(903), CHILD(908), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1253  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1254  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1255  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1256  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1257  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(913),
1258  CHILD(918), CHILD(923), CHILD(943), CHILD(948), TILE_OPC_NONE,
1259  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1260  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1261  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1262  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1263  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1264  TILE_OPC_NONE, CHILD(953), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1265  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1266  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1267  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1268  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1269  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1270  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(988), TILE_OPC_NONE,
1271  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1272  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1273  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1274  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1275  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1276  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1277  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1278  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1279  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1280  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1281  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1282  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1283  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1284  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1285  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1286  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1287  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1288  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1289  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, CHILD(993),
1290  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1291  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1292  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1293  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1294  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1295  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1296  TILE_OPC_NONE, CHILD(1076), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1297  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1298  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1299  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1300  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1301  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1302  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1303  BITFIELD(18, 4) /* index 513 */,
1304  TILE_OPC_NONE, TILE_OPC_ADDB, TILE_OPC_ADDH, TILE_OPC_ADD,
1305  TILE_OPC_ADIFFB_U, TILE_OPC_ADIFFH, TILE_OPC_AND, TILE_OPC_AVGB_U,
1306  TILE_OPC_AVGH, TILE_OPC_CRC32_32, TILE_OPC_CRC32_8, TILE_OPC_INTHB,
1307  TILE_OPC_INTHH, TILE_OPC_INTLB, TILE_OPC_INTLH, TILE_OPC_MAXB_U,
1308  BITFIELD(18, 4) /* index 530 */,
1309  TILE_OPC_MAXH, TILE_OPC_MINB_U, TILE_OPC_MINH, TILE_OPC_MNZB, TILE_OPC_MNZH,
1310  TILE_OPC_MNZ, TILE_OPC_MULHHA_SS, TILE_OPC_MULHHA_SU, TILE_OPC_MULHHA_UU,
1311  TILE_OPC_MULHHSA_UU, TILE_OPC_MULHH_SS, TILE_OPC_MULHH_SU,
1312  TILE_OPC_MULHH_UU, TILE_OPC_MULHLA_SS, TILE_OPC_MULHLA_SU,
1313  TILE_OPC_MULHLA_US,
1314  BITFIELD(18, 4) /* index 547 */,
1315  TILE_OPC_MULHLA_UU, TILE_OPC_MULHLSA_UU, TILE_OPC_MULHL_SS,
1316  TILE_OPC_MULHL_SU, TILE_OPC_MULHL_US, TILE_OPC_MULHL_UU, TILE_OPC_MULLLA_SS,
1317  TILE_OPC_MULLLA_SU, TILE_OPC_MULLLA_UU, TILE_OPC_MULLLSA_UU,
1318  TILE_OPC_MULLL_SS, TILE_OPC_MULLL_SU, TILE_OPC_MULLL_UU, TILE_OPC_MVNZ,
1319  TILE_OPC_MVZ, TILE_OPC_MZB,
1320  BITFIELD(18, 4) /* index 564 */,
1321  TILE_OPC_MZH, TILE_OPC_MZ, TILE_OPC_NOR, CHILD(581), TILE_OPC_PACKHB,
1322  TILE_OPC_PACKLB, TILE_OPC_RL, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_S3A,
1323  TILE_OPC_SADAB_U, TILE_OPC_SADAH, TILE_OPC_SADAH_U, TILE_OPC_SADB_U,
1324  TILE_OPC_SADH, TILE_OPC_SADH_U,
1325  BITFIELD(12, 2) /* index 581 */,
1326  TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(586),
1327  BITFIELD(14, 2) /* index 586 */,
1328  TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(591),
1329  BITFIELD(16, 2) /* index 591 */,
1330  TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE,
1331  BITFIELD(18, 4) /* index 596 */,
1332  TILE_OPC_SEQB, TILE_OPC_SEQH, TILE_OPC_SEQ, TILE_OPC_SHLB, TILE_OPC_SHLH,
1333  TILE_OPC_SHL, TILE_OPC_SHRB, TILE_OPC_SHRH, TILE_OPC_SHR, TILE_OPC_SLTB,
1334  TILE_OPC_SLTB_U, TILE_OPC_SLTEB, TILE_OPC_SLTEB_U, TILE_OPC_SLTEH,
1335  TILE_OPC_SLTEH_U, TILE_OPC_SLTE,
1336  BITFIELD(18, 4) /* index 613 */,
1337  TILE_OPC_SLTE_U, TILE_OPC_SLTH, TILE_OPC_SLTH_U, TILE_OPC_SLT,
1338  TILE_OPC_SLT_U, TILE_OPC_SNEB, TILE_OPC_SNEH, TILE_OPC_SNE, TILE_OPC_SRAB,
1339  TILE_OPC_SRAH, TILE_OPC_SRA, TILE_OPC_SUBB, TILE_OPC_SUBH, TILE_OPC_SUB,
1340  TILE_OPC_XOR, TILE_OPC_DWORD_ALIGN,
1341  BITFIELD(18, 3) /* index 630 */,
1342  CHILD(639), CHILD(642), CHILD(645), CHILD(648), CHILD(651), CHILD(654),
1343  CHILD(657), CHILD(660),
1344  BITFIELD(21, 1) /* index 639 */,
1345  TILE_OPC_ADDS, TILE_OPC_NONE,
1346  BITFIELD(21, 1) /* index 642 */,
1347  TILE_OPC_SUBS, TILE_OPC_NONE,
1348  BITFIELD(21, 1) /* index 645 */,
1349  TILE_OPC_ADDBS_U, TILE_OPC_NONE,
1350  BITFIELD(21, 1) /* index 648 */,
1351  TILE_OPC_ADDHS, TILE_OPC_NONE,
1352  BITFIELD(21, 1) /* index 651 */,
1353  TILE_OPC_SUBBS_U, TILE_OPC_NONE,
1354  BITFIELD(21, 1) /* index 654 */,
1355  TILE_OPC_SUBHS, TILE_OPC_NONE,
1356  BITFIELD(21, 1) /* index 657 */,
1357  TILE_OPC_PACKHS, TILE_OPC_NONE,
1358  BITFIELD(21, 1) /* index 660 */,
1359  TILE_OPC_PACKBS_U, TILE_OPC_NONE,
1360  BITFIELD(18, 4) /* index 663 */,
1361  TILE_OPC_NONE, TILE_OPC_ADDB_SN, TILE_OPC_ADDH_SN, TILE_OPC_ADD_SN,
1362  TILE_OPC_ADIFFB_U_SN, TILE_OPC_ADIFFH_SN, TILE_OPC_AND_SN,
1363  TILE_OPC_AVGB_U_SN, TILE_OPC_AVGH_SN, TILE_OPC_CRC32_32_SN,
1364  TILE_OPC_CRC32_8_SN, TILE_OPC_INTHB_SN, TILE_OPC_INTHH_SN,
1365  TILE_OPC_INTLB_SN, TILE_OPC_INTLH_SN, TILE_OPC_MAXB_U_SN,
1366  BITFIELD(18, 4) /* index 680 */,
1367  TILE_OPC_MAXH_SN, TILE_OPC_MINB_U_SN, TILE_OPC_MINH_SN, TILE_OPC_MNZB_SN,
1368  TILE_OPC_MNZH_SN, TILE_OPC_MNZ_SN, TILE_OPC_MULHHA_SS_SN,
1369  TILE_OPC_MULHHA_SU_SN, TILE_OPC_MULHHA_UU_SN, TILE_OPC_MULHHSA_UU_SN,
1370  TILE_OPC_MULHH_SS_SN, TILE_OPC_MULHH_SU_SN, TILE_OPC_MULHH_UU_SN,
1371  TILE_OPC_MULHLA_SS_SN, TILE_OPC_MULHLA_SU_SN, TILE_OPC_MULHLA_US_SN,
1372  BITFIELD(18, 4) /* index 697 */,
1373  TILE_OPC_MULHLA_UU_SN, TILE_OPC_MULHLSA_UU_SN, TILE_OPC_MULHL_SS_SN,
1374  TILE_OPC_MULHL_SU_SN, TILE_OPC_MULHL_US_SN, TILE_OPC_MULHL_UU_SN,
1375  TILE_OPC_MULLLA_SS_SN, TILE_OPC_MULLLA_SU_SN, TILE_OPC_MULLLA_UU_SN,
1376  TILE_OPC_MULLLSA_UU_SN, TILE_OPC_MULLL_SS_SN, TILE_OPC_MULLL_SU_SN,
1377  TILE_OPC_MULLL_UU_SN, TILE_OPC_MVNZ_SN, TILE_OPC_MVZ_SN, TILE_OPC_MZB_SN,
1378  BITFIELD(18, 4) /* index 714 */,
1379  TILE_OPC_MZH_SN, TILE_OPC_MZ_SN, TILE_OPC_NOR_SN, CHILD(731),
1380  TILE_OPC_PACKHB_SN, TILE_OPC_PACKLB_SN, TILE_OPC_RL_SN, TILE_OPC_S1A_SN,
1381  TILE_OPC_S2A_SN, TILE_OPC_S3A_SN, TILE_OPC_SADAB_U_SN, TILE_OPC_SADAH_SN,
1382  TILE_OPC_SADAH_U_SN, TILE_OPC_SADB_U_SN, TILE_OPC_SADH_SN,
1383  TILE_OPC_SADH_U_SN,
1384  BITFIELD(12, 2) /* index 731 */,
1385  TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(736),
1386  BITFIELD(14, 2) /* index 736 */,
1387  TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(741),
1388  BITFIELD(16, 2) /* index 741 */,
1389  TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_MOVE_SN,
1390  BITFIELD(18, 4) /* index 746 */,
1391  TILE_OPC_SEQB_SN, TILE_OPC_SEQH_SN, TILE_OPC_SEQ_SN, TILE_OPC_SHLB_SN,
1392  TILE_OPC_SHLH_SN, TILE_OPC_SHL_SN, TILE_OPC_SHRB_SN, TILE_OPC_SHRH_SN,
1393  TILE_OPC_SHR_SN, TILE_OPC_SLTB_SN, TILE_OPC_SLTB_U_SN, TILE_OPC_SLTEB_SN,
1394  TILE_OPC_SLTEB_U_SN, TILE_OPC_SLTEH_SN, TILE_OPC_SLTEH_U_SN,
1395  TILE_OPC_SLTE_SN,
1396  BITFIELD(18, 4) /* index 763 */,
1397  TILE_OPC_SLTE_U_SN, TILE_OPC_SLTH_SN, TILE_OPC_SLTH_U_SN, TILE_OPC_SLT_SN,
1398  TILE_OPC_SLT_U_SN, TILE_OPC_SNEB_SN, TILE_OPC_SNEH_SN, TILE_OPC_SNE_SN,
1399  TILE_OPC_SRAB_SN, TILE_OPC_SRAH_SN, TILE_OPC_SRA_SN, TILE_OPC_SUBB_SN,
1400  TILE_OPC_SUBH_SN, TILE_OPC_SUB_SN, TILE_OPC_XOR_SN, TILE_OPC_DWORD_ALIGN_SN,
1401  BITFIELD(18, 3) /* index 780 */,
1402  CHILD(789), CHILD(792), CHILD(795), CHILD(798), CHILD(801), CHILD(804),
1403  CHILD(807), CHILD(810),
1404  BITFIELD(21, 1) /* index 789 */,
1405  TILE_OPC_ADDS_SN, TILE_OPC_NONE,
1406  BITFIELD(21, 1) /* index 792 */,
1407  TILE_OPC_SUBS_SN, TILE_OPC_NONE,
1408  BITFIELD(21, 1) /* index 795 */,
1409  TILE_OPC_ADDBS_U_SN, TILE_OPC_NONE,
1410  BITFIELD(21, 1) /* index 798 */,
1411  TILE_OPC_ADDHS_SN, TILE_OPC_NONE,
1412  BITFIELD(21, 1) /* index 801 */,
1413  TILE_OPC_SUBBS_U_SN, TILE_OPC_NONE,
1414  BITFIELD(21, 1) /* index 804 */,
1415  TILE_OPC_SUBHS_SN, TILE_OPC_NONE,
1416  BITFIELD(21, 1) /* index 807 */,
1417  TILE_OPC_PACKHS_SN, TILE_OPC_NONE,
1418  BITFIELD(21, 1) /* index 810 */,
1419  TILE_OPC_PACKBS_U_SN, TILE_OPC_NONE,
1420  BITFIELD(6, 2) /* index 813 */,
1421  TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(818),
1422  BITFIELD(8, 2) /* index 818 */,
1423  TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(823),
1424  BITFIELD(10, 2) /* index 823 */,
1425  TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_MOVELI_SN,
1426  BITFIELD(6, 2) /* index 828 */,
1427  TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(833),
1428  BITFIELD(8, 2) /* index 833 */,
1429  TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(838),
1430  BITFIELD(10, 2) /* index 838 */,
1431  TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_MOVELI,
1432  BITFIELD(0, 2) /* index 843 */,
1433  TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(848),
1434  BITFIELD(2, 2) /* index 848 */,
1435  TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(853),
1436  BITFIELD(4, 2) /* index 853 */,
1437  TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(858),
1438  BITFIELD(6, 2) /* index 858 */,
1439  TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(863),
1440  BITFIELD(8, 2) /* index 863 */,
1441  TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(868),
1442  BITFIELD(10, 2) /* index 868 */,
1443  TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_INFOL,
1444  BITFIELD(20, 2) /* index 873 */,
1445  TILE_OPC_NONE, TILE_OPC_ADDIB, TILE_OPC_ADDIH, TILE_OPC_ADDI,
1446  BITFIELD(20, 2) /* index 878 */,
1447  TILE_OPC_MAXIB_U, TILE_OPC_MAXIH, TILE_OPC_MINIB_U, TILE_OPC_MINIH,
1448  BITFIELD(20, 2) /* index 883 */,
1449  CHILD(888), TILE_OPC_SEQIB, TILE_OPC_SEQIH, TILE_OPC_SEQI,
1450  BITFIELD(6, 2) /* index 888 */,
1451  TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(893),
1452  BITFIELD(8, 2) /* index 893 */,
1453  TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(898),
1454  BITFIELD(10, 2) /* index 898 */,
1455  TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI,
1456  BITFIELD(20, 2) /* index 903 */,
1457  TILE_OPC_SLTIB, TILE_OPC_SLTIB_U, TILE_OPC_SLTIH, TILE_OPC_SLTIH_U,
1458  BITFIELD(20, 2) /* index 908 */,
1459  TILE_OPC_SLTI, TILE_OPC_SLTI_U, TILE_OPC_NONE, TILE_OPC_NONE,
1460  BITFIELD(20, 2) /* index 913 */,
1461  TILE_OPC_NONE, TILE_OPC_ADDIB_SN, TILE_OPC_ADDIH_SN, TILE_OPC_ADDI_SN,
1462  BITFIELD(20, 2) /* index 918 */,
1463  TILE_OPC_MAXIB_U_SN, TILE_OPC_MAXIH_SN, TILE_OPC_MINIB_U_SN,
1464  TILE_OPC_MINIH_SN,
1465  BITFIELD(20, 2) /* index 923 */,
1466  CHILD(928), TILE_OPC_SEQIB_SN, TILE_OPC_SEQIH_SN, TILE_OPC_SEQI_SN,
1467  BITFIELD(6, 2) /* index 928 */,
1468  TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(933),
1469  BITFIELD(8, 2) /* index 933 */,
1470  TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(938),
1471  BITFIELD(10, 2) /* index 938 */,
1472  TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_MOVEI_SN,
1473  BITFIELD(20, 2) /* index 943 */,
1474  TILE_OPC_SLTIB_SN, TILE_OPC_SLTIB_U_SN, TILE_OPC_SLTIH_SN,
1475  TILE_OPC_SLTIH_U_SN,
1476  BITFIELD(20, 2) /* index 948 */,
1477  TILE_OPC_SLTI_SN, TILE_OPC_SLTI_U_SN, TILE_OPC_NONE, TILE_OPC_NONE,
1478  BITFIELD(20, 2) /* index 953 */,
1479  TILE_OPC_NONE, CHILD(958), TILE_OPC_XORI, TILE_OPC_NONE,
1480  BITFIELD(0, 2) /* index 958 */,
1481  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(963),
1482  BITFIELD(2, 2) /* index 963 */,
1483  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(968),
1484  BITFIELD(4, 2) /* index 968 */,
1485  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(973),
1486  BITFIELD(6, 2) /* index 973 */,
1487  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(978),
1488  BITFIELD(8, 2) /* index 978 */,
1489  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(983),
1490  BITFIELD(10, 2) /* index 983 */,
1491  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO,
1492  BITFIELD(20, 2) /* index 988 */,
1493  TILE_OPC_NONE, TILE_OPC_ANDI_SN, TILE_OPC_XORI_SN, TILE_OPC_NONE,
1494  BITFIELD(17, 5) /* index 993 */,
1495  TILE_OPC_NONE, TILE_OPC_RLI, TILE_OPC_SHLIB, TILE_OPC_SHLIH, TILE_OPC_SHLI,
1496  TILE_OPC_SHRIB, TILE_OPC_SHRIH, TILE_OPC_SHRI, TILE_OPC_SRAIB,
1497  TILE_OPC_SRAIH, TILE_OPC_SRAI, CHILD(1026), TILE_OPC_NONE, TILE_OPC_NONE,
1498  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1499  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1500  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1501  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1502  BITFIELD(12, 4) /* index 1026 */,
1503  TILE_OPC_NONE, CHILD(1043), CHILD(1046), CHILD(1049), CHILD(1052),
1504  CHILD(1055), CHILD(1058), CHILD(1061), CHILD(1064), CHILD(1067),
1505  CHILD(1070), CHILD(1073), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1506  TILE_OPC_NONE,
1507  BITFIELD(16, 1) /* index 1043 */,
1508  TILE_OPC_BITX, TILE_OPC_NONE,
1509  BITFIELD(16, 1) /* index 1046 */,
1510  TILE_OPC_BYTEX, TILE_OPC_NONE,
1511  BITFIELD(16, 1) /* index 1049 */,
1512  TILE_OPC_CLZ, TILE_OPC_NONE,
1513  BITFIELD(16, 1) /* index 1052 */,
1514  TILE_OPC_CTZ, TILE_OPC_NONE,
1515  BITFIELD(16, 1) /* index 1055 */,
1516  TILE_OPC_FNOP, TILE_OPC_NONE,
1517  BITFIELD(16, 1) /* index 1058 */,
1518  TILE_OPC_NOP, TILE_OPC_NONE,
1519  BITFIELD(16, 1) /* index 1061 */,
1520  TILE_OPC_PCNT, TILE_OPC_NONE,
1521  BITFIELD(16, 1) /* index 1064 */,
1522  TILE_OPC_TBLIDXB0, TILE_OPC_NONE,
1523  BITFIELD(16, 1) /* index 1067 */,
1524  TILE_OPC_TBLIDXB1, TILE_OPC_NONE,
1525  BITFIELD(16, 1) /* index 1070 */,
1526  TILE_OPC_TBLIDXB2, TILE_OPC_NONE,
1527  BITFIELD(16, 1) /* index 1073 */,
1528  TILE_OPC_TBLIDXB3, TILE_OPC_NONE,
1529  BITFIELD(17, 5) /* index 1076 */,
1530  TILE_OPC_NONE, TILE_OPC_RLI_SN, TILE_OPC_SHLIB_SN, TILE_OPC_SHLIH_SN,
1531  TILE_OPC_SHLI_SN, TILE_OPC_SHRIB_SN, TILE_OPC_SHRIH_SN, TILE_OPC_SHRI_SN,
1532  TILE_OPC_SRAIB_SN, TILE_OPC_SRAIH_SN, TILE_OPC_SRAI_SN, CHILD(1109),
1533  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1534  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1535  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1536  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1537  BITFIELD(12, 4) /* index 1109 */,
1538  TILE_OPC_NONE, CHILD(1126), CHILD(1129), CHILD(1132), CHILD(1135),
1539  CHILD(1055), CHILD(1058), CHILD(1138), CHILD(1141), CHILD(1144),
1540  CHILD(1147), CHILD(1150), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1541  TILE_OPC_NONE,
1542  BITFIELD(16, 1) /* index 1126 */,
1543  TILE_OPC_BITX_SN, TILE_OPC_NONE,
1544  BITFIELD(16, 1) /* index 1129 */,
1545  TILE_OPC_BYTEX_SN, TILE_OPC_NONE,
1546  BITFIELD(16, 1) /* index 1132 */,
1547  TILE_OPC_CLZ_SN, TILE_OPC_NONE,
1548  BITFIELD(16, 1) /* index 1135 */,
1549  TILE_OPC_CTZ_SN, TILE_OPC_NONE,
1550  BITFIELD(16, 1) /* index 1138 */,
1551  TILE_OPC_PCNT_SN, TILE_OPC_NONE,
1552  BITFIELD(16, 1) /* index 1141 */,
1553  TILE_OPC_TBLIDXB0_SN, TILE_OPC_NONE,
1554  BITFIELD(16, 1) /* index 1144 */,
1555  TILE_OPC_TBLIDXB1_SN, TILE_OPC_NONE,
1556  BITFIELD(16, 1) /* index 1147 */,
1557  TILE_OPC_TBLIDXB2_SN, TILE_OPC_NONE,
1558  BITFIELD(16, 1) /* index 1150 */,
1559  TILE_OPC_TBLIDXB3_SN, TILE_OPC_NONE,
1560};
1561
1562static const unsigned short decode_X1_fsm[1540] =
1563{
1564  BITFIELD(54, 9) /* index 0 */,
1565  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1566  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1567  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1568  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1569  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1570  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1571  TILE_OPC_NONE, TILE_OPC_NONE, CHILD(513), CHILD(561), CHILD(594),
1572  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1573  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1574  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(641), CHILD(689),
1575  CHILD(722), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1576  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1577  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(766),
1578  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1579  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1580  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1581  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1582  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
1583  CHILD(766), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1584  CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1585  CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1586  CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1587  CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
1588  CHILD(781), CHILD(781), CHILD(781), CHILD(796), CHILD(796), CHILD(796),
1589  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
1590  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
1591  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
1592  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
1593  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(826),
1594  CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826),
1595  CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826),
1596  CHILD(826), CHILD(826), CHILD(826), CHILD(843), CHILD(843), CHILD(843),
1597  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1598  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
1599  CHILD(843), CHILD(860), CHILD(899), CHILD(923), CHILD(932), TILE_OPC_NONE,
1600  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1601  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1602  TILE_OPC_NONE, CHILD(941), CHILD(950), CHILD(974), CHILD(983),
1603  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1604  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1605  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1606  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1607  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1608  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1609  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1610  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM,
1611  TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, CHILD(992),
1612  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1613  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1614  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1615  CHILD(1334), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1616  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1617  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1618  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1619  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1620  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1621  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1622  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1623  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1624  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_J, TILE_OPC_J,
1625  TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1626  TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1627  TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1628  TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1629  TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1630  TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1631  TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1632  TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1633  TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1634  TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J,
1635  TILE_OPC_J, TILE_OPC_J, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1636  TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1637  TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1638  TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1639  TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1640  TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1641  TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1642  TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1643  TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1644  TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1645  TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1646  TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1647  TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL,
1648  TILE_OPC_JAL, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1649  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1650  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1651  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1652  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1653  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1654  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1655  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1656  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1657  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1658  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1659  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1660  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1661  BITFIELD(49, 5) /* index 513 */,
1662  TILE_OPC_NONE, TILE_OPC_ADDB, TILE_OPC_ADDH, TILE_OPC_ADD, TILE_OPC_AND,
1663  TILE_OPC_INTHB, TILE_OPC_INTHH, TILE_OPC_INTLB, TILE_OPC_INTLH,
1664  TILE_OPC_JALRP, TILE_OPC_JALR, TILE_OPC_JRP, TILE_OPC_JR, TILE_OPC_LNK,
1665  TILE_OPC_MAXB_U, TILE_OPC_MAXH, TILE_OPC_MINB_U, TILE_OPC_MINH,
1666  TILE_OPC_MNZB, TILE_OPC_MNZH, TILE_OPC_MNZ, TILE_OPC_MZB, TILE_OPC_MZH,
1667  TILE_OPC_MZ, TILE_OPC_NOR, CHILD(546), TILE_OPC_PACKHB, TILE_OPC_PACKLB,
1668  TILE_OPC_RL, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_S3A,
1669  BITFIELD(43, 2) /* index 546 */,
1670  TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(551),
1671  BITFIELD(45, 2) /* index 551 */,
1672  TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(556),
1673  BITFIELD(47, 2) /* index 556 */,
1674  TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE,
1675  BITFIELD(49, 5) /* index 561 */,
1676  TILE_OPC_SB, TILE_OPC_SEQB, TILE_OPC_SEQH, TILE_OPC_SEQ, TILE_OPC_SHLB,
1677  TILE_OPC_SHLH, TILE_OPC_SHL, TILE_OPC_SHRB, TILE_OPC_SHRH, TILE_OPC_SHR,
1678  TILE_OPC_SH, TILE_OPC_SLTB, TILE_OPC_SLTB_U, TILE_OPC_SLTEB,
1679  TILE_OPC_SLTEB_U, TILE_OPC_SLTEH, TILE_OPC_SLTEH_U, TILE_OPC_SLTE,
1680  TILE_OPC_SLTE_U, TILE_OPC_SLTH, TILE_OPC_SLTH_U, TILE_OPC_SLT,
1681  TILE_OPC_SLT_U, TILE_OPC_SNEB, TILE_OPC_SNEH, TILE_OPC_SNE, TILE_OPC_SRAB,
1682  TILE_OPC_SRAH, TILE_OPC_SRA, TILE_OPC_SUBB, TILE_OPC_SUBH, TILE_OPC_SUB,
1683  BITFIELD(49, 4) /* index 594 */,
1684  CHILD(611), CHILD(614), CHILD(617), CHILD(620), CHILD(623), CHILD(626),
1685  CHILD(629), CHILD(632), CHILD(635), CHILD(638), TILE_OPC_NONE,
1686  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1687  BITFIELD(53, 1) /* index 611 */,
1688  TILE_OPC_SW, TILE_OPC_NONE,
1689  BITFIELD(53, 1) /* index 614 */,
1690  TILE_OPC_XOR, TILE_OPC_NONE,
1691  BITFIELD(53, 1) /* index 617 */,
1692  TILE_OPC_ADDS, TILE_OPC_NONE,
1693  BITFIELD(53, 1) /* index 620 */,
1694  TILE_OPC_SUBS, TILE_OPC_NONE,
1695  BITFIELD(53, 1) /* index 623 */,
1696  TILE_OPC_ADDBS_U, TILE_OPC_NONE,
1697  BITFIELD(53, 1) /* index 626 */,
1698  TILE_OPC_ADDHS, TILE_OPC_NONE,
1699  BITFIELD(53, 1) /* index 629 */,
1700  TILE_OPC_SUBBS_U, TILE_OPC_NONE,
1701  BITFIELD(53, 1) /* index 632 */,
1702  TILE_OPC_SUBHS, TILE_OPC_NONE,
1703  BITFIELD(53, 1) /* index 635 */,
1704  TILE_OPC_PACKHS, TILE_OPC_NONE,
1705  BITFIELD(53, 1) /* index 638 */,
1706  TILE_OPC_PACKBS_U, TILE_OPC_NONE,
1707  BITFIELD(49, 5) /* index 641 */,
1708  TILE_OPC_NONE, TILE_OPC_ADDB_SN, TILE_OPC_ADDH_SN, TILE_OPC_ADD_SN,
1709  TILE_OPC_AND_SN, TILE_OPC_INTHB_SN, TILE_OPC_INTHH_SN, TILE_OPC_INTLB_SN,
1710  TILE_OPC_INTLH_SN, TILE_OPC_JALRP, TILE_OPC_JALR, TILE_OPC_JRP, TILE_OPC_JR,
1711  TILE_OPC_LNK_SN, TILE_OPC_MAXB_U_SN, TILE_OPC_MAXH_SN, TILE_OPC_MINB_U_SN,
1712  TILE_OPC_MINH_SN, TILE_OPC_MNZB_SN, TILE_OPC_MNZH_SN, TILE_OPC_MNZ_SN,
1713  TILE_OPC_MZB_SN, TILE_OPC_MZH_SN, TILE_OPC_MZ_SN, TILE_OPC_NOR_SN,
1714  CHILD(674), TILE_OPC_PACKHB_SN, TILE_OPC_PACKLB_SN, TILE_OPC_RL_SN,
1715  TILE_OPC_S1A_SN, TILE_OPC_S2A_SN, TILE_OPC_S3A_SN,
1716  BITFIELD(43, 2) /* index 674 */,
1717  TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(679),
1718  BITFIELD(45, 2) /* index 679 */,
1719  TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(684),
1720  BITFIELD(47, 2) /* index 684 */,
1721  TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_MOVE_SN,
1722  BITFIELD(49, 5) /* index 689 */,
1723  TILE_OPC_SB, TILE_OPC_SEQB_SN, TILE_OPC_SEQH_SN, TILE_OPC_SEQ_SN,
1724  TILE_OPC_SHLB_SN, TILE_OPC_SHLH_SN, TILE_OPC_SHL_SN, TILE_OPC_SHRB_SN,
1725  TILE_OPC_SHRH_SN, TILE_OPC_SHR_SN, TILE_OPC_SH, TILE_OPC_SLTB_SN,
1726  TILE_OPC_SLTB_U_SN, TILE_OPC_SLTEB_SN, TILE_OPC_SLTEB_U_SN,
1727  TILE_OPC_SLTEH_SN, TILE_OPC_SLTEH_U_SN, TILE_OPC_SLTE_SN,
1728  TILE_OPC_SLTE_U_SN, TILE_OPC_SLTH_SN, TILE_OPC_SLTH_U_SN, TILE_OPC_SLT_SN,
1729  TILE_OPC_SLT_U_SN, TILE_OPC_SNEB_SN, TILE_OPC_SNEH_SN, TILE_OPC_SNE_SN,
1730  TILE_OPC_SRAB_SN, TILE_OPC_SRAH_SN, TILE_OPC_SRA_SN, TILE_OPC_SUBB_SN,
1731  TILE_OPC_SUBH_SN, TILE_OPC_SUB_SN,
1732  BITFIELD(49, 4) /* index 722 */,
1733  CHILD(611), CHILD(739), CHILD(742), CHILD(745), CHILD(748), CHILD(751),
1734  CHILD(754), CHILD(757), CHILD(760), CHILD(763), TILE_OPC_NONE,
1735  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1736  BITFIELD(53, 1) /* index 739 */,
1737  TILE_OPC_XOR_SN, TILE_OPC_NONE,
1738  BITFIELD(53, 1) /* index 742 */,
1739  TILE_OPC_ADDS_SN, TILE_OPC_NONE,
1740  BITFIELD(53, 1) /* index 745 */,
1741  TILE_OPC_SUBS_SN, TILE_OPC_NONE,
1742  BITFIELD(53, 1) /* index 748 */,
1743  TILE_OPC_ADDBS_U_SN, TILE_OPC_NONE,
1744  BITFIELD(53, 1) /* index 751 */,
1745  TILE_OPC_ADDHS_SN, TILE_OPC_NONE,
1746  BITFIELD(53, 1) /* index 754 */,
1747  TILE_OPC_SUBBS_U_SN, TILE_OPC_NONE,
1748  BITFIELD(53, 1) /* index 757 */,
1749  TILE_OPC_SUBHS_SN, TILE_OPC_NONE,
1750  BITFIELD(53, 1) /* index 760 */,
1751  TILE_OPC_PACKHS_SN, TILE_OPC_NONE,
1752  BITFIELD(53, 1) /* index 763 */,
1753  TILE_OPC_PACKBS_U_SN, TILE_OPC_NONE,
1754  BITFIELD(37, 2) /* index 766 */,
1755  TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(771),
1756  BITFIELD(39, 2) /* index 771 */,
1757  TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(776),
1758  BITFIELD(41, 2) /* index 776 */,
1759  TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_MOVELI_SN,
1760  BITFIELD(37, 2) /* index 781 */,
1761  TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(786),
1762  BITFIELD(39, 2) /* index 786 */,
1763  TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(791),
1764  BITFIELD(41, 2) /* index 791 */,
1765  TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_MOVELI,
1766  BITFIELD(31, 2) /* index 796 */,
1767  TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(801),
1768  BITFIELD(33, 2) /* index 801 */,
1769  TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(806),
1770  BITFIELD(35, 2) /* index 806 */,
1771  TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(811),
1772  BITFIELD(37, 2) /* index 811 */,
1773  TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(816),
1774  BITFIELD(39, 2) /* index 816 */,
1775  TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(821),
1776  BITFIELD(41, 2) /* index 821 */,
1777  TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_INFOL,
1778  BITFIELD(31, 4) /* index 826 */,
1779  TILE_OPC_BZ, TILE_OPC_BZT, TILE_OPC_BNZ, TILE_OPC_BNZT, TILE_OPC_BGZ,
1780  TILE_OPC_BGZT, TILE_OPC_BGEZ, TILE_OPC_BGEZT, TILE_OPC_BLZ, TILE_OPC_BLZT,
1781  TILE_OPC_BLEZ, TILE_OPC_BLEZT, TILE_OPC_BBS, TILE_OPC_BBST, TILE_OPC_BBNS,
1782  TILE_OPC_BBNST,
1783  BITFIELD(31, 4) /* index 843 */,
1784  TILE_OPC_BZ_SN, TILE_OPC_BZT_SN, TILE_OPC_BNZ_SN, TILE_OPC_BNZT_SN,
1785  TILE_OPC_BGZ_SN, TILE_OPC_BGZT_SN, TILE_OPC_BGEZ_SN, TILE_OPC_BGEZT_SN,
1786  TILE_OPC_BLZ_SN, TILE_OPC_BLZT_SN, TILE_OPC_BLEZ_SN, TILE_OPC_BLEZT_SN,
1787  TILE_OPC_BBS_SN, TILE_OPC_BBST_SN, TILE_OPC_BBNS_SN, TILE_OPC_BBNST_SN,
1788  BITFIELD(51, 3) /* index 860 */,
1789  TILE_OPC_NONE, TILE_OPC_ADDIB, TILE_OPC_ADDIH, TILE_OPC_ADDI, CHILD(869),
1790  TILE_OPC_MAXIB_U, TILE_OPC_MAXIH, TILE_OPC_MFSPR,
1791  BITFIELD(31, 2) /* index 869 */,
1792  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(874),
1793  BITFIELD(33, 2) /* index 874 */,
1794  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(879),
1795  BITFIELD(35, 2) /* index 879 */,
1796  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(884),
1797  BITFIELD(37, 2) /* index 884 */,
1798  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(889),
1799  BITFIELD(39, 2) /* index 889 */,
1800  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(894),
1801  BITFIELD(41, 2) /* index 894 */,
1802  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO,
1803  BITFIELD(51, 3) /* index 899 */,
1804  TILE_OPC_MINIB_U, TILE_OPC_MINIH, TILE_OPC_MTSPR, CHILD(908),
1805  TILE_OPC_SEQIB, TILE_OPC_SEQIH, TILE_OPC_SEQI, TILE_OPC_SLTIB,
1806  BITFIELD(37, 2) /* index 908 */,
1807  TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(913),
1808  BITFIELD(39, 2) /* index 913 */,
1809  TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(918),
1810  BITFIELD(41, 2) /* index 918 */,
1811  TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI,
1812  BITFIELD(51, 3) /* index 923 */,
1813  TILE_OPC_SLTIB_U, TILE_OPC_SLTIH, TILE_OPC_SLTIH_U, TILE_OPC_SLTI,
1814  TILE_OPC_SLTI_U, TILE_OPC_XORI, TILE_OPC_LBADD, TILE_OPC_LBADD_U,
1815  BITFIELD(51, 3) /* index 932 */,
1816  TILE_OPC_LHADD, TILE_OPC_LHADD_U, TILE_OPC_LWADD, TILE_OPC_LWADD_NA,
1817  TILE_OPC_SBADD, TILE_OPC_SHADD, TILE_OPC_SWADD, TILE_OPC_NONE,
1818  BITFIELD(51, 3) /* index 941 */,
1819  TILE_OPC_NONE, TILE_OPC_ADDIB_SN, TILE_OPC_ADDIH_SN, TILE_OPC_ADDI_SN,
1820  TILE_OPC_ANDI_SN, TILE_OPC_MAXIB_U_SN, TILE_OPC_MAXIH_SN, TILE_OPC_MFSPR,
1821  BITFIELD(51, 3) /* index 950 */,
1822  TILE_OPC_MINIB_U_SN, TILE_OPC_MINIH_SN, TILE_OPC_MTSPR, CHILD(959),
1823  TILE_OPC_SEQIB_SN, TILE_OPC_SEQIH_SN, TILE_OPC_SEQI_SN, TILE_OPC_SLTIB_SN,
1824  BITFIELD(37, 2) /* index 959 */,
1825  TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(964),
1826  BITFIELD(39, 2) /* index 964 */,
1827  TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(969),
1828  BITFIELD(41, 2) /* index 969 */,
1829  TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_MOVEI_SN,
1830  BITFIELD(51, 3) /* index 974 */,
1831  TILE_OPC_SLTIB_U_SN, TILE_OPC_SLTIH_SN, TILE_OPC_SLTIH_U_SN,
1832  TILE_OPC_SLTI_SN, TILE_OPC_SLTI_U_SN, TILE_OPC_XORI_SN, TILE_OPC_LBADD_SN,
1833  TILE_OPC_LBADD_U_SN,
1834  BITFIELD(51, 3) /* index 983 */,
1835  TILE_OPC_LHADD_SN, TILE_OPC_LHADD_U_SN, TILE_OPC_LWADD_SN,
1836  TILE_OPC_LWADD_NA_SN, TILE_OPC_SBADD, TILE_OPC_SHADD, TILE_OPC_SWADD,
1837  TILE_OPC_NONE,
1838  BITFIELD(46, 7) /* index 992 */,
1839  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(1121),
1840  CHILD(1121), CHILD(1121), CHILD(1121), CHILD(1124), CHILD(1124),
1841  CHILD(1124), CHILD(1124), CHILD(1127), CHILD(1127), CHILD(1127),
1842  CHILD(1127), CHILD(1130), CHILD(1130), CHILD(1130), CHILD(1130),
1843  CHILD(1133), CHILD(1133), CHILD(1133), CHILD(1133), CHILD(1136),
1844  CHILD(1136), CHILD(1136), CHILD(1136), CHILD(1139), CHILD(1139),
1845  CHILD(1139), CHILD(1139), CHILD(1142), CHILD(1142), CHILD(1142),
1846  CHILD(1142), CHILD(1145), CHILD(1145), CHILD(1145), CHILD(1145),
1847  CHILD(1148), CHILD(1148), CHILD(1148), CHILD(1148), CHILD(1151),
1848  CHILD(1242), CHILD(1290), CHILD(1323), TILE_OPC_NONE, TILE_OPC_NONE,
1849  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1850  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1851  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1852  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1853  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1854  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1855  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1856  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1857  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1858  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1859  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1860  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1861  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1862  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1863  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1864  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1865  BITFIELD(53, 1) /* index 1121 */,
1866  TILE_OPC_RLI, TILE_OPC_NONE,
1867  BITFIELD(53, 1) /* index 1124 */,
1868  TILE_OPC_SHLIB, TILE_OPC_NONE,
1869  BITFIELD(53, 1) /* index 1127 */,
1870  TILE_OPC_SHLIH, TILE_OPC_NONE,
1871  BITFIELD(53, 1) /* index 1130 */,
1872  TILE_OPC_SHLI, TILE_OPC_NONE,
1873  BITFIELD(53, 1) /* index 1133 */,
1874  TILE_OPC_SHRIB, TILE_OPC_NONE,
1875  BITFIELD(53, 1) /* index 1136 */,
1876  TILE_OPC_SHRIH, TILE_OPC_NONE,
1877  BITFIELD(53, 1) /* index 1139 */,
1878  TILE_OPC_SHRI, TILE_OPC_NONE,
1879  BITFIELD(53, 1) /* index 1142 */,
1880  TILE_OPC_SRAIB, TILE_OPC_NONE,
1881  BITFIELD(53, 1) /* index 1145 */,
1882  TILE_OPC_SRAIH, TILE_OPC_NONE,
1883  BITFIELD(53, 1) /* index 1148 */,
1884  TILE_OPC_SRAI, TILE_OPC_NONE,
1885  BITFIELD(43, 3) /* index 1151 */,
1886  TILE_OPC_NONE, CHILD(1160), CHILD(1163), CHILD(1166), CHILD(1169),
1887  CHILD(1172), CHILD(1175), CHILD(1178),
1888  BITFIELD(53, 1) /* index 1160 */,
1889  TILE_OPC_DRAIN, TILE_OPC_NONE,
1890  BITFIELD(53, 1) /* index 1163 */,
1891  TILE_OPC_DTLBPR, TILE_OPC_NONE,
1892  BITFIELD(53, 1) /* index 1166 */,
1893  TILE_OPC_FINV, TILE_OPC_NONE,
1894  BITFIELD(53, 1) /* index 1169 */,
1895  TILE_OPC_FLUSH, TILE_OPC_NONE,
1896  BITFIELD(53, 1) /* index 1172 */,
1897  TILE_OPC_FNOP, TILE_OPC_NONE,
1898  BITFIELD(53, 1) /* index 1175 */,
1899  TILE_OPC_ICOH, TILE_OPC_NONE,
1900  BITFIELD(31, 2) /* index 1178 */,
1901  CHILD(1183), CHILD(1211), CHILD(1239), CHILD(1239),
1902  BITFIELD(53, 1) /* index 1183 */,
1903  CHILD(1186), TILE_OPC_NONE,
1904  BITFIELD(33, 2) /* index 1186 */,
1905  TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_ILL, CHILD(1191),
1906  BITFIELD(35, 2) /* index 1191 */,
1907  TILE_OPC_ILL, CHILD(1196), TILE_OPC_ILL, TILE_OPC_ILL,
1908  BITFIELD(37, 2) /* index 1196 */,
1909  TILE_OPC_ILL, CHILD(1201), TILE_OPC_ILL, TILE_OPC_ILL,
1910  BITFIELD(39, 2) /* index 1201 */,
1911  TILE_OPC_ILL, CHILD(1206), TILE_OPC_ILL, TILE_OPC_ILL,
1912  BITFIELD(41, 2) /* index 1206 */,
1913  TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_BPT, TILE_OPC_ILL,
1914  BITFIELD(53, 1) /* index 1211 */,
1915  CHILD(1214), TILE_OPC_NONE,
1916  BITFIELD(33, 2) /* index 1214 */,
1917  TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_ILL, CHILD(1219),
1918  BITFIELD(35, 2) /* index 1219 */,
1919  TILE_OPC_ILL, CHILD(1224), TILE_OPC_ILL, TILE_OPC_ILL,
1920  BITFIELD(37, 2) /* index 1224 */,
1921  TILE_OPC_ILL, CHILD(1229), TILE_OPC_ILL, TILE_OPC_ILL,
1922  BITFIELD(39, 2) /* index 1229 */,
1923  TILE_OPC_ILL, CHILD(1234), TILE_OPC_ILL, TILE_OPC_ILL,
1924  BITFIELD(41, 2) /* index 1234 */,
1925  TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_RAISE, TILE_OPC_ILL,
1926  BITFIELD(53, 1) /* index 1239 */,
1927  TILE_OPC_ILL, TILE_OPC_NONE,
1928  BITFIELD(43, 3) /* index 1242 */,
1929  CHILD(1251), CHILD(1254), CHILD(1257), CHILD(1275), CHILD(1278),
1930  CHILD(1281), CHILD(1284), CHILD(1287),
1931  BITFIELD(53, 1) /* index 1251 */,
1932  TILE_OPC_INV, TILE_OPC_NONE,
1933  BITFIELD(53, 1) /* index 1254 */,
1934  TILE_OPC_IRET, TILE_OPC_NONE,
1935  BITFIELD(53, 1) /* index 1257 */,
1936  CHILD(1260), TILE_OPC_NONE,
1937  BITFIELD(31, 2) /* index 1260 */,
1938  TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(1265),
1939  BITFIELD(33, 2) /* index 1265 */,
1940  TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(1270),
1941  BITFIELD(35, 2) /* index 1270 */,
1942  TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_PREFETCH,
1943  BITFIELD(53, 1) /* index 1275 */,
1944  TILE_OPC_LB_U, TILE_OPC_NONE,
1945  BITFIELD(53, 1) /* index 1278 */,
1946  TILE_OPC_LH, TILE_OPC_NONE,
1947  BITFIELD(53, 1) /* index 1281 */,
1948  TILE_OPC_LH_U, TILE_OPC_NONE,
1949  BITFIELD(53, 1) /* index 1284 */,
1950  TILE_OPC_LW, TILE_OPC_NONE,
1951  BITFIELD(53, 1) /* index 1287 */,
1952  TILE_OPC_MF, TILE_OPC_NONE,
1953  BITFIELD(43, 3) /* index 1290 */,
1954  CHILD(1299), CHILD(1302), CHILD(1305), CHILD(1308), CHILD(1311),
1955  CHILD(1314), CHILD(1317), CHILD(1320),
1956  BITFIELD(53, 1) /* index 1299 */,
1957  TILE_OPC_NAP, TILE_OPC_NONE,
1958  BITFIELD(53, 1) /* index 1302 */,
1959  TILE_OPC_NOP, TILE_OPC_NONE,
1960  BITFIELD(53, 1) /* index 1305 */,
1961  TILE_OPC_SWINT0, TILE_OPC_NONE,
1962  BITFIELD(53, 1) /* index 1308 */,
1963  TILE_OPC_SWINT1, TILE_OPC_NONE,
1964  BITFIELD(53, 1) /* index 1311 */,
1965  TILE_OPC_SWINT2, TILE_OPC_NONE,
1966  BITFIELD(53, 1) /* index 1314 */,
1967  TILE_OPC_SWINT3, TILE_OPC_NONE,
1968  BITFIELD(53, 1) /* index 1317 */,
1969  TILE_OPC_TNS, TILE_OPC_NONE,
1970  BITFIELD(53, 1) /* index 1320 */,
1971  TILE_OPC_WH64, TILE_OPC_NONE,
1972  BITFIELD(43, 2) /* index 1323 */,
1973  CHILD(1328), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1974  BITFIELD(45, 1) /* index 1328 */,
1975  CHILD(1331), TILE_OPC_NONE,
1976  BITFIELD(53, 1) /* index 1331 */,
1977  TILE_OPC_LW_NA, TILE_OPC_NONE,
1978  BITFIELD(46, 7) /* index 1334 */,
1979  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(1463),
1980  CHILD(1463), CHILD(1463), CHILD(1463), CHILD(1466), CHILD(1466),
1981  CHILD(1466), CHILD(1466), CHILD(1469), CHILD(1469), CHILD(1469),
1982  CHILD(1469), CHILD(1472), CHILD(1472), CHILD(1472), CHILD(1472),
1983  CHILD(1475), CHILD(1475), CHILD(1475), CHILD(1475), CHILD(1478),
1984  CHILD(1478), CHILD(1478), CHILD(1478), CHILD(1481), CHILD(1481),
1985  CHILD(1481), CHILD(1481), CHILD(1484), CHILD(1484), CHILD(1484),
1986  CHILD(1484), CHILD(1487), CHILD(1487), CHILD(1487), CHILD(1487),
1987  CHILD(1490), CHILD(1490), CHILD(1490), CHILD(1490), CHILD(1151),
1988  CHILD(1493), CHILD(1517), CHILD(1529), TILE_OPC_NONE, TILE_OPC_NONE,
1989  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1990  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1991  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1992  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1993  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1994  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1995  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1996  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1997  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1998  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
1999  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2000  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2001  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2002  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2003  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2004  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2005  BITFIELD(53, 1) /* index 1463 */,
2006  TILE_OPC_RLI_SN, TILE_OPC_NONE,
2007  BITFIELD(53, 1) /* index 1466 */,
2008  TILE_OPC_SHLIB_SN, TILE_OPC_NONE,
2009  BITFIELD(53, 1) /* index 1469 */,
2010  TILE_OPC_SHLIH_SN, TILE_OPC_NONE,
2011  BITFIELD(53, 1) /* index 1472 */,
2012  TILE_OPC_SHLI_SN, TILE_OPC_NONE,
2013  BITFIELD(53, 1) /* index 1475 */,
2014  TILE_OPC_SHRIB_SN, TILE_OPC_NONE,
2015  BITFIELD(53, 1) /* index 1478 */,
2016  TILE_OPC_SHRIH_SN, TILE_OPC_NONE,
2017  BITFIELD(53, 1) /* index 1481 */,
2018  TILE_OPC_SHRI_SN, TILE_OPC_NONE,
2019  BITFIELD(53, 1) /* index 1484 */,
2020  TILE_OPC_SRAIB_SN, TILE_OPC_NONE,
2021  BITFIELD(53, 1) /* index 1487 */,
2022  TILE_OPC_SRAIH_SN, TILE_OPC_NONE,
2023  BITFIELD(53, 1) /* index 1490 */,
2024  TILE_OPC_SRAI_SN, TILE_OPC_NONE,
2025  BITFIELD(43, 3) /* index 1493 */,
2026  CHILD(1251), CHILD(1254), CHILD(1502), CHILD(1505), CHILD(1508),
2027  CHILD(1511), CHILD(1514), CHILD(1287),
2028  BITFIELD(53, 1) /* index 1502 */,
2029  TILE_OPC_LB_SN, TILE_OPC_NONE,
2030  BITFIELD(53, 1) /* index 1505 */,
2031  TILE_OPC_LB_U_SN, TILE_OPC_NONE,
2032  BITFIELD(53, 1) /* index 1508 */,
2033  TILE_OPC_LH_SN, TILE_OPC_NONE,
2034  BITFIELD(53, 1) /* index 1511 */,
2035  TILE_OPC_LH_U_SN, TILE_OPC_NONE,
2036  BITFIELD(53, 1) /* index 1514 */,
2037  TILE_OPC_LW_SN, TILE_OPC_NONE,
2038  BITFIELD(43, 3) /* index 1517 */,
2039  CHILD(1299), CHILD(1302), CHILD(1305), CHILD(1308), CHILD(1311),
2040  CHILD(1314), CHILD(1526), CHILD(1320),
2041  BITFIELD(53, 1) /* index 1526 */,
2042  TILE_OPC_TNS_SN, TILE_OPC_NONE,
2043  BITFIELD(43, 2) /* index 1529 */,
2044  CHILD(1534), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2045  BITFIELD(45, 1) /* index 1534 */,
2046  CHILD(1537), TILE_OPC_NONE,
2047  BITFIELD(53, 1) /* index 1537 */,
2048  TILE_OPC_LW_NA_SN, TILE_OPC_NONE,
2049};
2050
2051static const unsigned short decode_Y0_fsm[168] =
2052{
2053  BITFIELD(27, 4) /* index 0 */,
2054  TILE_OPC_NONE, CHILD(17), CHILD(22), CHILD(27), CHILD(47), CHILD(52),
2055  CHILD(57), CHILD(62), CHILD(67), TILE_OPC_ADDI, CHILD(72), CHILD(102),
2056  TILE_OPC_SEQI, CHILD(117), TILE_OPC_SLTI, TILE_OPC_SLTI_U,
2057  BITFIELD(18, 2) /* index 17 */,
2058  TILE_OPC_ADD, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_SUB,
2059  BITFIELD(18, 2) /* index 22 */,
2060  TILE_OPC_MNZ, TILE_OPC_MVNZ, TILE_OPC_MVZ, TILE_OPC_MZ,
2061  BITFIELD(18, 2) /* index 27 */,
2062  TILE_OPC_AND, TILE_OPC_NOR, CHILD(32), TILE_OPC_XOR,
2063  BITFIELD(12, 2) /* index 32 */,
2064  TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(37),
2065  BITFIELD(14, 2) /* index 37 */,
2066  TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(42),
2067  BITFIELD(16, 2) /* index 42 */,
2068  TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE,
2069  BITFIELD(18, 2) /* index 47 */,
2070  TILE_OPC_RL, TILE_OPC_SHL, TILE_OPC_SHR, TILE_OPC_SRA,
2071  BITFIELD(18, 2) /* index 52 */,
2072  TILE_OPC_SLTE, TILE_OPC_SLTE_U, TILE_OPC_SLT, TILE_OPC_SLT_U,
2073  BITFIELD(18, 2) /* index 57 */,
2074  TILE_OPC_MULHLSA_UU, TILE_OPC_S3A, TILE_OPC_SEQ, TILE_OPC_SNE,
2075  BITFIELD(18, 2) /* index 62 */,
2076  TILE_OPC_MULHH_SS, TILE_OPC_MULHH_UU, TILE_OPC_MULLL_SS, TILE_OPC_MULLL_UU,
2077  BITFIELD(18, 2) /* index 67 */,
2078  TILE_OPC_MULHHA_SS, TILE_OPC_MULHHA_UU, TILE_OPC_MULLLA_SS,
2079  TILE_OPC_MULLLA_UU,
2080  BITFIELD(0, 2) /* index 72 */,
2081  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(77),
2082  BITFIELD(2, 2) /* index 77 */,
2083  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(82),
2084  BITFIELD(4, 2) /* index 82 */,
2085  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(87),
2086  BITFIELD(6, 2) /* index 87 */,
2087  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(92),
2088  BITFIELD(8, 2) /* index 92 */,
2089  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(97),
2090  BITFIELD(10, 2) /* index 97 */,
2091  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO,
2092  BITFIELD(6, 2) /* index 102 */,
2093  TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(107),
2094  BITFIELD(8, 2) /* index 107 */,
2095  TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(112),
2096  BITFIELD(10, 2) /* index 112 */,
2097  TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI,
2098  BITFIELD(15, 5) /* index 117 */,
2099  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_RLI,
2100  TILE_OPC_RLI, TILE_OPC_RLI, TILE_OPC_RLI, TILE_OPC_SHLI, TILE_OPC_SHLI,
2101  TILE_OPC_SHLI, TILE_OPC_SHLI, TILE_OPC_SHRI, TILE_OPC_SHRI, TILE_OPC_SHRI,
2102  TILE_OPC_SHRI, TILE_OPC_SRAI, TILE_OPC_SRAI, TILE_OPC_SRAI, TILE_OPC_SRAI,
2103  CHILD(150), CHILD(159), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2104  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2105  TILE_OPC_NONE, TILE_OPC_NONE,
2106  BITFIELD(12, 3) /* index 150 */,
2107  TILE_OPC_NONE, TILE_OPC_BITX, TILE_OPC_BYTEX, TILE_OPC_CLZ, TILE_OPC_CTZ,
2108  TILE_OPC_FNOP, TILE_OPC_NOP, TILE_OPC_PCNT,
2109  BITFIELD(12, 3) /* index 159 */,
2110  TILE_OPC_TBLIDXB0, TILE_OPC_TBLIDXB1, TILE_OPC_TBLIDXB2, TILE_OPC_TBLIDXB3,
2111  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2112};
2113
2114static const unsigned short decode_Y1_fsm[140] =
2115{
2116  BITFIELD(59, 4) /* index 0 */,
2117  TILE_OPC_NONE, CHILD(17), CHILD(22), CHILD(27), CHILD(47), CHILD(52),
2118  CHILD(57), TILE_OPC_ADDI, CHILD(62), CHILD(92), TILE_OPC_SEQI, CHILD(107),
2119  TILE_OPC_SLTI, TILE_OPC_SLTI_U, TILE_OPC_NONE, TILE_OPC_NONE,
2120  BITFIELD(49, 2) /* index 17 */,
2121  TILE_OPC_ADD, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_SUB,
2122  BITFIELD(49, 2) /* index 22 */,
2123  TILE_OPC_NONE, TILE_OPC_MNZ, TILE_OPC_MZ, TILE_OPC_NONE,
2124  BITFIELD(49, 2) /* index 27 */,
2125  TILE_OPC_AND, TILE_OPC_NOR, CHILD(32), TILE_OPC_XOR,
2126  BITFIELD(43, 2) /* index 32 */,
2127  TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(37),
2128  BITFIELD(45, 2) /* index 37 */,
2129  TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(42),
2130  BITFIELD(47, 2) /* index 42 */,
2131  TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE,
2132  BITFIELD(49, 2) /* index 47 */,
2133  TILE_OPC_RL, TILE_OPC_SHL, TILE_OPC_SHR, TILE_OPC_SRA,
2134  BITFIELD(49, 2) /* index 52 */,
2135  TILE_OPC_SLTE, TILE_OPC_SLTE_U, TILE_OPC_SLT, TILE_OPC_SLT_U,
2136  BITFIELD(49, 2) /* index 57 */,
2137  TILE_OPC_NONE, TILE_OPC_S3A, TILE_OPC_SEQ, TILE_OPC_SNE,
2138  BITFIELD(31, 2) /* index 62 */,
2139  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(67),
2140  BITFIELD(33, 2) /* index 67 */,
2141  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(72),
2142  BITFIELD(35, 2) /* index 72 */,
2143  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(77),
2144  BITFIELD(37, 2) /* index 77 */,
2145  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(82),
2146  BITFIELD(39, 2) /* index 82 */,
2147  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(87),
2148  BITFIELD(41, 2) /* index 87 */,
2149  TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO,
2150  BITFIELD(37, 2) /* index 92 */,
2151  TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(97),
2152  BITFIELD(39, 2) /* index 97 */,
2153  TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(102),
2154  BITFIELD(41, 2) /* index 102 */,
2155  TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI,
2156  BITFIELD(48, 3) /* index 107 */,
2157  TILE_OPC_NONE, TILE_OPC_RLI, TILE_OPC_SHLI, TILE_OPC_SHRI, TILE_OPC_SRAI,
2158  CHILD(116), TILE_OPC_NONE, TILE_OPC_NONE,
2159  BITFIELD(43, 3) /* index 116 */,
2160  TILE_OPC_NONE, CHILD(125), CHILD(130), CHILD(135), TILE_OPC_NONE,
2161  TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2162  BITFIELD(46, 2) /* index 125 */,
2163  TILE_OPC_FNOP, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2164  BITFIELD(46, 2) /* index 130 */,
2165  TILE_OPC_ILL, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2166  BITFIELD(46, 2) /* index 135 */,
2167  TILE_OPC_NOP, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE,
2168};
2169
2170static const unsigned short decode_Y2_fsm[24] =
2171{
2172  BITFIELD(56, 3) /* index 0 */,
2173  CHILD(9), TILE_OPC_LB_U, TILE_OPC_LH, TILE_OPC_LH_U, TILE_OPC_LW,
2174  TILE_OPC_SB, TILE_OPC_SH, TILE_OPC_SW,
2175  BITFIELD(20, 2) /* index 9 */,
2176  TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(14),
2177  BITFIELD(22, 2) /* index 14 */,
2178  TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(19),
2179  BITFIELD(24, 2) /* index 19 */,
2180  TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_PREFETCH,
2181};
2182
2183#undef BITFIELD
2184#undef CHILD
2185const unsigned short * const
2186tile_bundle_decoder_fsms[TILE_NUM_PIPELINE_ENCODINGS] =
2187{
2188  decode_X0_fsm,
2189  decode_X1_fsm,
2190  decode_Y0_fsm,
2191  decode_Y1_fsm,
2192  decode_Y2_fsm
2193};
2194const struct tile_operand tile_operands[43] =
2195{
2196  {
2197    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM8_X0),
2198    8, 1, 0, 0, 0, 0,
2199    create_Imm8_X0, get_Imm8_X0
2200  },
2201  {
2202    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM8_X1),
2203    8, 1, 0, 0, 0, 0,
2204    create_Imm8_X1, get_Imm8_X1
2205  },
2206  {
2207    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM8_Y0),
2208    8, 1, 0, 0, 0, 0,
2209    create_Imm8_Y0, get_Imm8_Y0
2210  },
2211  {
2212    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM8_Y1),
2213    8, 1, 0, 0, 0, 0,
2214    create_Imm8_Y1, get_Imm8_Y1
2215  },
2216  {
2217    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM16_X0),
2218    16, 1, 0, 0, 0, 0,
2219    create_Imm16_X0, get_Imm16_X0
2220  },
2221  {
2222    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM16_X1),
2223    16, 1, 0, 0, 0, 0,
2224    create_Imm16_X1, get_Imm16_X1
2225  },
2226  {
2227    TILE_OP_TYPE_ADDRESS, BFD_RELOC(TILE_JOFFLONG_X1),
2228    29, 1, 0, 0, 1, TILE_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
2229    create_JOffLong_X1, get_JOffLong_X1
2230  },
2231  {
2232    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2233    6, 0, 0, 1, 0, 0,
2234    create_Dest_X0, get_Dest_X0
2235  },
2236  {
2237    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2238    6, 0, 1, 0, 0, 0,
2239    create_SrcA_X0, get_SrcA_X0
2240  },
2241  {
2242    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2243    6, 0, 0, 1, 0, 0,
2244    create_Dest_X1, get_Dest_X1
2245  },
2246  {
2247    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2248    6, 0, 1, 0, 0, 0,
2249    create_SrcA_X1, get_SrcA_X1
2250  },
2251  {
2252    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2253    6, 0, 0, 1, 0, 0,
2254    create_Dest_Y0, get_Dest_Y0
2255  },
2256  {
2257    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2258    6, 0, 1, 0, 0, 0,
2259    create_SrcA_Y0, get_SrcA_Y0
2260  },
2261  {
2262    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2263    6, 0, 0, 1, 0, 0,
2264    create_Dest_Y1, get_Dest_Y1
2265  },
2266  {
2267    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2268    6, 0, 1, 0, 0, 0,
2269    create_SrcA_Y1, get_SrcA_Y1
2270  },
2271  {
2272    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2273    6, 0, 1, 0, 0, 0,
2274    create_SrcA_Y2, get_SrcA_Y2
2275  },
2276  {
2277    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2278    6, 0, 1, 0, 0, 0,
2279    create_SrcB_X0, get_SrcB_X0
2280  },
2281  {
2282    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2283    6, 0, 1, 0, 0, 0,
2284    create_SrcB_X1, get_SrcB_X1
2285  },
2286  {
2287    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2288    6, 0, 1, 0, 0, 0,
2289    create_SrcB_Y0, get_SrcB_Y0
2290  },
2291  {
2292    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2293    6, 0, 1, 0, 0, 0,
2294    create_SrcB_Y1, get_SrcB_Y1
2295  },
2296  {
2297    TILE_OP_TYPE_ADDRESS, BFD_RELOC(TILE_BROFF_X1),
2298    17, 1, 0, 0, 1, TILE_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
2299    create_BrOff_X1, get_BrOff_X1
2300  },
2301  {
2302    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2303    6, 0, 1, 1, 0, 0,
2304    create_Dest_X0, get_Dest_X0
2305  },
2306  {
2307    TILE_OP_TYPE_ADDRESS, BFD_RELOC(NONE),
2308    28, 1, 0, 0, 1, TILE_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
2309    create_JOff_X1, get_JOff_X1
2310  },
2311  {
2312    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2313    6, 0, 0, 1, 0, 0,
2314    create_SrcBDest_Y2, get_SrcBDest_Y2
2315  },
2316  {
2317    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2318    6, 0, 1, 1, 0, 0,
2319    create_SrcA_X1, get_SrcA_X1
2320  },
2321  {
2322    TILE_OP_TYPE_SPR, BFD_RELOC(TILE_MF_IMM15_X1),
2323    15, 0, 0, 0, 0, 0,
2324    create_MF_Imm15_X1, get_MF_Imm15_X1
2325  },
2326  {
2327    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_MMSTART_X0),
2328    5, 0, 0, 0, 0, 0,
2329    create_MMStart_X0, get_MMStart_X0
2330  },
2331  {
2332    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_MMEND_X0),
2333    5, 0, 0, 0, 0, 0,
2334    create_MMEnd_X0, get_MMEnd_X0
2335  },
2336  {
2337    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_MMSTART_X1),
2338    5, 0, 0, 0, 0, 0,
2339    create_MMStart_X1, get_MMStart_X1
2340  },
2341  {
2342    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_MMEND_X1),
2343    5, 0, 0, 0, 0, 0,
2344    create_MMEnd_X1, get_MMEnd_X1
2345  },
2346  {
2347    TILE_OP_TYPE_SPR, BFD_RELOC(TILE_MT_IMM15_X1),
2348    15, 0, 0, 0, 0, 0,
2349    create_MT_Imm15_X1, get_MT_Imm15_X1
2350  },
2351  {
2352    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2353    6, 0, 1, 1, 0, 0,
2354    create_Dest_Y0, get_Dest_Y0
2355  },
2356  {
2357    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SHAMT_X0),
2358    5, 0, 0, 0, 0, 0,
2359    create_ShAmt_X0, get_ShAmt_X0
2360  },
2361  {
2362    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SHAMT_X1),
2363    5, 0, 0, 0, 0, 0,
2364    create_ShAmt_X1, get_ShAmt_X1
2365  },
2366  {
2367    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SHAMT_Y0),
2368    5, 0, 0, 0, 0, 0,
2369    create_ShAmt_Y0, get_ShAmt_Y0
2370  },
2371  {
2372    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SHAMT_Y1),
2373    5, 0, 0, 0, 0, 0,
2374    create_ShAmt_Y1, get_ShAmt_Y1
2375  },
2376  {
2377    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2378    6, 0, 1, 0, 0, 0,
2379    create_SrcBDest_Y2, get_SrcBDest_Y2
2380  },
2381  {
2382    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(NONE),
2383    8, 1, 0, 0, 0, 0,
2384    create_Dest_Imm8_X1, get_Dest_Imm8_X1
2385  },
2386  {
2387    TILE_OP_TYPE_ADDRESS, BFD_RELOC(TILE_SN_BROFF),
2388    10, 1, 0, 0, 1, TILE_LOG2_SN_INSTRUCTION_SIZE_IN_BYTES,
2389    create_BrOff_SN, get_BrOff_SN
2390  },
2391  {
2392    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SN_UIMM8),
2393    8, 0, 0, 0, 0, 0,
2394    create_Imm8_SN, get_Imm8_SN
2395  },
2396  {
2397    TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SN_IMM8),
2398    8, 1, 0, 0, 0, 0,
2399    create_Imm8_SN, get_Imm8_SN
2400  },
2401  {
2402    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2403    2, 0, 0, 1, 0, 0,
2404    create_Dest_SN, get_Dest_SN
2405  },
2406  {
2407    TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE),
2408    2, 0, 1, 0, 0, 0,
2409    create_Src_SN, get_Src_SN
2410  }
2411};
2412
2413
2414
2415
2416/* Given a set of bundle bits and a specific pipe, returns which
2417 * instruction the bundle contains in that pipe.
2418 */
2419const struct tile_opcode *
2420find_opcode(tile_bundle_bits bits, tile_pipeline pipe)
2421{
2422  const unsigned short *table = tile_bundle_decoder_fsms[pipe];
2423  int index = 0;
2424
2425  while (1)
2426  {
2427    unsigned short bitspec = table[index];
2428    unsigned int bitfield =
2429      ((unsigned int)(bits >> (bitspec & 63))) & (bitspec >> 6);
2430
2431    unsigned short next = table[index + 1 + bitfield];
2432    if (next <= TILE_OPC_NONE)
2433      return &tile_opcodes[next];
2434
2435    index = next - TILE_OPC_NONE;
2436  }
2437}
2438
2439
2440int
2441parse_insn_tile(tile_bundle_bits bits,
2442                unsigned int pc,
2443                struct tile_decoded_instruction
2444                decoded[TILE_MAX_INSTRUCTIONS_PER_BUNDLE])
2445{
2446  int num_instructions = 0;
2447  int pipe;
2448
2449  int min_pipe, max_pipe;
2450  if ((bits & TILE_BUNDLE_Y_ENCODING_MASK) == 0)
2451  {
2452    min_pipe = TILE_PIPELINE_X0;
2453    max_pipe = TILE_PIPELINE_X1;
2454  }
2455  else
2456  {
2457    min_pipe = TILE_PIPELINE_Y0;
2458    max_pipe = TILE_PIPELINE_Y2;
2459  }
2460
2461  /* For each pipe, find an instruction that fits. */
2462  for (pipe = min_pipe; pipe <= max_pipe; pipe++)
2463  {
2464    const struct tile_opcode *opc;
2465    struct tile_decoded_instruction *d;
2466    int i;
2467
2468    d = &decoded[num_instructions++];
2469    opc = find_opcode (bits, (tile_pipeline)pipe);
2470    d->opcode = opc;
2471
2472    /* Decode each operand, sign extending, etc. as appropriate. */
2473    for (i = 0; i < opc->num_operands; i++)
2474    {
2475      const struct tile_operand *op =
2476        &tile_operands[opc->operands[pipe][i]];
2477      int opval = op->extract (bits);
2478      if (op->is_signed)
2479      {
2480        /* Sign-extend the operand. */
2481        int shift = (int)((sizeof(int) * 8) - op->num_bits);
2482        opval = (opval << shift) >> shift;
2483      }
2484
2485      /* Adjust PC-relative scaled branch offsets. */
2486      if (op->type == TILE_OP_TYPE_ADDRESS)
2487      {
2488        opval *= TILE_BUNDLE_SIZE_IN_BYTES;
2489        opval += (int)pc;
2490      }
2491
2492      /* Record the final value. */
2493      d->operands[i] = op;
2494      d->operand_values[i] = opval;
2495    }
2496  }
2497
2498  return num_instructions;
2499}