OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [opcodes/] [tilepro-opc.c] - Blame information for rev 148

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 148 khays
/* TILEPro opcode information.
2
 
3
   Copyright 2011 Free Software Foundation, Inc.
4
 
5
   This program is free software; you can redistribute it and/or modify
6
   it under the terms of the GNU General Public License as published by
7
   the Free Software Foundation; either version 3 of the License, or
8
   (at your option) any later version.
9
 
10
   This program is distributed in the hope that it will be useful,
11
   but WITHOUT ANY WARRANTY; without even the implied warranty of
12
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
   GNU General Public License for more details.
14
 
15
   You should have received a copy of the GNU General Public License
16
   along with this program; if not, write to the Free Software
17
   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
18
   MA 02110-1301, USA.  */
19
 
20
/* This define is BFD_RELOC_##x for real bfd, or -1 for everyone else.  */
21
#define BFD_RELOC(x) BFD_RELOC_##x
22
 
23
#include "bfd.h"
24
 
25
/* Special registers.  */
26
#define TREG_LR 55
27
#define TREG_SN 56
28
#define TREG_ZERO 63
29
 
30
#if defined(__KERNEL__) || defined(_LIBC)
31
/* FIXME: Rename this. */
32
#include <asm/opcode-tile.h>
33
#define DISASM_ONLY
34
#else
35
#include "opcode/tilepro.h"
36
#endif
37
 
38
#ifdef __KERNEL__
39
#include <linux/stddef.h>
40
#else
41
#include <stddef.h>
42
#endif
43
 
44
const struct tilepro_opcode tilepro_opcodes[395] =
45
{
46
 { "bpt", TILEPRO_OPC_BPT, 0x2, 0, TREG_ZERO, 0,
47
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
48
#ifndef DISASM_ONLY
49
    {
50
      0ULL,
51
      0xfbffffff80000000ULL,
52
      0ULL,
53
      0ULL,
54
      0ULL
55
    },
56
    {
57
      -1ULL,
58
      0x400b3cae00000000ULL,
59
      -1ULL,
60
      -1ULL,
61
      -1ULL
62
    }
63
#endif
64
  },
65
  { "info", TILEPRO_OPC_INFO, 0xf, 1, TREG_ZERO, 1,
66
    { { 0 }, { 1 }, { 2 }, { 3 }, { 0, } },
67
#ifndef DISASM_ONLY
68
    {
69
      0x800000007ff00fffULL,
70
      0xfff807ff80000000ULL,
71
      0x8000000078000fffULL,
72
      0xf80007ff80000000ULL,
73
      0ULL
74
    },
75
    {
76
      0x0000000050100fffULL,
77
      0x302007ff80000000ULL,
78
      0x8000000050000fffULL,
79
      0xc00007ff80000000ULL,
80
      -1ULL
81
    }
82
#endif
83
  },
84
  { "infol", TILEPRO_OPC_INFOL, 0x3, 1, TREG_ZERO, 1,
85
    { { 4 }, { 5 }, { 0, }, { 0, }, { 0, } },
86
#ifndef DISASM_ONLY
87
    {
88
      0x8000000070000fffULL,
89
      0xf80007ff80000000ULL,
90
      0ULL,
91
      0ULL,
92
      0ULL
93
    },
94
    {
95
      0x0000000030000fffULL,
96
      0x200007ff80000000ULL,
97
      -1ULL,
98
      -1ULL,
99
      -1ULL
100
    }
101
#endif
102
  },
103
  { "j", TILEPRO_OPC_J, 0x2, 1, TREG_ZERO, 1,
104
    { { 0, }, { 6 }, { 0, }, { 0, }, { 0, } },
105
#ifndef DISASM_ONLY
106
    {
107
      0ULL,
108
      0xf000000000000000ULL,
109
      0ULL,
110
      0ULL,
111
      0ULL
112
    },
113
    {
114
      -1ULL,
115
      0x5000000000000000ULL,
116
      -1ULL,
117
      -1ULL,
118
      -1ULL
119
    }
120
#endif
121
  },
122
  { "jal", TILEPRO_OPC_JAL, 0x2, 1, TREG_LR, 1,
123
    { { 0, }, { 6 }, { 0, }, { 0, }, { 0, } },
124
#ifndef DISASM_ONLY
125
    {
126
      0ULL,
127
      0xf000000000000000ULL,
128
      0ULL,
129
      0ULL,
130
      0ULL
131
    },
132
    {
133
      -1ULL,
134
      0x6000000000000000ULL,
135
      -1ULL,
136
      -1ULL,
137
      -1ULL
138
    }
139
#endif
140
  },
141
  { "move", TILEPRO_OPC_MOVE, 0xf, 2, TREG_ZERO, 1,
142
    { { 7, 8 }, { 9, 10 }, { 11, 12 }, { 13, 14 }, { 0, } },
143
#ifndef DISASM_ONLY
144
    {
145
      0x800000007ffff000ULL,
146
      0xfffff80000000000ULL,
147
      0x80000000780ff000ULL,
148
      0xf807f80000000000ULL,
149
      0ULL
150
    },
151
    {
152
      0x0000000000cff000ULL,
153
      0x0833f80000000000ULL,
154
      0x80000000180bf000ULL,
155
      0x9805f80000000000ULL,
156
      -1ULL
157
    }
158
#endif
159
  },
160
  { "move.sn", TILEPRO_OPC_MOVE_SN, 0x3, 2, TREG_SN, 1,
161
    { { 7, 8 }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
162
#ifndef DISASM_ONLY
163
    {
164
      0x800000007ffff000ULL,
165
      0xfffff80000000000ULL,
166
      0ULL,
167
      0ULL,
168
      0ULL
169
    },
170
    {
171
      0x0000000008cff000ULL,
172
      0x0c33f80000000000ULL,
173
      -1ULL,
174
      -1ULL,
175
      -1ULL
176
    }
177
#endif
178
  },
179
  { "movei", TILEPRO_OPC_MOVEI, 0xf, 2, TREG_ZERO, 1,
180
    { { 7, 0 }, { 9, 1 }, { 11, 2 }, { 13, 3 }, { 0, } },
181
#ifndef DISASM_ONLY
182
    {
183
      0x800000007ff00fc0ULL,
184
      0xfff807e000000000ULL,
185
      0x8000000078000fc0ULL,
186
      0xf80007e000000000ULL,
187
      0ULL
188
    },
189
    {
190
      0x0000000040800fc0ULL,
191
      0x305807e000000000ULL,
192
      0x8000000058000fc0ULL,
193
      0xc80007e000000000ULL,
194
      -1ULL
195
    }
196
#endif
197
  },
198
  { "movei.sn", TILEPRO_OPC_MOVEI_SN, 0x3, 2, TREG_SN, 1,
199
    { { 7, 0 }, { 9, 1 }, { 0, }, { 0, }, { 0, } },
200
#ifndef DISASM_ONLY
201
    {
202
      0x800000007ff00fc0ULL,
203
      0xfff807e000000000ULL,
204
      0ULL,
205
      0ULL,
206
      0ULL
207
    },
208
    {
209
      0x0000000048800fc0ULL,
210
      0x345807e000000000ULL,
211
      -1ULL,
212
      -1ULL,
213
      -1ULL
214
    }
215
#endif
216
  },
217
  { "moveli", TILEPRO_OPC_MOVELI, 0x3, 2, TREG_ZERO, 1,
218
    { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
219
#ifndef DISASM_ONLY
220
    {
221
      0x8000000070000fc0ULL,
222
      0xf80007e000000000ULL,
223
      0ULL,
224
      0ULL,
225
      0ULL
226
    },
227
    {
228
      0x0000000020000fc0ULL,
229
      0x180007e000000000ULL,
230
      -1ULL,
231
      -1ULL,
232
      -1ULL
233
    }
234
#endif
235
  },
236
  { "moveli.sn", TILEPRO_OPC_MOVELI_SN, 0x3, 2, TREG_SN, 1,
237
    { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
238
#ifndef DISASM_ONLY
239
    {
240
      0x8000000070000fc0ULL,
241
      0xf80007e000000000ULL,
242
      0ULL,
243
      0ULL,
244
      0ULL
245
    },
246
    {
247
      0x0000000010000fc0ULL,
248
      0x100007e000000000ULL,
249
      -1ULL,
250
      -1ULL,
251
      -1ULL
252
    }
253
#endif
254
  },
255
  { "movelis", TILEPRO_OPC_MOVELIS, 0x3, 2, TREG_SN, 1,
256
    { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } },
257
#ifndef DISASM_ONLY
258
    {
259
      0x8000000070000fc0ULL,
260
      0xf80007e000000000ULL,
261
      0ULL,
262
      0ULL,
263
      0ULL
264
    },
265
    {
266
      0x0000000010000fc0ULL,
267
      0x100007e000000000ULL,
268
      -1ULL,
269
      -1ULL,
270
      -1ULL
271
    }
272
#endif
273
  },
274
  { "prefetch", TILEPRO_OPC_PREFETCH, 0x12, 1, TREG_ZERO, 1,
275
    { { 0, }, { 10 }, { 0, }, { 0, }, { 15 } },
276
#ifndef DISASM_ONLY
277
    {
278
      0ULL,
279
      0xfffff81f80000000ULL,
280
      0ULL,
281
      0ULL,
282
      0x8700000003f00000ULL
283
    },
284
    {
285
      -1ULL,
286
      0x400b501f80000000ULL,
287
      -1ULL,
288
      -1ULL,
289
      0x8000000003f00000ULL
290
    }
291
#endif
292
  },
293
  { "raise", TILEPRO_OPC_RAISE, 0x2, 0, TREG_ZERO, 1,
294
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
295
#ifndef DISASM_ONLY
296
    {
297
      0ULL,
298
      0xfbffffff80000000ULL,
299
      0ULL,
300
      0ULL,
301
      0ULL
302
    },
303
    {
304
      -1ULL,
305
      0x400b3cae80000000ULL,
306
      -1ULL,
307
      -1ULL,
308
      -1ULL
309
    }
310
#endif
311
  },
312
  { "add", TILEPRO_OPC_ADD, 0xf, 3, TREG_ZERO, 1,
313
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
314
#ifndef DISASM_ONLY
315
    {
316
      0x800000007ffc0000ULL,
317
      0xfffe000000000000ULL,
318
      0x80000000780c0000ULL,
319
      0xf806000000000000ULL,
320
      0ULL
321
    },
322
    {
323
      0x00000000000c0000ULL,
324
      0x0806000000000000ULL,
325
      0x8000000008000000ULL,
326
      0x8800000000000000ULL,
327
      -1ULL
328
    }
329
#endif
330
  },
331
  { "add.sn", TILEPRO_OPC_ADD_SN, 0x3, 3, TREG_SN, 1,
332
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
333
#ifndef DISASM_ONLY
334
    {
335
      0x800000007ffc0000ULL,
336
      0xfffe000000000000ULL,
337
      0ULL,
338
      0ULL,
339
      0ULL
340
    },
341
    {
342
      0x00000000080c0000ULL,
343
      0x0c06000000000000ULL,
344
      -1ULL,
345
      -1ULL,
346
      -1ULL
347
    }
348
#endif
349
  },
350
  { "addb", TILEPRO_OPC_ADDB, 0x3, 3, TREG_ZERO, 1,
351
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
352
#ifndef DISASM_ONLY
353
    {
354
      0x800000007ffc0000ULL,
355
      0xfffe000000000000ULL,
356
      0ULL,
357
      0ULL,
358
      0ULL
359
    },
360
    {
361
      0x0000000000040000ULL,
362
      0x0802000000000000ULL,
363
      -1ULL,
364
      -1ULL,
365
      -1ULL
366
    }
367
#endif
368
  },
369
  { "addb.sn", TILEPRO_OPC_ADDB_SN, 0x3, 3, TREG_SN, 1,
370
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
371
#ifndef DISASM_ONLY
372
    {
373
      0x800000007ffc0000ULL,
374
      0xfffe000000000000ULL,
375
      0ULL,
376
      0ULL,
377
      0ULL
378
    },
379
    {
380
      0x0000000008040000ULL,
381
      0x0c02000000000000ULL,
382
      -1ULL,
383
      -1ULL,
384
      -1ULL
385
    }
386
#endif
387
  },
388
  { "addbs_u", TILEPRO_OPC_ADDBS_U, 0x3, 3, TREG_ZERO, 1,
389
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
390
#ifndef DISASM_ONLY
391
    {
392
      0x800000007ffc0000ULL,
393
      0xfffe000000000000ULL,
394
      0ULL,
395
      0ULL,
396
      0ULL
397
    },
398
    {
399
      0x0000000001880000ULL,
400
      0x0888000000000000ULL,
401
      -1ULL,
402
      -1ULL,
403
      -1ULL
404
    }
405
#endif
406
  },
407
  { "addbs_u.sn", TILEPRO_OPC_ADDBS_U_SN, 0x3, 3, TREG_SN, 1,
408
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
409
#ifndef DISASM_ONLY
410
    {
411
      0x800000007ffc0000ULL,
412
      0xfffe000000000000ULL,
413
      0ULL,
414
      0ULL,
415
      0ULL
416
    },
417
    {
418
      0x0000000009880000ULL,
419
      0x0c88000000000000ULL,
420
      -1ULL,
421
      -1ULL,
422
      -1ULL
423
    }
424
#endif
425
  },
426
  { "addh", TILEPRO_OPC_ADDH, 0x3, 3, TREG_ZERO, 1,
427
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
428
#ifndef DISASM_ONLY
429
    {
430
      0x800000007ffc0000ULL,
431
      0xfffe000000000000ULL,
432
      0ULL,
433
      0ULL,
434
      0ULL
435
    },
436
    {
437
      0x0000000000080000ULL,
438
      0x0804000000000000ULL,
439
      -1ULL,
440
      -1ULL,
441
      -1ULL
442
    }
443
#endif
444
  },
445
  { "addh.sn", TILEPRO_OPC_ADDH_SN, 0x3, 3, TREG_SN, 1,
446
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
447
#ifndef DISASM_ONLY
448
    {
449
      0x800000007ffc0000ULL,
450
      0xfffe000000000000ULL,
451
      0ULL,
452
      0ULL,
453
      0ULL
454
    },
455
    {
456
      0x0000000008080000ULL,
457
      0x0c04000000000000ULL,
458
      -1ULL,
459
      -1ULL,
460
      -1ULL
461
    }
462
#endif
463
  },
464
  { "addhs", TILEPRO_OPC_ADDHS, 0x3, 3, TREG_ZERO, 1,
465
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
466
#ifndef DISASM_ONLY
467
    {
468
      0x800000007ffc0000ULL,
469
      0xfffe000000000000ULL,
470
      0ULL,
471
      0ULL,
472
      0ULL
473
    },
474
    {
475
      0x00000000018c0000ULL,
476
      0x088a000000000000ULL,
477
      -1ULL,
478
      -1ULL,
479
      -1ULL
480
    }
481
#endif
482
  },
483
  { "addhs.sn", TILEPRO_OPC_ADDHS_SN, 0x3, 3, TREG_SN, 1,
484
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
485
#ifndef DISASM_ONLY
486
    {
487
      0x800000007ffc0000ULL,
488
      0xfffe000000000000ULL,
489
      0ULL,
490
      0ULL,
491
      0ULL
492
    },
493
    {
494
      0x00000000098c0000ULL,
495
      0x0c8a000000000000ULL,
496
      -1ULL,
497
      -1ULL,
498
      -1ULL
499
    }
500
#endif
501
  },
502
  { "addi", TILEPRO_OPC_ADDI, 0xf, 3, TREG_ZERO, 1,
503
    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
504
#ifndef DISASM_ONLY
505
    {
506
      0x800000007ff00000ULL,
507
      0xfff8000000000000ULL,
508
      0x8000000078000000ULL,
509
      0xf800000000000000ULL,
510
      0ULL
511
    },
512
    {
513
      0x0000000040300000ULL,
514
      0x3018000000000000ULL,
515
      0x8000000048000000ULL,
516
      0xb800000000000000ULL,
517
      -1ULL
518
    }
519
#endif
520
  },
521
  { "addi.sn", TILEPRO_OPC_ADDI_SN, 0x3, 3, TREG_SN, 1,
522
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
523
#ifndef DISASM_ONLY
524
    {
525
      0x800000007ff00000ULL,
526
      0xfff8000000000000ULL,
527
      0ULL,
528
      0ULL,
529
      0ULL
530
    },
531
    {
532
      0x0000000048300000ULL,
533
      0x3418000000000000ULL,
534
      -1ULL,
535
      -1ULL,
536
      -1ULL
537
    }
538
#endif
539
  },
540
  { "addib", TILEPRO_OPC_ADDIB, 0x3, 3, TREG_ZERO, 1,
541
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
542
#ifndef DISASM_ONLY
543
    {
544
      0x800000007ff00000ULL,
545
      0xfff8000000000000ULL,
546
      0ULL,
547
      0ULL,
548
      0ULL
549
    },
550
    {
551
      0x0000000040100000ULL,
552
      0x3008000000000000ULL,
553
      -1ULL,
554
      -1ULL,
555
      -1ULL
556
    }
557
#endif
558
  },
559
  { "addib.sn", TILEPRO_OPC_ADDIB_SN, 0x3, 3, TREG_SN, 1,
560
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
561
#ifndef DISASM_ONLY
562
    {
563
      0x800000007ff00000ULL,
564
      0xfff8000000000000ULL,
565
      0ULL,
566
      0ULL,
567
      0ULL
568
    },
569
    {
570
      0x0000000048100000ULL,
571
      0x3408000000000000ULL,
572
      -1ULL,
573
      -1ULL,
574
      -1ULL
575
    }
576
#endif
577
  },
578
  { "addih", TILEPRO_OPC_ADDIH, 0x3, 3, TREG_ZERO, 1,
579
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
580
#ifndef DISASM_ONLY
581
    {
582
      0x800000007ff00000ULL,
583
      0xfff8000000000000ULL,
584
      0ULL,
585
      0ULL,
586
      0ULL
587
    },
588
    {
589
      0x0000000040200000ULL,
590
      0x3010000000000000ULL,
591
      -1ULL,
592
      -1ULL,
593
      -1ULL
594
    }
595
#endif
596
  },
597
  { "addih.sn", TILEPRO_OPC_ADDIH_SN, 0x3, 3, TREG_SN, 1,
598
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
599
#ifndef DISASM_ONLY
600
    {
601
      0x800000007ff00000ULL,
602
      0xfff8000000000000ULL,
603
      0ULL,
604
      0ULL,
605
      0ULL
606
    },
607
    {
608
      0x0000000048200000ULL,
609
      0x3410000000000000ULL,
610
      -1ULL,
611
      -1ULL,
612
      -1ULL
613
    }
614
#endif
615
  },
616
  { "addli", TILEPRO_OPC_ADDLI, 0x3, 3, TREG_ZERO, 1,
617
    { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
618
#ifndef DISASM_ONLY
619
    {
620
      0x8000000070000000ULL,
621
      0xf800000000000000ULL,
622
      0ULL,
623
      0ULL,
624
      0ULL
625
    },
626
    {
627
      0x0000000020000000ULL,
628
      0x1800000000000000ULL,
629
      -1ULL,
630
      -1ULL,
631
      -1ULL
632
    }
633
#endif
634
  },
635
  { "addli.sn", TILEPRO_OPC_ADDLI_SN, 0x3, 3, TREG_SN, 1,
636
    { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
637
#ifndef DISASM_ONLY
638
    {
639
      0x8000000070000000ULL,
640
      0xf800000000000000ULL,
641
      0ULL,
642
      0ULL,
643
      0ULL
644
    },
645
    {
646
      0x0000000010000000ULL,
647
      0x1000000000000000ULL,
648
      -1ULL,
649
      -1ULL,
650
      -1ULL
651
    }
652
#endif
653
  },
654
  { "addlis", TILEPRO_OPC_ADDLIS, 0x3, 3, TREG_SN, 1,
655
    { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
656
#ifndef DISASM_ONLY
657
    {
658
      0x8000000070000000ULL,
659
      0xf800000000000000ULL,
660
      0ULL,
661
      0ULL,
662
      0ULL
663
    },
664
    {
665
      0x0000000010000000ULL,
666
      0x1000000000000000ULL,
667
      -1ULL,
668
      -1ULL,
669
      -1ULL
670
    }
671
#endif
672
  },
673
  { "adds", TILEPRO_OPC_ADDS, 0x3, 3, TREG_ZERO, 1,
674
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
675
#ifndef DISASM_ONLY
676
    {
677
      0x800000007ffc0000ULL,
678
      0xfffe000000000000ULL,
679
      0ULL,
680
      0ULL,
681
      0ULL
682
    },
683
    {
684
      0x0000000001800000ULL,
685
      0x0884000000000000ULL,
686
      -1ULL,
687
      -1ULL,
688
      -1ULL
689
    }
690
#endif
691
  },
692
  { "adds.sn", TILEPRO_OPC_ADDS_SN, 0x3, 3, TREG_SN, 1,
693
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
694
#ifndef DISASM_ONLY
695
    {
696
      0x800000007ffc0000ULL,
697
      0xfffe000000000000ULL,
698
      0ULL,
699
      0ULL,
700
      0ULL
701
    },
702
    {
703
      0x0000000009800000ULL,
704
      0x0c84000000000000ULL,
705
      -1ULL,
706
      -1ULL,
707
      -1ULL
708
    }
709
#endif
710
  },
711
  { "adiffb_u", TILEPRO_OPC_ADIFFB_U, 0x1, 3, TREG_ZERO, 1,
712
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
713
#ifndef DISASM_ONLY
714
    {
715
      0x800000007ffc0000ULL,
716
      0ULL,
717
      0ULL,
718
      0ULL,
719
      0ULL
720
    },
721
    {
722
      0x0000000000100000ULL,
723
      -1ULL,
724
      -1ULL,
725
      -1ULL,
726
      -1ULL
727
    }
728
#endif
729
  },
730
  { "adiffb_u.sn", TILEPRO_OPC_ADIFFB_U_SN, 0x1, 3, TREG_SN, 1,
731
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
732
#ifndef DISASM_ONLY
733
    {
734
      0x800000007ffc0000ULL,
735
      0ULL,
736
      0ULL,
737
      0ULL,
738
      0ULL
739
    },
740
    {
741
      0x0000000008100000ULL,
742
      -1ULL,
743
      -1ULL,
744
      -1ULL,
745
      -1ULL
746
    }
747
#endif
748
  },
749
  { "adiffh", TILEPRO_OPC_ADIFFH, 0x1, 3, TREG_ZERO, 1,
750
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
751
#ifndef DISASM_ONLY
752
    {
753
      0x800000007ffc0000ULL,
754
      0ULL,
755
      0ULL,
756
      0ULL,
757
      0ULL
758
    },
759
    {
760
      0x0000000000140000ULL,
761
      -1ULL,
762
      -1ULL,
763
      -1ULL,
764
      -1ULL
765
    }
766
#endif
767
  },
768
  { "adiffh.sn", TILEPRO_OPC_ADIFFH_SN, 0x1, 3, TREG_SN, 1,
769
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
770
#ifndef DISASM_ONLY
771
    {
772
      0x800000007ffc0000ULL,
773
      0ULL,
774
      0ULL,
775
      0ULL,
776
      0ULL
777
    },
778
    {
779
      0x0000000008140000ULL,
780
      -1ULL,
781
      -1ULL,
782
      -1ULL,
783
      -1ULL
784
    }
785
#endif
786
  },
787
  { "and", TILEPRO_OPC_AND, 0xf, 3, TREG_ZERO, 1,
788
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
789
#ifndef DISASM_ONLY
790
    {
791
      0x800000007ffc0000ULL,
792
      0xfffe000000000000ULL,
793
      0x80000000780c0000ULL,
794
      0xf806000000000000ULL,
795
      0ULL
796
    },
797
    {
798
      0x0000000000180000ULL,
799
      0x0808000000000000ULL,
800
      0x8000000018000000ULL,
801
      0x9800000000000000ULL,
802
      -1ULL
803
    }
804
#endif
805
  },
806
  { "and.sn", TILEPRO_OPC_AND_SN, 0x3, 3, TREG_SN, 1,
807
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
808
#ifndef DISASM_ONLY
809
    {
810
      0x800000007ffc0000ULL,
811
      0xfffe000000000000ULL,
812
      0ULL,
813
      0ULL,
814
      0ULL
815
    },
816
    {
817
      0x0000000008180000ULL,
818
      0x0c08000000000000ULL,
819
      -1ULL,
820
      -1ULL,
821
      -1ULL
822
    }
823
#endif
824
  },
825
  { "andi", TILEPRO_OPC_ANDI, 0xf, 3, TREG_ZERO, 1,
826
    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
827
#ifndef DISASM_ONLY
828
    {
829
      0x800000007ff00000ULL,
830
      0xfff8000000000000ULL,
831
      0x8000000078000000ULL,
832
      0xf800000000000000ULL,
833
      0ULL
834
    },
835
    {
836
      0x0000000050100000ULL,
837
      0x3020000000000000ULL,
838
      0x8000000050000000ULL,
839
      0xc000000000000000ULL,
840
      -1ULL
841
    }
842
#endif
843
  },
844
  { "andi.sn", TILEPRO_OPC_ANDI_SN, 0x3, 3, TREG_SN, 1,
845
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
846
#ifndef DISASM_ONLY
847
    {
848
      0x800000007ff00000ULL,
849
      0xfff8000000000000ULL,
850
      0ULL,
851
      0ULL,
852
      0ULL
853
    },
854
    {
855
      0x0000000058100000ULL,
856
      0x3420000000000000ULL,
857
      -1ULL,
858
      -1ULL,
859
      -1ULL
860
    }
861
#endif
862
  },
863
  { "auli", TILEPRO_OPC_AULI, 0x3, 3, TREG_ZERO, 1,
864
    { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } },
865
#ifndef DISASM_ONLY
866
    {
867
      0x8000000070000000ULL,
868
      0xf800000000000000ULL,
869
      0ULL,
870
      0ULL,
871
      0ULL
872
    },
873
    {
874
      0x0000000030000000ULL,
875
      0x2000000000000000ULL,
876
      -1ULL,
877
      -1ULL,
878
      -1ULL
879
    }
880
#endif
881
  },
882
  { "avgb_u", TILEPRO_OPC_AVGB_U, 0x1, 3, TREG_ZERO, 1,
883
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
884
#ifndef DISASM_ONLY
885
    {
886
      0x800000007ffc0000ULL,
887
      0ULL,
888
      0ULL,
889
      0ULL,
890
      0ULL
891
    },
892
    {
893
      0x00000000001c0000ULL,
894
      -1ULL,
895
      -1ULL,
896
      -1ULL,
897
      -1ULL
898
    }
899
#endif
900
  },
901
  { "avgb_u.sn", TILEPRO_OPC_AVGB_U_SN, 0x1, 3, TREG_SN, 1,
902
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
903
#ifndef DISASM_ONLY
904
    {
905
      0x800000007ffc0000ULL,
906
      0ULL,
907
      0ULL,
908
      0ULL,
909
      0ULL
910
    },
911
    {
912
      0x00000000081c0000ULL,
913
      -1ULL,
914
      -1ULL,
915
      -1ULL,
916
      -1ULL
917
    }
918
#endif
919
  },
920
  { "avgh", TILEPRO_OPC_AVGH, 0x1, 3, TREG_ZERO, 1,
921
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
922
#ifndef DISASM_ONLY
923
    {
924
      0x800000007ffc0000ULL,
925
      0ULL,
926
      0ULL,
927
      0ULL,
928
      0ULL
929
    },
930
    {
931
      0x0000000000200000ULL,
932
      -1ULL,
933
      -1ULL,
934
      -1ULL,
935
      -1ULL
936
    }
937
#endif
938
  },
939
  { "avgh.sn", TILEPRO_OPC_AVGH_SN, 0x1, 3, TREG_SN, 1,
940
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
941
#ifndef DISASM_ONLY
942
    {
943
      0x800000007ffc0000ULL,
944
      0ULL,
945
      0ULL,
946
      0ULL,
947
      0ULL
948
    },
949
    {
950
      0x0000000008200000ULL,
951
      -1ULL,
952
      -1ULL,
953
      -1ULL,
954
      -1ULL
955
    }
956
#endif
957
  },
958
  { "bbns", TILEPRO_OPC_BBNS, 0x2, 2, TREG_ZERO, 1,
959
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
960
#ifndef DISASM_ONLY
961
    {
962
      0ULL,
963
      0xfc00000780000000ULL,
964
      0ULL,
965
      0ULL,
966
      0ULL
967
    },
968
    {
969
      -1ULL,
970
      0x2800000700000000ULL,
971
      -1ULL,
972
      -1ULL,
973
      -1ULL
974
    }
975
#endif
976
  },
977
  { "bbns.sn", TILEPRO_OPC_BBNS_SN, 0x2, 2, TREG_SN, 1,
978
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
979
#ifndef DISASM_ONLY
980
    {
981
      0ULL,
982
      0xfc00000780000000ULL,
983
      0ULL,
984
      0ULL,
985
      0ULL
986
    },
987
    {
988
      -1ULL,
989
      0x2c00000700000000ULL,
990
      -1ULL,
991
      -1ULL,
992
      -1ULL
993
    }
994
#endif
995
  },
996
  { "bbnst", TILEPRO_OPC_BBNST, 0x2, 2, TREG_ZERO, 1,
997
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
998
#ifndef DISASM_ONLY
999
    {
1000
      0ULL,
1001
      0xfc00000780000000ULL,
1002
      0ULL,
1003
      0ULL,
1004
      0ULL
1005
    },
1006
    {
1007
      -1ULL,
1008
      0x2800000780000000ULL,
1009
      -1ULL,
1010
      -1ULL,
1011
      -1ULL
1012
    }
1013
#endif
1014
  },
1015
  { "bbnst.sn", TILEPRO_OPC_BBNST_SN, 0x2, 2, TREG_SN, 1,
1016
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1017
#ifndef DISASM_ONLY
1018
    {
1019
      0ULL,
1020
      0xfc00000780000000ULL,
1021
      0ULL,
1022
      0ULL,
1023
      0ULL
1024
    },
1025
    {
1026
      -1ULL,
1027
      0x2c00000780000000ULL,
1028
      -1ULL,
1029
      -1ULL,
1030
      -1ULL
1031
    }
1032
#endif
1033
  },
1034
  { "bbs", TILEPRO_OPC_BBS, 0x2, 2, TREG_ZERO, 1,
1035
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1036
#ifndef DISASM_ONLY
1037
    {
1038
      0ULL,
1039
      0xfc00000780000000ULL,
1040
      0ULL,
1041
      0ULL,
1042
      0ULL
1043
    },
1044
    {
1045
      -1ULL,
1046
      0x2800000600000000ULL,
1047
      -1ULL,
1048
      -1ULL,
1049
      -1ULL
1050
    }
1051
#endif
1052
  },
1053
  { "bbs.sn", TILEPRO_OPC_BBS_SN, 0x2, 2, TREG_SN, 1,
1054
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1055
#ifndef DISASM_ONLY
1056
    {
1057
      0ULL,
1058
      0xfc00000780000000ULL,
1059
      0ULL,
1060
      0ULL,
1061
      0ULL
1062
    },
1063
    {
1064
      -1ULL,
1065
      0x2c00000600000000ULL,
1066
      -1ULL,
1067
      -1ULL,
1068
      -1ULL
1069
    }
1070
#endif
1071
  },
1072
  { "bbst", TILEPRO_OPC_BBST, 0x2, 2, TREG_ZERO, 1,
1073
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1074
#ifndef DISASM_ONLY
1075
    {
1076
      0ULL,
1077
      0xfc00000780000000ULL,
1078
      0ULL,
1079
      0ULL,
1080
      0ULL
1081
    },
1082
    {
1083
      -1ULL,
1084
      0x2800000680000000ULL,
1085
      -1ULL,
1086
      -1ULL,
1087
      -1ULL
1088
    }
1089
#endif
1090
  },
1091
  { "bbst.sn", TILEPRO_OPC_BBST_SN, 0x2, 2, TREG_SN, 1,
1092
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1093
#ifndef DISASM_ONLY
1094
    {
1095
      0ULL,
1096
      0xfc00000780000000ULL,
1097
      0ULL,
1098
      0ULL,
1099
      0ULL
1100
    },
1101
    {
1102
      -1ULL,
1103
      0x2c00000680000000ULL,
1104
      -1ULL,
1105
      -1ULL,
1106
      -1ULL
1107
    }
1108
#endif
1109
  },
1110
  { "bgez", TILEPRO_OPC_BGEZ, 0x2, 2, TREG_ZERO, 1,
1111
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1112
#ifndef DISASM_ONLY
1113
    {
1114
      0ULL,
1115
      0xfc00000780000000ULL,
1116
      0ULL,
1117
      0ULL,
1118
      0ULL
1119
    },
1120
    {
1121
      -1ULL,
1122
      0x2800000300000000ULL,
1123
      -1ULL,
1124
      -1ULL,
1125
      -1ULL
1126
    }
1127
#endif
1128
  },
1129
  { "bgez.sn", TILEPRO_OPC_BGEZ_SN, 0x2, 2, TREG_SN, 1,
1130
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1131
#ifndef DISASM_ONLY
1132
    {
1133
      0ULL,
1134
      0xfc00000780000000ULL,
1135
      0ULL,
1136
      0ULL,
1137
      0ULL
1138
    },
1139
    {
1140
      -1ULL,
1141
      0x2c00000300000000ULL,
1142
      -1ULL,
1143
      -1ULL,
1144
      -1ULL
1145
    }
1146
#endif
1147
  },
1148
  { "bgezt", TILEPRO_OPC_BGEZT, 0x2, 2, TREG_ZERO, 1,
1149
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1150
#ifndef DISASM_ONLY
1151
    {
1152
      0ULL,
1153
      0xfc00000780000000ULL,
1154
      0ULL,
1155
      0ULL,
1156
      0ULL
1157
    },
1158
    {
1159
      -1ULL,
1160
      0x2800000380000000ULL,
1161
      -1ULL,
1162
      -1ULL,
1163
      -1ULL
1164
    }
1165
#endif
1166
  },
1167
  { "bgezt.sn", TILEPRO_OPC_BGEZT_SN, 0x2, 2, TREG_SN, 1,
1168
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1169
#ifndef DISASM_ONLY
1170
    {
1171
      0ULL,
1172
      0xfc00000780000000ULL,
1173
      0ULL,
1174
      0ULL,
1175
      0ULL
1176
    },
1177
    {
1178
      -1ULL,
1179
      0x2c00000380000000ULL,
1180
      -1ULL,
1181
      -1ULL,
1182
      -1ULL
1183
    }
1184
#endif
1185
  },
1186
  { "bgz", TILEPRO_OPC_BGZ, 0x2, 2, TREG_ZERO, 1,
1187
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1188
#ifndef DISASM_ONLY
1189
    {
1190
      0ULL,
1191
      0xfc00000780000000ULL,
1192
      0ULL,
1193
      0ULL,
1194
      0ULL
1195
    },
1196
    {
1197
      -1ULL,
1198
      0x2800000200000000ULL,
1199
      -1ULL,
1200
      -1ULL,
1201
      -1ULL
1202
    }
1203
#endif
1204
  },
1205
  { "bgz.sn", TILEPRO_OPC_BGZ_SN, 0x2, 2, TREG_SN, 1,
1206
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1207
#ifndef DISASM_ONLY
1208
    {
1209
      0ULL,
1210
      0xfc00000780000000ULL,
1211
      0ULL,
1212
      0ULL,
1213
      0ULL
1214
    },
1215
    {
1216
      -1ULL,
1217
      0x2c00000200000000ULL,
1218
      -1ULL,
1219
      -1ULL,
1220
      -1ULL
1221
    }
1222
#endif
1223
  },
1224
  { "bgzt", TILEPRO_OPC_BGZT, 0x2, 2, TREG_ZERO, 1,
1225
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1226
#ifndef DISASM_ONLY
1227
    {
1228
      0ULL,
1229
      0xfc00000780000000ULL,
1230
      0ULL,
1231
      0ULL,
1232
      0ULL
1233
    },
1234
    {
1235
      -1ULL,
1236
      0x2800000280000000ULL,
1237
      -1ULL,
1238
      -1ULL,
1239
      -1ULL
1240
    }
1241
#endif
1242
  },
1243
  { "bgzt.sn", TILEPRO_OPC_BGZT_SN, 0x2, 2, TREG_SN, 1,
1244
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1245
#ifndef DISASM_ONLY
1246
    {
1247
      0ULL,
1248
      0xfc00000780000000ULL,
1249
      0ULL,
1250
      0ULL,
1251
      0ULL
1252
    },
1253
    {
1254
      -1ULL,
1255
      0x2c00000280000000ULL,
1256
      -1ULL,
1257
      -1ULL,
1258
      -1ULL
1259
    }
1260
#endif
1261
  },
1262
  { "bitx", TILEPRO_OPC_BITX, 0x5, 2, TREG_ZERO, 1,
1263
    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
1264
#ifndef DISASM_ONLY
1265
    {
1266
      0x800000007ffff000ULL,
1267
      0ULL,
1268
      0x80000000780ff000ULL,
1269
      0ULL,
1270
      0ULL
1271
    },
1272
    {
1273
      0x0000000070161000ULL,
1274
      -1ULL,
1275
      0x80000000680a1000ULL,
1276
      -1ULL,
1277
      -1ULL
1278
    }
1279
#endif
1280
  },
1281
  { "bitx.sn", TILEPRO_OPC_BITX_SN, 0x1, 2, TREG_SN, 1,
1282
    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1283
#ifndef DISASM_ONLY
1284
    {
1285
      0x800000007ffff000ULL,
1286
      0ULL,
1287
      0ULL,
1288
      0ULL,
1289
      0ULL
1290
    },
1291
    {
1292
      0x0000000078161000ULL,
1293
      -1ULL,
1294
      -1ULL,
1295
      -1ULL,
1296
      -1ULL
1297
    }
1298
#endif
1299
  },
1300
  { "blez", TILEPRO_OPC_BLEZ, 0x2, 2, TREG_ZERO, 1,
1301
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1302
#ifndef DISASM_ONLY
1303
    {
1304
      0ULL,
1305
      0xfc00000780000000ULL,
1306
      0ULL,
1307
      0ULL,
1308
      0ULL
1309
    },
1310
    {
1311
      -1ULL,
1312
      0x2800000500000000ULL,
1313
      -1ULL,
1314
      -1ULL,
1315
      -1ULL
1316
    }
1317
#endif
1318
  },
1319
  { "blez.sn", TILEPRO_OPC_BLEZ_SN, 0x2, 2, TREG_SN, 1,
1320
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1321
#ifndef DISASM_ONLY
1322
    {
1323
      0ULL,
1324
      0xfc00000780000000ULL,
1325
      0ULL,
1326
      0ULL,
1327
      0ULL
1328
    },
1329
    {
1330
      -1ULL,
1331
      0x2c00000500000000ULL,
1332
      -1ULL,
1333
      -1ULL,
1334
      -1ULL
1335
    }
1336
#endif
1337
  },
1338
  { "blezt", TILEPRO_OPC_BLEZT, 0x2, 2, TREG_ZERO, 1,
1339
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1340
#ifndef DISASM_ONLY
1341
    {
1342
      0ULL,
1343
      0xfc00000780000000ULL,
1344
      0ULL,
1345
      0ULL,
1346
      0ULL
1347
    },
1348
    {
1349
      -1ULL,
1350
      0x2800000580000000ULL,
1351
      -1ULL,
1352
      -1ULL,
1353
      -1ULL
1354
    }
1355
#endif
1356
  },
1357
  { "blezt.sn", TILEPRO_OPC_BLEZT_SN, 0x2, 2, TREG_SN, 1,
1358
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1359
#ifndef DISASM_ONLY
1360
    {
1361
      0ULL,
1362
      0xfc00000780000000ULL,
1363
      0ULL,
1364
      0ULL,
1365
      0ULL
1366
    },
1367
    {
1368
      -1ULL,
1369
      0x2c00000580000000ULL,
1370
      -1ULL,
1371
      -1ULL,
1372
      -1ULL
1373
    }
1374
#endif
1375
  },
1376
  { "blz", TILEPRO_OPC_BLZ, 0x2, 2, TREG_ZERO, 1,
1377
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1378
#ifndef DISASM_ONLY
1379
    {
1380
      0ULL,
1381
      0xfc00000780000000ULL,
1382
      0ULL,
1383
      0ULL,
1384
      0ULL
1385
    },
1386
    {
1387
      -1ULL,
1388
      0x2800000400000000ULL,
1389
      -1ULL,
1390
      -1ULL,
1391
      -1ULL
1392
    }
1393
#endif
1394
  },
1395
  { "blz.sn", TILEPRO_OPC_BLZ_SN, 0x2, 2, TREG_SN, 1,
1396
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1397
#ifndef DISASM_ONLY
1398
    {
1399
      0ULL,
1400
      0xfc00000780000000ULL,
1401
      0ULL,
1402
      0ULL,
1403
      0ULL
1404
    },
1405
    {
1406
      -1ULL,
1407
      0x2c00000400000000ULL,
1408
      -1ULL,
1409
      -1ULL,
1410
      -1ULL
1411
    }
1412
#endif
1413
  },
1414
  { "blzt", TILEPRO_OPC_BLZT, 0x2, 2, TREG_ZERO, 1,
1415
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1416
#ifndef DISASM_ONLY
1417
    {
1418
      0ULL,
1419
      0xfc00000780000000ULL,
1420
      0ULL,
1421
      0ULL,
1422
      0ULL
1423
    },
1424
    {
1425
      -1ULL,
1426
      0x2800000480000000ULL,
1427
      -1ULL,
1428
      -1ULL,
1429
      -1ULL
1430
    }
1431
#endif
1432
  },
1433
  { "blzt.sn", TILEPRO_OPC_BLZT_SN, 0x2, 2, TREG_SN, 1,
1434
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1435
#ifndef DISASM_ONLY
1436
    {
1437
      0ULL,
1438
      0xfc00000780000000ULL,
1439
      0ULL,
1440
      0ULL,
1441
      0ULL
1442
    },
1443
    {
1444
      -1ULL,
1445
      0x2c00000480000000ULL,
1446
      -1ULL,
1447
      -1ULL,
1448
      -1ULL
1449
    }
1450
#endif
1451
  },
1452
  { "bnz", TILEPRO_OPC_BNZ, 0x2, 2, TREG_ZERO, 1,
1453
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1454
#ifndef DISASM_ONLY
1455
    {
1456
      0ULL,
1457
      0xfc00000780000000ULL,
1458
      0ULL,
1459
      0ULL,
1460
      0ULL
1461
    },
1462
    {
1463
      -1ULL,
1464
      0x2800000100000000ULL,
1465
      -1ULL,
1466
      -1ULL,
1467
      -1ULL
1468
    }
1469
#endif
1470
  },
1471
  { "bnz.sn", TILEPRO_OPC_BNZ_SN, 0x2, 2, TREG_SN, 1,
1472
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1473
#ifndef DISASM_ONLY
1474
    {
1475
      0ULL,
1476
      0xfc00000780000000ULL,
1477
      0ULL,
1478
      0ULL,
1479
      0ULL
1480
    },
1481
    {
1482
      -1ULL,
1483
      0x2c00000100000000ULL,
1484
      -1ULL,
1485
      -1ULL,
1486
      -1ULL
1487
    }
1488
#endif
1489
  },
1490
  { "bnzt", TILEPRO_OPC_BNZT, 0x2, 2, TREG_ZERO, 1,
1491
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1492
#ifndef DISASM_ONLY
1493
    {
1494
      0ULL,
1495
      0xfc00000780000000ULL,
1496
      0ULL,
1497
      0ULL,
1498
      0ULL
1499
    },
1500
    {
1501
      -1ULL,
1502
      0x2800000180000000ULL,
1503
      -1ULL,
1504
      -1ULL,
1505
      -1ULL
1506
    }
1507
#endif
1508
  },
1509
  { "bnzt.sn", TILEPRO_OPC_BNZT_SN, 0x2, 2, TREG_SN, 1,
1510
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1511
#ifndef DISASM_ONLY
1512
    {
1513
      0ULL,
1514
      0xfc00000780000000ULL,
1515
      0ULL,
1516
      0ULL,
1517
      0ULL
1518
    },
1519
    {
1520
      -1ULL,
1521
      0x2c00000180000000ULL,
1522
      -1ULL,
1523
      -1ULL,
1524
      -1ULL
1525
    }
1526
#endif
1527
  },
1528
  { "bytex", TILEPRO_OPC_BYTEX, 0x5, 2, TREG_ZERO, 1,
1529
    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
1530
#ifndef DISASM_ONLY
1531
    {
1532
      0x800000007ffff000ULL,
1533
      0ULL,
1534
      0x80000000780ff000ULL,
1535
      0ULL,
1536
      0ULL
1537
    },
1538
    {
1539
      0x0000000070162000ULL,
1540
      -1ULL,
1541
      0x80000000680a2000ULL,
1542
      -1ULL,
1543
      -1ULL
1544
    }
1545
#endif
1546
  },
1547
  { "bytex.sn", TILEPRO_OPC_BYTEX_SN, 0x1, 2, TREG_SN, 1,
1548
    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1549
#ifndef DISASM_ONLY
1550
    {
1551
      0x800000007ffff000ULL,
1552
      0ULL,
1553
      0ULL,
1554
      0ULL,
1555
      0ULL
1556
    },
1557
    {
1558
      0x0000000078162000ULL,
1559
      -1ULL,
1560
      -1ULL,
1561
      -1ULL,
1562
      -1ULL
1563
    }
1564
#endif
1565
  },
1566
  { "bz", TILEPRO_OPC_BZ, 0x2, 2, TREG_ZERO, 1,
1567
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1568
#ifndef DISASM_ONLY
1569
    {
1570
      0ULL,
1571
      0xfc00000780000000ULL,
1572
      0ULL,
1573
      0ULL,
1574
      0ULL
1575
    },
1576
    {
1577
      -1ULL,
1578
      0x2800000000000000ULL,
1579
      -1ULL,
1580
      -1ULL,
1581
      -1ULL
1582
    }
1583
#endif
1584
  },
1585
  { "bz.sn", TILEPRO_OPC_BZ_SN, 0x2, 2, TREG_SN, 1,
1586
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1587
#ifndef DISASM_ONLY
1588
    {
1589
      0ULL,
1590
      0xfc00000780000000ULL,
1591
      0ULL,
1592
      0ULL,
1593
      0ULL
1594
    },
1595
    {
1596
      -1ULL,
1597
      0x2c00000000000000ULL,
1598
      -1ULL,
1599
      -1ULL,
1600
      -1ULL
1601
    }
1602
#endif
1603
  },
1604
  { "bzt", TILEPRO_OPC_BZT, 0x2, 2, TREG_ZERO, 1,
1605
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1606
#ifndef DISASM_ONLY
1607
    {
1608
      0ULL,
1609
      0xfc00000780000000ULL,
1610
      0ULL,
1611
      0ULL,
1612
      0ULL
1613
    },
1614
    {
1615
      -1ULL,
1616
      0x2800000080000000ULL,
1617
      -1ULL,
1618
      -1ULL,
1619
      -1ULL
1620
    }
1621
#endif
1622
  },
1623
  { "bzt.sn", TILEPRO_OPC_BZT_SN, 0x2, 2, TREG_SN, 1,
1624
    { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } },
1625
#ifndef DISASM_ONLY
1626
    {
1627
      0ULL,
1628
      0xfc00000780000000ULL,
1629
      0ULL,
1630
      0ULL,
1631
      0ULL
1632
    },
1633
    {
1634
      -1ULL,
1635
      0x2c00000080000000ULL,
1636
      -1ULL,
1637
      -1ULL,
1638
      -1ULL
1639
    }
1640
#endif
1641
  },
1642
  { "clz", TILEPRO_OPC_CLZ, 0x5, 2, TREG_ZERO, 1,
1643
    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
1644
#ifndef DISASM_ONLY
1645
    {
1646
      0x800000007ffff000ULL,
1647
      0ULL,
1648
      0x80000000780ff000ULL,
1649
      0ULL,
1650
      0ULL
1651
    },
1652
    {
1653
      0x0000000070163000ULL,
1654
      -1ULL,
1655
      0x80000000680a3000ULL,
1656
      -1ULL,
1657
      -1ULL
1658
    }
1659
#endif
1660
  },
1661
  { "clz.sn", TILEPRO_OPC_CLZ_SN, 0x1, 2, TREG_SN, 1,
1662
    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1663
#ifndef DISASM_ONLY
1664
    {
1665
      0x800000007ffff000ULL,
1666
      0ULL,
1667
      0ULL,
1668
      0ULL,
1669
      0ULL
1670
    },
1671
    {
1672
      0x0000000078163000ULL,
1673
      -1ULL,
1674
      -1ULL,
1675
      -1ULL,
1676
      -1ULL
1677
    }
1678
#endif
1679
  },
1680
  { "crc32_32", TILEPRO_OPC_CRC32_32, 0x1, 3, TREG_ZERO, 1,
1681
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
1682
#ifndef DISASM_ONLY
1683
    {
1684
      0x800000007ffc0000ULL,
1685
      0ULL,
1686
      0ULL,
1687
      0ULL,
1688
      0ULL
1689
    },
1690
    {
1691
      0x0000000000240000ULL,
1692
      -1ULL,
1693
      -1ULL,
1694
      -1ULL,
1695
      -1ULL
1696
    }
1697
#endif
1698
  },
1699
  { "crc32_32.sn", TILEPRO_OPC_CRC32_32_SN, 0x1, 3, TREG_SN, 1,
1700
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
1701
#ifndef DISASM_ONLY
1702
    {
1703
      0x800000007ffc0000ULL,
1704
      0ULL,
1705
      0ULL,
1706
      0ULL,
1707
      0ULL
1708
    },
1709
    {
1710
      0x0000000008240000ULL,
1711
      -1ULL,
1712
      -1ULL,
1713
      -1ULL,
1714
      -1ULL
1715
    }
1716
#endif
1717
  },
1718
  { "crc32_8", TILEPRO_OPC_CRC32_8, 0x1, 3, TREG_ZERO, 1,
1719
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
1720
#ifndef DISASM_ONLY
1721
    {
1722
      0x800000007ffc0000ULL,
1723
      0ULL,
1724
      0ULL,
1725
      0ULL,
1726
      0ULL
1727
    },
1728
    {
1729
      0x0000000000280000ULL,
1730
      -1ULL,
1731
      -1ULL,
1732
      -1ULL,
1733
      -1ULL
1734
    }
1735
#endif
1736
  },
1737
  { "crc32_8.sn", TILEPRO_OPC_CRC32_8_SN, 0x1, 3, TREG_SN, 1,
1738
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
1739
#ifndef DISASM_ONLY
1740
    {
1741
      0x800000007ffc0000ULL,
1742
      0ULL,
1743
      0ULL,
1744
      0ULL,
1745
      0ULL
1746
    },
1747
    {
1748
      0x0000000008280000ULL,
1749
      -1ULL,
1750
      -1ULL,
1751
      -1ULL,
1752
      -1ULL
1753
    }
1754
#endif
1755
  },
1756
  { "ctz", TILEPRO_OPC_CTZ, 0x5, 2, TREG_ZERO, 1,
1757
    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
1758
#ifndef DISASM_ONLY
1759
    {
1760
      0x800000007ffff000ULL,
1761
      0ULL,
1762
      0x80000000780ff000ULL,
1763
      0ULL,
1764
      0ULL
1765
    },
1766
    {
1767
      0x0000000070164000ULL,
1768
      -1ULL,
1769
      0x80000000680a4000ULL,
1770
      -1ULL,
1771
      -1ULL
1772
    }
1773
#endif
1774
  },
1775
  { "ctz.sn", TILEPRO_OPC_CTZ_SN, 0x1, 2, TREG_SN, 1,
1776
    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
1777
#ifndef DISASM_ONLY
1778
    {
1779
      0x800000007ffff000ULL,
1780
      0ULL,
1781
      0ULL,
1782
      0ULL,
1783
      0ULL
1784
    },
1785
    {
1786
      0x0000000078164000ULL,
1787
      -1ULL,
1788
      -1ULL,
1789
      -1ULL,
1790
      -1ULL
1791
    }
1792
#endif
1793
  },
1794
  { "drain", TILEPRO_OPC_DRAIN, 0x2, 0, TREG_ZERO, 0,
1795
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
1796
#ifndef DISASM_ONLY
1797
    {
1798
      0ULL,
1799
      0xfbfff80000000000ULL,
1800
      0ULL,
1801
      0ULL,
1802
      0ULL
1803
    },
1804
    {
1805
      -1ULL,
1806
      0x400b080000000000ULL,
1807
      -1ULL,
1808
      -1ULL,
1809
      -1ULL
1810
    }
1811
#endif
1812
  },
1813
  { "dtlbpr", TILEPRO_OPC_DTLBPR, 0x2, 1, TREG_ZERO, 1,
1814
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
1815
#ifndef DISASM_ONLY
1816
    {
1817
      0ULL,
1818
      0xfbfff80000000000ULL,
1819
      0ULL,
1820
      0ULL,
1821
      0ULL
1822
    },
1823
    {
1824
      -1ULL,
1825
      0x400b100000000000ULL,
1826
      -1ULL,
1827
      -1ULL,
1828
      -1ULL
1829
    }
1830
#endif
1831
  },
1832
  { "dword_align", TILEPRO_OPC_DWORD_ALIGN, 0x1, 3, TREG_ZERO, 1,
1833
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
1834
#ifndef DISASM_ONLY
1835
    {
1836
      0x800000007ffc0000ULL,
1837
      0ULL,
1838
      0ULL,
1839
      0ULL,
1840
      0ULL
1841
    },
1842
    {
1843
      0x00000000017c0000ULL,
1844
      -1ULL,
1845
      -1ULL,
1846
      -1ULL,
1847
      -1ULL
1848
    }
1849
#endif
1850
  },
1851
  { "dword_align.sn", TILEPRO_OPC_DWORD_ALIGN_SN, 0x1, 3, TREG_SN, 1,
1852
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
1853
#ifndef DISASM_ONLY
1854
    {
1855
      0x800000007ffc0000ULL,
1856
      0ULL,
1857
      0ULL,
1858
      0ULL,
1859
      0ULL
1860
    },
1861
    {
1862
      0x00000000097c0000ULL,
1863
      -1ULL,
1864
      -1ULL,
1865
      -1ULL,
1866
      -1ULL
1867
    }
1868
#endif
1869
  },
1870
  { "finv", TILEPRO_OPC_FINV, 0x2, 1, TREG_ZERO, 1,
1871
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
1872
#ifndef DISASM_ONLY
1873
    {
1874
      0ULL,
1875
      0xfbfff80000000000ULL,
1876
      0ULL,
1877
      0ULL,
1878
      0ULL
1879
    },
1880
    {
1881
      -1ULL,
1882
      0x400b180000000000ULL,
1883
      -1ULL,
1884
      -1ULL,
1885
      -1ULL
1886
    }
1887
#endif
1888
  },
1889
  { "flush", TILEPRO_OPC_FLUSH, 0x2, 1, TREG_ZERO, 1,
1890
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
1891
#ifndef DISASM_ONLY
1892
    {
1893
      0ULL,
1894
      0xfbfff80000000000ULL,
1895
      0ULL,
1896
      0ULL,
1897
      0ULL
1898
    },
1899
    {
1900
      -1ULL,
1901
      0x400b200000000000ULL,
1902
      -1ULL,
1903
      -1ULL,
1904
      -1ULL
1905
    }
1906
#endif
1907
  },
1908
  { "fnop", TILEPRO_OPC_FNOP, 0xf, 0, TREG_ZERO, 1,
1909
    { {  }, {  }, {  }, {  }, { 0, } },
1910
#ifndef DISASM_ONLY
1911
    {
1912
      0x8000000077fff000ULL,
1913
      0xfbfff80000000000ULL,
1914
      0x80000000780ff000ULL,
1915
      0xf807f80000000000ULL,
1916
      0ULL
1917
    },
1918
    {
1919
      0x0000000070165000ULL,
1920
      0x400b280000000000ULL,
1921
      0x80000000680a5000ULL,
1922
      0xd805080000000000ULL,
1923
      -1ULL
1924
    }
1925
#endif
1926
  },
1927
  { "icoh", TILEPRO_OPC_ICOH, 0x2, 1, TREG_ZERO, 1,
1928
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
1929
#ifndef DISASM_ONLY
1930
    {
1931
      0ULL,
1932
      0xfbfff80000000000ULL,
1933
      0ULL,
1934
      0ULL,
1935
      0ULL
1936
    },
1937
    {
1938
      -1ULL,
1939
      0x400b300000000000ULL,
1940
      -1ULL,
1941
      -1ULL,
1942
      -1ULL
1943
    }
1944
#endif
1945
  },
1946
  { "ill", TILEPRO_OPC_ILL, 0xa, 0, TREG_ZERO, 1,
1947
    { { 0, }, {  }, { 0, }, {  }, { 0, } },
1948
#ifndef DISASM_ONLY
1949
    {
1950
      0ULL,
1951
      0xfbfff80000000000ULL,
1952
      0ULL,
1953
      0xf807f80000000000ULL,
1954
      0ULL
1955
    },
1956
    {
1957
      -1ULL,
1958
      0x400b380000000000ULL,
1959
      -1ULL,
1960
      0xd805100000000000ULL,
1961
      -1ULL
1962
    }
1963
#endif
1964
  },
1965
  { "inthb", TILEPRO_OPC_INTHB, 0x3, 3, TREG_ZERO, 1,
1966
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1967
#ifndef DISASM_ONLY
1968
    {
1969
      0x800000007ffc0000ULL,
1970
      0xfffe000000000000ULL,
1971
      0ULL,
1972
      0ULL,
1973
      0ULL
1974
    },
1975
    {
1976
      0x00000000002c0000ULL,
1977
      0x080a000000000000ULL,
1978
      -1ULL,
1979
      -1ULL,
1980
      -1ULL
1981
    }
1982
#endif
1983
  },
1984
  { "inthb.sn", TILEPRO_OPC_INTHB_SN, 0x3, 3, TREG_SN, 1,
1985
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
1986
#ifndef DISASM_ONLY
1987
    {
1988
      0x800000007ffc0000ULL,
1989
      0xfffe000000000000ULL,
1990
      0ULL,
1991
      0ULL,
1992
      0ULL
1993
    },
1994
    {
1995
      0x00000000082c0000ULL,
1996
      0x0c0a000000000000ULL,
1997
      -1ULL,
1998
      -1ULL,
1999
      -1ULL
2000
    }
2001
#endif
2002
  },
2003
  { "inthh", TILEPRO_OPC_INTHH, 0x3, 3, TREG_ZERO, 1,
2004
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
2005
#ifndef DISASM_ONLY
2006
    {
2007
      0x800000007ffc0000ULL,
2008
      0xfffe000000000000ULL,
2009
      0ULL,
2010
      0ULL,
2011
      0ULL
2012
    },
2013
    {
2014
      0x0000000000300000ULL,
2015
      0x080c000000000000ULL,
2016
      -1ULL,
2017
      -1ULL,
2018
      -1ULL
2019
    }
2020
#endif
2021
  },
2022
  { "inthh.sn", TILEPRO_OPC_INTHH_SN, 0x3, 3, TREG_SN, 1,
2023
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
2024
#ifndef DISASM_ONLY
2025
    {
2026
      0x800000007ffc0000ULL,
2027
      0xfffe000000000000ULL,
2028
      0ULL,
2029
      0ULL,
2030
      0ULL
2031
    },
2032
    {
2033
      0x0000000008300000ULL,
2034
      0x0c0c000000000000ULL,
2035
      -1ULL,
2036
      -1ULL,
2037
      -1ULL
2038
    }
2039
#endif
2040
  },
2041
  { "intlb", TILEPRO_OPC_INTLB, 0x3, 3, TREG_ZERO, 1,
2042
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
2043
#ifndef DISASM_ONLY
2044
    {
2045
      0x800000007ffc0000ULL,
2046
      0xfffe000000000000ULL,
2047
      0ULL,
2048
      0ULL,
2049
      0ULL
2050
    },
2051
    {
2052
      0x0000000000340000ULL,
2053
      0x080e000000000000ULL,
2054
      -1ULL,
2055
      -1ULL,
2056
      -1ULL
2057
    }
2058
#endif
2059
  },
2060
  { "intlb.sn", TILEPRO_OPC_INTLB_SN, 0x3, 3, TREG_SN, 1,
2061
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
2062
#ifndef DISASM_ONLY
2063
    {
2064
      0x800000007ffc0000ULL,
2065
      0xfffe000000000000ULL,
2066
      0ULL,
2067
      0ULL,
2068
      0ULL
2069
    },
2070
    {
2071
      0x0000000008340000ULL,
2072
      0x0c0e000000000000ULL,
2073
      -1ULL,
2074
      -1ULL,
2075
      -1ULL
2076
    }
2077
#endif
2078
  },
2079
  { "intlh", TILEPRO_OPC_INTLH, 0x3, 3, TREG_ZERO, 1,
2080
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
2081
#ifndef DISASM_ONLY
2082
    {
2083
      0x800000007ffc0000ULL,
2084
      0xfffe000000000000ULL,
2085
      0ULL,
2086
      0ULL,
2087
      0ULL
2088
    },
2089
    {
2090
      0x0000000000380000ULL,
2091
      0x0810000000000000ULL,
2092
      -1ULL,
2093
      -1ULL,
2094
      -1ULL
2095
    }
2096
#endif
2097
  },
2098
  { "intlh.sn", TILEPRO_OPC_INTLH_SN, 0x3, 3, TREG_SN, 1,
2099
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
2100
#ifndef DISASM_ONLY
2101
    {
2102
      0x800000007ffc0000ULL,
2103
      0xfffe000000000000ULL,
2104
      0ULL,
2105
      0ULL,
2106
      0ULL
2107
    },
2108
    {
2109
      0x0000000008380000ULL,
2110
      0x0c10000000000000ULL,
2111
      -1ULL,
2112
      -1ULL,
2113
      -1ULL
2114
    }
2115
#endif
2116
  },
2117
  { "inv", TILEPRO_OPC_INV, 0x2, 1, TREG_ZERO, 1,
2118
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
2119
#ifndef DISASM_ONLY
2120
    {
2121
      0ULL,
2122
      0xfbfff80000000000ULL,
2123
      0ULL,
2124
      0ULL,
2125
      0ULL
2126
    },
2127
    {
2128
      -1ULL,
2129
      0x400b400000000000ULL,
2130
      -1ULL,
2131
      -1ULL,
2132
      -1ULL
2133
    }
2134
#endif
2135
  },
2136
  { "iret", TILEPRO_OPC_IRET, 0x2, 0, TREG_ZERO, 1,
2137
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
2138
#ifndef DISASM_ONLY
2139
    {
2140
      0ULL,
2141
      0xfbfff80000000000ULL,
2142
      0ULL,
2143
      0ULL,
2144
      0ULL
2145
    },
2146
    {
2147
      -1ULL,
2148
      0x400b480000000000ULL,
2149
      -1ULL,
2150
      -1ULL,
2151
      -1ULL
2152
    }
2153
#endif
2154
  },
2155
  { "jalb", TILEPRO_OPC_JALB, 0x2, 1, TREG_LR, 1,
2156
    { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
2157
#ifndef DISASM_ONLY
2158
    {
2159
      0ULL,
2160
      0xf800000000000000ULL,
2161
      0ULL,
2162
      0ULL,
2163
      0ULL
2164
    },
2165
    {
2166
      -1ULL,
2167
      0x6800000000000000ULL,
2168
      -1ULL,
2169
      -1ULL,
2170
      -1ULL
2171
    }
2172
#endif
2173
  },
2174
  { "jalf", TILEPRO_OPC_JALF, 0x2, 1, TREG_LR, 1,
2175
    { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
2176
#ifndef DISASM_ONLY
2177
    {
2178
      0ULL,
2179
      0xf800000000000000ULL,
2180
      0ULL,
2181
      0ULL,
2182
      0ULL
2183
    },
2184
    {
2185
      -1ULL,
2186
      0x6000000000000000ULL,
2187
      -1ULL,
2188
      -1ULL,
2189
      -1ULL
2190
    }
2191
#endif
2192
  },
2193
  { "jalr", TILEPRO_OPC_JALR, 0x2, 1, TREG_LR, 1,
2194
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
2195
#ifndef DISASM_ONLY
2196
    {
2197
      0ULL,
2198
      0xfbfe000000000000ULL,
2199
      0ULL,
2200
      0ULL,
2201
      0ULL
2202
    },
2203
    {
2204
      -1ULL,
2205
      0x0814000000000000ULL,
2206
      -1ULL,
2207
      -1ULL,
2208
      -1ULL
2209
    }
2210
#endif
2211
  },
2212
  { "jalrp", TILEPRO_OPC_JALRP, 0x2, 1, TREG_LR, 1,
2213
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
2214
#ifndef DISASM_ONLY
2215
    {
2216
      0ULL,
2217
      0xfbfe000000000000ULL,
2218
      0ULL,
2219
      0ULL,
2220
      0ULL
2221
    },
2222
    {
2223
      -1ULL,
2224
      0x0812000000000000ULL,
2225
      -1ULL,
2226
      -1ULL,
2227
      -1ULL
2228
    }
2229
#endif
2230
  },
2231
  { "jb", TILEPRO_OPC_JB, 0x2, 1, TREG_ZERO, 1,
2232
    { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
2233
#ifndef DISASM_ONLY
2234
    {
2235
      0ULL,
2236
      0xf800000000000000ULL,
2237
      0ULL,
2238
      0ULL,
2239
      0ULL
2240
    },
2241
    {
2242
      -1ULL,
2243
      0x5800000000000000ULL,
2244
      -1ULL,
2245
      -1ULL,
2246
      -1ULL
2247
    }
2248
#endif
2249
  },
2250
  { "jf", TILEPRO_OPC_JF, 0x2, 1, TREG_ZERO, 1,
2251
    { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } },
2252
#ifndef DISASM_ONLY
2253
    {
2254
      0ULL,
2255
      0xf800000000000000ULL,
2256
      0ULL,
2257
      0ULL,
2258
      0ULL
2259
    },
2260
    {
2261
      -1ULL,
2262
      0x5000000000000000ULL,
2263
      -1ULL,
2264
      -1ULL,
2265
      -1ULL
2266
    }
2267
#endif
2268
  },
2269
  { "jr", TILEPRO_OPC_JR, 0x2, 1, TREG_ZERO, 1,
2270
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
2271
#ifndef DISASM_ONLY
2272
    {
2273
      0ULL,
2274
      0xfbfe000000000000ULL,
2275
      0ULL,
2276
      0ULL,
2277
      0ULL
2278
    },
2279
    {
2280
      -1ULL,
2281
      0x0818000000000000ULL,
2282
      -1ULL,
2283
      -1ULL,
2284
      -1ULL
2285
    }
2286
#endif
2287
  },
2288
  { "jrp", TILEPRO_OPC_JRP, 0x2, 1, TREG_ZERO, 1,
2289
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
2290
#ifndef DISASM_ONLY
2291
    {
2292
      0ULL,
2293
      0xfbfe000000000000ULL,
2294
      0ULL,
2295
      0ULL,
2296
      0ULL
2297
    },
2298
    {
2299
      -1ULL,
2300
      0x0816000000000000ULL,
2301
      -1ULL,
2302
      -1ULL,
2303
      -1ULL
2304
    }
2305
#endif
2306
  },
2307
  { "lb", TILEPRO_OPC_LB, 0x12, 2, TREG_ZERO, 1,
2308
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
2309
#ifndef DISASM_ONLY
2310
    {
2311
      0ULL,
2312
      0xfffff80000000000ULL,
2313
      0ULL,
2314
      0ULL,
2315
      0x8700000000000000ULL
2316
    },
2317
    {
2318
      -1ULL,
2319
      0x400b500000000000ULL,
2320
      -1ULL,
2321
      -1ULL,
2322
      0x8000000000000000ULL
2323
    }
2324
#endif
2325
  },
2326
  { "lb.sn", TILEPRO_OPC_LB_SN, 0x2, 2, TREG_SN, 1,
2327
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
2328
#ifndef DISASM_ONLY
2329
    {
2330
      0ULL,
2331
      0xfffff80000000000ULL,
2332
      0ULL,
2333
      0ULL,
2334
      0ULL
2335
    },
2336
    {
2337
      -1ULL,
2338
      0x440b500000000000ULL,
2339
      -1ULL,
2340
      -1ULL,
2341
      -1ULL
2342
    }
2343
#endif
2344
  },
2345
  { "lb_u", TILEPRO_OPC_LB_U, 0x12, 2, TREG_ZERO, 1,
2346
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
2347
#ifndef DISASM_ONLY
2348
    {
2349
      0ULL,
2350
      0xfffff80000000000ULL,
2351
      0ULL,
2352
      0ULL,
2353
      0x8700000000000000ULL
2354
    },
2355
    {
2356
      -1ULL,
2357
      0x400b580000000000ULL,
2358
      -1ULL,
2359
      -1ULL,
2360
      0x8100000000000000ULL
2361
    }
2362
#endif
2363
  },
2364
  { "lb_u.sn", TILEPRO_OPC_LB_U_SN, 0x2, 2, TREG_SN, 1,
2365
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
2366
#ifndef DISASM_ONLY
2367
    {
2368
      0ULL,
2369
      0xfffff80000000000ULL,
2370
      0ULL,
2371
      0ULL,
2372
      0ULL
2373
    },
2374
    {
2375
      -1ULL,
2376
      0x440b580000000000ULL,
2377
      -1ULL,
2378
      -1ULL,
2379
      -1ULL
2380
    }
2381
#endif
2382
  },
2383
  { "lbadd", TILEPRO_OPC_LBADD, 0x2, 3, TREG_ZERO, 1,
2384
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
2385
#ifndef DISASM_ONLY
2386
    {
2387
      0ULL,
2388
      0xfff8000000000000ULL,
2389
      0ULL,
2390
      0ULL,
2391
      0ULL
2392
    },
2393
    {
2394
      -1ULL,
2395
      0x30b0000000000000ULL,
2396
      -1ULL,
2397
      -1ULL,
2398
      -1ULL
2399
    }
2400
#endif
2401
  },
2402
  { "lbadd.sn", TILEPRO_OPC_LBADD_SN, 0x2, 3, TREG_SN, 1,
2403
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
2404
#ifndef DISASM_ONLY
2405
    {
2406
      0ULL,
2407
      0xfff8000000000000ULL,
2408
      0ULL,
2409
      0ULL,
2410
      0ULL
2411
    },
2412
    {
2413
      -1ULL,
2414
      0x34b0000000000000ULL,
2415
      -1ULL,
2416
      -1ULL,
2417
      -1ULL
2418
    }
2419
#endif
2420
  },
2421
  { "lbadd_u", TILEPRO_OPC_LBADD_U, 0x2, 3, TREG_ZERO, 1,
2422
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
2423
#ifndef DISASM_ONLY
2424
    {
2425
      0ULL,
2426
      0xfff8000000000000ULL,
2427
      0ULL,
2428
      0ULL,
2429
      0ULL
2430
    },
2431
    {
2432
      -1ULL,
2433
      0x30b8000000000000ULL,
2434
      -1ULL,
2435
      -1ULL,
2436
      -1ULL
2437
    }
2438
#endif
2439
  },
2440
  { "lbadd_u.sn", TILEPRO_OPC_LBADD_U_SN, 0x2, 3, TREG_SN, 1,
2441
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
2442
#ifndef DISASM_ONLY
2443
    {
2444
      0ULL,
2445
      0xfff8000000000000ULL,
2446
      0ULL,
2447
      0ULL,
2448
      0ULL
2449
    },
2450
    {
2451
      -1ULL,
2452
      0x34b8000000000000ULL,
2453
      -1ULL,
2454
      -1ULL,
2455
      -1ULL
2456
    }
2457
#endif
2458
  },
2459
  { "lh", TILEPRO_OPC_LH, 0x12, 2, TREG_ZERO, 1,
2460
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
2461
#ifndef DISASM_ONLY
2462
    {
2463
      0ULL,
2464
      0xfffff80000000000ULL,
2465
      0ULL,
2466
      0ULL,
2467
      0x8700000000000000ULL
2468
    },
2469
    {
2470
      -1ULL,
2471
      0x400b600000000000ULL,
2472
      -1ULL,
2473
      -1ULL,
2474
      0x8200000000000000ULL
2475
    }
2476
#endif
2477
  },
2478
  { "lh.sn", TILEPRO_OPC_LH_SN, 0x2, 2, TREG_SN, 1,
2479
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
2480
#ifndef DISASM_ONLY
2481
    {
2482
      0ULL,
2483
      0xfffff80000000000ULL,
2484
      0ULL,
2485
      0ULL,
2486
      0ULL
2487
    },
2488
    {
2489
      -1ULL,
2490
      0x440b600000000000ULL,
2491
      -1ULL,
2492
      -1ULL,
2493
      -1ULL
2494
    }
2495
#endif
2496
  },
2497
  { "lh_u", TILEPRO_OPC_LH_U, 0x12, 2, TREG_ZERO, 1,
2498
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
2499
#ifndef DISASM_ONLY
2500
    {
2501
      0ULL,
2502
      0xfffff80000000000ULL,
2503
      0ULL,
2504
      0ULL,
2505
      0x8700000000000000ULL
2506
    },
2507
    {
2508
      -1ULL,
2509
      0x400b680000000000ULL,
2510
      -1ULL,
2511
      -1ULL,
2512
      0x8300000000000000ULL
2513
    }
2514
#endif
2515
  },
2516
  { "lh_u.sn", TILEPRO_OPC_LH_U_SN, 0x2, 2, TREG_SN, 1,
2517
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
2518
#ifndef DISASM_ONLY
2519
    {
2520
      0ULL,
2521
      0xfffff80000000000ULL,
2522
      0ULL,
2523
      0ULL,
2524
      0ULL
2525
    },
2526
    {
2527
      -1ULL,
2528
      0x440b680000000000ULL,
2529
      -1ULL,
2530
      -1ULL,
2531
      -1ULL
2532
    }
2533
#endif
2534
  },
2535
  { "lhadd", TILEPRO_OPC_LHADD, 0x2, 3, TREG_ZERO, 1,
2536
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
2537
#ifndef DISASM_ONLY
2538
    {
2539
      0ULL,
2540
      0xfff8000000000000ULL,
2541
      0ULL,
2542
      0ULL,
2543
      0ULL
2544
    },
2545
    {
2546
      -1ULL,
2547
      0x30c0000000000000ULL,
2548
      -1ULL,
2549
      -1ULL,
2550
      -1ULL
2551
    }
2552
#endif
2553
  },
2554
  { "lhadd.sn", TILEPRO_OPC_LHADD_SN, 0x2, 3, TREG_SN, 1,
2555
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
2556
#ifndef DISASM_ONLY
2557
    {
2558
      0ULL,
2559
      0xfff8000000000000ULL,
2560
      0ULL,
2561
      0ULL,
2562
      0ULL
2563
    },
2564
    {
2565
      -1ULL,
2566
      0x34c0000000000000ULL,
2567
      -1ULL,
2568
      -1ULL,
2569
      -1ULL
2570
    }
2571
#endif
2572
  },
2573
  { "lhadd_u", TILEPRO_OPC_LHADD_U, 0x2, 3, TREG_ZERO, 1,
2574
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
2575
#ifndef DISASM_ONLY
2576
    {
2577
      0ULL,
2578
      0xfff8000000000000ULL,
2579
      0ULL,
2580
      0ULL,
2581
      0ULL
2582
    },
2583
    {
2584
      -1ULL,
2585
      0x30c8000000000000ULL,
2586
      -1ULL,
2587
      -1ULL,
2588
      -1ULL
2589
    }
2590
#endif
2591
  },
2592
  { "lhadd_u.sn", TILEPRO_OPC_LHADD_U_SN, 0x2, 3, TREG_SN, 1,
2593
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
2594
#ifndef DISASM_ONLY
2595
    {
2596
      0ULL,
2597
      0xfff8000000000000ULL,
2598
      0ULL,
2599
      0ULL,
2600
      0ULL
2601
    },
2602
    {
2603
      -1ULL,
2604
      0x34c8000000000000ULL,
2605
      -1ULL,
2606
      -1ULL,
2607
      -1ULL
2608
    }
2609
#endif
2610
  },
2611
  { "lnk", TILEPRO_OPC_LNK, 0x2, 1, TREG_ZERO, 1,
2612
    { { 0, }, { 9 }, { 0, }, { 0, }, { 0, } },
2613
#ifndef DISASM_ONLY
2614
    {
2615
      0ULL,
2616
      0xfffe000000000000ULL,
2617
      0ULL,
2618
      0ULL,
2619
      0ULL
2620
    },
2621
    {
2622
      -1ULL,
2623
      0x081a000000000000ULL,
2624
      -1ULL,
2625
      -1ULL,
2626
      -1ULL
2627
    }
2628
#endif
2629
  },
2630
  { "lnk.sn", TILEPRO_OPC_LNK_SN, 0x2, 1, TREG_SN, 1,
2631
    { { 0, }, { 9 }, { 0, }, { 0, }, { 0, } },
2632
#ifndef DISASM_ONLY
2633
    {
2634
      0ULL,
2635
      0xfffe000000000000ULL,
2636
      0ULL,
2637
      0ULL,
2638
      0ULL
2639
    },
2640
    {
2641
      -1ULL,
2642
      0x0c1a000000000000ULL,
2643
      -1ULL,
2644
      -1ULL,
2645
      -1ULL
2646
    }
2647
#endif
2648
  },
2649
  { "lw", TILEPRO_OPC_LW, 0x12, 2, TREG_ZERO, 1,
2650
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } },
2651
#ifndef DISASM_ONLY
2652
    {
2653
      0ULL,
2654
      0xfffff80000000000ULL,
2655
      0ULL,
2656
      0ULL,
2657
      0x8700000000000000ULL
2658
    },
2659
    {
2660
      -1ULL,
2661
      0x400b700000000000ULL,
2662
      -1ULL,
2663
      -1ULL,
2664
      0x8400000000000000ULL
2665
    }
2666
#endif
2667
  },
2668
  { "lw.sn", TILEPRO_OPC_LW_SN, 0x2, 2, TREG_SN, 1,
2669
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
2670
#ifndef DISASM_ONLY
2671
    {
2672
      0ULL,
2673
      0xfffff80000000000ULL,
2674
      0ULL,
2675
      0ULL,
2676
      0ULL
2677
    },
2678
    {
2679
      -1ULL,
2680
      0x440b700000000000ULL,
2681
      -1ULL,
2682
      -1ULL,
2683
      -1ULL
2684
    }
2685
#endif
2686
  },
2687
  { "lw_na", TILEPRO_OPC_LW_NA, 0x2, 2, TREG_ZERO, 1,
2688
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
2689
#ifndef DISASM_ONLY
2690
    {
2691
      0ULL,
2692
      0xfffff80000000000ULL,
2693
      0ULL,
2694
      0ULL,
2695
      0ULL
2696
    },
2697
    {
2698
      -1ULL,
2699
      0x400bc00000000000ULL,
2700
      -1ULL,
2701
      -1ULL,
2702
      -1ULL
2703
    }
2704
#endif
2705
  },
2706
  { "lw_na.sn", TILEPRO_OPC_LW_NA_SN, 0x2, 2, TREG_SN, 1,
2707
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
2708
#ifndef DISASM_ONLY
2709
    {
2710
      0ULL,
2711
      0xfffff80000000000ULL,
2712
      0ULL,
2713
      0ULL,
2714
      0ULL
2715
    },
2716
    {
2717
      -1ULL,
2718
      0x440bc00000000000ULL,
2719
      -1ULL,
2720
      -1ULL,
2721
      -1ULL
2722
    }
2723
#endif
2724
  },
2725
  { "lwadd", TILEPRO_OPC_LWADD, 0x2, 3, TREG_ZERO, 1,
2726
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
2727
#ifndef DISASM_ONLY
2728
    {
2729
      0ULL,
2730
      0xfff8000000000000ULL,
2731
      0ULL,
2732
      0ULL,
2733
      0ULL
2734
    },
2735
    {
2736
      -1ULL,
2737
      0x30d0000000000000ULL,
2738
      -1ULL,
2739
      -1ULL,
2740
      -1ULL
2741
    }
2742
#endif
2743
  },
2744
  { "lwadd.sn", TILEPRO_OPC_LWADD_SN, 0x2, 3, TREG_SN, 1,
2745
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
2746
#ifndef DISASM_ONLY
2747
    {
2748
      0ULL,
2749
      0xfff8000000000000ULL,
2750
      0ULL,
2751
      0ULL,
2752
      0ULL
2753
    },
2754
    {
2755
      -1ULL,
2756
      0x34d0000000000000ULL,
2757
      -1ULL,
2758
      -1ULL,
2759
      -1ULL
2760
    }
2761
#endif
2762
  },
2763
  { "lwadd_na", TILEPRO_OPC_LWADD_NA, 0x2, 3, TREG_ZERO, 1,
2764
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
2765
#ifndef DISASM_ONLY
2766
    {
2767
      0ULL,
2768
      0xfff8000000000000ULL,
2769
      0ULL,
2770
      0ULL,
2771
      0ULL
2772
    },
2773
    {
2774
      -1ULL,
2775
      0x30d8000000000000ULL,
2776
      -1ULL,
2777
      -1ULL,
2778
      -1ULL
2779
    }
2780
#endif
2781
  },
2782
  { "lwadd_na.sn", TILEPRO_OPC_LWADD_NA_SN, 0x2, 3, TREG_SN, 1,
2783
    { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } },
2784
#ifndef DISASM_ONLY
2785
    {
2786
      0ULL,
2787
      0xfff8000000000000ULL,
2788
      0ULL,
2789
      0ULL,
2790
      0ULL
2791
    },
2792
    {
2793
      -1ULL,
2794
      0x34d8000000000000ULL,
2795
      -1ULL,
2796
      -1ULL,
2797
      -1ULL
2798
    }
2799
#endif
2800
  },
2801
  { "maxb_u", TILEPRO_OPC_MAXB_U, 0x3, 3, TREG_ZERO, 1,
2802
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
2803
#ifndef DISASM_ONLY
2804
    {
2805
      0x800000007ffc0000ULL,
2806
      0xfffe000000000000ULL,
2807
      0ULL,
2808
      0ULL,
2809
      0ULL
2810
    },
2811
    {
2812
      0x00000000003c0000ULL,
2813
      0x081c000000000000ULL,
2814
      -1ULL,
2815
      -1ULL,
2816
      -1ULL
2817
    }
2818
#endif
2819
  },
2820
  { "maxb_u.sn", TILEPRO_OPC_MAXB_U_SN, 0x3, 3, TREG_SN, 1,
2821
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
2822
#ifndef DISASM_ONLY
2823
    {
2824
      0x800000007ffc0000ULL,
2825
      0xfffe000000000000ULL,
2826
      0ULL,
2827
      0ULL,
2828
      0ULL
2829
    },
2830
    {
2831
      0x00000000083c0000ULL,
2832
      0x0c1c000000000000ULL,
2833
      -1ULL,
2834
      -1ULL,
2835
      -1ULL
2836
    }
2837
#endif
2838
  },
2839
  { "maxh", TILEPRO_OPC_MAXH, 0x3, 3, TREG_ZERO, 1,
2840
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
2841
#ifndef DISASM_ONLY
2842
    {
2843
      0x800000007ffc0000ULL,
2844
      0xfffe000000000000ULL,
2845
      0ULL,
2846
      0ULL,
2847
      0ULL
2848
    },
2849
    {
2850
      0x0000000000400000ULL,
2851
      0x081e000000000000ULL,
2852
      -1ULL,
2853
      -1ULL,
2854
      -1ULL
2855
    }
2856
#endif
2857
  },
2858
  { "maxh.sn", TILEPRO_OPC_MAXH_SN, 0x3, 3, TREG_SN, 1,
2859
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
2860
#ifndef DISASM_ONLY
2861
    {
2862
      0x800000007ffc0000ULL,
2863
      0xfffe000000000000ULL,
2864
      0ULL,
2865
      0ULL,
2866
      0ULL
2867
    },
2868
    {
2869
      0x0000000008400000ULL,
2870
      0x0c1e000000000000ULL,
2871
      -1ULL,
2872
      -1ULL,
2873
      -1ULL
2874
    }
2875
#endif
2876
  },
2877
  { "maxib_u", TILEPRO_OPC_MAXIB_U, 0x3, 3, TREG_ZERO, 1,
2878
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
2879
#ifndef DISASM_ONLY
2880
    {
2881
      0x800000007ff00000ULL,
2882
      0xfff8000000000000ULL,
2883
      0ULL,
2884
      0ULL,
2885
      0ULL
2886
    },
2887
    {
2888
      0x0000000040400000ULL,
2889
      0x3028000000000000ULL,
2890
      -1ULL,
2891
      -1ULL,
2892
      -1ULL
2893
    }
2894
#endif
2895
  },
2896
  { "maxib_u.sn", TILEPRO_OPC_MAXIB_U_SN, 0x3, 3, TREG_SN, 1,
2897
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
2898
#ifndef DISASM_ONLY
2899
    {
2900
      0x800000007ff00000ULL,
2901
      0xfff8000000000000ULL,
2902
      0ULL,
2903
      0ULL,
2904
      0ULL
2905
    },
2906
    {
2907
      0x0000000048400000ULL,
2908
      0x3428000000000000ULL,
2909
      -1ULL,
2910
      -1ULL,
2911
      -1ULL
2912
    }
2913
#endif
2914
  },
2915
  { "maxih", TILEPRO_OPC_MAXIH, 0x3, 3, TREG_ZERO, 1,
2916
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
2917
#ifndef DISASM_ONLY
2918
    {
2919
      0x800000007ff00000ULL,
2920
      0xfff8000000000000ULL,
2921
      0ULL,
2922
      0ULL,
2923
      0ULL
2924
    },
2925
    {
2926
      0x0000000040500000ULL,
2927
      0x3030000000000000ULL,
2928
      -1ULL,
2929
      -1ULL,
2930
      -1ULL
2931
    }
2932
#endif
2933
  },
2934
  { "maxih.sn", TILEPRO_OPC_MAXIH_SN, 0x3, 3, TREG_SN, 1,
2935
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
2936
#ifndef DISASM_ONLY
2937
    {
2938
      0x800000007ff00000ULL,
2939
      0xfff8000000000000ULL,
2940
      0ULL,
2941
      0ULL,
2942
      0ULL
2943
    },
2944
    {
2945
      0x0000000048500000ULL,
2946
      0x3430000000000000ULL,
2947
      -1ULL,
2948
      -1ULL,
2949
      -1ULL
2950
    }
2951
#endif
2952
  },
2953
  { "mf", TILEPRO_OPC_MF, 0x2, 0, TREG_ZERO, 1,
2954
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
2955
#ifndef DISASM_ONLY
2956
    {
2957
      0ULL,
2958
      0xfbfff80000000000ULL,
2959
      0ULL,
2960
      0ULL,
2961
      0ULL
2962
    },
2963
    {
2964
      -1ULL,
2965
      0x400b780000000000ULL,
2966
      -1ULL,
2967
      -1ULL,
2968
      -1ULL
2969
    }
2970
#endif
2971
  },
2972
  { "mfspr", TILEPRO_OPC_MFSPR, 0x2, 2, TREG_ZERO, 1,
2973
    { { 0, }, { 9, 25 }, { 0, }, { 0, }, { 0, } },
2974
#ifndef DISASM_ONLY
2975
    {
2976
      0ULL,
2977
      0xfbf8000000000000ULL,
2978
      0ULL,
2979
      0ULL,
2980
      0ULL
2981
    },
2982
    {
2983
      -1ULL,
2984
      0x3038000000000000ULL,
2985
      -1ULL,
2986
      -1ULL,
2987
      -1ULL
2988
    }
2989
#endif
2990
  },
2991
  { "minb_u", TILEPRO_OPC_MINB_U, 0x3, 3, TREG_ZERO, 1,
2992
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
2993
#ifndef DISASM_ONLY
2994
    {
2995
      0x800000007ffc0000ULL,
2996
      0xfffe000000000000ULL,
2997
      0ULL,
2998
      0ULL,
2999
      0ULL
3000
    },
3001
    {
3002
      0x0000000000440000ULL,
3003
      0x0820000000000000ULL,
3004
      -1ULL,
3005
      -1ULL,
3006
      -1ULL
3007
    }
3008
#endif
3009
  },
3010
  { "minb_u.sn", TILEPRO_OPC_MINB_U_SN, 0x3, 3, TREG_SN, 1,
3011
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
3012
#ifndef DISASM_ONLY
3013
    {
3014
      0x800000007ffc0000ULL,
3015
      0xfffe000000000000ULL,
3016
      0ULL,
3017
      0ULL,
3018
      0ULL
3019
    },
3020
    {
3021
      0x0000000008440000ULL,
3022
      0x0c20000000000000ULL,
3023
      -1ULL,
3024
      -1ULL,
3025
      -1ULL
3026
    }
3027
#endif
3028
  },
3029
  { "minh", TILEPRO_OPC_MINH, 0x3, 3, TREG_ZERO, 1,
3030
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
3031
#ifndef DISASM_ONLY
3032
    {
3033
      0x800000007ffc0000ULL,
3034
      0xfffe000000000000ULL,
3035
      0ULL,
3036
      0ULL,
3037
      0ULL
3038
    },
3039
    {
3040
      0x0000000000480000ULL,
3041
      0x0822000000000000ULL,
3042
      -1ULL,
3043
      -1ULL,
3044
      -1ULL
3045
    }
3046
#endif
3047
  },
3048
  { "minh.sn", TILEPRO_OPC_MINH_SN, 0x3, 3, TREG_SN, 1,
3049
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
3050
#ifndef DISASM_ONLY
3051
    {
3052
      0x800000007ffc0000ULL,
3053
      0xfffe000000000000ULL,
3054
      0ULL,
3055
      0ULL,
3056
      0ULL
3057
    },
3058
    {
3059
      0x0000000008480000ULL,
3060
      0x0c22000000000000ULL,
3061
      -1ULL,
3062
      -1ULL,
3063
      -1ULL
3064
    }
3065
#endif
3066
  },
3067
  { "minib_u", TILEPRO_OPC_MINIB_U, 0x3, 3, TREG_ZERO, 1,
3068
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
3069
#ifndef DISASM_ONLY
3070
    {
3071
      0x800000007ff00000ULL,
3072
      0xfff8000000000000ULL,
3073
      0ULL,
3074
      0ULL,
3075
      0ULL
3076
    },
3077
    {
3078
      0x0000000040600000ULL,
3079
      0x3040000000000000ULL,
3080
      -1ULL,
3081
      -1ULL,
3082
      -1ULL
3083
    }
3084
#endif
3085
  },
3086
  { "minib_u.sn", TILEPRO_OPC_MINIB_U_SN, 0x3, 3, TREG_SN, 1,
3087
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
3088
#ifndef DISASM_ONLY
3089
    {
3090
      0x800000007ff00000ULL,
3091
      0xfff8000000000000ULL,
3092
      0ULL,
3093
      0ULL,
3094
      0ULL
3095
    },
3096
    {
3097
      0x0000000048600000ULL,
3098
      0x3440000000000000ULL,
3099
      -1ULL,
3100
      -1ULL,
3101
      -1ULL
3102
    }
3103
#endif
3104
  },
3105
  { "minih", TILEPRO_OPC_MINIH, 0x3, 3, TREG_ZERO, 1,
3106
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
3107
#ifndef DISASM_ONLY
3108
    {
3109
      0x800000007ff00000ULL,
3110
      0xfff8000000000000ULL,
3111
      0ULL,
3112
      0ULL,
3113
      0ULL
3114
    },
3115
    {
3116
      0x0000000040700000ULL,
3117
      0x3048000000000000ULL,
3118
      -1ULL,
3119
      -1ULL,
3120
      -1ULL
3121
    }
3122
#endif
3123
  },
3124
  { "minih.sn", TILEPRO_OPC_MINIH_SN, 0x3, 3, TREG_SN, 1,
3125
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
3126
#ifndef DISASM_ONLY
3127
    {
3128
      0x800000007ff00000ULL,
3129
      0xfff8000000000000ULL,
3130
      0ULL,
3131
      0ULL,
3132
      0ULL
3133
    },
3134
    {
3135
      0x0000000048700000ULL,
3136
      0x3448000000000000ULL,
3137
      -1ULL,
3138
      -1ULL,
3139
      -1ULL
3140
    }
3141
#endif
3142
  },
3143
  { "mm", TILEPRO_OPC_MM, 0x3, 5, TREG_ZERO, 1,
3144
    { { 7, 8, 16, 26, 27 }, { 9, 10, 17, 28, 29 }, { 0, }, { 0, }, { 0, } },
3145
#ifndef DISASM_ONLY
3146
    {
3147
      0x8000000070000000ULL,
3148
      0xf800000000000000ULL,
3149
      0ULL,
3150
      0ULL,
3151
      0ULL
3152
    },
3153
    {
3154
      0x0000000060000000ULL,
3155
      0x3800000000000000ULL,
3156
      -1ULL,
3157
      -1ULL,
3158
      -1ULL
3159
    }
3160
#endif
3161
  },
3162
  { "mnz", TILEPRO_OPC_MNZ, 0xf, 3, TREG_ZERO, 1,
3163
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
3164
#ifndef DISASM_ONLY
3165
    {
3166
      0x800000007ffc0000ULL,
3167
      0xfffe000000000000ULL,
3168
      0x80000000780c0000ULL,
3169
      0xf806000000000000ULL,
3170
      0ULL
3171
    },
3172
    {
3173
      0x0000000000540000ULL,
3174
      0x0828000000000000ULL,
3175
      0x8000000010000000ULL,
3176
      0x9002000000000000ULL,
3177
      -1ULL
3178
    }
3179
#endif
3180
  },
3181
  { "mnz.sn", TILEPRO_OPC_MNZ_SN, 0x3, 3, TREG_SN, 1,
3182
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
3183
#ifndef DISASM_ONLY
3184
    {
3185
      0x800000007ffc0000ULL,
3186
      0xfffe000000000000ULL,
3187
      0ULL,
3188
      0ULL,
3189
      0ULL
3190
    },
3191
    {
3192
      0x0000000008540000ULL,
3193
      0x0c28000000000000ULL,
3194
      -1ULL,
3195
      -1ULL,
3196
      -1ULL
3197
    }
3198
#endif
3199
  },
3200
  { "mnzb", TILEPRO_OPC_MNZB, 0x3, 3, TREG_ZERO, 1,
3201
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
3202
#ifndef DISASM_ONLY
3203
    {
3204
      0x800000007ffc0000ULL,
3205
      0xfffe000000000000ULL,
3206
      0ULL,
3207
      0ULL,
3208
      0ULL
3209
    },
3210
    {
3211
      0x00000000004c0000ULL,
3212
      0x0824000000000000ULL,
3213
      -1ULL,
3214
      -1ULL,
3215
      -1ULL
3216
    }
3217
#endif
3218
  },
3219
  { "mnzb.sn", TILEPRO_OPC_MNZB_SN, 0x3, 3, TREG_SN, 1,
3220
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
3221
#ifndef DISASM_ONLY
3222
    {
3223
      0x800000007ffc0000ULL,
3224
      0xfffe000000000000ULL,
3225
      0ULL,
3226
      0ULL,
3227
      0ULL
3228
    },
3229
    {
3230
      0x00000000084c0000ULL,
3231
      0x0c24000000000000ULL,
3232
      -1ULL,
3233
      -1ULL,
3234
      -1ULL
3235
    }
3236
#endif
3237
  },
3238
  { "mnzh", TILEPRO_OPC_MNZH, 0x3, 3, TREG_ZERO, 1,
3239
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
3240
#ifndef DISASM_ONLY
3241
    {
3242
      0x800000007ffc0000ULL,
3243
      0xfffe000000000000ULL,
3244
      0ULL,
3245
      0ULL,
3246
      0ULL
3247
    },
3248
    {
3249
      0x0000000000500000ULL,
3250
      0x0826000000000000ULL,
3251
      -1ULL,
3252
      -1ULL,
3253
      -1ULL
3254
    }
3255
#endif
3256
  },
3257
  { "mnzh.sn", TILEPRO_OPC_MNZH_SN, 0x3, 3, TREG_SN, 1,
3258
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
3259
#ifndef DISASM_ONLY
3260
    {
3261
      0x800000007ffc0000ULL,
3262
      0xfffe000000000000ULL,
3263
      0ULL,
3264
      0ULL,
3265
      0ULL
3266
    },
3267
    {
3268
      0x0000000008500000ULL,
3269
      0x0c26000000000000ULL,
3270
      -1ULL,
3271
      -1ULL,
3272
      -1ULL
3273
    }
3274
#endif
3275
  },
3276
  { "mtspr", TILEPRO_OPC_MTSPR, 0x2, 2, TREG_ZERO, 1,
3277
    { { 0, }, { 30, 10 }, { 0, }, { 0, }, { 0, } },
3278
#ifndef DISASM_ONLY
3279
    {
3280
      0ULL,
3281
      0xfbf8000000000000ULL,
3282
      0ULL,
3283
      0ULL,
3284
      0ULL
3285
    },
3286
    {
3287
      -1ULL,
3288
      0x3050000000000000ULL,
3289
      -1ULL,
3290
      -1ULL,
3291
      -1ULL
3292
    }
3293
#endif
3294
  },
3295
  { "mulhh_ss", TILEPRO_OPC_MULHH_SS, 0x5, 3, TREG_ZERO, 1,
3296
    { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
3297
#ifndef DISASM_ONLY
3298
    {
3299
      0x800000007ffc0000ULL,
3300
      0ULL,
3301
      0x80000000780c0000ULL,
3302
      0ULL,
3303
      0ULL
3304
    },
3305
    {
3306
      0x0000000000680000ULL,
3307
      -1ULL,
3308
      0x8000000038000000ULL,
3309
      -1ULL,
3310
      -1ULL
3311
    }
3312
#endif
3313
  },
3314
  { "mulhh_ss.sn", TILEPRO_OPC_MULHH_SS_SN, 0x1, 3, TREG_SN, 1,
3315
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3316
#ifndef DISASM_ONLY
3317
    {
3318
      0x800000007ffc0000ULL,
3319
      0ULL,
3320
      0ULL,
3321
      0ULL,
3322
      0ULL
3323
    },
3324
    {
3325
      0x0000000008680000ULL,
3326
      -1ULL,
3327
      -1ULL,
3328
      -1ULL,
3329
      -1ULL
3330
    }
3331
#endif
3332
  },
3333
  { "mulhh_su", TILEPRO_OPC_MULHH_SU, 0x1, 3, TREG_ZERO, 1,
3334
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3335
#ifndef DISASM_ONLY
3336
    {
3337
      0x800000007ffc0000ULL,
3338
      0ULL,
3339
      0ULL,
3340
      0ULL,
3341
      0ULL
3342
    },
3343
    {
3344
      0x00000000006c0000ULL,
3345
      -1ULL,
3346
      -1ULL,
3347
      -1ULL,
3348
      -1ULL
3349
    }
3350
#endif
3351
  },
3352
  { "mulhh_su.sn", TILEPRO_OPC_MULHH_SU_SN, 0x1, 3, TREG_SN, 1,
3353
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3354
#ifndef DISASM_ONLY
3355
    {
3356
      0x800000007ffc0000ULL,
3357
      0ULL,
3358
      0ULL,
3359
      0ULL,
3360
      0ULL
3361
    },
3362
    {
3363
      0x00000000086c0000ULL,
3364
      -1ULL,
3365
      -1ULL,
3366
      -1ULL,
3367
      -1ULL
3368
    }
3369
#endif
3370
  },
3371
  { "mulhh_uu", TILEPRO_OPC_MULHH_UU, 0x5, 3, TREG_ZERO, 1,
3372
    { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
3373
#ifndef DISASM_ONLY
3374
    {
3375
      0x800000007ffc0000ULL,
3376
      0ULL,
3377
      0x80000000780c0000ULL,
3378
      0ULL,
3379
      0ULL
3380
    },
3381
    {
3382
      0x0000000000700000ULL,
3383
      -1ULL,
3384
      0x8000000038040000ULL,
3385
      -1ULL,
3386
      -1ULL
3387
    }
3388
#endif
3389
  },
3390
  { "mulhh_uu.sn", TILEPRO_OPC_MULHH_UU_SN, 0x1, 3, TREG_SN, 1,
3391
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3392
#ifndef DISASM_ONLY
3393
    {
3394
      0x800000007ffc0000ULL,
3395
      0ULL,
3396
      0ULL,
3397
      0ULL,
3398
      0ULL
3399
    },
3400
    {
3401
      0x0000000008700000ULL,
3402
      -1ULL,
3403
      -1ULL,
3404
      -1ULL,
3405
      -1ULL
3406
    }
3407
#endif
3408
  },
3409
  { "mulhha_ss", TILEPRO_OPC_MULHHA_SS, 0x5, 3, TREG_ZERO, 1,
3410
    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
3411
#ifndef DISASM_ONLY
3412
    {
3413
      0x800000007ffc0000ULL,
3414
      0ULL,
3415
      0x80000000780c0000ULL,
3416
      0ULL,
3417
      0ULL
3418
    },
3419
    {
3420
      0x0000000000580000ULL,
3421
      -1ULL,
3422
      0x8000000040000000ULL,
3423
      -1ULL,
3424
      -1ULL
3425
    }
3426
#endif
3427
  },
3428
  { "mulhha_ss.sn", TILEPRO_OPC_MULHHA_SS_SN, 0x1, 3, TREG_SN, 1,
3429
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3430
#ifndef DISASM_ONLY
3431
    {
3432
      0x800000007ffc0000ULL,
3433
      0ULL,
3434
      0ULL,
3435
      0ULL,
3436
      0ULL
3437
    },
3438
    {
3439
      0x0000000008580000ULL,
3440
      -1ULL,
3441
      -1ULL,
3442
      -1ULL,
3443
      -1ULL
3444
    }
3445
#endif
3446
  },
3447
  { "mulhha_su", TILEPRO_OPC_MULHHA_SU, 0x1, 3, TREG_ZERO, 1,
3448
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3449
#ifndef DISASM_ONLY
3450
    {
3451
      0x800000007ffc0000ULL,
3452
      0ULL,
3453
      0ULL,
3454
      0ULL,
3455
      0ULL
3456
    },
3457
    {
3458
      0x00000000005c0000ULL,
3459
      -1ULL,
3460
      -1ULL,
3461
      -1ULL,
3462
      -1ULL
3463
    }
3464
#endif
3465
  },
3466
  { "mulhha_su.sn", TILEPRO_OPC_MULHHA_SU_SN, 0x1, 3, TREG_SN, 1,
3467
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3468
#ifndef DISASM_ONLY
3469
    {
3470
      0x800000007ffc0000ULL,
3471
      0ULL,
3472
      0ULL,
3473
      0ULL,
3474
      0ULL
3475
    },
3476
    {
3477
      0x00000000085c0000ULL,
3478
      -1ULL,
3479
      -1ULL,
3480
      -1ULL,
3481
      -1ULL
3482
    }
3483
#endif
3484
  },
3485
  { "mulhha_uu", TILEPRO_OPC_MULHHA_UU, 0x5, 3, TREG_ZERO, 1,
3486
    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
3487
#ifndef DISASM_ONLY
3488
    {
3489
      0x800000007ffc0000ULL,
3490
      0ULL,
3491
      0x80000000780c0000ULL,
3492
      0ULL,
3493
      0ULL
3494
    },
3495
    {
3496
      0x0000000000600000ULL,
3497
      -1ULL,
3498
      0x8000000040040000ULL,
3499
      -1ULL,
3500
      -1ULL
3501
    }
3502
#endif
3503
  },
3504
  { "mulhha_uu.sn", TILEPRO_OPC_MULHHA_UU_SN, 0x1, 3, TREG_SN, 1,
3505
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3506
#ifndef DISASM_ONLY
3507
    {
3508
      0x800000007ffc0000ULL,
3509
      0ULL,
3510
      0ULL,
3511
      0ULL,
3512
      0ULL
3513
    },
3514
    {
3515
      0x0000000008600000ULL,
3516
      -1ULL,
3517
      -1ULL,
3518
      -1ULL,
3519
      -1ULL
3520
    }
3521
#endif
3522
  },
3523
  { "mulhhsa_uu", TILEPRO_OPC_MULHHSA_UU, 0x1, 3, TREG_ZERO, 1,
3524
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3525
#ifndef DISASM_ONLY
3526
    {
3527
      0x800000007ffc0000ULL,
3528
      0ULL,
3529
      0ULL,
3530
      0ULL,
3531
      0ULL
3532
    },
3533
    {
3534
      0x0000000000640000ULL,
3535
      -1ULL,
3536
      -1ULL,
3537
      -1ULL,
3538
      -1ULL
3539
    }
3540
#endif
3541
  },
3542
  { "mulhhsa_uu.sn", TILEPRO_OPC_MULHHSA_UU_SN, 0x1, 3, TREG_SN, 1,
3543
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3544
#ifndef DISASM_ONLY
3545
    {
3546
      0x800000007ffc0000ULL,
3547
      0ULL,
3548
      0ULL,
3549
      0ULL,
3550
      0ULL
3551
    },
3552
    {
3553
      0x0000000008640000ULL,
3554
      -1ULL,
3555
      -1ULL,
3556
      -1ULL,
3557
      -1ULL
3558
    }
3559
#endif
3560
  },
3561
  { "mulhl_ss", TILEPRO_OPC_MULHL_SS, 0x1, 3, TREG_ZERO, 1,
3562
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3563
#ifndef DISASM_ONLY
3564
    {
3565
      0x800000007ffc0000ULL,
3566
      0ULL,
3567
      0ULL,
3568
      0ULL,
3569
      0ULL
3570
    },
3571
    {
3572
      0x0000000000880000ULL,
3573
      -1ULL,
3574
      -1ULL,
3575
      -1ULL,
3576
      -1ULL
3577
    }
3578
#endif
3579
  },
3580
  { "mulhl_ss.sn", TILEPRO_OPC_MULHL_SS_SN, 0x1, 3, TREG_SN, 1,
3581
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3582
#ifndef DISASM_ONLY
3583
    {
3584
      0x800000007ffc0000ULL,
3585
      0ULL,
3586
      0ULL,
3587
      0ULL,
3588
      0ULL
3589
    },
3590
    {
3591
      0x0000000008880000ULL,
3592
      -1ULL,
3593
      -1ULL,
3594
      -1ULL,
3595
      -1ULL
3596
    }
3597
#endif
3598
  },
3599
  { "mulhl_su", TILEPRO_OPC_MULHL_SU, 0x1, 3, TREG_ZERO, 1,
3600
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3601
#ifndef DISASM_ONLY
3602
    {
3603
      0x800000007ffc0000ULL,
3604
      0ULL,
3605
      0ULL,
3606
      0ULL,
3607
      0ULL
3608
    },
3609
    {
3610
      0x00000000008c0000ULL,
3611
      -1ULL,
3612
      -1ULL,
3613
      -1ULL,
3614
      -1ULL
3615
    }
3616
#endif
3617
  },
3618
  { "mulhl_su.sn", TILEPRO_OPC_MULHL_SU_SN, 0x1, 3, TREG_SN, 1,
3619
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3620
#ifndef DISASM_ONLY
3621
    {
3622
      0x800000007ffc0000ULL,
3623
      0ULL,
3624
      0ULL,
3625
      0ULL,
3626
      0ULL
3627
    },
3628
    {
3629
      0x00000000088c0000ULL,
3630
      -1ULL,
3631
      -1ULL,
3632
      -1ULL,
3633
      -1ULL
3634
    }
3635
#endif
3636
  },
3637
  { "mulhl_us", TILEPRO_OPC_MULHL_US, 0x1, 3, TREG_ZERO, 1,
3638
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3639
#ifndef DISASM_ONLY
3640
    {
3641
      0x800000007ffc0000ULL,
3642
      0ULL,
3643
      0ULL,
3644
      0ULL,
3645
      0ULL
3646
    },
3647
    {
3648
      0x0000000000900000ULL,
3649
      -1ULL,
3650
      -1ULL,
3651
      -1ULL,
3652
      -1ULL
3653
    }
3654
#endif
3655
  },
3656
  { "mulhl_us.sn", TILEPRO_OPC_MULHL_US_SN, 0x1, 3, TREG_SN, 1,
3657
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3658
#ifndef DISASM_ONLY
3659
    {
3660
      0x800000007ffc0000ULL,
3661
      0ULL,
3662
      0ULL,
3663
      0ULL,
3664
      0ULL
3665
    },
3666
    {
3667
      0x0000000008900000ULL,
3668
      -1ULL,
3669
      -1ULL,
3670
      -1ULL,
3671
      -1ULL
3672
    }
3673
#endif
3674
  },
3675
  { "mulhl_uu", TILEPRO_OPC_MULHL_UU, 0x1, 3, TREG_ZERO, 1,
3676
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3677
#ifndef DISASM_ONLY
3678
    {
3679
      0x800000007ffc0000ULL,
3680
      0ULL,
3681
      0ULL,
3682
      0ULL,
3683
      0ULL
3684
    },
3685
    {
3686
      0x0000000000940000ULL,
3687
      -1ULL,
3688
      -1ULL,
3689
      -1ULL,
3690
      -1ULL
3691
    }
3692
#endif
3693
  },
3694
  { "mulhl_uu.sn", TILEPRO_OPC_MULHL_UU_SN, 0x1, 3, TREG_SN, 1,
3695
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3696
#ifndef DISASM_ONLY
3697
    {
3698
      0x800000007ffc0000ULL,
3699
      0ULL,
3700
      0ULL,
3701
      0ULL,
3702
      0ULL
3703
    },
3704
    {
3705
      0x0000000008940000ULL,
3706
      -1ULL,
3707
      -1ULL,
3708
      -1ULL,
3709
      -1ULL
3710
    }
3711
#endif
3712
  },
3713
  { "mulhla_ss", TILEPRO_OPC_MULHLA_SS, 0x1, 3, TREG_ZERO, 1,
3714
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3715
#ifndef DISASM_ONLY
3716
    {
3717
      0x800000007ffc0000ULL,
3718
      0ULL,
3719
      0ULL,
3720
      0ULL,
3721
      0ULL
3722
    },
3723
    {
3724
      0x0000000000740000ULL,
3725
      -1ULL,
3726
      -1ULL,
3727
      -1ULL,
3728
      -1ULL
3729
    }
3730
#endif
3731
  },
3732
  { "mulhla_ss.sn", TILEPRO_OPC_MULHLA_SS_SN, 0x1, 3, TREG_SN, 1,
3733
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3734
#ifndef DISASM_ONLY
3735
    {
3736
      0x800000007ffc0000ULL,
3737
      0ULL,
3738
      0ULL,
3739
      0ULL,
3740
      0ULL
3741
    },
3742
    {
3743
      0x0000000008740000ULL,
3744
      -1ULL,
3745
      -1ULL,
3746
      -1ULL,
3747
      -1ULL
3748
    }
3749
#endif
3750
  },
3751
  { "mulhla_su", TILEPRO_OPC_MULHLA_SU, 0x1, 3, TREG_ZERO, 1,
3752
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3753
#ifndef DISASM_ONLY
3754
    {
3755
      0x800000007ffc0000ULL,
3756
      0ULL,
3757
      0ULL,
3758
      0ULL,
3759
      0ULL
3760
    },
3761
    {
3762
      0x0000000000780000ULL,
3763
      -1ULL,
3764
      -1ULL,
3765
      -1ULL,
3766
      -1ULL
3767
    }
3768
#endif
3769
  },
3770
  { "mulhla_su.sn", TILEPRO_OPC_MULHLA_SU_SN, 0x1, 3, TREG_SN, 1,
3771
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3772
#ifndef DISASM_ONLY
3773
    {
3774
      0x800000007ffc0000ULL,
3775
      0ULL,
3776
      0ULL,
3777
      0ULL,
3778
      0ULL
3779
    },
3780
    {
3781
      0x0000000008780000ULL,
3782
      -1ULL,
3783
      -1ULL,
3784
      -1ULL,
3785
      -1ULL
3786
    }
3787
#endif
3788
  },
3789
  { "mulhla_us", TILEPRO_OPC_MULHLA_US, 0x1, 3, TREG_ZERO, 1,
3790
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3791
#ifndef DISASM_ONLY
3792
    {
3793
      0x800000007ffc0000ULL,
3794
      0ULL,
3795
      0ULL,
3796
      0ULL,
3797
      0ULL
3798
    },
3799
    {
3800
      0x00000000007c0000ULL,
3801
      -1ULL,
3802
      -1ULL,
3803
      -1ULL,
3804
      -1ULL
3805
    }
3806
#endif
3807
  },
3808
  { "mulhla_us.sn", TILEPRO_OPC_MULHLA_US_SN, 0x1, 3, TREG_SN, 1,
3809
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3810
#ifndef DISASM_ONLY
3811
    {
3812
      0x800000007ffc0000ULL,
3813
      0ULL,
3814
      0ULL,
3815
      0ULL,
3816
      0ULL
3817
    },
3818
    {
3819
      0x00000000087c0000ULL,
3820
      -1ULL,
3821
      -1ULL,
3822
      -1ULL,
3823
      -1ULL
3824
    }
3825
#endif
3826
  },
3827
  { "mulhla_uu", TILEPRO_OPC_MULHLA_UU, 0x1, 3, TREG_ZERO, 1,
3828
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3829
#ifndef DISASM_ONLY
3830
    {
3831
      0x800000007ffc0000ULL,
3832
      0ULL,
3833
      0ULL,
3834
      0ULL,
3835
      0ULL
3836
    },
3837
    {
3838
      0x0000000000800000ULL,
3839
      -1ULL,
3840
      -1ULL,
3841
      -1ULL,
3842
      -1ULL
3843
    }
3844
#endif
3845
  },
3846
  { "mulhla_uu.sn", TILEPRO_OPC_MULHLA_UU_SN, 0x1, 3, TREG_SN, 1,
3847
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3848
#ifndef DISASM_ONLY
3849
    {
3850
      0x800000007ffc0000ULL,
3851
      0ULL,
3852
      0ULL,
3853
      0ULL,
3854
      0ULL
3855
    },
3856
    {
3857
      0x0000000008800000ULL,
3858
      -1ULL,
3859
      -1ULL,
3860
      -1ULL,
3861
      -1ULL
3862
    }
3863
#endif
3864
  },
3865
  { "mulhlsa_uu", TILEPRO_OPC_MULHLSA_UU, 0x5, 3, TREG_ZERO, 1,
3866
    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
3867
#ifndef DISASM_ONLY
3868
    {
3869
      0x800000007ffc0000ULL,
3870
      0ULL,
3871
      0x80000000780c0000ULL,
3872
      0ULL,
3873
      0ULL
3874
    },
3875
    {
3876
      0x0000000000840000ULL,
3877
      -1ULL,
3878
      0x8000000030000000ULL,
3879
      -1ULL,
3880
      -1ULL
3881
    }
3882
#endif
3883
  },
3884
  { "mulhlsa_uu.sn", TILEPRO_OPC_MULHLSA_UU_SN, 0x1, 3, TREG_SN, 1,
3885
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3886
#ifndef DISASM_ONLY
3887
    {
3888
      0x800000007ffc0000ULL,
3889
      0ULL,
3890
      0ULL,
3891
      0ULL,
3892
      0ULL
3893
    },
3894
    {
3895
      0x0000000008840000ULL,
3896
      -1ULL,
3897
      -1ULL,
3898
      -1ULL,
3899
      -1ULL
3900
    }
3901
#endif
3902
  },
3903
  { "mulll_ss", TILEPRO_OPC_MULLL_SS, 0x5, 3, TREG_ZERO, 1,
3904
    { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
3905
#ifndef DISASM_ONLY
3906
    {
3907
      0x800000007ffc0000ULL,
3908
      0ULL,
3909
      0x80000000780c0000ULL,
3910
      0ULL,
3911
      0ULL
3912
    },
3913
    {
3914
      0x0000000000a80000ULL,
3915
      -1ULL,
3916
      0x8000000038080000ULL,
3917
      -1ULL,
3918
      -1ULL
3919
    }
3920
#endif
3921
  },
3922
  { "mulll_ss.sn", TILEPRO_OPC_MULLL_SS_SN, 0x1, 3, TREG_SN, 1,
3923
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3924
#ifndef DISASM_ONLY
3925
    {
3926
      0x800000007ffc0000ULL,
3927
      0ULL,
3928
      0ULL,
3929
      0ULL,
3930
      0ULL
3931
    },
3932
    {
3933
      0x0000000008a80000ULL,
3934
      -1ULL,
3935
      -1ULL,
3936
      -1ULL,
3937
      -1ULL
3938
    }
3939
#endif
3940
  },
3941
  { "mulll_su", TILEPRO_OPC_MULLL_SU, 0x1, 3, TREG_ZERO, 1,
3942
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3943
#ifndef DISASM_ONLY
3944
    {
3945
      0x800000007ffc0000ULL,
3946
      0ULL,
3947
      0ULL,
3948
      0ULL,
3949
      0ULL
3950
    },
3951
    {
3952
      0x0000000000ac0000ULL,
3953
      -1ULL,
3954
      -1ULL,
3955
      -1ULL,
3956
      -1ULL
3957
    }
3958
#endif
3959
  },
3960
  { "mulll_su.sn", TILEPRO_OPC_MULLL_SU_SN, 0x1, 3, TREG_SN, 1,
3961
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3962
#ifndef DISASM_ONLY
3963
    {
3964
      0x800000007ffc0000ULL,
3965
      0ULL,
3966
      0ULL,
3967
      0ULL,
3968
      0ULL
3969
    },
3970
    {
3971
      0x0000000008ac0000ULL,
3972
      -1ULL,
3973
      -1ULL,
3974
      -1ULL,
3975
      -1ULL
3976
    }
3977
#endif
3978
  },
3979
  { "mulll_uu", TILEPRO_OPC_MULLL_UU, 0x5, 3, TREG_ZERO, 1,
3980
    { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } },
3981
#ifndef DISASM_ONLY
3982
    {
3983
      0x800000007ffc0000ULL,
3984
      0ULL,
3985
      0x80000000780c0000ULL,
3986
      0ULL,
3987
      0ULL
3988
    },
3989
    {
3990
      0x0000000000b00000ULL,
3991
      -1ULL,
3992
      0x80000000380c0000ULL,
3993
      -1ULL,
3994
      -1ULL
3995
    }
3996
#endif
3997
  },
3998
  { "mulll_uu.sn", TILEPRO_OPC_MULLL_UU_SN, 0x1, 3, TREG_SN, 1,
3999
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4000
#ifndef DISASM_ONLY
4001
    {
4002
      0x800000007ffc0000ULL,
4003
      0ULL,
4004
      0ULL,
4005
      0ULL,
4006
      0ULL
4007
    },
4008
    {
4009
      0x0000000008b00000ULL,
4010
      -1ULL,
4011
      -1ULL,
4012
      -1ULL,
4013
      -1ULL
4014
    }
4015
#endif
4016
  },
4017
  { "mullla_ss", TILEPRO_OPC_MULLLA_SS, 0x5, 3, TREG_ZERO, 1,
4018
    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
4019
#ifndef DISASM_ONLY
4020
    {
4021
      0x800000007ffc0000ULL,
4022
      0ULL,
4023
      0x80000000780c0000ULL,
4024
      0ULL,
4025
      0ULL
4026
    },
4027
    {
4028
      0x0000000000980000ULL,
4029
      -1ULL,
4030
      0x8000000040080000ULL,
4031
      -1ULL,
4032
      -1ULL
4033
    }
4034
#endif
4035
  },
4036
  { "mullla_ss.sn", TILEPRO_OPC_MULLLA_SS_SN, 0x1, 3, TREG_SN, 1,
4037
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4038
#ifndef DISASM_ONLY
4039
    {
4040
      0x800000007ffc0000ULL,
4041
      0ULL,
4042
      0ULL,
4043
      0ULL,
4044
      0ULL
4045
    },
4046
    {
4047
      0x0000000008980000ULL,
4048
      -1ULL,
4049
      -1ULL,
4050
      -1ULL,
4051
      -1ULL
4052
    }
4053
#endif
4054
  },
4055
  { "mullla_su", TILEPRO_OPC_MULLLA_SU, 0x1, 3, TREG_ZERO, 1,
4056
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4057
#ifndef DISASM_ONLY
4058
    {
4059
      0x800000007ffc0000ULL,
4060
      0ULL,
4061
      0ULL,
4062
      0ULL,
4063
      0ULL
4064
    },
4065
    {
4066
      0x00000000009c0000ULL,
4067
      -1ULL,
4068
      -1ULL,
4069
      -1ULL,
4070
      -1ULL
4071
    }
4072
#endif
4073
  },
4074
  { "mullla_su.sn", TILEPRO_OPC_MULLLA_SU_SN, 0x1, 3, TREG_SN, 1,
4075
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4076
#ifndef DISASM_ONLY
4077
    {
4078
      0x800000007ffc0000ULL,
4079
      0ULL,
4080
      0ULL,
4081
      0ULL,
4082
      0ULL
4083
    },
4084
    {
4085
      0x00000000089c0000ULL,
4086
      -1ULL,
4087
      -1ULL,
4088
      -1ULL,
4089
      -1ULL
4090
    }
4091
#endif
4092
  },
4093
  { "mullla_uu", TILEPRO_OPC_MULLLA_UU, 0x5, 3, TREG_ZERO, 1,
4094
    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
4095
#ifndef DISASM_ONLY
4096
    {
4097
      0x800000007ffc0000ULL,
4098
      0ULL,
4099
      0x80000000780c0000ULL,
4100
      0ULL,
4101
      0ULL
4102
    },
4103
    {
4104
      0x0000000000a00000ULL,
4105
      -1ULL,
4106
      0x80000000400c0000ULL,
4107
      -1ULL,
4108
      -1ULL
4109
    }
4110
#endif
4111
  },
4112
  { "mullla_uu.sn", TILEPRO_OPC_MULLLA_UU_SN, 0x1, 3, TREG_SN, 1,
4113
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4114
#ifndef DISASM_ONLY
4115
    {
4116
      0x800000007ffc0000ULL,
4117
      0ULL,
4118
      0ULL,
4119
      0ULL,
4120
      0ULL
4121
    },
4122
    {
4123
      0x0000000008a00000ULL,
4124
      -1ULL,
4125
      -1ULL,
4126
      -1ULL,
4127
      -1ULL
4128
    }
4129
#endif
4130
  },
4131
  { "mulllsa_uu", TILEPRO_OPC_MULLLSA_UU, 0x1, 3, TREG_ZERO, 1,
4132
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4133
#ifndef DISASM_ONLY
4134
    {
4135
      0x800000007ffc0000ULL,
4136
      0ULL,
4137
      0ULL,
4138
      0ULL,
4139
      0ULL
4140
    },
4141
    {
4142
      0x0000000000a40000ULL,
4143
      -1ULL,
4144
      -1ULL,
4145
      -1ULL,
4146
      -1ULL
4147
    }
4148
#endif
4149
  },
4150
  { "mulllsa_uu.sn", TILEPRO_OPC_MULLLSA_UU_SN, 0x1, 3, TREG_SN, 1,
4151
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4152
#ifndef DISASM_ONLY
4153
    {
4154
      0x800000007ffc0000ULL,
4155
      0ULL,
4156
      0ULL,
4157
      0ULL,
4158
      0ULL
4159
    },
4160
    {
4161
      0x0000000008a40000ULL,
4162
      -1ULL,
4163
      -1ULL,
4164
      -1ULL,
4165
      -1ULL
4166
    }
4167
#endif
4168
  },
4169
  { "mvnz", TILEPRO_OPC_MVNZ, 0x5, 3, TREG_ZERO, 1,
4170
    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
4171
#ifndef DISASM_ONLY
4172
    {
4173
      0x800000007ffc0000ULL,
4174
      0ULL,
4175
      0x80000000780c0000ULL,
4176
      0ULL,
4177
      0ULL
4178
    },
4179
    {
4180
      0x0000000000b40000ULL,
4181
      -1ULL,
4182
      0x8000000010040000ULL,
4183
      -1ULL,
4184
      -1ULL
4185
    }
4186
#endif
4187
  },
4188
  { "mvnz.sn", TILEPRO_OPC_MVNZ_SN, 0x1, 3, TREG_SN, 1,
4189
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4190
#ifndef DISASM_ONLY
4191
    {
4192
      0x800000007ffc0000ULL,
4193
      0ULL,
4194
      0ULL,
4195
      0ULL,
4196
      0ULL
4197
    },
4198
    {
4199
      0x0000000008b40000ULL,
4200
      -1ULL,
4201
      -1ULL,
4202
      -1ULL,
4203
      -1ULL
4204
    }
4205
#endif
4206
  },
4207
  { "mvz", TILEPRO_OPC_MVZ, 0x5, 3, TREG_ZERO, 1,
4208
    { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } },
4209
#ifndef DISASM_ONLY
4210
    {
4211
      0x800000007ffc0000ULL,
4212
      0ULL,
4213
      0x80000000780c0000ULL,
4214
      0ULL,
4215
      0ULL
4216
    },
4217
    {
4218
      0x0000000000b80000ULL,
4219
      -1ULL,
4220
      0x8000000010080000ULL,
4221
      -1ULL,
4222
      -1ULL
4223
    }
4224
#endif
4225
  },
4226
  { "mvz.sn", TILEPRO_OPC_MVZ_SN, 0x1, 3, TREG_SN, 1,
4227
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4228
#ifndef DISASM_ONLY
4229
    {
4230
      0x800000007ffc0000ULL,
4231
      0ULL,
4232
      0ULL,
4233
      0ULL,
4234
      0ULL
4235
    },
4236
    {
4237
      0x0000000008b80000ULL,
4238
      -1ULL,
4239
      -1ULL,
4240
      -1ULL,
4241
      -1ULL
4242
    }
4243
#endif
4244
  },
4245
  { "mz", TILEPRO_OPC_MZ, 0xf, 3, TREG_ZERO, 1,
4246
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
4247
#ifndef DISASM_ONLY
4248
    {
4249
      0x800000007ffc0000ULL,
4250
      0xfffe000000000000ULL,
4251
      0x80000000780c0000ULL,
4252
      0xf806000000000000ULL,
4253
      0ULL
4254
    },
4255
    {
4256
      0x0000000000c40000ULL,
4257
      0x082e000000000000ULL,
4258
      0x80000000100c0000ULL,
4259
      0x9004000000000000ULL,
4260
      -1ULL
4261
    }
4262
#endif
4263
  },
4264
  { "mz.sn", TILEPRO_OPC_MZ_SN, 0x3, 3, TREG_SN, 1,
4265
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4266
#ifndef DISASM_ONLY
4267
    {
4268
      0x800000007ffc0000ULL,
4269
      0xfffe000000000000ULL,
4270
      0ULL,
4271
      0ULL,
4272
      0ULL
4273
    },
4274
    {
4275
      0x0000000008c40000ULL,
4276
      0x0c2e000000000000ULL,
4277
      -1ULL,
4278
      -1ULL,
4279
      -1ULL
4280
    }
4281
#endif
4282
  },
4283
  { "mzb", TILEPRO_OPC_MZB, 0x3, 3, TREG_ZERO, 1,
4284
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4285
#ifndef DISASM_ONLY
4286
    {
4287
      0x800000007ffc0000ULL,
4288
      0xfffe000000000000ULL,
4289
      0ULL,
4290
      0ULL,
4291
      0ULL
4292
    },
4293
    {
4294
      0x0000000000bc0000ULL,
4295
      0x082a000000000000ULL,
4296
      -1ULL,
4297
      -1ULL,
4298
      -1ULL
4299
    }
4300
#endif
4301
  },
4302
  { "mzb.sn", TILEPRO_OPC_MZB_SN, 0x3, 3, TREG_SN, 1,
4303
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4304
#ifndef DISASM_ONLY
4305
    {
4306
      0x800000007ffc0000ULL,
4307
      0xfffe000000000000ULL,
4308
      0ULL,
4309
      0ULL,
4310
      0ULL
4311
    },
4312
    {
4313
      0x0000000008bc0000ULL,
4314
      0x0c2a000000000000ULL,
4315
      -1ULL,
4316
      -1ULL,
4317
      -1ULL
4318
    }
4319
#endif
4320
  },
4321
  { "mzh", TILEPRO_OPC_MZH, 0x3, 3, TREG_ZERO, 1,
4322
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4323
#ifndef DISASM_ONLY
4324
    {
4325
      0x800000007ffc0000ULL,
4326
      0xfffe000000000000ULL,
4327
      0ULL,
4328
      0ULL,
4329
      0ULL
4330
    },
4331
    {
4332
      0x0000000000c00000ULL,
4333
      0x082c000000000000ULL,
4334
      -1ULL,
4335
      -1ULL,
4336
      -1ULL
4337
    }
4338
#endif
4339
  },
4340
  { "mzh.sn", TILEPRO_OPC_MZH_SN, 0x3, 3, TREG_SN, 1,
4341
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4342
#ifndef DISASM_ONLY
4343
    {
4344
      0x800000007ffc0000ULL,
4345
      0xfffe000000000000ULL,
4346
      0ULL,
4347
      0ULL,
4348
      0ULL
4349
    },
4350
    {
4351
      0x0000000008c00000ULL,
4352
      0x0c2c000000000000ULL,
4353
      -1ULL,
4354
      -1ULL,
4355
      -1ULL
4356
    }
4357
#endif
4358
  },
4359
  { "nap", TILEPRO_OPC_NAP, 0x2, 0, TREG_ZERO, 0,
4360
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
4361
#ifndef DISASM_ONLY
4362
    {
4363
      0ULL,
4364
      0xfbfff80000000000ULL,
4365
      0ULL,
4366
      0ULL,
4367
      0ULL
4368
    },
4369
    {
4370
      -1ULL,
4371
      0x400b800000000000ULL,
4372
      -1ULL,
4373
      -1ULL,
4374
      -1ULL
4375
    }
4376
#endif
4377
  },
4378
  { "nop", TILEPRO_OPC_NOP, 0xf, 0, TREG_ZERO, 1,
4379
    { {  }, {  }, {  }, {  }, { 0, } },
4380
#ifndef DISASM_ONLY
4381
    {
4382
      0x8000000077fff000ULL,
4383
      0xfbfff80000000000ULL,
4384
      0x80000000780ff000ULL,
4385
      0xf807f80000000000ULL,
4386
      0ULL
4387
    },
4388
    {
4389
      0x0000000070166000ULL,
4390
      0x400b880000000000ULL,
4391
      0x80000000680a6000ULL,
4392
      0xd805180000000000ULL,
4393
      -1ULL
4394
    }
4395
#endif
4396
  },
4397
  { "nor", TILEPRO_OPC_NOR, 0xf, 3, TREG_ZERO, 1,
4398
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
4399
#ifndef DISASM_ONLY
4400
    {
4401
      0x800000007ffc0000ULL,
4402
      0xfffe000000000000ULL,
4403
      0x80000000780c0000ULL,
4404
      0xf806000000000000ULL,
4405
      0ULL
4406
    },
4407
    {
4408
      0x0000000000c80000ULL,
4409
      0x0830000000000000ULL,
4410
      0x8000000018040000ULL,
4411
      0x9802000000000000ULL,
4412
      -1ULL
4413
    }
4414
#endif
4415
  },
4416
  { "nor.sn", TILEPRO_OPC_NOR_SN, 0x3, 3, TREG_SN, 1,
4417
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4418
#ifndef DISASM_ONLY
4419
    {
4420
      0x800000007ffc0000ULL,
4421
      0xfffe000000000000ULL,
4422
      0ULL,
4423
      0ULL,
4424
      0ULL
4425
    },
4426
    {
4427
      0x0000000008c80000ULL,
4428
      0x0c30000000000000ULL,
4429
      -1ULL,
4430
      -1ULL,
4431
      -1ULL
4432
    }
4433
#endif
4434
  },
4435
  { "or", TILEPRO_OPC_OR, 0xf, 3, TREG_ZERO, 1,
4436
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
4437
#ifndef DISASM_ONLY
4438
    {
4439
      0x800000007ffc0000ULL,
4440
      0xfffe000000000000ULL,
4441
      0x80000000780c0000ULL,
4442
      0xf806000000000000ULL,
4443
      0ULL
4444
    },
4445
    {
4446
      0x0000000000cc0000ULL,
4447
      0x0832000000000000ULL,
4448
      0x8000000018080000ULL,
4449
      0x9804000000000000ULL,
4450
      -1ULL
4451
    }
4452
#endif
4453
  },
4454
  { "or.sn", TILEPRO_OPC_OR_SN, 0x3, 3, TREG_SN, 1,
4455
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4456
#ifndef DISASM_ONLY
4457
    {
4458
      0x800000007ffc0000ULL,
4459
      0xfffe000000000000ULL,
4460
      0ULL,
4461
      0ULL,
4462
      0ULL
4463
    },
4464
    {
4465
      0x0000000008cc0000ULL,
4466
      0x0c32000000000000ULL,
4467
      -1ULL,
4468
      -1ULL,
4469
      -1ULL
4470
    }
4471
#endif
4472
  },
4473
  { "ori", TILEPRO_OPC_ORI, 0xf, 3, TREG_ZERO, 1,
4474
    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
4475
#ifndef DISASM_ONLY
4476
    {
4477
      0x800000007ff00000ULL,
4478
      0xfff8000000000000ULL,
4479
      0x8000000078000000ULL,
4480
      0xf800000000000000ULL,
4481
      0ULL
4482
    },
4483
    {
4484
      0x0000000040800000ULL,
4485
      0x3058000000000000ULL,
4486
      0x8000000058000000ULL,
4487
      0xc800000000000000ULL,
4488
      -1ULL
4489
    }
4490
#endif
4491
  },
4492
  { "ori.sn", TILEPRO_OPC_ORI_SN, 0x3, 3, TREG_SN, 1,
4493
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
4494
#ifndef DISASM_ONLY
4495
    {
4496
      0x800000007ff00000ULL,
4497
      0xfff8000000000000ULL,
4498
      0ULL,
4499
      0ULL,
4500
      0ULL
4501
    },
4502
    {
4503
      0x0000000048800000ULL,
4504
      0x3458000000000000ULL,
4505
      -1ULL,
4506
      -1ULL,
4507
      -1ULL
4508
    }
4509
#endif
4510
  },
4511
  { "packbs_u", TILEPRO_OPC_PACKBS_U, 0x3, 3, TREG_ZERO, 1,
4512
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4513
#ifndef DISASM_ONLY
4514
    {
4515
      0x800000007ffc0000ULL,
4516
      0xfffe000000000000ULL,
4517
      0ULL,
4518
      0ULL,
4519
      0ULL
4520
    },
4521
    {
4522
      0x00000000019c0000ULL,
4523
      0x0892000000000000ULL,
4524
      -1ULL,
4525
      -1ULL,
4526
      -1ULL
4527
    }
4528
#endif
4529
  },
4530
  { "packbs_u.sn", TILEPRO_OPC_PACKBS_U_SN, 0x3, 3, TREG_SN, 1,
4531
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4532
#ifndef DISASM_ONLY
4533
    {
4534
      0x800000007ffc0000ULL,
4535
      0xfffe000000000000ULL,
4536
      0ULL,
4537
      0ULL,
4538
      0ULL
4539
    },
4540
    {
4541
      0x00000000099c0000ULL,
4542
      0x0c92000000000000ULL,
4543
      -1ULL,
4544
      -1ULL,
4545
      -1ULL
4546
    }
4547
#endif
4548
  },
4549
  { "packhb", TILEPRO_OPC_PACKHB, 0x3, 3, TREG_ZERO, 1,
4550
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4551
#ifndef DISASM_ONLY
4552
    {
4553
      0x800000007ffc0000ULL,
4554
      0xfffe000000000000ULL,
4555
      0ULL,
4556
      0ULL,
4557
      0ULL
4558
    },
4559
    {
4560
      0x0000000000d00000ULL,
4561
      0x0834000000000000ULL,
4562
      -1ULL,
4563
      -1ULL,
4564
      -1ULL
4565
    }
4566
#endif
4567
  },
4568
  { "packhb.sn", TILEPRO_OPC_PACKHB_SN, 0x3, 3, TREG_SN, 1,
4569
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4570
#ifndef DISASM_ONLY
4571
    {
4572
      0x800000007ffc0000ULL,
4573
      0xfffe000000000000ULL,
4574
      0ULL,
4575
      0ULL,
4576
      0ULL
4577
    },
4578
    {
4579
      0x0000000008d00000ULL,
4580
      0x0c34000000000000ULL,
4581
      -1ULL,
4582
      -1ULL,
4583
      -1ULL
4584
    }
4585
#endif
4586
  },
4587
  { "packhs", TILEPRO_OPC_PACKHS, 0x3, 3, TREG_ZERO, 1,
4588
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4589
#ifndef DISASM_ONLY
4590
    {
4591
      0x800000007ffc0000ULL,
4592
      0xfffe000000000000ULL,
4593
      0ULL,
4594
      0ULL,
4595
      0ULL
4596
    },
4597
    {
4598
      0x0000000001980000ULL,
4599
      0x0890000000000000ULL,
4600
      -1ULL,
4601
      -1ULL,
4602
      -1ULL
4603
    }
4604
#endif
4605
  },
4606
  { "packhs.sn", TILEPRO_OPC_PACKHS_SN, 0x3, 3, TREG_SN, 1,
4607
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4608
#ifndef DISASM_ONLY
4609
    {
4610
      0x800000007ffc0000ULL,
4611
      0xfffe000000000000ULL,
4612
      0ULL,
4613
      0ULL,
4614
      0ULL
4615
    },
4616
    {
4617
      0x0000000009980000ULL,
4618
      0x0c90000000000000ULL,
4619
      -1ULL,
4620
      -1ULL,
4621
      -1ULL
4622
    }
4623
#endif
4624
  },
4625
  { "packlb", TILEPRO_OPC_PACKLB, 0x3, 3, TREG_ZERO, 1,
4626
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4627
#ifndef DISASM_ONLY
4628
    {
4629
      0x800000007ffc0000ULL,
4630
      0xfffe000000000000ULL,
4631
      0ULL,
4632
      0ULL,
4633
      0ULL
4634
    },
4635
    {
4636
      0x0000000000d40000ULL,
4637
      0x0836000000000000ULL,
4638
      -1ULL,
4639
      -1ULL,
4640
      -1ULL
4641
    }
4642
#endif
4643
  },
4644
  { "packlb.sn", TILEPRO_OPC_PACKLB_SN, 0x3, 3, TREG_SN, 1,
4645
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4646
#ifndef DISASM_ONLY
4647
    {
4648
      0x800000007ffc0000ULL,
4649
      0xfffe000000000000ULL,
4650
      0ULL,
4651
      0ULL,
4652
      0ULL
4653
    },
4654
    {
4655
      0x0000000008d40000ULL,
4656
      0x0c36000000000000ULL,
4657
      -1ULL,
4658
      -1ULL,
4659
      -1ULL
4660
    }
4661
#endif
4662
  },
4663
  { "pcnt", TILEPRO_OPC_PCNT, 0x5, 2, TREG_ZERO, 1,
4664
    { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } },
4665
#ifndef DISASM_ONLY
4666
    {
4667
      0x800000007ffff000ULL,
4668
      0ULL,
4669
      0x80000000780ff000ULL,
4670
      0ULL,
4671
      0ULL
4672
    },
4673
    {
4674
      0x0000000070167000ULL,
4675
      -1ULL,
4676
      0x80000000680a7000ULL,
4677
      -1ULL,
4678
      -1ULL
4679
    }
4680
#endif
4681
  },
4682
  { "pcnt.sn", TILEPRO_OPC_PCNT_SN, 0x1, 2, TREG_SN, 1,
4683
    { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
4684
#ifndef DISASM_ONLY
4685
    {
4686
      0x800000007ffff000ULL,
4687
      0ULL,
4688
      0ULL,
4689
      0ULL,
4690
      0ULL
4691
    },
4692
    {
4693
      0x0000000078167000ULL,
4694
      -1ULL,
4695
      -1ULL,
4696
      -1ULL,
4697
      -1ULL
4698
    }
4699
#endif
4700
  },
4701
  { "rl", TILEPRO_OPC_RL, 0xf, 3, TREG_ZERO, 1,
4702
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
4703
#ifndef DISASM_ONLY
4704
    {
4705
      0x800000007ffc0000ULL,
4706
      0xfffe000000000000ULL,
4707
      0x80000000780c0000ULL,
4708
      0xf806000000000000ULL,
4709
      0ULL
4710
    },
4711
    {
4712
      0x0000000000d80000ULL,
4713
      0x0838000000000000ULL,
4714
      0x8000000020000000ULL,
4715
      0xa000000000000000ULL,
4716
      -1ULL
4717
    }
4718
#endif
4719
  },
4720
  { "rl.sn", TILEPRO_OPC_RL_SN, 0x3, 3, TREG_SN, 1,
4721
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4722
#ifndef DISASM_ONLY
4723
    {
4724
      0x800000007ffc0000ULL,
4725
      0xfffe000000000000ULL,
4726
      0ULL,
4727
      0ULL,
4728
      0ULL
4729
    },
4730
    {
4731
      0x0000000008d80000ULL,
4732
      0x0c38000000000000ULL,
4733
      -1ULL,
4734
      -1ULL,
4735
      -1ULL
4736
    }
4737
#endif
4738
  },
4739
  { "rli", TILEPRO_OPC_RLI, 0xf, 3, TREG_ZERO, 1,
4740
    { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
4741
#ifndef DISASM_ONLY
4742
    {
4743
      0x800000007ffe0000ULL,
4744
      0xffff000000000000ULL,
4745
      0x80000000780e0000ULL,
4746
      0xf807000000000000ULL,
4747
      0ULL
4748
    },
4749
    {
4750
      0x0000000070020000ULL,
4751
      0x4001000000000000ULL,
4752
      0x8000000068020000ULL,
4753
      0xd801000000000000ULL,
4754
      -1ULL
4755
    }
4756
#endif
4757
  },
4758
  { "rli.sn", TILEPRO_OPC_RLI_SN, 0x3, 3, TREG_SN, 1,
4759
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
4760
#ifndef DISASM_ONLY
4761
    {
4762
      0x800000007ffe0000ULL,
4763
      0xffff000000000000ULL,
4764
      0ULL,
4765
      0ULL,
4766
      0ULL
4767
    },
4768
    {
4769
      0x0000000078020000ULL,
4770
      0x4401000000000000ULL,
4771
      -1ULL,
4772
      -1ULL,
4773
      -1ULL
4774
    }
4775
#endif
4776
  },
4777
  { "s1a", TILEPRO_OPC_S1A, 0xf, 3, TREG_ZERO, 1,
4778
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
4779
#ifndef DISASM_ONLY
4780
    {
4781
      0x800000007ffc0000ULL,
4782
      0xfffe000000000000ULL,
4783
      0x80000000780c0000ULL,
4784
      0xf806000000000000ULL,
4785
      0ULL
4786
    },
4787
    {
4788
      0x0000000000dc0000ULL,
4789
      0x083a000000000000ULL,
4790
      0x8000000008040000ULL,
4791
      0x8802000000000000ULL,
4792
      -1ULL
4793
    }
4794
#endif
4795
  },
4796
  { "s1a.sn", TILEPRO_OPC_S1A_SN, 0x3, 3, TREG_SN, 1,
4797
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4798
#ifndef DISASM_ONLY
4799
    {
4800
      0x800000007ffc0000ULL,
4801
      0xfffe000000000000ULL,
4802
      0ULL,
4803
      0ULL,
4804
      0ULL
4805
    },
4806
    {
4807
      0x0000000008dc0000ULL,
4808
      0x0c3a000000000000ULL,
4809
      -1ULL,
4810
      -1ULL,
4811
      -1ULL
4812
    }
4813
#endif
4814
  },
4815
  { "s2a", TILEPRO_OPC_S2A, 0xf, 3, TREG_ZERO, 1,
4816
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
4817
#ifndef DISASM_ONLY
4818
    {
4819
      0x800000007ffc0000ULL,
4820
      0xfffe000000000000ULL,
4821
      0x80000000780c0000ULL,
4822
      0xf806000000000000ULL,
4823
      0ULL
4824
    },
4825
    {
4826
      0x0000000000e00000ULL,
4827
      0x083c000000000000ULL,
4828
      0x8000000008080000ULL,
4829
      0x8804000000000000ULL,
4830
      -1ULL
4831
    }
4832
#endif
4833
  },
4834
  { "s2a.sn", TILEPRO_OPC_S2A_SN, 0x3, 3, TREG_SN, 1,
4835
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4836
#ifndef DISASM_ONLY
4837
    {
4838
      0x800000007ffc0000ULL,
4839
      0xfffe000000000000ULL,
4840
      0ULL,
4841
      0ULL,
4842
      0ULL
4843
    },
4844
    {
4845
      0x0000000008e00000ULL,
4846
      0x0c3c000000000000ULL,
4847
      -1ULL,
4848
      -1ULL,
4849
      -1ULL
4850
    }
4851
#endif
4852
  },
4853
  { "s3a", TILEPRO_OPC_S3A, 0xf, 3, TREG_ZERO, 1,
4854
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
4855
#ifndef DISASM_ONLY
4856
    {
4857
      0x800000007ffc0000ULL,
4858
      0xfffe000000000000ULL,
4859
      0x80000000780c0000ULL,
4860
      0xf806000000000000ULL,
4861
      0ULL
4862
    },
4863
    {
4864
      0x0000000000e40000ULL,
4865
      0x083e000000000000ULL,
4866
      0x8000000030040000ULL,
4867
      0xb002000000000000ULL,
4868
      -1ULL
4869
    }
4870
#endif
4871
  },
4872
  { "s3a.sn", TILEPRO_OPC_S3A_SN, 0x3, 3, TREG_SN, 1,
4873
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
4874
#ifndef DISASM_ONLY
4875
    {
4876
      0x800000007ffc0000ULL,
4877
      0xfffe000000000000ULL,
4878
      0ULL,
4879
      0ULL,
4880
      0ULL
4881
    },
4882
    {
4883
      0x0000000008e40000ULL,
4884
      0x0c3e000000000000ULL,
4885
      -1ULL,
4886
      -1ULL,
4887
      -1ULL
4888
    }
4889
#endif
4890
  },
4891
  { "sadab_u", TILEPRO_OPC_SADAB_U, 0x1, 3, TREG_ZERO, 1,
4892
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4893
#ifndef DISASM_ONLY
4894
    {
4895
      0x800000007ffc0000ULL,
4896
      0ULL,
4897
      0ULL,
4898
      0ULL,
4899
      0ULL
4900
    },
4901
    {
4902
      0x0000000000e80000ULL,
4903
      -1ULL,
4904
      -1ULL,
4905
      -1ULL,
4906
      -1ULL
4907
    }
4908
#endif
4909
  },
4910
  { "sadab_u.sn", TILEPRO_OPC_SADAB_U_SN, 0x1, 3, TREG_SN, 1,
4911
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4912
#ifndef DISASM_ONLY
4913
    {
4914
      0x800000007ffc0000ULL,
4915
      0ULL,
4916
      0ULL,
4917
      0ULL,
4918
      0ULL
4919
    },
4920
    {
4921
      0x0000000008e80000ULL,
4922
      -1ULL,
4923
      -1ULL,
4924
      -1ULL,
4925
      -1ULL
4926
    }
4927
#endif
4928
  },
4929
  { "sadah", TILEPRO_OPC_SADAH, 0x1, 3, TREG_ZERO, 1,
4930
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4931
#ifndef DISASM_ONLY
4932
    {
4933
      0x800000007ffc0000ULL,
4934
      0ULL,
4935
      0ULL,
4936
      0ULL,
4937
      0ULL
4938
    },
4939
    {
4940
      0x0000000000ec0000ULL,
4941
      -1ULL,
4942
      -1ULL,
4943
      -1ULL,
4944
      -1ULL
4945
    }
4946
#endif
4947
  },
4948
  { "sadah.sn", TILEPRO_OPC_SADAH_SN, 0x1, 3, TREG_SN, 1,
4949
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4950
#ifndef DISASM_ONLY
4951
    {
4952
      0x800000007ffc0000ULL,
4953
      0ULL,
4954
      0ULL,
4955
      0ULL,
4956
      0ULL
4957
    },
4958
    {
4959
      0x0000000008ec0000ULL,
4960
      -1ULL,
4961
      -1ULL,
4962
      -1ULL,
4963
      -1ULL
4964
    }
4965
#endif
4966
  },
4967
  { "sadah_u", TILEPRO_OPC_SADAH_U, 0x1, 3, TREG_ZERO, 1,
4968
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4969
#ifndef DISASM_ONLY
4970
    {
4971
      0x800000007ffc0000ULL,
4972
      0ULL,
4973
      0ULL,
4974
      0ULL,
4975
      0ULL
4976
    },
4977
    {
4978
      0x0000000000f00000ULL,
4979
      -1ULL,
4980
      -1ULL,
4981
      -1ULL,
4982
      -1ULL
4983
    }
4984
#endif
4985
  },
4986
  { "sadah_u.sn", TILEPRO_OPC_SADAH_U_SN, 0x1, 3, TREG_SN, 1,
4987
    { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4988
#ifndef DISASM_ONLY
4989
    {
4990
      0x800000007ffc0000ULL,
4991
      0ULL,
4992
      0ULL,
4993
      0ULL,
4994
      0ULL
4995
    },
4996
    {
4997
      0x0000000008f00000ULL,
4998
      -1ULL,
4999
      -1ULL,
5000
      -1ULL,
5001
      -1ULL
5002
    }
5003
#endif
5004
  },
5005
  { "sadb_u", TILEPRO_OPC_SADB_U, 0x1, 3, TREG_ZERO, 1,
5006
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5007
#ifndef DISASM_ONLY
5008
    {
5009
      0x800000007ffc0000ULL,
5010
      0ULL,
5011
      0ULL,
5012
      0ULL,
5013
      0ULL
5014
    },
5015
    {
5016
      0x0000000000f40000ULL,
5017
      -1ULL,
5018
      -1ULL,
5019
      -1ULL,
5020
      -1ULL
5021
    }
5022
#endif
5023
  },
5024
  { "sadb_u.sn", TILEPRO_OPC_SADB_U_SN, 0x1, 3, TREG_SN, 1,
5025
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5026
#ifndef DISASM_ONLY
5027
    {
5028
      0x800000007ffc0000ULL,
5029
      0ULL,
5030
      0ULL,
5031
      0ULL,
5032
      0ULL
5033
    },
5034
    {
5035
      0x0000000008f40000ULL,
5036
      -1ULL,
5037
      -1ULL,
5038
      -1ULL,
5039
      -1ULL
5040
    }
5041
#endif
5042
  },
5043
  { "sadh", TILEPRO_OPC_SADH, 0x1, 3, TREG_ZERO, 1,
5044
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5045
#ifndef DISASM_ONLY
5046
    {
5047
      0x800000007ffc0000ULL,
5048
      0ULL,
5049
      0ULL,
5050
      0ULL,
5051
      0ULL
5052
    },
5053
    {
5054
      0x0000000000f80000ULL,
5055
      -1ULL,
5056
      -1ULL,
5057
      -1ULL,
5058
      -1ULL
5059
    }
5060
#endif
5061
  },
5062
  { "sadh.sn", TILEPRO_OPC_SADH_SN, 0x1, 3, TREG_SN, 1,
5063
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5064
#ifndef DISASM_ONLY
5065
    {
5066
      0x800000007ffc0000ULL,
5067
      0ULL,
5068
      0ULL,
5069
      0ULL,
5070
      0ULL
5071
    },
5072
    {
5073
      0x0000000008f80000ULL,
5074
      -1ULL,
5075
      -1ULL,
5076
      -1ULL,
5077
      -1ULL
5078
    }
5079
#endif
5080
  },
5081
  { "sadh_u", TILEPRO_OPC_SADH_U, 0x1, 3, TREG_ZERO, 1,
5082
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5083
#ifndef DISASM_ONLY
5084
    {
5085
      0x800000007ffc0000ULL,
5086
      0ULL,
5087
      0ULL,
5088
      0ULL,
5089
      0ULL
5090
    },
5091
    {
5092
      0x0000000000fc0000ULL,
5093
      -1ULL,
5094
      -1ULL,
5095
      -1ULL,
5096
      -1ULL
5097
    }
5098
#endif
5099
  },
5100
  { "sadh_u.sn", TILEPRO_OPC_SADH_U_SN, 0x1, 3, TREG_SN, 1,
5101
    { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5102
#ifndef DISASM_ONLY
5103
    {
5104
      0x800000007ffc0000ULL,
5105
      0ULL,
5106
      0ULL,
5107
      0ULL,
5108
      0ULL
5109
    },
5110
    {
5111
      0x0000000008fc0000ULL,
5112
      -1ULL,
5113
      -1ULL,
5114
      -1ULL,
5115
      -1ULL
5116
    }
5117
#endif
5118
  },
5119
  { "sb", TILEPRO_OPC_SB, 0x12, 2, TREG_ZERO, 1,
5120
    { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
5121
#ifndef DISASM_ONLY
5122
    {
5123
      0ULL,
5124
      0xfbfe000000000000ULL,
5125
      0ULL,
5126
      0ULL,
5127
      0x8700000000000000ULL
5128
    },
5129
    {
5130
      -1ULL,
5131
      0x0840000000000000ULL,
5132
      -1ULL,
5133
      -1ULL,
5134
      0x8500000000000000ULL
5135
    }
5136
#endif
5137
  },
5138
  { "sbadd", TILEPRO_OPC_SBADD, 0x2, 3, TREG_ZERO, 1,
5139
    { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
5140
#ifndef DISASM_ONLY
5141
    {
5142
      0ULL,
5143
      0xfbf8000000000000ULL,
5144
      0ULL,
5145
      0ULL,
5146
      0ULL
5147
    },
5148
    {
5149
      -1ULL,
5150
      0x30e0000000000000ULL,
5151
      -1ULL,
5152
      -1ULL,
5153
      -1ULL
5154
    }
5155
#endif
5156
  },
5157
  { "seq", TILEPRO_OPC_SEQ, 0xf, 3, TREG_ZERO, 1,
5158
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
5159
#ifndef DISASM_ONLY
5160
    {
5161
      0x800000007ffc0000ULL,
5162
      0xfffe000000000000ULL,
5163
      0x80000000780c0000ULL,
5164
      0xf806000000000000ULL,
5165
      0ULL
5166
    },
5167
    {
5168
      0x0000000001080000ULL,
5169
      0x0846000000000000ULL,
5170
      0x8000000030080000ULL,
5171
      0xb004000000000000ULL,
5172
      -1ULL
5173
    }
5174
#endif
5175
  },
5176
  { "seq.sn", TILEPRO_OPC_SEQ_SN, 0x3, 3, TREG_SN, 1,
5177
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5178
#ifndef DISASM_ONLY
5179
    {
5180
      0x800000007ffc0000ULL,
5181
      0xfffe000000000000ULL,
5182
      0ULL,
5183
      0ULL,
5184
      0ULL
5185
    },
5186
    {
5187
      0x0000000009080000ULL,
5188
      0x0c46000000000000ULL,
5189
      -1ULL,
5190
      -1ULL,
5191
      -1ULL
5192
    }
5193
#endif
5194
  },
5195
  { "seqb", TILEPRO_OPC_SEQB, 0x3, 3, TREG_ZERO, 1,
5196
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5197
#ifndef DISASM_ONLY
5198
    {
5199
      0x800000007ffc0000ULL,
5200
      0xfffe000000000000ULL,
5201
      0ULL,
5202
      0ULL,
5203
      0ULL
5204
    },
5205
    {
5206
      0x0000000001000000ULL,
5207
      0x0842000000000000ULL,
5208
      -1ULL,
5209
      -1ULL,
5210
      -1ULL
5211
    }
5212
#endif
5213
  },
5214
  { "seqb.sn", TILEPRO_OPC_SEQB_SN, 0x3, 3, TREG_SN, 1,
5215
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5216
#ifndef DISASM_ONLY
5217
    {
5218
      0x800000007ffc0000ULL,
5219
      0xfffe000000000000ULL,
5220
      0ULL,
5221
      0ULL,
5222
      0ULL
5223
    },
5224
    {
5225
      0x0000000009000000ULL,
5226
      0x0c42000000000000ULL,
5227
      -1ULL,
5228
      -1ULL,
5229
      -1ULL
5230
    }
5231
#endif
5232
  },
5233
  { "seqh", TILEPRO_OPC_SEQH, 0x3, 3, TREG_ZERO, 1,
5234
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5235
#ifndef DISASM_ONLY
5236
    {
5237
      0x800000007ffc0000ULL,
5238
      0xfffe000000000000ULL,
5239
      0ULL,
5240
      0ULL,
5241
      0ULL
5242
    },
5243
    {
5244
      0x0000000001040000ULL,
5245
      0x0844000000000000ULL,
5246
      -1ULL,
5247
      -1ULL,
5248
      -1ULL
5249
    }
5250
#endif
5251
  },
5252
  { "seqh.sn", TILEPRO_OPC_SEQH_SN, 0x3, 3, TREG_SN, 1,
5253
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5254
#ifndef DISASM_ONLY
5255
    {
5256
      0x800000007ffc0000ULL,
5257
      0xfffe000000000000ULL,
5258
      0ULL,
5259
      0ULL,
5260
      0ULL
5261
    },
5262
    {
5263
      0x0000000009040000ULL,
5264
      0x0c44000000000000ULL,
5265
      -1ULL,
5266
      -1ULL,
5267
      -1ULL
5268
    }
5269
#endif
5270
  },
5271
  { "seqi", TILEPRO_OPC_SEQI, 0xf, 3, TREG_ZERO, 1,
5272
    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
5273
#ifndef DISASM_ONLY
5274
    {
5275
      0x800000007ff00000ULL,
5276
      0xfff8000000000000ULL,
5277
      0x8000000078000000ULL,
5278
      0xf800000000000000ULL,
5279
      0ULL
5280
    },
5281
    {
5282
      0x0000000040b00000ULL,
5283
      0x3070000000000000ULL,
5284
      0x8000000060000000ULL,
5285
      0xd000000000000000ULL,
5286
      -1ULL
5287
    }
5288
#endif
5289
  },
5290
  { "seqi.sn", TILEPRO_OPC_SEQI_SN, 0x3, 3, TREG_SN, 1,
5291
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
5292
#ifndef DISASM_ONLY
5293
    {
5294
      0x800000007ff00000ULL,
5295
      0xfff8000000000000ULL,
5296
      0ULL,
5297
      0ULL,
5298
      0ULL
5299
    },
5300
    {
5301
      0x0000000048b00000ULL,
5302
      0x3470000000000000ULL,
5303
      -1ULL,
5304
      -1ULL,
5305
      -1ULL
5306
    }
5307
#endif
5308
  },
5309
  { "seqib", TILEPRO_OPC_SEQIB, 0x3, 3, TREG_ZERO, 1,
5310
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
5311
#ifndef DISASM_ONLY
5312
    {
5313
      0x800000007ff00000ULL,
5314
      0xfff8000000000000ULL,
5315
      0ULL,
5316
      0ULL,
5317
      0ULL
5318
    },
5319
    {
5320
      0x0000000040900000ULL,
5321
      0x3060000000000000ULL,
5322
      -1ULL,
5323
      -1ULL,
5324
      -1ULL
5325
    }
5326
#endif
5327
  },
5328
  { "seqib.sn", TILEPRO_OPC_SEQIB_SN, 0x3, 3, TREG_SN, 1,
5329
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
5330
#ifndef DISASM_ONLY
5331
    {
5332
      0x800000007ff00000ULL,
5333
      0xfff8000000000000ULL,
5334
      0ULL,
5335
      0ULL,
5336
      0ULL
5337
    },
5338
    {
5339
      0x0000000048900000ULL,
5340
      0x3460000000000000ULL,
5341
      -1ULL,
5342
      -1ULL,
5343
      -1ULL
5344
    }
5345
#endif
5346
  },
5347
  { "seqih", TILEPRO_OPC_SEQIH, 0x3, 3, TREG_ZERO, 1,
5348
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
5349
#ifndef DISASM_ONLY
5350
    {
5351
      0x800000007ff00000ULL,
5352
      0xfff8000000000000ULL,
5353
      0ULL,
5354
      0ULL,
5355
      0ULL
5356
    },
5357
    {
5358
      0x0000000040a00000ULL,
5359
      0x3068000000000000ULL,
5360
      -1ULL,
5361
      -1ULL,
5362
      -1ULL
5363
    }
5364
#endif
5365
  },
5366
  { "seqih.sn", TILEPRO_OPC_SEQIH_SN, 0x3, 3, TREG_SN, 1,
5367
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
5368
#ifndef DISASM_ONLY
5369
    {
5370
      0x800000007ff00000ULL,
5371
      0xfff8000000000000ULL,
5372
      0ULL,
5373
      0ULL,
5374
      0ULL
5375
    },
5376
    {
5377
      0x0000000048a00000ULL,
5378
      0x3468000000000000ULL,
5379
      -1ULL,
5380
      -1ULL,
5381
      -1ULL
5382
    }
5383
#endif
5384
  },
5385
  { "sh", TILEPRO_OPC_SH, 0x12, 2, TREG_ZERO, 1,
5386
    { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
5387
#ifndef DISASM_ONLY
5388
    {
5389
      0ULL,
5390
      0xfbfe000000000000ULL,
5391
      0ULL,
5392
      0ULL,
5393
      0x8700000000000000ULL
5394
    },
5395
    {
5396
      -1ULL,
5397
      0x0854000000000000ULL,
5398
      -1ULL,
5399
      -1ULL,
5400
      0x8600000000000000ULL
5401
    }
5402
#endif
5403
  },
5404
  { "shadd", TILEPRO_OPC_SHADD, 0x2, 3, TREG_ZERO, 1,
5405
    { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
5406
#ifndef DISASM_ONLY
5407
    {
5408
      0ULL,
5409
      0xfbf8000000000000ULL,
5410
      0ULL,
5411
      0ULL,
5412
      0ULL
5413
    },
5414
    {
5415
      -1ULL,
5416
      0x30e8000000000000ULL,
5417
      -1ULL,
5418
      -1ULL,
5419
      -1ULL
5420
    }
5421
#endif
5422
  },
5423
  { "shl", TILEPRO_OPC_SHL, 0xf, 3, TREG_ZERO, 1,
5424
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
5425
#ifndef DISASM_ONLY
5426
    {
5427
      0x800000007ffc0000ULL,
5428
      0xfffe000000000000ULL,
5429
      0x80000000780c0000ULL,
5430
      0xf806000000000000ULL,
5431
      0ULL
5432
    },
5433
    {
5434
      0x0000000001140000ULL,
5435
      0x084c000000000000ULL,
5436
      0x8000000020040000ULL,
5437
      0xa002000000000000ULL,
5438
      -1ULL
5439
    }
5440
#endif
5441
  },
5442
  { "shl.sn", TILEPRO_OPC_SHL_SN, 0x3, 3, TREG_SN, 1,
5443
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5444
#ifndef DISASM_ONLY
5445
    {
5446
      0x800000007ffc0000ULL,
5447
      0xfffe000000000000ULL,
5448
      0ULL,
5449
      0ULL,
5450
      0ULL
5451
    },
5452
    {
5453
      0x0000000009140000ULL,
5454
      0x0c4c000000000000ULL,
5455
      -1ULL,
5456
      -1ULL,
5457
      -1ULL
5458
    }
5459
#endif
5460
  },
5461
  { "shlb", TILEPRO_OPC_SHLB, 0x3, 3, TREG_ZERO, 1,
5462
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5463
#ifndef DISASM_ONLY
5464
    {
5465
      0x800000007ffc0000ULL,
5466
      0xfffe000000000000ULL,
5467
      0ULL,
5468
      0ULL,
5469
      0ULL
5470
    },
5471
    {
5472
      0x00000000010c0000ULL,
5473
      0x0848000000000000ULL,
5474
      -1ULL,
5475
      -1ULL,
5476
      -1ULL
5477
    }
5478
#endif
5479
  },
5480
  { "shlb.sn", TILEPRO_OPC_SHLB_SN, 0x3, 3, TREG_SN, 1,
5481
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5482
#ifndef DISASM_ONLY
5483
    {
5484
      0x800000007ffc0000ULL,
5485
      0xfffe000000000000ULL,
5486
      0ULL,
5487
      0ULL,
5488
      0ULL
5489
    },
5490
    {
5491
      0x00000000090c0000ULL,
5492
      0x0c48000000000000ULL,
5493
      -1ULL,
5494
      -1ULL,
5495
      -1ULL
5496
    }
5497
#endif
5498
  },
5499
  { "shlh", TILEPRO_OPC_SHLH, 0x3, 3, TREG_ZERO, 1,
5500
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5501
#ifndef DISASM_ONLY
5502
    {
5503
      0x800000007ffc0000ULL,
5504
      0xfffe000000000000ULL,
5505
      0ULL,
5506
      0ULL,
5507
      0ULL
5508
    },
5509
    {
5510
      0x0000000001100000ULL,
5511
      0x084a000000000000ULL,
5512
      -1ULL,
5513
      -1ULL,
5514
      -1ULL
5515
    }
5516
#endif
5517
  },
5518
  { "shlh.sn", TILEPRO_OPC_SHLH_SN, 0x3, 3, TREG_SN, 1,
5519
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5520
#ifndef DISASM_ONLY
5521
    {
5522
      0x800000007ffc0000ULL,
5523
      0xfffe000000000000ULL,
5524
      0ULL,
5525
      0ULL,
5526
      0ULL
5527
    },
5528
    {
5529
      0x0000000009100000ULL,
5530
      0x0c4a000000000000ULL,
5531
      -1ULL,
5532
      -1ULL,
5533
      -1ULL
5534
    }
5535
#endif
5536
  },
5537
  { "shli", TILEPRO_OPC_SHLI, 0xf, 3, TREG_ZERO, 1,
5538
    { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
5539
#ifndef DISASM_ONLY
5540
    {
5541
      0x800000007ffe0000ULL,
5542
      0xffff000000000000ULL,
5543
      0x80000000780e0000ULL,
5544
      0xf807000000000000ULL,
5545
      0ULL
5546
    },
5547
    {
5548
      0x0000000070080000ULL,
5549
      0x4004000000000000ULL,
5550
      0x8000000068040000ULL,
5551
      0xd802000000000000ULL,
5552
      -1ULL
5553
    }
5554
#endif
5555
  },
5556
  { "shli.sn", TILEPRO_OPC_SHLI_SN, 0x3, 3, TREG_SN, 1,
5557
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
5558
#ifndef DISASM_ONLY
5559
    {
5560
      0x800000007ffe0000ULL,
5561
      0xffff000000000000ULL,
5562
      0ULL,
5563
      0ULL,
5564
      0ULL
5565
    },
5566
    {
5567
      0x0000000078080000ULL,
5568
      0x4404000000000000ULL,
5569
      -1ULL,
5570
      -1ULL,
5571
      -1ULL
5572
    }
5573
#endif
5574
  },
5575
  { "shlib", TILEPRO_OPC_SHLIB, 0x3, 3, TREG_ZERO, 1,
5576
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
5577
#ifndef DISASM_ONLY
5578
    {
5579
      0x800000007ffe0000ULL,
5580
      0xffff000000000000ULL,
5581
      0ULL,
5582
      0ULL,
5583
      0ULL
5584
    },
5585
    {
5586
      0x0000000070040000ULL,
5587
      0x4002000000000000ULL,
5588
      -1ULL,
5589
      -1ULL,
5590
      -1ULL
5591
    }
5592
#endif
5593
  },
5594
  { "shlib.sn", TILEPRO_OPC_SHLIB_SN, 0x3, 3, TREG_SN, 1,
5595
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
5596
#ifndef DISASM_ONLY
5597
    {
5598
      0x800000007ffe0000ULL,
5599
      0xffff000000000000ULL,
5600
      0ULL,
5601
      0ULL,
5602
      0ULL
5603
    },
5604
    {
5605
      0x0000000078040000ULL,
5606
      0x4402000000000000ULL,
5607
      -1ULL,
5608
      -1ULL,
5609
      -1ULL
5610
    }
5611
#endif
5612
  },
5613
  { "shlih", TILEPRO_OPC_SHLIH, 0x3, 3, TREG_ZERO, 1,
5614
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
5615
#ifndef DISASM_ONLY
5616
    {
5617
      0x800000007ffe0000ULL,
5618
      0xffff000000000000ULL,
5619
      0ULL,
5620
      0ULL,
5621
      0ULL
5622
    },
5623
    {
5624
      0x0000000070060000ULL,
5625
      0x4003000000000000ULL,
5626
      -1ULL,
5627
      -1ULL,
5628
      -1ULL
5629
    }
5630
#endif
5631
  },
5632
  { "shlih.sn", TILEPRO_OPC_SHLIH_SN, 0x3, 3, TREG_SN, 1,
5633
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
5634
#ifndef DISASM_ONLY
5635
    {
5636
      0x800000007ffe0000ULL,
5637
      0xffff000000000000ULL,
5638
      0ULL,
5639
      0ULL,
5640
      0ULL
5641
    },
5642
    {
5643
      0x0000000078060000ULL,
5644
      0x4403000000000000ULL,
5645
      -1ULL,
5646
      -1ULL,
5647
      -1ULL
5648
    }
5649
#endif
5650
  },
5651
  { "shr", TILEPRO_OPC_SHR, 0xf, 3, TREG_ZERO, 1,
5652
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
5653
#ifndef DISASM_ONLY
5654
    {
5655
      0x800000007ffc0000ULL,
5656
      0xfffe000000000000ULL,
5657
      0x80000000780c0000ULL,
5658
      0xf806000000000000ULL,
5659
      0ULL
5660
    },
5661
    {
5662
      0x0000000001200000ULL,
5663
      0x0852000000000000ULL,
5664
      0x8000000020080000ULL,
5665
      0xa004000000000000ULL,
5666
      -1ULL
5667
    }
5668
#endif
5669
  },
5670
  { "shr.sn", TILEPRO_OPC_SHR_SN, 0x3, 3, TREG_SN, 1,
5671
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5672
#ifndef DISASM_ONLY
5673
    {
5674
      0x800000007ffc0000ULL,
5675
      0xfffe000000000000ULL,
5676
      0ULL,
5677
      0ULL,
5678
      0ULL
5679
    },
5680
    {
5681
      0x0000000009200000ULL,
5682
      0x0c52000000000000ULL,
5683
      -1ULL,
5684
      -1ULL,
5685
      -1ULL
5686
    }
5687
#endif
5688
  },
5689
  { "shrb", TILEPRO_OPC_SHRB, 0x3, 3, TREG_ZERO, 1,
5690
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5691
#ifndef DISASM_ONLY
5692
    {
5693
      0x800000007ffc0000ULL,
5694
      0xfffe000000000000ULL,
5695
      0ULL,
5696
      0ULL,
5697
      0ULL
5698
    },
5699
    {
5700
      0x0000000001180000ULL,
5701
      0x084e000000000000ULL,
5702
      -1ULL,
5703
      -1ULL,
5704
      -1ULL
5705
    }
5706
#endif
5707
  },
5708
  { "shrb.sn", TILEPRO_OPC_SHRB_SN, 0x3, 3, TREG_SN, 1,
5709
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5710
#ifndef DISASM_ONLY
5711
    {
5712
      0x800000007ffc0000ULL,
5713
      0xfffe000000000000ULL,
5714
      0ULL,
5715
      0ULL,
5716
      0ULL
5717
    },
5718
    {
5719
      0x0000000009180000ULL,
5720
      0x0c4e000000000000ULL,
5721
      -1ULL,
5722
      -1ULL,
5723
      -1ULL
5724
    }
5725
#endif
5726
  },
5727
  { "shrh", TILEPRO_OPC_SHRH, 0x3, 3, TREG_ZERO, 1,
5728
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5729
#ifndef DISASM_ONLY
5730
    {
5731
      0x800000007ffc0000ULL,
5732
      0xfffe000000000000ULL,
5733
      0ULL,
5734
      0ULL,
5735
      0ULL
5736
    },
5737
    {
5738
      0x00000000011c0000ULL,
5739
      0x0850000000000000ULL,
5740
      -1ULL,
5741
      -1ULL,
5742
      -1ULL
5743
    }
5744
#endif
5745
  },
5746
  { "shrh.sn", TILEPRO_OPC_SHRH_SN, 0x3, 3, TREG_SN, 1,
5747
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5748
#ifndef DISASM_ONLY
5749
    {
5750
      0x800000007ffc0000ULL,
5751
      0xfffe000000000000ULL,
5752
      0ULL,
5753
      0ULL,
5754
      0ULL
5755
    },
5756
    {
5757
      0x00000000091c0000ULL,
5758
      0x0c50000000000000ULL,
5759
      -1ULL,
5760
      -1ULL,
5761
      -1ULL
5762
    }
5763
#endif
5764
  },
5765
  { "shri", TILEPRO_OPC_SHRI, 0xf, 3, TREG_ZERO, 1,
5766
    { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
5767
#ifndef DISASM_ONLY
5768
    {
5769
      0x800000007ffe0000ULL,
5770
      0xffff000000000000ULL,
5771
      0x80000000780e0000ULL,
5772
      0xf807000000000000ULL,
5773
      0ULL
5774
    },
5775
    {
5776
      0x00000000700e0000ULL,
5777
      0x4007000000000000ULL,
5778
      0x8000000068060000ULL,
5779
      0xd803000000000000ULL,
5780
      -1ULL
5781
    }
5782
#endif
5783
  },
5784
  { "shri.sn", TILEPRO_OPC_SHRI_SN, 0x3, 3, TREG_SN, 1,
5785
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
5786
#ifndef DISASM_ONLY
5787
    {
5788
      0x800000007ffe0000ULL,
5789
      0xffff000000000000ULL,
5790
      0ULL,
5791
      0ULL,
5792
      0ULL
5793
    },
5794
    {
5795
      0x00000000780e0000ULL,
5796
      0x4407000000000000ULL,
5797
      -1ULL,
5798
      -1ULL,
5799
      -1ULL
5800
    }
5801
#endif
5802
  },
5803
  { "shrib", TILEPRO_OPC_SHRIB, 0x3, 3, TREG_ZERO, 1,
5804
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
5805
#ifndef DISASM_ONLY
5806
    {
5807
      0x800000007ffe0000ULL,
5808
      0xffff000000000000ULL,
5809
      0ULL,
5810
      0ULL,
5811
      0ULL
5812
    },
5813
    {
5814
      0x00000000700a0000ULL,
5815
      0x4005000000000000ULL,
5816
      -1ULL,
5817
      -1ULL,
5818
      -1ULL
5819
    }
5820
#endif
5821
  },
5822
  { "shrib.sn", TILEPRO_OPC_SHRIB_SN, 0x3, 3, TREG_SN, 1,
5823
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
5824
#ifndef DISASM_ONLY
5825
    {
5826
      0x800000007ffe0000ULL,
5827
      0xffff000000000000ULL,
5828
      0ULL,
5829
      0ULL,
5830
      0ULL
5831
    },
5832
    {
5833
      0x00000000780a0000ULL,
5834
      0x4405000000000000ULL,
5835
      -1ULL,
5836
      -1ULL,
5837
      -1ULL
5838
    }
5839
#endif
5840
  },
5841
  { "shrih", TILEPRO_OPC_SHRIH, 0x3, 3, TREG_ZERO, 1,
5842
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
5843
#ifndef DISASM_ONLY
5844
    {
5845
      0x800000007ffe0000ULL,
5846
      0xffff000000000000ULL,
5847
      0ULL,
5848
      0ULL,
5849
      0ULL
5850
    },
5851
    {
5852
      0x00000000700c0000ULL,
5853
      0x4006000000000000ULL,
5854
      -1ULL,
5855
      -1ULL,
5856
      -1ULL
5857
    }
5858
#endif
5859
  },
5860
  { "shrih.sn", TILEPRO_OPC_SHRIH_SN, 0x3, 3, TREG_SN, 1,
5861
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
5862
#ifndef DISASM_ONLY
5863
    {
5864
      0x800000007ffe0000ULL,
5865
      0xffff000000000000ULL,
5866
      0ULL,
5867
      0ULL,
5868
      0ULL
5869
    },
5870
    {
5871
      0x00000000780c0000ULL,
5872
      0x4406000000000000ULL,
5873
      -1ULL,
5874
      -1ULL,
5875
      -1ULL
5876
    }
5877
#endif
5878
  },
5879
  { "slt", TILEPRO_OPC_SLT, 0xf, 3, TREG_ZERO, 1,
5880
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
5881
#ifndef DISASM_ONLY
5882
    {
5883
      0x800000007ffc0000ULL,
5884
      0xfffe000000000000ULL,
5885
      0x80000000780c0000ULL,
5886
      0xf806000000000000ULL,
5887
      0ULL
5888
    },
5889
    {
5890
      0x00000000014c0000ULL,
5891
      0x086a000000000000ULL,
5892
      0x8000000028080000ULL,
5893
      0xa804000000000000ULL,
5894
      -1ULL
5895
    }
5896
#endif
5897
  },
5898
  { "slt.sn", TILEPRO_OPC_SLT_SN, 0x3, 3, TREG_SN, 1,
5899
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5900
#ifndef DISASM_ONLY
5901
    {
5902
      0x800000007ffc0000ULL,
5903
      0xfffe000000000000ULL,
5904
      0ULL,
5905
      0ULL,
5906
      0ULL
5907
    },
5908
    {
5909
      0x00000000094c0000ULL,
5910
      0x0c6a000000000000ULL,
5911
      -1ULL,
5912
      -1ULL,
5913
      -1ULL
5914
    }
5915
#endif
5916
  },
5917
  { "slt_u", TILEPRO_OPC_SLT_U, 0xf, 3, TREG_ZERO, 1,
5918
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
5919
#ifndef DISASM_ONLY
5920
    {
5921
      0x800000007ffc0000ULL,
5922
      0xfffe000000000000ULL,
5923
      0x80000000780c0000ULL,
5924
      0xf806000000000000ULL,
5925
      0ULL
5926
    },
5927
    {
5928
      0x0000000001500000ULL,
5929
      0x086c000000000000ULL,
5930
      0x80000000280c0000ULL,
5931
      0xa806000000000000ULL,
5932
      -1ULL
5933
    }
5934
#endif
5935
  },
5936
  { "slt_u.sn", TILEPRO_OPC_SLT_U_SN, 0x3, 3, TREG_SN, 1,
5937
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5938
#ifndef DISASM_ONLY
5939
    {
5940
      0x800000007ffc0000ULL,
5941
      0xfffe000000000000ULL,
5942
      0ULL,
5943
      0ULL,
5944
      0ULL
5945
    },
5946
    {
5947
      0x0000000009500000ULL,
5948
      0x0c6c000000000000ULL,
5949
      -1ULL,
5950
      -1ULL,
5951
      -1ULL
5952
    }
5953
#endif
5954
  },
5955
  { "sltb", TILEPRO_OPC_SLTB, 0x3, 3, TREG_ZERO, 1,
5956
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5957
#ifndef DISASM_ONLY
5958
    {
5959
      0x800000007ffc0000ULL,
5960
      0xfffe000000000000ULL,
5961
      0ULL,
5962
      0ULL,
5963
      0ULL
5964
    },
5965
    {
5966
      0x0000000001240000ULL,
5967
      0x0856000000000000ULL,
5968
      -1ULL,
5969
      -1ULL,
5970
      -1ULL
5971
    }
5972
#endif
5973
  },
5974
  { "sltb.sn", TILEPRO_OPC_SLTB_SN, 0x3, 3, TREG_SN, 1,
5975
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5976
#ifndef DISASM_ONLY
5977
    {
5978
      0x800000007ffc0000ULL,
5979
      0xfffe000000000000ULL,
5980
      0ULL,
5981
      0ULL,
5982
      0ULL
5983
    },
5984
    {
5985
      0x0000000009240000ULL,
5986
      0x0c56000000000000ULL,
5987
      -1ULL,
5988
      -1ULL,
5989
      -1ULL
5990
    }
5991
#endif
5992
  },
5993
  { "sltb_u", TILEPRO_OPC_SLTB_U, 0x3, 3, TREG_ZERO, 1,
5994
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
5995
#ifndef DISASM_ONLY
5996
    {
5997
      0x800000007ffc0000ULL,
5998
      0xfffe000000000000ULL,
5999
      0ULL,
6000
      0ULL,
6001
      0ULL
6002
    },
6003
    {
6004
      0x0000000001280000ULL,
6005
      0x0858000000000000ULL,
6006
      -1ULL,
6007
      -1ULL,
6008
      -1ULL
6009
    }
6010
#endif
6011
  },
6012
  { "sltb_u.sn", TILEPRO_OPC_SLTB_U_SN, 0x3, 3, TREG_SN, 1,
6013
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6014
#ifndef DISASM_ONLY
6015
    {
6016
      0x800000007ffc0000ULL,
6017
      0xfffe000000000000ULL,
6018
      0ULL,
6019
      0ULL,
6020
      0ULL
6021
    },
6022
    {
6023
      0x0000000009280000ULL,
6024
      0x0c58000000000000ULL,
6025
      -1ULL,
6026
      -1ULL,
6027
      -1ULL
6028
    }
6029
#endif
6030
  },
6031
  { "slte", TILEPRO_OPC_SLTE, 0xf, 3, TREG_ZERO, 1,
6032
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
6033
#ifndef DISASM_ONLY
6034
    {
6035
      0x800000007ffc0000ULL,
6036
      0xfffe000000000000ULL,
6037
      0x80000000780c0000ULL,
6038
      0xf806000000000000ULL,
6039
      0ULL
6040
    },
6041
    {
6042
      0x00000000013c0000ULL,
6043
      0x0862000000000000ULL,
6044
      0x8000000028000000ULL,
6045
      0xa800000000000000ULL,
6046
      -1ULL
6047
    }
6048
#endif
6049
  },
6050
  { "slte.sn", TILEPRO_OPC_SLTE_SN, 0x3, 3, TREG_SN, 1,
6051
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6052
#ifndef DISASM_ONLY
6053
    {
6054
      0x800000007ffc0000ULL,
6055
      0xfffe000000000000ULL,
6056
      0ULL,
6057
      0ULL,
6058
      0ULL
6059
    },
6060
    {
6061
      0x00000000093c0000ULL,
6062
      0x0c62000000000000ULL,
6063
      -1ULL,
6064
      -1ULL,
6065
      -1ULL
6066
    }
6067
#endif
6068
  },
6069
  { "slte_u", TILEPRO_OPC_SLTE_U, 0xf, 3, TREG_ZERO, 1,
6070
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
6071
#ifndef DISASM_ONLY
6072
    {
6073
      0x800000007ffc0000ULL,
6074
      0xfffe000000000000ULL,
6075
      0x80000000780c0000ULL,
6076
      0xf806000000000000ULL,
6077
      0ULL
6078
    },
6079
    {
6080
      0x0000000001400000ULL,
6081
      0x0864000000000000ULL,
6082
      0x8000000028040000ULL,
6083
      0xa802000000000000ULL,
6084
      -1ULL
6085
    }
6086
#endif
6087
  },
6088
  { "slte_u.sn", TILEPRO_OPC_SLTE_U_SN, 0x3, 3, TREG_SN, 1,
6089
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6090
#ifndef DISASM_ONLY
6091
    {
6092
      0x800000007ffc0000ULL,
6093
      0xfffe000000000000ULL,
6094
      0ULL,
6095
      0ULL,
6096
      0ULL
6097
    },
6098
    {
6099
      0x0000000009400000ULL,
6100
      0x0c64000000000000ULL,
6101
      -1ULL,
6102
      -1ULL,
6103
      -1ULL
6104
    }
6105
#endif
6106
  },
6107
  { "slteb", TILEPRO_OPC_SLTEB, 0x3, 3, TREG_ZERO, 1,
6108
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6109
#ifndef DISASM_ONLY
6110
    {
6111
      0x800000007ffc0000ULL,
6112
      0xfffe000000000000ULL,
6113
      0ULL,
6114
      0ULL,
6115
      0ULL
6116
    },
6117
    {
6118
      0x00000000012c0000ULL,
6119
      0x085a000000000000ULL,
6120
      -1ULL,
6121
      -1ULL,
6122
      -1ULL
6123
    }
6124
#endif
6125
  },
6126
  { "slteb.sn", TILEPRO_OPC_SLTEB_SN, 0x3, 3, TREG_SN, 1,
6127
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6128
#ifndef DISASM_ONLY
6129
    {
6130
      0x800000007ffc0000ULL,
6131
      0xfffe000000000000ULL,
6132
      0ULL,
6133
      0ULL,
6134
      0ULL
6135
    },
6136
    {
6137
      0x00000000092c0000ULL,
6138
      0x0c5a000000000000ULL,
6139
      -1ULL,
6140
      -1ULL,
6141
      -1ULL
6142
    }
6143
#endif
6144
  },
6145
  { "slteb_u", TILEPRO_OPC_SLTEB_U, 0x3, 3, TREG_ZERO, 1,
6146
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6147
#ifndef DISASM_ONLY
6148
    {
6149
      0x800000007ffc0000ULL,
6150
      0xfffe000000000000ULL,
6151
      0ULL,
6152
      0ULL,
6153
      0ULL
6154
    },
6155
    {
6156
      0x0000000001300000ULL,
6157
      0x085c000000000000ULL,
6158
      -1ULL,
6159
      -1ULL,
6160
      -1ULL
6161
    }
6162
#endif
6163
  },
6164
  { "slteb_u.sn", TILEPRO_OPC_SLTEB_U_SN, 0x3, 3, TREG_SN, 1,
6165
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6166
#ifndef DISASM_ONLY
6167
    {
6168
      0x800000007ffc0000ULL,
6169
      0xfffe000000000000ULL,
6170
      0ULL,
6171
      0ULL,
6172
      0ULL
6173
    },
6174
    {
6175
      0x0000000009300000ULL,
6176
      0x0c5c000000000000ULL,
6177
      -1ULL,
6178
      -1ULL,
6179
      -1ULL
6180
    }
6181
#endif
6182
  },
6183
  { "slteh", TILEPRO_OPC_SLTEH, 0x3, 3, TREG_ZERO, 1,
6184
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6185
#ifndef DISASM_ONLY
6186
    {
6187
      0x800000007ffc0000ULL,
6188
      0xfffe000000000000ULL,
6189
      0ULL,
6190
      0ULL,
6191
      0ULL
6192
    },
6193
    {
6194
      0x0000000001340000ULL,
6195
      0x085e000000000000ULL,
6196
      -1ULL,
6197
      -1ULL,
6198
      -1ULL
6199
    }
6200
#endif
6201
  },
6202
  { "slteh.sn", TILEPRO_OPC_SLTEH_SN, 0x3, 3, TREG_SN, 1,
6203
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6204
#ifndef DISASM_ONLY
6205
    {
6206
      0x800000007ffc0000ULL,
6207
      0xfffe000000000000ULL,
6208
      0ULL,
6209
      0ULL,
6210
      0ULL
6211
    },
6212
    {
6213
      0x0000000009340000ULL,
6214
      0x0c5e000000000000ULL,
6215
      -1ULL,
6216
      -1ULL,
6217
      -1ULL
6218
    }
6219
#endif
6220
  },
6221
  { "slteh_u", TILEPRO_OPC_SLTEH_U, 0x3, 3, TREG_ZERO, 1,
6222
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6223
#ifndef DISASM_ONLY
6224
    {
6225
      0x800000007ffc0000ULL,
6226
      0xfffe000000000000ULL,
6227
      0ULL,
6228
      0ULL,
6229
      0ULL
6230
    },
6231
    {
6232
      0x0000000001380000ULL,
6233
      0x0860000000000000ULL,
6234
      -1ULL,
6235
      -1ULL,
6236
      -1ULL
6237
    }
6238
#endif
6239
  },
6240
  { "slteh_u.sn", TILEPRO_OPC_SLTEH_U_SN, 0x3, 3, TREG_SN, 1,
6241
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6242
#ifndef DISASM_ONLY
6243
    {
6244
      0x800000007ffc0000ULL,
6245
      0xfffe000000000000ULL,
6246
      0ULL,
6247
      0ULL,
6248
      0ULL
6249
    },
6250
    {
6251
      0x0000000009380000ULL,
6252
      0x0c60000000000000ULL,
6253
      -1ULL,
6254
      -1ULL,
6255
      -1ULL
6256
    }
6257
#endif
6258
  },
6259
  { "slth", TILEPRO_OPC_SLTH, 0x3, 3, TREG_ZERO, 1,
6260
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6261
#ifndef DISASM_ONLY
6262
    {
6263
      0x800000007ffc0000ULL,
6264
      0xfffe000000000000ULL,
6265
      0ULL,
6266
      0ULL,
6267
      0ULL
6268
    },
6269
    {
6270
      0x0000000001440000ULL,
6271
      0x0866000000000000ULL,
6272
      -1ULL,
6273
      -1ULL,
6274
      -1ULL
6275
    }
6276
#endif
6277
  },
6278
  { "slth.sn", TILEPRO_OPC_SLTH_SN, 0x3, 3, TREG_SN, 1,
6279
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6280
#ifndef DISASM_ONLY
6281
    {
6282
      0x800000007ffc0000ULL,
6283
      0xfffe000000000000ULL,
6284
      0ULL,
6285
      0ULL,
6286
      0ULL
6287
    },
6288
    {
6289
      0x0000000009440000ULL,
6290
      0x0c66000000000000ULL,
6291
      -1ULL,
6292
      -1ULL,
6293
      -1ULL
6294
    }
6295
#endif
6296
  },
6297
  { "slth_u", TILEPRO_OPC_SLTH_U, 0x3, 3, TREG_ZERO, 1,
6298
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6299
#ifndef DISASM_ONLY
6300
    {
6301
      0x800000007ffc0000ULL,
6302
      0xfffe000000000000ULL,
6303
      0ULL,
6304
      0ULL,
6305
      0ULL
6306
    },
6307
    {
6308
      0x0000000001480000ULL,
6309
      0x0868000000000000ULL,
6310
      -1ULL,
6311
      -1ULL,
6312
      -1ULL
6313
    }
6314
#endif
6315
  },
6316
  { "slth_u.sn", TILEPRO_OPC_SLTH_U_SN, 0x3, 3, TREG_SN, 1,
6317
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6318
#ifndef DISASM_ONLY
6319
    {
6320
      0x800000007ffc0000ULL,
6321
      0xfffe000000000000ULL,
6322
      0ULL,
6323
      0ULL,
6324
      0ULL
6325
    },
6326
    {
6327
      0x0000000009480000ULL,
6328
      0x0c68000000000000ULL,
6329
      -1ULL,
6330
      -1ULL,
6331
      -1ULL
6332
    }
6333
#endif
6334
  },
6335
  { "slti", TILEPRO_OPC_SLTI, 0xf, 3, TREG_ZERO, 1,
6336
    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
6337
#ifndef DISASM_ONLY
6338
    {
6339
      0x800000007ff00000ULL,
6340
      0xfff8000000000000ULL,
6341
      0x8000000078000000ULL,
6342
      0xf800000000000000ULL,
6343
      0ULL
6344
    },
6345
    {
6346
      0x0000000041000000ULL,
6347
      0x3098000000000000ULL,
6348
      0x8000000070000000ULL,
6349
      0xe000000000000000ULL,
6350
      -1ULL
6351
    }
6352
#endif
6353
  },
6354
  { "slti.sn", TILEPRO_OPC_SLTI_SN, 0x3, 3, TREG_SN, 1,
6355
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
6356
#ifndef DISASM_ONLY
6357
    {
6358
      0x800000007ff00000ULL,
6359
      0xfff8000000000000ULL,
6360
      0ULL,
6361
      0ULL,
6362
      0ULL
6363
    },
6364
    {
6365
      0x0000000049000000ULL,
6366
      0x3498000000000000ULL,
6367
      -1ULL,
6368
      -1ULL,
6369
      -1ULL
6370
    }
6371
#endif
6372
  },
6373
  { "slti_u", TILEPRO_OPC_SLTI_U, 0xf, 3, TREG_ZERO, 1,
6374
    { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } },
6375
#ifndef DISASM_ONLY
6376
    {
6377
      0x800000007ff00000ULL,
6378
      0xfff8000000000000ULL,
6379
      0x8000000078000000ULL,
6380
      0xf800000000000000ULL,
6381
      0ULL
6382
    },
6383
    {
6384
      0x0000000041100000ULL,
6385
      0x30a0000000000000ULL,
6386
      0x8000000078000000ULL,
6387
      0xe800000000000000ULL,
6388
      -1ULL
6389
    }
6390
#endif
6391
  },
6392
  { "slti_u.sn", TILEPRO_OPC_SLTI_U_SN, 0x3, 3, TREG_SN, 1,
6393
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
6394
#ifndef DISASM_ONLY
6395
    {
6396
      0x800000007ff00000ULL,
6397
      0xfff8000000000000ULL,
6398
      0ULL,
6399
      0ULL,
6400
      0ULL
6401
    },
6402
    {
6403
      0x0000000049100000ULL,
6404
      0x34a0000000000000ULL,
6405
      -1ULL,
6406
      -1ULL,
6407
      -1ULL
6408
    }
6409
#endif
6410
  },
6411
  { "sltib", TILEPRO_OPC_SLTIB, 0x3, 3, TREG_ZERO, 1,
6412
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
6413
#ifndef DISASM_ONLY
6414
    {
6415
      0x800000007ff00000ULL,
6416
      0xfff8000000000000ULL,
6417
      0ULL,
6418
      0ULL,
6419
      0ULL
6420
    },
6421
    {
6422
      0x0000000040c00000ULL,
6423
      0x3078000000000000ULL,
6424
      -1ULL,
6425
      -1ULL,
6426
      -1ULL
6427
    }
6428
#endif
6429
  },
6430
  { "sltib.sn", TILEPRO_OPC_SLTIB_SN, 0x3, 3, TREG_SN, 1,
6431
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
6432
#ifndef DISASM_ONLY
6433
    {
6434
      0x800000007ff00000ULL,
6435
      0xfff8000000000000ULL,
6436
      0ULL,
6437
      0ULL,
6438
      0ULL
6439
    },
6440
    {
6441
      0x0000000048c00000ULL,
6442
      0x3478000000000000ULL,
6443
      -1ULL,
6444
      -1ULL,
6445
      -1ULL
6446
    }
6447
#endif
6448
  },
6449
  { "sltib_u", TILEPRO_OPC_SLTIB_U, 0x3, 3, TREG_ZERO, 1,
6450
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
6451
#ifndef DISASM_ONLY
6452
    {
6453
      0x800000007ff00000ULL,
6454
      0xfff8000000000000ULL,
6455
      0ULL,
6456
      0ULL,
6457
      0ULL
6458
    },
6459
    {
6460
      0x0000000040d00000ULL,
6461
      0x3080000000000000ULL,
6462
      -1ULL,
6463
      -1ULL,
6464
      -1ULL
6465
    }
6466
#endif
6467
  },
6468
  { "sltib_u.sn", TILEPRO_OPC_SLTIB_U_SN, 0x3, 3, TREG_SN, 1,
6469
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
6470
#ifndef DISASM_ONLY
6471
    {
6472
      0x800000007ff00000ULL,
6473
      0xfff8000000000000ULL,
6474
      0ULL,
6475
      0ULL,
6476
      0ULL
6477
    },
6478
    {
6479
      0x0000000048d00000ULL,
6480
      0x3480000000000000ULL,
6481
      -1ULL,
6482
      -1ULL,
6483
      -1ULL
6484
    }
6485
#endif
6486
  },
6487
  { "sltih", TILEPRO_OPC_SLTIH, 0x3, 3, TREG_ZERO, 1,
6488
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
6489
#ifndef DISASM_ONLY
6490
    {
6491
      0x800000007ff00000ULL,
6492
      0xfff8000000000000ULL,
6493
      0ULL,
6494
      0ULL,
6495
      0ULL
6496
    },
6497
    {
6498
      0x0000000040e00000ULL,
6499
      0x3088000000000000ULL,
6500
      -1ULL,
6501
      -1ULL,
6502
      -1ULL
6503
    }
6504
#endif
6505
  },
6506
  { "sltih.sn", TILEPRO_OPC_SLTIH_SN, 0x3, 3, TREG_SN, 1,
6507
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
6508
#ifndef DISASM_ONLY
6509
    {
6510
      0x800000007ff00000ULL,
6511
      0xfff8000000000000ULL,
6512
      0ULL,
6513
      0ULL,
6514
      0ULL
6515
    },
6516
    {
6517
      0x0000000048e00000ULL,
6518
      0x3488000000000000ULL,
6519
      -1ULL,
6520
      -1ULL,
6521
      -1ULL
6522
    }
6523
#endif
6524
  },
6525
  { "sltih_u", TILEPRO_OPC_SLTIH_U, 0x3, 3, TREG_ZERO, 1,
6526
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
6527
#ifndef DISASM_ONLY
6528
    {
6529
      0x800000007ff00000ULL,
6530
      0xfff8000000000000ULL,
6531
      0ULL,
6532
      0ULL,
6533
      0ULL
6534
    },
6535
    {
6536
      0x0000000040f00000ULL,
6537
      0x3090000000000000ULL,
6538
      -1ULL,
6539
      -1ULL,
6540
      -1ULL
6541
    }
6542
#endif
6543
  },
6544
  { "sltih_u.sn", TILEPRO_OPC_SLTIH_U_SN, 0x3, 3, TREG_SN, 1,
6545
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
6546
#ifndef DISASM_ONLY
6547
    {
6548
      0x800000007ff00000ULL,
6549
      0xfff8000000000000ULL,
6550
      0ULL,
6551
      0ULL,
6552
      0ULL
6553
    },
6554
    {
6555
      0x0000000048f00000ULL,
6556
      0x3490000000000000ULL,
6557
      -1ULL,
6558
      -1ULL,
6559
      -1ULL
6560
    }
6561
#endif
6562
  },
6563
  { "sne", TILEPRO_OPC_SNE, 0xf, 3, TREG_ZERO, 1,
6564
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
6565
#ifndef DISASM_ONLY
6566
    {
6567
      0x800000007ffc0000ULL,
6568
      0xfffe000000000000ULL,
6569
      0x80000000780c0000ULL,
6570
      0xf806000000000000ULL,
6571
      0ULL
6572
    },
6573
    {
6574
      0x00000000015c0000ULL,
6575
      0x0872000000000000ULL,
6576
      0x80000000300c0000ULL,
6577
      0xb006000000000000ULL,
6578
      -1ULL
6579
    }
6580
#endif
6581
  },
6582
  { "sne.sn", TILEPRO_OPC_SNE_SN, 0x3, 3, TREG_SN, 1,
6583
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6584
#ifndef DISASM_ONLY
6585
    {
6586
      0x800000007ffc0000ULL,
6587
      0xfffe000000000000ULL,
6588
      0ULL,
6589
      0ULL,
6590
      0ULL
6591
    },
6592
    {
6593
      0x00000000095c0000ULL,
6594
      0x0c72000000000000ULL,
6595
      -1ULL,
6596
      -1ULL,
6597
      -1ULL
6598
    }
6599
#endif
6600
  },
6601
  { "sneb", TILEPRO_OPC_SNEB, 0x3, 3, TREG_ZERO, 1,
6602
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6603
#ifndef DISASM_ONLY
6604
    {
6605
      0x800000007ffc0000ULL,
6606
      0xfffe000000000000ULL,
6607
      0ULL,
6608
      0ULL,
6609
      0ULL
6610
    },
6611
    {
6612
      0x0000000001540000ULL,
6613
      0x086e000000000000ULL,
6614
      -1ULL,
6615
      -1ULL,
6616
      -1ULL
6617
    }
6618
#endif
6619
  },
6620
  { "sneb.sn", TILEPRO_OPC_SNEB_SN, 0x3, 3, TREG_SN, 1,
6621
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6622
#ifndef DISASM_ONLY
6623
    {
6624
      0x800000007ffc0000ULL,
6625
      0xfffe000000000000ULL,
6626
      0ULL,
6627
      0ULL,
6628
      0ULL
6629
    },
6630
    {
6631
      0x0000000009540000ULL,
6632
      0x0c6e000000000000ULL,
6633
      -1ULL,
6634
      -1ULL,
6635
      -1ULL
6636
    }
6637
#endif
6638
  },
6639
  { "sneh", TILEPRO_OPC_SNEH, 0x3, 3, TREG_ZERO, 1,
6640
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6641
#ifndef DISASM_ONLY
6642
    {
6643
      0x800000007ffc0000ULL,
6644
      0xfffe000000000000ULL,
6645
      0ULL,
6646
      0ULL,
6647
      0ULL
6648
    },
6649
    {
6650
      0x0000000001580000ULL,
6651
      0x0870000000000000ULL,
6652
      -1ULL,
6653
      -1ULL,
6654
      -1ULL
6655
    }
6656
#endif
6657
  },
6658
  { "sneh.sn", TILEPRO_OPC_SNEH_SN, 0x3, 3, TREG_SN, 1,
6659
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6660
#ifndef DISASM_ONLY
6661
    {
6662
      0x800000007ffc0000ULL,
6663
      0xfffe000000000000ULL,
6664
      0ULL,
6665
      0ULL,
6666
      0ULL
6667
    },
6668
    {
6669
      0x0000000009580000ULL,
6670
      0x0c70000000000000ULL,
6671
      -1ULL,
6672
      -1ULL,
6673
      -1ULL
6674
    }
6675
#endif
6676
  },
6677
  { "sra", TILEPRO_OPC_SRA, 0xf, 3, TREG_ZERO, 1,
6678
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
6679
#ifndef DISASM_ONLY
6680
    {
6681
      0x800000007ffc0000ULL,
6682
      0xfffe000000000000ULL,
6683
      0x80000000780c0000ULL,
6684
      0xf806000000000000ULL,
6685
      0ULL
6686
    },
6687
    {
6688
      0x0000000001680000ULL,
6689
      0x0878000000000000ULL,
6690
      0x80000000200c0000ULL,
6691
      0xa006000000000000ULL,
6692
      -1ULL
6693
    }
6694
#endif
6695
  },
6696
  { "sra.sn", TILEPRO_OPC_SRA_SN, 0x3, 3, TREG_SN, 1,
6697
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6698
#ifndef DISASM_ONLY
6699
    {
6700
      0x800000007ffc0000ULL,
6701
      0xfffe000000000000ULL,
6702
      0ULL,
6703
      0ULL,
6704
      0ULL
6705
    },
6706
    {
6707
      0x0000000009680000ULL,
6708
      0x0c78000000000000ULL,
6709
      -1ULL,
6710
      -1ULL,
6711
      -1ULL
6712
    }
6713
#endif
6714
  },
6715
  { "srab", TILEPRO_OPC_SRAB, 0x3, 3, TREG_ZERO, 1,
6716
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6717
#ifndef DISASM_ONLY
6718
    {
6719
      0x800000007ffc0000ULL,
6720
      0xfffe000000000000ULL,
6721
      0ULL,
6722
      0ULL,
6723
      0ULL
6724
    },
6725
    {
6726
      0x0000000001600000ULL,
6727
      0x0874000000000000ULL,
6728
      -1ULL,
6729
      -1ULL,
6730
      -1ULL
6731
    }
6732
#endif
6733
  },
6734
  { "srab.sn", TILEPRO_OPC_SRAB_SN, 0x3, 3, TREG_SN, 1,
6735
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6736
#ifndef DISASM_ONLY
6737
    {
6738
      0x800000007ffc0000ULL,
6739
      0xfffe000000000000ULL,
6740
      0ULL,
6741
      0ULL,
6742
      0ULL
6743
    },
6744
    {
6745
      0x0000000009600000ULL,
6746
      0x0c74000000000000ULL,
6747
      -1ULL,
6748
      -1ULL,
6749
      -1ULL
6750
    }
6751
#endif
6752
  },
6753
  { "srah", TILEPRO_OPC_SRAH, 0x3, 3, TREG_ZERO, 1,
6754
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6755
#ifndef DISASM_ONLY
6756
    {
6757
      0x800000007ffc0000ULL,
6758
      0xfffe000000000000ULL,
6759
      0ULL,
6760
      0ULL,
6761
      0ULL
6762
    },
6763
    {
6764
      0x0000000001640000ULL,
6765
      0x0876000000000000ULL,
6766
      -1ULL,
6767
      -1ULL,
6768
      -1ULL
6769
    }
6770
#endif
6771
  },
6772
  { "srah.sn", TILEPRO_OPC_SRAH_SN, 0x3, 3, TREG_SN, 1,
6773
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6774
#ifndef DISASM_ONLY
6775
    {
6776
      0x800000007ffc0000ULL,
6777
      0xfffe000000000000ULL,
6778
      0ULL,
6779
      0ULL,
6780
      0ULL
6781
    },
6782
    {
6783
      0x0000000009640000ULL,
6784
      0x0c76000000000000ULL,
6785
      -1ULL,
6786
      -1ULL,
6787
      -1ULL
6788
    }
6789
#endif
6790
  },
6791
  { "srai", TILEPRO_OPC_SRAI, 0xf, 3, TREG_ZERO, 1,
6792
    { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } },
6793
#ifndef DISASM_ONLY
6794
    {
6795
      0x800000007ffe0000ULL,
6796
      0xffff000000000000ULL,
6797
      0x80000000780e0000ULL,
6798
      0xf807000000000000ULL,
6799
      0ULL
6800
    },
6801
    {
6802
      0x0000000070140000ULL,
6803
      0x400a000000000000ULL,
6804
      0x8000000068080000ULL,
6805
      0xd804000000000000ULL,
6806
      -1ULL
6807
    }
6808
#endif
6809
  },
6810
  { "srai.sn", TILEPRO_OPC_SRAI_SN, 0x3, 3, TREG_SN, 1,
6811
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
6812
#ifndef DISASM_ONLY
6813
    {
6814
      0x800000007ffe0000ULL,
6815
      0xffff000000000000ULL,
6816
      0ULL,
6817
      0ULL,
6818
      0ULL
6819
    },
6820
    {
6821
      0x0000000078140000ULL,
6822
      0x440a000000000000ULL,
6823
      -1ULL,
6824
      -1ULL,
6825
      -1ULL
6826
    }
6827
#endif
6828
  },
6829
  { "sraib", TILEPRO_OPC_SRAIB, 0x3, 3, TREG_ZERO, 1,
6830
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
6831
#ifndef DISASM_ONLY
6832
    {
6833
      0x800000007ffe0000ULL,
6834
      0xffff000000000000ULL,
6835
      0ULL,
6836
      0ULL,
6837
      0ULL
6838
    },
6839
    {
6840
      0x0000000070100000ULL,
6841
      0x4008000000000000ULL,
6842
      -1ULL,
6843
      -1ULL,
6844
      -1ULL
6845
    }
6846
#endif
6847
  },
6848
  { "sraib.sn", TILEPRO_OPC_SRAIB_SN, 0x3, 3, TREG_SN, 1,
6849
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
6850
#ifndef DISASM_ONLY
6851
    {
6852
      0x800000007ffe0000ULL,
6853
      0xffff000000000000ULL,
6854
      0ULL,
6855
      0ULL,
6856
      0ULL
6857
    },
6858
    {
6859
      0x0000000078100000ULL,
6860
      0x4408000000000000ULL,
6861
      -1ULL,
6862
      -1ULL,
6863
      -1ULL
6864
    }
6865
#endif
6866
  },
6867
  { "sraih", TILEPRO_OPC_SRAIH, 0x3, 3, TREG_ZERO, 1,
6868
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
6869
#ifndef DISASM_ONLY
6870
    {
6871
      0x800000007ffe0000ULL,
6872
      0xffff000000000000ULL,
6873
      0ULL,
6874
      0ULL,
6875
      0ULL
6876
    },
6877
    {
6878
      0x0000000070120000ULL,
6879
      0x4009000000000000ULL,
6880
      -1ULL,
6881
      -1ULL,
6882
      -1ULL
6883
    }
6884
#endif
6885
  },
6886
  { "sraih.sn", TILEPRO_OPC_SRAIH_SN, 0x3, 3, TREG_SN, 1,
6887
    { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } },
6888
#ifndef DISASM_ONLY
6889
    {
6890
      0x800000007ffe0000ULL,
6891
      0xffff000000000000ULL,
6892
      0ULL,
6893
      0ULL,
6894
      0ULL
6895
    },
6896
    {
6897
      0x0000000078120000ULL,
6898
      0x4409000000000000ULL,
6899
      -1ULL,
6900
      -1ULL,
6901
      -1ULL
6902
    }
6903
#endif
6904
  },
6905
  { "sub", TILEPRO_OPC_SUB, 0xf, 3, TREG_ZERO, 1,
6906
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
6907
#ifndef DISASM_ONLY
6908
    {
6909
      0x800000007ffc0000ULL,
6910
      0xfffe000000000000ULL,
6911
      0x80000000780c0000ULL,
6912
      0xf806000000000000ULL,
6913
      0ULL
6914
    },
6915
    {
6916
      0x0000000001740000ULL,
6917
      0x087e000000000000ULL,
6918
      0x80000000080c0000ULL,
6919
      0x8806000000000000ULL,
6920
      -1ULL
6921
    }
6922
#endif
6923
  },
6924
  { "sub.sn", TILEPRO_OPC_SUB_SN, 0x3, 3, TREG_SN, 1,
6925
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6926
#ifndef DISASM_ONLY
6927
    {
6928
      0x800000007ffc0000ULL,
6929
      0xfffe000000000000ULL,
6930
      0ULL,
6931
      0ULL,
6932
      0ULL
6933
    },
6934
    {
6935
      0x0000000009740000ULL,
6936
      0x0c7e000000000000ULL,
6937
      -1ULL,
6938
      -1ULL,
6939
      -1ULL
6940
    }
6941
#endif
6942
  },
6943
  { "subb", TILEPRO_OPC_SUBB, 0x3, 3, TREG_ZERO, 1,
6944
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6945
#ifndef DISASM_ONLY
6946
    {
6947
      0x800000007ffc0000ULL,
6948
      0xfffe000000000000ULL,
6949
      0ULL,
6950
      0ULL,
6951
      0ULL
6952
    },
6953
    {
6954
      0x00000000016c0000ULL,
6955
      0x087a000000000000ULL,
6956
      -1ULL,
6957
      -1ULL,
6958
      -1ULL
6959
    }
6960
#endif
6961
  },
6962
  { "subb.sn", TILEPRO_OPC_SUBB_SN, 0x3, 3, TREG_SN, 1,
6963
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6964
#ifndef DISASM_ONLY
6965
    {
6966
      0x800000007ffc0000ULL,
6967
      0xfffe000000000000ULL,
6968
      0ULL,
6969
      0ULL,
6970
      0ULL
6971
    },
6972
    {
6973
      0x00000000096c0000ULL,
6974
      0x0c7a000000000000ULL,
6975
      -1ULL,
6976
      -1ULL,
6977
      -1ULL
6978
    }
6979
#endif
6980
  },
6981
  { "subbs_u", TILEPRO_OPC_SUBBS_U, 0x3, 3, TREG_ZERO, 1,
6982
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
6983
#ifndef DISASM_ONLY
6984
    {
6985
      0x800000007ffc0000ULL,
6986
      0xfffe000000000000ULL,
6987
      0ULL,
6988
      0ULL,
6989
      0ULL
6990
    },
6991
    {
6992
      0x0000000001900000ULL,
6993
      0x088c000000000000ULL,
6994
      -1ULL,
6995
      -1ULL,
6996
      -1ULL
6997
    }
6998
#endif
6999
  },
7000
  { "subbs_u.sn", TILEPRO_OPC_SUBBS_U_SN, 0x3, 3, TREG_SN, 1,
7001
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
7002
#ifndef DISASM_ONLY
7003
    {
7004
      0x800000007ffc0000ULL,
7005
      0xfffe000000000000ULL,
7006
      0ULL,
7007
      0ULL,
7008
      0ULL
7009
    },
7010
    {
7011
      0x0000000009900000ULL,
7012
      0x0c8c000000000000ULL,
7013
      -1ULL,
7014
      -1ULL,
7015
      -1ULL
7016
    }
7017
#endif
7018
  },
7019
  { "subh", TILEPRO_OPC_SUBH, 0x3, 3, TREG_ZERO, 1,
7020
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
7021
#ifndef DISASM_ONLY
7022
    {
7023
      0x800000007ffc0000ULL,
7024
      0xfffe000000000000ULL,
7025
      0ULL,
7026
      0ULL,
7027
      0ULL
7028
    },
7029
    {
7030
      0x0000000001700000ULL,
7031
      0x087c000000000000ULL,
7032
      -1ULL,
7033
      -1ULL,
7034
      -1ULL
7035
    }
7036
#endif
7037
  },
7038
  { "subh.sn", TILEPRO_OPC_SUBH_SN, 0x3, 3, TREG_SN, 1,
7039
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
7040
#ifndef DISASM_ONLY
7041
    {
7042
      0x800000007ffc0000ULL,
7043
      0xfffe000000000000ULL,
7044
      0ULL,
7045
      0ULL,
7046
      0ULL
7047
    },
7048
    {
7049
      0x0000000009700000ULL,
7050
      0x0c7c000000000000ULL,
7051
      -1ULL,
7052
      -1ULL,
7053
      -1ULL
7054
    }
7055
#endif
7056
  },
7057
  { "subhs", TILEPRO_OPC_SUBHS, 0x3, 3, TREG_ZERO, 1,
7058
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
7059
#ifndef DISASM_ONLY
7060
    {
7061
      0x800000007ffc0000ULL,
7062
      0xfffe000000000000ULL,
7063
      0ULL,
7064
      0ULL,
7065
      0ULL
7066
    },
7067
    {
7068
      0x0000000001940000ULL,
7069
      0x088e000000000000ULL,
7070
      -1ULL,
7071
      -1ULL,
7072
      -1ULL
7073
    }
7074
#endif
7075
  },
7076
  { "subhs.sn", TILEPRO_OPC_SUBHS_SN, 0x3, 3, TREG_SN, 1,
7077
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
7078
#ifndef DISASM_ONLY
7079
    {
7080
      0x800000007ffc0000ULL,
7081
      0xfffe000000000000ULL,
7082
      0ULL,
7083
      0ULL,
7084
      0ULL
7085
    },
7086
    {
7087
      0x0000000009940000ULL,
7088
      0x0c8e000000000000ULL,
7089
      -1ULL,
7090
      -1ULL,
7091
      -1ULL
7092
    }
7093
#endif
7094
  },
7095
  { "subs", TILEPRO_OPC_SUBS, 0x3, 3, TREG_ZERO, 1,
7096
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
7097
#ifndef DISASM_ONLY
7098
    {
7099
      0x800000007ffc0000ULL,
7100
      0xfffe000000000000ULL,
7101
      0ULL,
7102
      0ULL,
7103
      0ULL
7104
    },
7105
    {
7106
      0x0000000001840000ULL,
7107
      0x0886000000000000ULL,
7108
      -1ULL,
7109
      -1ULL,
7110
      -1ULL
7111
    }
7112
#endif
7113
  },
7114
  { "subs.sn", TILEPRO_OPC_SUBS_SN, 0x3, 3, TREG_SN, 1,
7115
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
7116
#ifndef DISASM_ONLY
7117
    {
7118
      0x800000007ffc0000ULL,
7119
      0xfffe000000000000ULL,
7120
      0ULL,
7121
      0ULL,
7122
      0ULL
7123
    },
7124
    {
7125
      0x0000000009840000ULL,
7126
      0x0c86000000000000ULL,
7127
      -1ULL,
7128
      -1ULL,
7129
      -1ULL
7130
    }
7131
#endif
7132
  },
7133
  { "sw", TILEPRO_OPC_SW, 0x12, 2, TREG_ZERO, 1,
7134
    { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } },
7135
#ifndef DISASM_ONLY
7136
    {
7137
      0ULL,
7138
      0xfbfe000000000000ULL,
7139
      0ULL,
7140
      0ULL,
7141
      0x8700000000000000ULL
7142
    },
7143
    {
7144
      -1ULL,
7145
      0x0880000000000000ULL,
7146
      -1ULL,
7147
      -1ULL,
7148
      0x8700000000000000ULL
7149
    }
7150
#endif
7151
  },
7152
  { "swadd", TILEPRO_OPC_SWADD, 0x2, 3, TREG_ZERO, 1,
7153
    { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } },
7154
#ifndef DISASM_ONLY
7155
    {
7156
      0ULL,
7157
      0xfbf8000000000000ULL,
7158
      0ULL,
7159
      0ULL,
7160
      0ULL
7161
    },
7162
    {
7163
      -1ULL,
7164
      0x30f0000000000000ULL,
7165
      -1ULL,
7166
      -1ULL,
7167
      -1ULL
7168
    }
7169
#endif
7170
  },
7171
  { "swint0", TILEPRO_OPC_SWINT0, 0x2, 0, TREG_ZERO, 0,
7172
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
7173
#ifndef DISASM_ONLY
7174
    {
7175
      0ULL,
7176
      0xfbfff80000000000ULL,
7177
      0ULL,
7178
      0ULL,
7179
      0ULL
7180
    },
7181
    {
7182
      -1ULL,
7183
      0x400b900000000000ULL,
7184
      -1ULL,
7185
      -1ULL,
7186
      -1ULL
7187
    }
7188
#endif
7189
  },
7190
  { "swint1", TILEPRO_OPC_SWINT1, 0x2, 0, TREG_ZERO, 0,
7191
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
7192
#ifndef DISASM_ONLY
7193
    {
7194
      0ULL,
7195
      0xfbfff80000000000ULL,
7196
      0ULL,
7197
      0ULL,
7198
      0ULL
7199
    },
7200
    {
7201
      -1ULL,
7202
      0x400b980000000000ULL,
7203
      -1ULL,
7204
      -1ULL,
7205
      -1ULL
7206
    }
7207
#endif
7208
  },
7209
  { "swint2", TILEPRO_OPC_SWINT2, 0x2, 0, TREG_ZERO, 0,
7210
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
7211
#ifndef DISASM_ONLY
7212
    {
7213
      0ULL,
7214
      0xfbfff80000000000ULL,
7215
      0ULL,
7216
      0ULL,
7217
      0ULL
7218
    },
7219
    {
7220
      -1ULL,
7221
      0x400ba00000000000ULL,
7222
      -1ULL,
7223
      -1ULL,
7224
      -1ULL
7225
    }
7226
#endif
7227
  },
7228
  { "swint3", TILEPRO_OPC_SWINT3, 0x2, 0, TREG_ZERO, 0,
7229
    { { 0, }, {  }, { 0, }, { 0, }, { 0, } },
7230
#ifndef DISASM_ONLY
7231
    {
7232
      0ULL,
7233
      0xfbfff80000000000ULL,
7234
      0ULL,
7235
      0ULL,
7236
      0ULL
7237
    },
7238
    {
7239
      -1ULL,
7240
      0x400ba80000000000ULL,
7241
      -1ULL,
7242
      -1ULL,
7243
      -1ULL
7244
    }
7245
#endif
7246
  },
7247
  { "tblidxb0", TILEPRO_OPC_TBLIDXB0, 0x5, 2, TREG_ZERO, 1,
7248
    { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
7249
#ifndef DISASM_ONLY
7250
    {
7251
      0x800000007ffff000ULL,
7252
      0ULL,
7253
      0x80000000780ff000ULL,
7254
      0ULL,
7255
      0ULL
7256
    },
7257
    {
7258
      0x0000000070168000ULL,
7259
      -1ULL,
7260
      0x80000000680a8000ULL,
7261
      -1ULL,
7262
      -1ULL
7263
    }
7264
#endif
7265
  },
7266
  { "tblidxb0.sn", TILEPRO_OPC_TBLIDXB0_SN, 0x1, 2, TREG_SN, 1,
7267
    { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
7268
#ifndef DISASM_ONLY
7269
    {
7270
      0x800000007ffff000ULL,
7271
      0ULL,
7272
      0ULL,
7273
      0ULL,
7274
      0ULL
7275
    },
7276
    {
7277
      0x0000000078168000ULL,
7278
      -1ULL,
7279
      -1ULL,
7280
      -1ULL,
7281
      -1ULL
7282
    }
7283
#endif
7284
  },
7285
  { "tblidxb1", TILEPRO_OPC_TBLIDXB1, 0x5, 2, TREG_ZERO, 1,
7286
    { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
7287
#ifndef DISASM_ONLY
7288
    {
7289
      0x800000007ffff000ULL,
7290
      0ULL,
7291
      0x80000000780ff000ULL,
7292
      0ULL,
7293
      0ULL
7294
    },
7295
    {
7296
      0x0000000070169000ULL,
7297
      -1ULL,
7298
      0x80000000680a9000ULL,
7299
      -1ULL,
7300
      -1ULL
7301
    }
7302
#endif
7303
  },
7304
  { "tblidxb1.sn", TILEPRO_OPC_TBLIDXB1_SN, 0x1, 2, TREG_SN, 1,
7305
    { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
7306
#ifndef DISASM_ONLY
7307
    {
7308
      0x800000007ffff000ULL,
7309
      0ULL,
7310
      0ULL,
7311
      0ULL,
7312
      0ULL
7313
    },
7314
    {
7315
      0x0000000078169000ULL,
7316
      -1ULL,
7317
      -1ULL,
7318
      -1ULL,
7319
      -1ULL
7320
    }
7321
#endif
7322
  },
7323
  { "tblidxb2", TILEPRO_OPC_TBLIDXB2, 0x5, 2, TREG_ZERO, 1,
7324
    { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
7325
#ifndef DISASM_ONLY
7326
    {
7327
      0x800000007ffff000ULL,
7328
      0ULL,
7329
      0x80000000780ff000ULL,
7330
      0ULL,
7331
      0ULL
7332
    },
7333
    {
7334
      0x000000007016a000ULL,
7335
      -1ULL,
7336
      0x80000000680aa000ULL,
7337
      -1ULL,
7338
      -1ULL
7339
    }
7340
#endif
7341
  },
7342
  { "tblidxb2.sn", TILEPRO_OPC_TBLIDXB2_SN, 0x1, 2, TREG_SN, 1,
7343
    { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
7344
#ifndef DISASM_ONLY
7345
    {
7346
      0x800000007ffff000ULL,
7347
      0ULL,
7348
      0ULL,
7349
      0ULL,
7350
      0ULL
7351
    },
7352
    {
7353
      0x000000007816a000ULL,
7354
      -1ULL,
7355
      -1ULL,
7356
      -1ULL,
7357
      -1ULL
7358
    }
7359
#endif
7360
  },
7361
  { "tblidxb3", TILEPRO_OPC_TBLIDXB3, 0x5, 2, TREG_ZERO, 1,
7362
    { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } },
7363
#ifndef DISASM_ONLY
7364
    {
7365
      0x800000007ffff000ULL,
7366
      0ULL,
7367
      0x80000000780ff000ULL,
7368
      0ULL,
7369
      0ULL
7370
    },
7371
    {
7372
      0x000000007016b000ULL,
7373
      -1ULL,
7374
      0x80000000680ab000ULL,
7375
      -1ULL,
7376
      -1ULL
7377
    }
7378
#endif
7379
  },
7380
  { "tblidxb3.sn", TILEPRO_OPC_TBLIDXB3_SN, 0x1, 2, TREG_SN, 1,
7381
    { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } },
7382
#ifndef DISASM_ONLY
7383
    {
7384
      0x800000007ffff000ULL,
7385
      0ULL,
7386
      0ULL,
7387
      0ULL,
7388
      0ULL
7389
    },
7390
    {
7391
      0x000000007816b000ULL,
7392
      -1ULL,
7393
      -1ULL,
7394
      -1ULL,
7395
      -1ULL
7396
    }
7397
#endif
7398
  },
7399
  { "tns", TILEPRO_OPC_TNS, 0x2, 2, TREG_ZERO, 1,
7400
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
7401
#ifndef DISASM_ONLY
7402
    {
7403
      0ULL,
7404
      0xfffff80000000000ULL,
7405
      0ULL,
7406
      0ULL,
7407
      0ULL
7408
    },
7409
    {
7410
      -1ULL,
7411
      0x400bb00000000000ULL,
7412
      -1ULL,
7413
      -1ULL,
7414
      -1ULL
7415
    }
7416
#endif
7417
  },
7418
  { "tns.sn", TILEPRO_OPC_TNS_SN, 0x2, 2, TREG_SN, 1,
7419
    { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } },
7420
#ifndef DISASM_ONLY
7421
    {
7422
      0ULL,
7423
      0xfffff80000000000ULL,
7424
      0ULL,
7425
      0ULL,
7426
      0ULL
7427
    },
7428
    {
7429
      -1ULL,
7430
      0x440bb00000000000ULL,
7431
      -1ULL,
7432
      -1ULL,
7433
      -1ULL
7434
    }
7435
#endif
7436
  },
7437
  { "wh64", TILEPRO_OPC_WH64, 0x2, 1, TREG_ZERO, 1,
7438
    { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } },
7439
#ifndef DISASM_ONLY
7440
    {
7441
      0ULL,
7442
      0xfbfff80000000000ULL,
7443
      0ULL,
7444
      0ULL,
7445
      0ULL
7446
    },
7447
    {
7448
      -1ULL,
7449
      0x400bb80000000000ULL,
7450
      -1ULL,
7451
      -1ULL,
7452
      -1ULL
7453
    }
7454
#endif
7455
  },
7456
  { "xor", TILEPRO_OPC_XOR, 0xf, 3, TREG_ZERO, 1,
7457
    { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } },
7458
#ifndef DISASM_ONLY
7459
    {
7460
      0x800000007ffc0000ULL,
7461
      0xfffe000000000000ULL,
7462
      0x80000000780c0000ULL,
7463
      0xf806000000000000ULL,
7464
      0ULL
7465
    },
7466
    {
7467
      0x0000000001780000ULL,
7468
      0x0882000000000000ULL,
7469
      0x80000000180c0000ULL,
7470
      0x9806000000000000ULL,
7471
      -1ULL
7472
    }
7473
#endif
7474
  },
7475
  { "xor.sn", TILEPRO_OPC_XOR_SN, 0x3, 3, TREG_SN, 1,
7476
    { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } },
7477
#ifndef DISASM_ONLY
7478
    {
7479
      0x800000007ffc0000ULL,
7480
      0xfffe000000000000ULL,
7481
      0ULL,
7482
      0ULL,
7483
      0ULL
7484
    },
7485
    {
7486
      0x0000000009780000ULL,
7487
      0x0c82000000000000ULL,
7488
      -1ULL,
7489
      -1ULL,
7490
      -1ULL
7491
    }
7492
#endif
7493
  },
7494
  { "xori", TILEPRO_OPC_XORI, 0x3, 3, TREG_ZERO, 1,
7495
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
7496
#ifndef DISASM_ONLY
7497
    {
7498
      0x800000007ff00000ULL,
7499
      0xfff8000000000000ULL,
7500
      0ULL,
7501
      0ULL,
7502
      0ULL
7503
    },
7504
    {
7505
      0x0000000050200000ULL,
7506
      0x30a8000000000000ULL,
7507
      -1ULL,
7508
      -1ULL,
7509
      -1ULL
7510
    }
7511
#endif
7512
  },
7513
  { "xori.sn", TILEPRO_OPC_XORI_SN, 0x3, 3, TREG_SN, 1,
7514
    { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } },
7515
#ifndef DISASM_ONLY
7516
    {
7517
      0x800000007ff00000ULL,
7518
      0xfff8000000000000ULL,
7519
      0ULL,
7520
      0ULL,
7521
      0ULL
7522
    },
7523
    {
7524
      0x0000000058200000ULL,
7525
      0x34a8000000000000ULL,
7526
      -1ULL,
7527
      -1ULL,
7528
      -1ULL
7529
    }
7530
#endif
7531
  },
7532
  { NULL, TILEPRO_OPC_NONE, 0, 0, TREG_ZERO, 0, { { 0, } },
7533
#ifndef DISASM_ONLY
7534
    { 0, }, { 0, }
7535
#endif
7536
  }
7537
};
7538
 
7539
#define BITFIELD(start, size) ((start) | (((1 << (size)) - 1) << 6))
7540
#define CHILD(array_index) (TILEPRO_OPC_NONE + (array_index))
7541
 
7542
static const unsigned short decode_X0_fsm[1153] =
7543
{
7544
  BITFIELD(22, 9) /* index 0 */,
7545
  CHILD(513), CHILD(530), CHILD(547), CHILD(564), CHILD(596), CHILD(613),
7546
  CHILD(630), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7547
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7548
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7549
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7550
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7551
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7552
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(663), CHILD(680), CHILD(697),
7553
  CHILD(714), CHILD(746), CHILD(763), CHILD(780), TILEPRO_OPC_NONE,
7554
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7555
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7556
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7557
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7558
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7559
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7560
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
7561
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
7562
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
7563
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
7564
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
7565
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
7566
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
7567
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
7568
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
7569
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813),
7570
  CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(828), CHILD(828),
7571
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
7572
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
7573
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
7574
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
7575
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
7576
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
7577
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
7578
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
7579
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
7580
  CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828),
7581
  CHILD(828), CHILD(828), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
7582
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
7583
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
7584
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
7585
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
7586
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
7587
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
7588
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
7589
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
7590
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
7591
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
7592
  CHILD(873), CHILD(878), CHILD(883), CHILD(903), CHILD(908),
7593
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7594
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7595
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7596
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7597
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7598
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7599
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(913),
7600
  CHILD(918), CHILD(923), CHILD(943), CHILD(948), TILEPRO_OPC_NONE,
7601
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7602
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7603
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7604
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7605
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7606
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7607
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(953), TILEPRO_OPC_NONE,
7608
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7609
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7610
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7611
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7612
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7613
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7614
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7615
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(988), TILEPRO_OPC_NONE,
7616
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7617
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7618
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7619
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7620
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7621
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7622
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7623
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7624
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7625
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7626
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7627
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7628
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7629
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7630
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7631
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7632
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7633
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7634
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7635
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7636
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7637
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7638
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7639
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, CHILD(993), TILEPRO_OPC_NONE,
7640
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7641
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7642
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7643
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7644
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7645
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7646
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7647
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(1076), TILEPRO_OPC_NONE,
7648
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7649
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7650
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7651
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7652
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7653
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7654
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7655
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7656
  BITFIELD(18, 4) /* index 513 */,
7657
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDB, TILEPRO_OPC_ADDH, TILEPRO_OPC_ADD,
7658
  TILEPRO_OPC_ADIFFB_U, TILEPRO_OPC_ADIFFH, TILEPRO_OPC_AND,
7659
  TILEPRO_OPC_AVGB_U, TILEPRO_OPC_AVGH, TILEPRO_OPC_CRC32_32,
7660
  TILEPRO_OPC_CRC32_8, TILEPRO_OPC_INTHB, TILEPRO_OPC_INTHH,
7661
  TILEPRO_OPC_INTLB, TILEPRO_OPC_INTLH, TILEPRO_OPC_MAXB_U,
7662
  BITFIELD(18, 4) /* index 530 */,
7663
  TILEPRO_OPC_MAXH, TILEPRO_OPC_MINB_U, TILEPRO_OPC_MINH, TILEPRO_OPC_MNZB,
7664
  TILEPRO_OPC_MNZH, TILEPRO_OPC_MNZ, TILEPRO_OPC_MULHHA_SS,
7665
  TILEPRO_OPC_MULHHA_SU, TILEPRO_OPC_MULHHA_UU, TILEPRO_OPC_MULHHSA_UU,
7666
  TILEPRO_OPC_MULHH_SS, TILEPRO_OPC_MULHH_SU, TILEPRO_OPC_MULHH_UU,
7667
  TILEPRO_OPC_MULHLA_SS, TILEPRO_OPC_MULHLA_SU, TILEPRO_OPC_MULHLA_US,
7668
  BITFIELD(18, 4) /* index 547 */,
7669
  TILEPRO_OPC_MULHLA_UU, TILEPRO_OPC_MULHLSA_UU, TILEPRO_OPC_MULHL_SS,
7670
  TILEPRO_OPC_MULHL_SU, TILEPRO_OPC_MULHL_US, TILEPRO_OPC_MULHL_UU,
7671
  TILEPRO_OPC_MULLLA_SS, TILEPRO_OPC_MULLLA_SU, TILEPRO_OPC_MULLLA_UU,
7672
  TILEPRO_OPC_MULLLSA_UU, TILEPRO_OPC_MULLL_SS, TILEPRO_OPC_MULLL_SU,
7673
  TILEPRO_OPC_MULLL_UU, TILEPRO_OPC_MVNZ, TILEPRO_OPC_MVZ, TILEPRO_OPC_MZB,
7674
  BITFIELD(18, 4) /* index 564 */,
7675
  TILEPRO_OPC_MZH, TILEPRO_OPC_MZ, TILEPRO_OPC_NOR, CHILD(581),
7676
  TILEPRO_OPC_PACKHB, TILEPRO_OPC_PACKLB, TILEPRO_OPC_RL, TILEPRO_OPC_S1A,
7677
  TILEPRO_OPC_S2A, TILEPRO_OPC_S3A, TILEPRO_OPC_SADAB_U, TILEPRO_OPC_SADAH,
7678
  TILEPRO_OPC_SADAH_U, TILEPRO_OPC_SADB_U, TILEPRO_OPC_SADH,
7679
  TILEPRO_OPC_SADH_U,
7680
  BITFIELD(12, 2) /* index 581 */,
7681
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(586),
7682
  BITFIELD(14, 2) /* index 586 */,
7683
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(591),
7684
  BITFIELD(16, 2) /* index 591 */,
7685
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
7686
  BITFIELD(18, 4) /* index 596 */,
7687
  TILEPRO_OPC_SEQB, TILEPRO_OPC_SEQH, TILEPRO_OPC_SEQ, TILEPRO_OPC_SHLB,
7688
  TILEPRO_OPC_SHLH, TILEPRO_OPC_SHL, TILEPRO_OPC_SHRB, TILEPRO_OPC_SHRH,
7689
  TILEPRO_OPC_SHR, TILEPRO_OPC_SLTB, TILEPRO_OPC_SLTB_U, TILEPRO_OPC_SLTEB,
7690
  TILEPRO_OPC_SLTEB_U, TILEPRO_OPC_SLTEH, TILEPRO_OPC_SLTEH_U,
7691
  TILEPRO_OPC_SLTE,
7692
  BITFIELD(18, 4) /* index 613 */,
7693
  TILEPRO_OPC_SLTE_U, TILEPRO_OPC_SLTH, TILEPRO_OPC_SLTH_U, TILEPRO_OPC_SLT,
7694
  TILEPRO_OPC_SLT_U, TILEPRO_OPC_SNEB, TILEPRO_OPC_SNEH, TILEPRO_OPC_SNE,
7695
  TILEPRO_OPC_SRAB, TILEPRO_OPC_SRAH, TILEPRO_OPC_SRA, TILEPRO_OPC_SUBB,
7696
  TILEPRO_OPC_SUBH, TILEPRO_OPC_SUB, TILEPRO_OPC_XOR, TILEPRO_OPC_DWORD_ALIGN,
7697
  BITFIELD(18, 3) /* index 630 */,
7698
  CHILD(639), CHILD(642), CHILD(645), CHILD(648), CHILD(651), CHILD(654),
7699
  CHILD(657), CHILD(660),
7700
  BITFIELD(21, 1) /* index 639 */,
7701
  TILEPRO_OPC_ADDS, TILEPRO_OPC_NONE,
7702
  BITFIELD(21, 1) /* index 642 */,
7703
  TILEPRO_OPC_SUBS, TILEPRO_OPC_NONE,
7704
  BITFIELD(21, 1) /* index 645 */,
7705
  TILEPRO_OPC_ADDBS_U, TILEPRO_OPC_NONE,
7706
  BITFIELD(21, 1) /* index 648 */,
7707
  TILEPRO_OPC_ADDHS, TILEPRO_OPC_NONE,
7708
  BITFIELD(21, 1) /* index 651 */,
7709
  TILEPRO_OPC_SUBBS_U, TILEPRO_OPC_NONE,
7710
  BITFIELD(21, 1) /* index 654 */,
7711
  TILEPRO_OPC_SUBHS, TILEPRO_OPC_NONE,
7712
  BITFIELD(21, 1) /* index 657 */,
7713
  TILEPRO_OPC_PACKHS, TILEPRO_OPC_NONE,
7714
  BITFIELD(21, 1) /* index 660 */,
7715
  TILEPRO_OPC_PACKBS_U, TILEPRO_OPC_NONE,
7716
  BITFIELD(18, 4) /* index 663 */,
7717
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDB_SN, TILEPRO_OPC_ADDH_SN,
7718
  TILEPRO_OPC_ADD_SN, TILEPRO_OPC_ADIFFB_U_SN, TILEPRO_OPC_ADIFFH_SN,
7719
  TILEPRO_OPC_AND_SN, TILEPRO_OPC_AVGB_U_SN, TILEPRO_OPC_AVGH_SN,
7720
  TILEPRO_OPC_CRC32_32_SN, TILEPRO_OPC_CRC32_8_SN, TILEPRO_OPC_INTHB_SN,
7721
  TILEPRO_OPC_INTHH_SN, TILEPRO_OPC_INTLB_SN, TILEPRO_OPC_INTLH_SN,
7722
  TILEPRO_OPC_MAXB_U_SN,
7723
  BITFIELD(18, 4) /* index 680 */,
7724
  TILEPRO_OPC_MAXH_SN, TILEPRO_OPC_MINB_U_SN, TILEPRO_OPC_MINH_SN,
7725
  TILEPRO_OPC_MNZB_SN, TILEPRO_OPC_MNZH_SN, TILEPRO_OPC_MNZ_SN,
7726
  TILEPRO_OPC_MULHHA_SS_SN, TILEPRO_OPC_MULHHA_SU_SN,
7727
  TILEPRO_OPC_MULHHA_UU_SN, TILEPRO_OPC_MULHHSA_UU_SN,
7728
  TILEPRO_OPC_MULHH_SS_SN, TILEPRO_OPC_MULHH_SU_SN, TILEPRO_OPC_MULHH_UU_SN,
7729
  TILEPRO_OPC_MULHLA_SS_SN, TILEPRO_OPC_MULHLA_SU_SN,
7730
  TILEPRO_OPC_MULHLA_US_SN,
7731
  BITFIELD(18, 4) /* index 697 */,
7732
  TILEPRO_OPC_MULHLA_UU_SN, TILEPRO_OPC_MULHLSA_UU_SN,
7733
  TILEPRO_OPC_MULHL_SS_SN, TILEPRO_OPC_MULHL_SU_SN, TILEPRO_OPC_MULHL_US_SN,
7734
  TILEPRO_OPC_MULHL_UU_SN, TILEPRO_OPC_MULLLA_SS_SN, TILEPRO_OPC_MULLLA_SU_SN,
7735
  TILEPRO_OPC_MULLLA_UU_SN, TILEPRO_OPC_MULLLSA_UU_SN,
7736
  TILEPRO_OPC_MULLL_SS_SN, TILEPRO_OPC_MULLL_SU_SN, TILEPRO_OPC_MULLL_UU_SN,
7737
  TILEPRO_OPC_MVNZ_SN, TILEPRO_OPC_MVZ_SN, TILEPRO_OPC_MZB_SN,
7738
  BITFIELD(18, 4) /* index 714 */,
7739
  TILEPRO_OPC_MZH_SN, TILEPRO_OPC_MZ_SN, TILEPRO_OPC_NOR_SN, CHILD(731),
7740
  TILEPRO_OPC_PACKHB_SN, TILEPRO_OPC_PACKLB_SN, TILEPRO_OPC_RL_SN,
7741
  TILEPRO_OPC_S1A_SN, TILEPRO_OPC_S2A_SN, TILEPRO_OPC_S3A_SN,
7742
  TILEPRO_OPC_SADAB_U_SN, TILEPRO_OPC_SADAH_SN, TILEPRO_OPC_SADAH_U_SN,
7743
  TILEPRO_OPC_SADB_U_SN, TILEPRO_OPC_SADH_SN, TILEPRO_OPC_SADH_U_SN,
7744
  BITFIELD(12, 2) /* index 731 */,
7745
  TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(736),
7746
  BITFIELD(14, 2) /* index 736 */,
7747
  TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(741),
7748
  BITFIELD(16, 2) /* index 741 */,
7749
  TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN,
7750
  TILEPRO_OPC_MOVE_SN,
7751
  BITFIELD(18, 4) /* index 746 */,
7752
  TILEPRO_OPC_SEQB_SN, TILEPRO_OPC_SEQH_SN, TILEPRO_OPC_SEQ_SN,
7753
  TILEPRO_OPC_SHLB_SN, TILEPRO_OPC_SHLH_SN, TILEPRO_OPC_SHL_SN,
7754
  TILEPRO_OPC_SHRB_SN, TILEPRO_OPC_SHRH_SN, TILEPRO_OPC_SHR_SN,
7755
  TILEPRO_OPC_SLTB_SN, TILEPRO_OPC_SLTB_U_SN, TILEPRO_OPC_SLTEB_SN,
7756
  TILEPRO_OPC_SLTEB_U_SN, TILEPRO_OPC_SLTEH_SN, TILEPRO_OPC_SLTEH_U_SN,
7757
  TILEPRO_OPC_SLTE_SN,
7758
  BITFIELD(18, 4) /* index 763 */,
7759
  TILEPRO_OPC_SLTE_U_SN, TILEPRO_OPC_SLTH_SN, TILEPRO_OPC_SLTH_U_SN,
7760
  TILEPRO_OPC_SLT_SN, TILEPRO_OPC_SLT_U_SN, TILEPRO_OPC_SNEB_SN,
7761
  TILEPRO_OPC_SNEH_SN, TILEPRO_OPC_SNE_SN, TILEPRO_OPC_SRAB_SN,
7762
  TILEPRO_OPC_SRAH_SN, TILEPRO_OPC_SRA_SN, TILEPRO_OPC_SUBB_SN,
7763
  TILEPRO_OPC_SUBH_SN, TILEPRO_OPC_SUB_SN, TILEPRO_OPC_XOR_SN,
7764
  TILEPRO_OPC_DWORD_ALIGN_SN,
7765
  BITFIELD(18, 3) /* index 780 */,
7766
  CHILD(789), CHILD(792), CHILD(795), CHILD(798), CHILD(801), CHILD(804),
7767
  CHILD(807), CHILD(810),
7768
  BITFIELD(21, 1) /* index 789 */,
7769
  TILEPRO_OPC_ADDS_SN, TILEPRO_OPC_NONE,
7770
  BITFIELD(21, 1) /* index 792 */,
7771
  TILEPRO_OPC_SUBS_SN, TILEPRO_OPC_NONE,
7772
  BITFIELD(21, 1) /* index 795 */,
7773
  TILEPRO_OPC_ADDBS_U_SN, TILEPRO_OPC_NONE,
7774
  BITFIELD(21, 1) /* index 798 */,
7775
  TILEPRO_OPC_ADDHS_SN, TILEPRO_OPC_NONE,
7776
  BITFIELD(21, 1) /* index 801 */,
7777
  TILEPRO_OPC_SUBBS_U_SN, TILEPRO_OPC_NONE,
7778
  BITFIELD(21, 1) /* index 804 */,
7779
  TILEPRO_OPC_SUBHS_SN, TILEPRO_OPC_NONE,
7780
  BITFIELD(21, 1) /* index 807 */,
7781
  TILEPRO_OPC_PACKHS_SN, TILEPRO_OPC_NONE,
7782
  BITFIELD(21, 1) /* index 810 */,
7783
  TILEPRO_OPC_PACKBS_U_SN, TILEPRO_OPC_NONE,
7784
  BITFIELD(6, 2) /* index 813 */,
7785
  TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
7786
  CHILD(818),
7787
  BITFIELD(8, 2) /* index 818 */,
7788
  TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
7789
  CHILD(823),
7790
  BITFIELD(10, 2) /* index 823 */,
7791
  TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
7792
  TILEPRO_OPC_MOVELI_SN,
7793
  BITFIELD(6, 2) /* index 828 */,
7794
  TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(833),
7795
  BITFIELD(8, 2) /* index 833 */,
7796
  TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(838),
7797
  BITFIELD(10, 2) /* index 838 */,
7798
  TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_MOVELI,
7799
  BITFIELD(0, 2) /* index 843 */,
7800
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(848),
7801
  BITFIELD(2, 2) /* index 848 */,
7802
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(853),
7803
  BITFIELD(4, 2) /* index 853 */,
7804
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(858),
7805
  BITFIELD(6, 2) /* index 858 */,
7806
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(863),
7807
  BITFIELD(8, 2) /* index 863 */,
7808
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(868),
7809
  BITFIELD(10, 2) /* index 868 */,
7810
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_INFOL,
7811
  BITFIELD(20, 2) /* index 873 */,
7812
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDIB, TILEPRO_OPC_ADDIH, TILEPRO_OPC_ADDI,
7813
  BITFIELD(20, 2) /* index 878 */,
7814
  TILEPRO_OPC_MAXIB_U, TILEPRO_OPC_MAXIH, TILEPRO_OPC_MINIB_U,
7815
  TILEPRO_OPC_MINIH,
7816
  BITFIELD(20, 2) /* index 883 */,
7817
  CHILD(888), TILEPRO_OPC_SEQIB, TILEPRO_OPC_SEQIH, TILEPRO_OPC_SEQI,
7818
  BITFIELD(6, 2) /* index 888 */,
7819
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(893),
7820
  BITFIELD(8, 2) /* index 893 */,
7821
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(898),
7822
  BITFIELD(10, 2) /* index 898 */,
7823
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
7824
  BITFIELD(20, 2) /* index 903 */,
7825
  TILEPRO_OPC_SLTIB, TILEPRO_OPC_SLTIB_U, TILEPRO_OPC_SLTIH,
7826
  TILEPRO_OPC_SLTIH_U,
7827
  BITFIELD(20, 2) /* index 908 */,
7828
  TILEPRO_OPC_SLTI, TILEPRO_OPC_SLTI_U, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7829
  BITFIELD(20, 2) /* index 913 */,
7830
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDIB_SN, TILEPRO_OPC_ADDIH_SN,
7831
  TILEPRO_OPC_ADDI_SN,
7832
  BITFIELD(20, 2) /* index 918 */,
7833
  TILEPRO_OPC_MAXIB_U_SN, TILEPRO_OPC_MAXIH_SN, TILEPRO_OPC_MINIB_U_SN,
7834
  TILEPRO_OPC_MINIH_SN,
7835
  BITFIELD(20, 2) /* index 923 */,
7836
  CHILD(928), TILEPRO_OPC_SEQIB_SN, TILEPRO_OPC_SEQIH_SN, TILEPRO_OPC_SEQI_SN,
7837
  BITFIELD(6, 2) /* index 928 */,
7838
  TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(933),
7839
  BITFIELD(8, 2) /* index 933 */,
7840
  TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(938),
7841
  BITFIELD(10, 2) /* index 938 */,
7842
  TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN,
7843
  TILEPRO_OPC_MOVEI_SN,
7844
  BITFIELD(20, 2) /* index 943 */,
7845
  TILEPRO_OPC_SLTIB_SN, TILEPRO_OPC_SLTIB_U_SN, TILEPRO_OPC_SLTIH_SN,
7846
  TILEPRO_OPC_SLTIH_U_SN,
7847
  BITFIELD(20, 2) /* index 948 */,
7848
  TILEPRO_OPC_SLTI_SN, TILEPRO_OPC_SLTI_U_SN, TILEPRO_OPC_NONE,
7849
  TILEPRO_OPC_NONE,
7850
  BITFIELD(20, 2) /* index 953 */,
7851
  TILEPRO_OPC_NONE, CHILD(958), TILEPRO_OPC_XORI, TILEPRO_OPC_NONE,
7852
  BITFIELD(0, 2) /* index 958 */,
7853
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(963),
7854
  BITFIELD(2, 2) /* index 963 */,
7855
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(968),
7856
  BITFIELD(4, 2) /* index 968 */,
7857
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(973),
7858
  BITFIELD(6, 2) /* index 973 */,
7859
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(978),
7860
  BITFIELD(8, 2) /* index 978 */,
7861
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(983),
7862
  BITFIELD(10, 2) /* index 983 */,
7863
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
7864
  BITFIELD(20, 2) /* index 988 */,
7865
  TILEPRO_OPC_NONE, TILEPRO_OPC_ANDI_SN, TILEPRO_OPC_XORI_SN,
7866
  TILEPRO_OPC_NONE,
7867
  BITFIELD(17, 5) /* index 993 */,
7868
  TILEPRO_OPC_NONE, TILEPRO_OPC_RLI, TILEPRO_OPC_SHLIB, TILEPRO_OPC_SHLIH,
7869
  TILEPRO_OPC_SHLI, TILEPRO_OPC_SHRIB, TILEPRO_OPC_SHRIH, TILEPRO_OPC_SHRI,
7870
  TILEPRO_OPC_SRAIB, TILEPRO_OPC_SRAIH, TILEPRO_OPC_SRAI, CHILD(1026),
7871
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7872
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7873
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7874
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7875
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7876
  BITFIELD(12, 4) /* index 1026 */,
7877
  TILEPRO_OPC_NONE, CHILD(1043), CHILD(1046), CHILD(1049), CHILD(1052),
7878
  CHILD(1055), CHILD(1058), CHILD(1061), CHILD(1064), CHILD(1067),
7879
  CHILD(1070), CHILD(1073), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7880
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7881
  BITFIELD(16, 1) /* index 1043 */,
7882
  TILEPRO_OPC_BITX, TILEPRO_OPC_NONE,
7883
  BITFIELD(16, 1) /* index 1046 */,
7884
  TILEPRO_OPC_BYTEX, TILEPRO_OPC_NONE,
7885
  BITFIELD(16, 1) /* index 1049 */,
7886
  TILEPRO_OPC_CLZ, TILEPRO_OPC_NONE,
7887
  BITFIELD(16, 1) /* index 1052 */,
7888
  TILEPRO_OPC_CTZ, TILEPRO_OPC_NONE,
7889
  BITFIELD(16, 1) /* index 1055 */,
7890
  TILEPRO_OPC_FNOP, TILEPRO_OPC_NONE,
7891
  BITFIELD(16, 1) /* index 1058 */,
7892
  TILEPRO_OPC_NOP, TILEPRO_OPC_NONE,
7893
  BITFIELD(16, 1) /* index 1061 */,
7894
  TILEPRO_OPC_PCNT, TILEPRO_OPC_NONE,
7895
  BITFIELD(16, 1) /* index 1064 */,
7896
  TILEPRO_OPC_TBLIDXB0, TILEPRO_OPC_NONE,
7897
  BITFIELD(16, 1) /* index 1067 */,
7898
  TILEPRO_OPC_TBLIDXB1, TILEPRO_OPC_NONE,
7899
  BITFIELD(16, 1) /* index 1070 */,
7900
  TILEPRO_OPC_TBLIDXB2, TILEPRO_OPC_NONE,
7901
  BITFIELD(16, 1) /* index 1073 */,
7902
  TILEPRO_OPC_TBLIDXB3, TILEPRO_OPC_NONE,
7903
  BITFIELD(17, 5) /* index 1076 */,
7904
  TILEPRO_OPC_NONE, TILEPRO_OPC_RLI_SN, TILEPRO_OPC_SHLIB_SN,
7905
  TILEPRO_OPC_SHLIH_SN, TILEPRO_OPC_SHLI_SN, TILEPRO_OPC_SHRIB_SN,
7906
  TILEPRO_OPC_SHRIH_SN, TILEPRO_OPC_SHRI_SN, TILEPRO_OPC_SRAIB_SN,
7907
  TILEPRO_OPC_SRAIH_SN, TILEPRO_OPC_SRAI_SN, CHILD(1109), TILEPRO_OPC_NONE,
7908
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7909
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7910
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7911
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7912
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7913
  BITFIELD(12, 4) /* index 1109 */,
7914
  TILEPRO_OPC_NONE, CHILD(1126), CHILD(1129), CHILD(1132), CHILD(1135),
7915
  CHILD(1055), CHILD(1058), CHILD(1138), CHILD(1141), CHILD(1144),
7916
  CHILD(1147), CHILD(1150), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7917
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7918
  BITFIELD(16, 1) /* index 1126 */,
7919
  TILEPRO_OPC_BITX_SN, TILEPRO_OPC_NONE,
7920
  BITFIELD(16, 1) /* index 1129 */,
7921
  TILEPRO_OPC_BYTEX_SN, TILEPRO_OPC_NONE,
7922
  BITFIELD(16, 1) /* index 1132 */,
7923
  TILEPRO_OPC_CLZ_SN, TILEPRO_OPC_NONE,
7924
  BITFIELD(16, 1) /* index 1135 */,
7925
  TILEPRO_OPC_CTZ_SN, TILEPRO_OPC_NONE,
7926
  BITFIELD(16, 1) /* index 1138 */,
7927
  TILEPRO_OPC_PCNT_SN, TILEPRO_OPC_NONE,
7928
  BITFIELD(16, 1) /* index 1141 */,
7929
  TILEPRO_OPC_TBLIDXB0_SN, TILEPRO_OPC_NONE,
7930
  BITFIELD(16, 1) /* index 1144 */,
7931
  TILEPRO_OPC_TBLIDXB1_SN, TILEPRO_OPC_NONE,
7932
  BITFIELD(16, 1) /* index 1147 */,
7933
  TILEPRO_OPC_TBLIDXB2_SN, TILEPRO_OPC_NONE,
7934
  BITFIELD(16, 1) /* index 1150 */,
7935
  TILEPRO_OPC_TBLIDXB3_SN, TILEPRO_OPC_NONE,
7936
};
7937
 
7938
static const unsigned short decode_X1_fsm[1540] =
7939
{
7940
  BITFIELD(54, 9) /* index 0 */,
7941
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7942
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7943
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7944
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7945
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7946
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7947
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7948
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7949
  CHILD(513), CHILD(561), CHILD(594), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7950
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7951
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7952
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(641),
7953
  CHILD(689), CHILD(722), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7954
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7955
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7956
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(766),
7957
  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
7958
  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
7959
  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
7960
  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
7961
  CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766),
7962
  CHILD(766), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
7963
  CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
7964
  CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
7965
  CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
7966
  CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781),
7967
  CHILD(781), CHILD(781), CHILD(781), CHILD(796), CHILD(796), CHILD(796),
7968
  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
7969
  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
7970
  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
7971
  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796),
7972
  CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(826),
7973
  CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826),
7974
  CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826),
7975
  CHILD(826), CHILD(826), CHILD(826), CHILD(843), CHILD(843), CHILD(843),
7976
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
7977
  CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843),
7978
  CHILD(843), CHILD(860), CHILD(899), CHILD(923), CHILD(932),
7979
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7980
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7981
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7982
  CHILD(941), CHILD(950), CHILD(974), CHILD(983), TILEPRO_OPC_NONE,
7983
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7984
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7985
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_MM,
7986
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7987
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7988
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7989
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7990
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7991
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7992
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM,
7993
  TILEPRO_OPC_MM, TILEPRO_OPC_MM, TILEPRO_OPC_MM, CHILD(992),
7994
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7995
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7996
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7997
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, CHILD(1334),
7998
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
7999
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8000
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8001
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8002
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8003
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8004
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8005
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8006
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8007
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8008
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8009
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_J,
8010
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
8011
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
8012
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
8013
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
8014
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
8015
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
8016
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
8017
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
8018
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
8019
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
8020
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
8021
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J,
8022
  TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_J, TILEPRO_OPC_JAL,
8023
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8024
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8025
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8026
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8027
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8028
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8029
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8030
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8031
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8032
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8033
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8034
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8035
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8036
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8037
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL,
8038
  TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_JAL, TILEPRO_OPC_NONE,
8039
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8040
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8041
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8042
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8043
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8044
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8045
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8046
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8047
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8048
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8049
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8050
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8051
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8052
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8053
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8054
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8055
  BITFIELD(49, 5) /* index 513 */,
8056
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDB, TILEPRO_OPC_ADDH, TILEPRO_OPC_ADD,
8057
  TILEPRO_OPC_AND, TILEPRO_OPC_INTHB, TILEPRO_OPC_INTHH, TILEPRO_OPC_INTLB,
8058
  TILEPRO_OPC_INTLH, TILEPRO_OPC_JALRP, TILEPRO_OPC_JALR, TILEPRO_OPC_JRP,
8059
  TILEPRO_OPC_JR, TILEPRO_OPC_LNK, TILEPRO_OPC_MAXB_U, TILEPRO_OPC_MAXH,
8060
  TILEPRO_OPC_MINB_U, TILEPRO_OPC_MINH, TILEPRO_OPC_MNZB, TILEPRO_OPC_MNZH,
8061
  TILEPRO_OPC_MNZ, TILEPRO_OPC_MZB, TILEPRO_OPC_MZH, TILEPRO_OPC_MZ,
8062
  TILEPRO_OPC_NOR, CHILD(546), TILEPRO_OPC_PACKHB, TILEPRO_OPC_PACKLB,
8063
  TILEPRO_OPC_RL, TILEPRO_OPC_S1A, TILEPRO_OPC_S2A, TILEPRO_OPC_S3A,
8064
  BITFIELD(43, 2) /* index 546 */,
8065
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(551),
8066
  BITFIELD(45, 2) /* index 551 */,
8067
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(556),
8068
  BITFIELD(47, 2) /* index 556 */,
8069
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
8070
  BITFIELD(49, 5) /* index 561 */,
8071
  TILEPRO_OPC_SB, TILEPRO_OPC_SEQB, TILEPRO_OPC_SEQH, TILEPRO_OPC_SEQ,
8072
  TILEPRO_OPC_SHLB, TILEPRO_OPC_SHLH, TILEPRO_OPC_SHL, TILEPRO_OPC_SHRB,
8073
  TILEPRO_OPC_SHRH, TILEPRO_OPC_SHR, TILEPRO_OPC_SH, TILEPRO_OPC_SLTB,
8074
  TILEPRO_OPC_SLTB_U, TILEPRO_OPC_SLTEB, TILEPRO_OPC_SLTEB_U,
8075
  TILEPRO_OPC_SLTEH, TILEPRO_OPC_SLTEH_U, TILEPRO_OPC_SLTE,
8076
  TILEPRO_OPC_SLTE_U, TILEPRO_OPC_SLTH, TILEPRO_OPC_SLTH_U, TILEPRO_OPC_SLT,
8077
  TILEPRO_OPC_SLT_U, TILEPRO_OPC_SNEB, TILEPRO_OPC_SNEH, TILEPRO_OPC_SNE,
8078
  TILEPRO_OPC_SRAB, TILEPRO_OPC_SRAH, TILEPRO_OPC_SRA, TILEPRO_OPC_SUBB,
8079
  TILEPRO_OPC_SUBH, TILEPRO_OPC_SUB,
8080
  BITFIELD(49, 4) /* index 594 */,
8081
  CHILD(611), CHILD(614), CHILD(617), CHILD(620), CHILD(623), CHILD(626),
8082
  CHILD(629), CHILD(632), CHILD(635), CHILD(638), TILEPRO_OPC_NONE,
8083
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8084
  TILEPRO_OPC_NONE,
8085
  BITFIELD(53, 1) /* index 611 */,
8086
  TILEPRO_OPC_SW, TILEPRO_OPC_NONE,
8087
  BITFIELD(53, 1) /* index 614 */,
8088
  TILEPRO_OPC_XOR, TILEPRO_OPC_NONE,
8089
  BITFIELD(53, 1) /* index 617 */,
8090
  TILEPRO_OPC_ADDS, TILEPRO_OPC_NONE,
8091
  BITFIELD(53, 1) /* index 620 */,
8092
  TILEPRO_OPC_SUBS, TILEPRO_OPC_NONE,
8093
  BITFIELD(53, 1) /* index 623 */,
8094
  TILEPRO_OPC_ADDBS_U, TILEPRO_OPC_NONE,
8095
  BITFIELD(53, 1) /* index 626 */,
8096
  TILEPRO_OPC_ADDHS, TILEPRO_OPC_NONE,
8097
  BITFIELD(53, 1) /* index 629 */,
8098
  TILEPRO_OPC_SUBBS_U, TILEPRO_OPC_NONE,
8099
  BITFIELD(53, 1) /* index 632 */,
8100
  TILEPRO_OPC_SUBHS, TILEPRO_OPC_NONE,
8101
  BITFIELD(53, 1) /* index 635 */,
8102
  TILEPRO_OPC_PACKHS, TILEPRO_OPC_NONE,
8103
  BITFIELD(53, 1) /* index 638 */,
8104
  TILEPRO_OPC_PACKBS_U, TILEPRO_OPC_NONE,
8105
  BITFIELD(49, 5) /* index 641 */,
8106
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDB_SN, TILEPRO_OPC_ADDH_SN,
8107
  TILEPRO_OPC_ADD_SN, TILEPRO_OPC_AND_SN, TILEPRO_OPC_INTHB_SN,
8108
  TILEPRO_OPC_INTHH_SN, TILEPRO_OPC_INTLB_SN, TILEPRO_OPC_INTLH_SN,
8109
  TILEPRO_OPC_JALRP, TILEPRO_OPC_JALR, TILEPRO_OPC_JRP, TILEPRO_OPC_JR,
8110
  TILEPRO_OPC_LNK_SN, TILEPRO_OPC_MAXB_U_SN, TILEPRO_OPC_MAXH_SN,
8111
  TILEPRO_OPC_MINB_U_SN, TILEPRO_OPC_MINH_SN, TILEPRO_OPC_MNZB_SN,
8112
  TILEPRO_OPC_MNZH_SN, TILEPRO_OPC_MNZ_SN, TILEPRO_OPC_MZB_SN,
8113
  TILEPRO_OPC_MZH_SN, TILEPRO_OPC_MZ_SN, TILEPRO_OPC_NOR_SN, CHILD(674),
8114
  TILEPRO_OPC_PACKHB_SN, TILEPRO_OPC_PACKLB_SN, TILEPRO_OPC_RL_SN,
8115
  TILEPRO_OPC_S1A_SN, TILEPRO_OPC_S2A_SN, TILEPRO_OPC_S3A_SN,
8116
  BITFIELD(43, 2) /* index 674 */,
8117
  TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(679),
8118
  BITFIELD(45, 2) /* index 679 */,
8119
  TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, CHILD(684),
8120
  BITFIELD(47, 2) /* index 684 */,
8121
  TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN, TILEPRO_OPC_OR_SN,
8122
  TILEPRO_OPC_MOVE_SN,
8123
  BITFIELD(49, 5) /* index 689 */,
8124
  TILEPRO_OPC_SB, TILEPRO_OPC_SEQB_SN, TILEPRO_OPC_SEQH_SN,
8125
  TILEPRO_OPC_SEQ_SN, TILEPRO_OPC_SHLB_SN, TILEPRO_OPC_SHLH_SN,
8126
  TILEPRO_OPC_SHL_SN, TILEPRO_OPC_SHRB_SN, TILEPRO_OPC_SHRH_SN,
8127
  TILEPRO_OPC_SHR_SN, TILEPRO_OPC_SH, TILEPRO_OPC_SLTB_SN,
8128
  TILEPRO_OPC_SLTB_U_SN, TILEPRO_OPC_SLTEB_SN, TILEPRO_OPC_SLTEB_U_SN,
8129
  TILEPRO_OPC_SLTEH_SN, TILEPRO_OPC_SLTEH_U_SN, TILEPRO_OPC_SLTE_SN,
8130
  TILEPRO_OPC_SLTE_U_SN, TILEPRO_OPC_SLTH_SN, TILEPRO_OPC_SLTH_U_SN,
8131
  TILEPRO_OPC_SLT_SN, TILEPRO_OPC_SLT_U_SN, TILEPRO_OPC_SNEB_SN,
8132
  TILEPRO_OPC_SNEH_SN, TILEPRO_OPC_SNE_SN, TILEPRO_OPC_SRAB_SN,
8133
  TILEPRO_OPC_SRAH_SN, TILEPRO_OPC_SRA_SN, TILEPRO_OPC_SUBB_SN,
8134
  TILEPRO_OPC_SUBH_SN, TILEPRO_OPC_SUB_SN,
8135
  BITFIELD(49, 4) /* index 722 */,
8136
  CHILD(611), CHILD(739), CHILD(742), CHILD(745), CHILD(748), CHILD(751),
8137
  CHILD(754), CHILD(757), CHILD(760), CHILD(763), TILEPRO_OPC_NONE,
8138
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8139
  TILEPRO_OPC_NONE,
8140
  BITFIELD(53, 1) /* index 739 */,
8141
  TILEPRO_OPC_XOR_SN, TILEPRO_OPC_NONE,
8142
  BITFIELD(53, 1) /* index 742 */,
8143
  TILEPRO_OPC_ADDS_SN, TILEPRO_OPC_NONE,
8144
  BITFIELD(53, 1) /* index 745 */,
8145
  TILEPRO_OPC_SUBS_SN, TILEPRO_OPC_NONE,
8146
  BITFIELD(53, 1) /* index 748 */,
8147
  TILEPRO_OPC_ADDBS_U_SN, TILEPRO_OPC_NONE,
8148
  BITFIELD(53, 1) /* index 751 */,
8149
  TILEPRO_OPC_ADDHS_SN, TILEPRO_OPC_NONE,
8150
  BITFIELD(53, 1) /* index 754 */,
8151
  TILEPRO_OPC_SUBBS_U_SN, TILEPRO_OPC_NONE,
8152
  BITFIELD(53, 1) /* index 757 */,
8153
  TILEPRO_OPC_SUBHS_SN, TILEPRO_OPC_NONE,
8154
  BITFIELD(53, 1) /* index 760 */,
8155
  TILEPRO_OPC_PACKHS_SN, TILEPRO_OPC_NONE,
8156
  BITFIELD(53, 1) /* index 763 */,
8157
  TILEPRO_OPC_PACKBS_U_SN, TILEPRO_OPC_NONE,
8158
  BITFIELD(37, 2) /* index 766 */,
8159
  TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
8160
  CHILD(771),
8161
  BITFIELD(39, 2) /* index 771 */,
8162
  TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
8163
  CHILD(776),
8164
  BITFIELD(41, 2) /* index 776 */,
8165
  TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN, TILEPRO_OPC_ADDLI_SN,
8166
  TILEPRO_OPC_MOVELI_SN,
8167
  BITFIELD(37, 2) /* index 781 */,
8168
  TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(786),
8169
  BITFIELD(39, 2) /* index 786 */,
8170
  TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, CHILD(791),
8171
  BITFIELD(41, 2) /* index 791 */,
8172
  TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_ADDLI, TILEPRO_OPC_MOVELI,
8173
  BITFIELD(31, 2) /* index 796 */,
8174
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(801),
8175
  BITFIELD(33, 2) /* index 801 */,
8176
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(806),
8177
  BITFIELD(35, 2) /* index 806 */,
8178
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(811),
8179
  BITFIELD(37, 2) /* index 811 */,
8180
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(816),
8181
  BITFIELD(39, 2) /* index 816 */,
8182
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, CHILD(821),
8183
  BITFIELD(41, 2) /* index 821 */,
8184
  TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_AULI, TILEPRO_OPC_INFOL,
8185
  BITFIELD(31, 4) /* index 826 */,
8186
  TILEPRO_OPC_BZ, TILEPRO_OPC_BZT, TILEPRO_OPC_BNZ, TILEPRO_OPC_BNZT,
8187
  TILEPRO_OPC_BGZ, TILEPRO_OPC_BGZT, TILEPRO_OPC_BGEZ, TILEPRO_OPC_BGEZT,
8188
  TILEPRO_OPC_BLZ, TILEPRO_OPC_BLZT, TILEPRO_OPC_BLEZ, TILEPRO_OPC_BLEZT,
8189
  TILEPRO_OPC_BBS, TILEPRO_OPC_BBST, TILEPRO_OPC_BBNS, TILEPRO_OPC_BBNST,
8190
  BITFIELD(31, 4) /* index 843 */,
8191
  TILEPRO_OPC_BZ_SN, TILEPRO_OPC_BZT_SN, TILEPRO_OPC_BNZ_SN,
8192
  TILEPRO_OPC_BNZT_SN, TILEPRO_OPC_BGZ_SN, TILEPRO_OPC_BGZT_SN,
8193
  TILEPRO_OPC_BGEZ_SN, TILEPRO_OPC_BGEZT_SN, TILEPRO_OPC_BLZ_SN,
8194
  TILEPRO_OPC_BLZT_SN, TILEPRO_OPC_BLEZ_SN, TILEPRO_OPC_BLEZT_SN,
8195
  TILEPRO_OPC_BBS_SN, TILEPRO_OPC_BBST_SN, TILEPRO_OPC_BBNS_SN,
8196
  TILEPRO_OPC_BBNST_SN,
8197
  BITFIELD(51, 3) /* index 860 */,
8198
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDIB, TILEPRO_OPC_ADDIH, TILEPRO_OPC_ADDI,
8199
  CHILD(869), TILEPRO_OPC_MAXIB_U, TILEPRO_OPC_MAXIH, TILEPRO_OPC_MFSPR,
8200
  BITFIELD(31, 2) /* index 869 */,
8201
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(874),
8202
  BITFIELD(33, 2) /* index 874 */,
8203
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(879),
8204
  BITFIELD(35, 2) /* index 879 */,
8205
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(884),
8206
  BITFIELD(37, 2) /* index 884 */,
8207
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(889),
8208
  BITFIELD(39, 2) /* index 889 */,
8209
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(894),
8210
  BITFIELD(41, 2) /* index 894 */,
8211
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
8212
  BITFIELD(51, 3) /* index 899 */,
8213
  TILEPRO_OPC_MINIB_U, TILEPRO_OPC_MINIH, TILEPRO_OPC_MTSPR, CHILD(908),
8214
  TILEPRO_OPC_SEQIB, TILEPRO_OPC_SEQIH, TILEPRO_OPC_SEQI, TILEPRO_OPC_SLTIB,
8215
  BITFIELD(37, 2) /* index 908 */,
8216
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(913),
8217
  BITFIELD(39, 2) /* index 913 */,
8218
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(918),
8219
  BITFIELD(41, 2) /* index 918 */,
8220
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
8221
  BITFIELD(51, 3) /* index 923 */,
8222
  TILEPRO_OPC_SLTIB_U, TILEPRO_OPC_SLTIH, TILEPRO_OPC_SLTIH_U,
8223
  TILEPRO_OPC_SLTI, TILEPRO_OPC_SLTI_U, TILEPRO_OPC_XORI, TILEPRO_OPC_LBADD,
8224
  TILEPRO_OPC_LBADD_U,
8225
  BITFIELD(51, 3) /* index 932 */,
8226
  TILEPRO_OPC_LHADD, TILEPRO_OPC_LHADD_U, TILEPRO_OPC_LWADD,
8227
  TILEPRO_OPC_LWADD_NA, TILEPRO_OPC_SBADD, TILEPRO_OPC_SHADD,
8228
  TILEPRO_OPC_SWADD, TILEPRO_OPC_NONE,
8229
  BITFIELD(51, 3) /* index 941 */,
8230
  TILEPRO_OPC_NONE, TILEPRO_OPC_ADDIB_SN, TILEPRO_OPC_ADDIH_SN,
8231
  TILEPRO_OPC_ADDI_SN, TILEPRO_OPC_ANDI_SN, TILEPRO_OPC_MAXIB_U_SN,
8232
  TILEPRO_OPC_MAXIH_SN, TILEPRO_OPC_MFSPR,
8233
  BITFIELD(51, 3) /* index 950 */,
8234
  TILEPRO_OPC_MINIB_U_SN, TILEPRO_OPC_MINIH_SN, TILEPRO_OPC_MTSPR, CHILD(959),
8235
  TILEPRO_OPC_SEQIB_SN, TILEPRO_OPC_SEQIH_SN, TILEPRO_OPC_SEQI_SN,
8236
  TILEPRO_OPC_SLTIB_SN,
8237
  BITFIELD(37, 2) /* index 959 */,
8238
  TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(964),
8239
  BITFIELD(39, 2) /* index 964 */,
8240
  TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, CHILD(969),
8241
  BITFIELD(41, 2) /* index 969 */,
8242
  TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN, TILEPRO_OPC_ORI_SN,
8243
  TILEPRO_OPC_MOVEI_SN,
8244
  BITFIELD(51, 3) /* index 974 */,
8245
  TILEPRO_OPC_SLTIB_U_SN, TILEPRO_OPC_SLTIH_SN, TILEPRO_OPC_SLTIH_U_SN,
8246
  TILEPRO_OPC_SLTI_SN, TILEPRO_OPC_SLTI_U_SN, TILEPRO_OPC_XORI_SN,
8247
  TILEPRO_OPC_LBADD_SN, TILEPRO_OPC_LBADD_U_SN,
8248
  BITFIELD(51, 3) /* index 983 */,
8249
  TILEPRO_OPC_LHADD_SN, TILEPRO_OPC_LHADD_U_SN, TILEPRO_OPC_LWADD_SN,
8250
  TILEPRO_OPC_LWADD_NA_SN, TILEPRO_OPC_SBADD, TILEPRO_OPC_SHADD,
8251
  TILEPRO_OPC_SWADD, TILEPRO_OPC_NONE,
8252
  BITFIELD(46, 7) /* index 992 */,
8253
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8254
  CHILD(1121), CHILD(1121), CHILD(1121), CHILD(1121), CHILD(1124),
8255
  CHILD(1124), CHILD(1124), CHILD(1124), CHILD(1127), CHILD(1127),
8256
  CHILD(1127), CHILD(1127), CHILD(1130), CHILD(1130), CHILD(1130),
8257
  CHILD(1130), CHILD(1133), CHILD(1133), CHILD(1133), CHILD(1133),
8258
  CHILD(1136), CHILD(1136), CHILD(1136), CHILD(1136), CHILD(1139),
8259
  CHILD(1139), CHILD(1139), CHILD(1139), CHILD(1142), CHILD(1142),
8260
  CHILD(1142), CHILD(1142), CHILD(1145), CHILD(1145), CHILD(1145),
8261
  CHILD(1145), CHILD(1148), CHILD(1148), CHILD(1148), CHILD(1148),
8262
  CHILD(1151), CHILD(1242), CHILD(1290), CHILD(1323), TILEPRO_OPC_NONE,
8263
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8264
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8265
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8266
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8267
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8268
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8269
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8270
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8271
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8272
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8273
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8274
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8275
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8276
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8277
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8278
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8279
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8280
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8281
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8282
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8283
  BITFIELD(53, 1) /* index 1121 */,
8284
  TILEPRO_OPC_RLI, TILEPRO_OPC_NONE,
8285
  BITFIELD(53, 1) /* index 1124 */,
8286
  TILEPRO_OPC_SHLIB, TILEPRO_OPC_NONE,
8287
  BITFIELD(53, 1) /* index 1127 */,
8288
  TILEPRO_OPC_SHLIH, TILEPRO_OPC_NONE,
8289
  BITFIELD(53, 1) /* index 1130 */,
8290
  TILEPRO_OPC_SHLI, TILEPRO_OPC_NONE,
8291
  BITFIELD(53, 1) /* index 1133 */,
8292
  TILEPRO_OPC_SHRIB, TILEPRO_OPC_NONE,
8293
  BITFIELD(53, 1) /* index 1136 */,
8294
  TILEPRO_OPC_SHRIH, TILEPRO_OPC_NONE,
8295
  BITFIELD(53, 1) /* index 1139 */,
8296
  TILEPRO_OPC_SHRI, TILEPRO_OPC_NONE,
8297
  BITFIELD(53, 1) /* index 1142 */,
8298
  TILEPRO_OPC_SRAIB, TILEPRO_OPC_NONE,
8299
  BITFIELD(53, 1) /* index 1145 */,
8300
  TILEPRO_OPC_SRAIH, TILEPRO_OPC_NONE,
8301
  BITFIELD(53, 1) /* index 1148 */,
8302
  TILEPRO_OPC_SRAI, TILEPRO_OPC_NONE,
8303
  BITFIELD(43, 3) /* index 1151 */,
8304
  TILEPRO_OPC_NONE, CHILD(1160), CHILD(1163), CHILD(1166), CHILD(1169),
8305
  CHILD(1172), CHILD(1175), CHILD(1178),
8306
  BITFIELD(53, 1) /* index 1160 */,
8307
  TILEPRO_OPC_DRAIN, TILEPRO_OPC_NONE,
8308
  BITFIELD(53, 1) /* index 1163 */,
8309
  TILEPRO_OPC_DTLBPR, TILEPRO_OPC_NONE,
8310
  BITFIELD(53, 1) /* index 1166 */,
8311
  TILEPRO_OPC_FINV, TILEPRO_OPC_NONE,
8312
  BITFIELD(53, 1) /* index 1169 */,
8313
  TILEPRO_OPC_FLUSH, TILEPRO_OPC_NONE,
8314
  BITFIELD(53, 1) /* index 1172 */,
8315
  TILEPRO_OPC_FNOP, TILEPRO_OPC_NONE,
8316
  BITFIELD(53, 1) /* index 1175 */,
8317
  TILEPRO_OPC_ICOH, TILEPRO_OPC_NONE,
8318
  BITFIELD(31, 2) /* index 1178 */,
8319
  CHILD(1183), CHILD(1211), CHILD(1239), CHILD(1239),
8320
  BITFIELD(53, 1) /* index 1183 */,
8321
  CHILD(1186), TILEPRO_OPC_NONE,
8322
  BITFIELD(33, 2) /* index 1186 */,
8323
  TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, CHILD(1191),
8324
  BITFIELD(35, 2) /* index 1191 */,
8325
  TILEPRO_OPC_ILL, CHILD(1196), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
8326
  BITFIELD(37, 2) /* index 1196 */,
8327
  TILEPRO_OPC_ILL, CHILD(1201), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
8328
  BITFIELD(39, 2) /* index 1201 */,
8329
  TILEPRO_OPC_ILL, CHILD(1206), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
8330
  BITFIELD(41, 2) /* index 1206 */,
8331
  TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_BPT, TILEPRO_OPC_ILL,
8332
  BITFIELD(53, 1) /* index 1211 */,
8333
  CHILD(1214), TILEPRO_OPC_NONE,
8334
  BITFIELD(33, 2) /* index 1214 */,
8335
  TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, CHILD(1219),
8336
  BITFIELD(35, 2) /* index 1219 */,
8337
  TILEPRO_OPC_ILL, CHILD(1224), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
8338
  BITFIELD(37, 2) /* index 1224 */,
8339
  TILEPRO_OPC_ILL, CHILD(1229), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
8340
  BITFIELD(39, 2) /* index 1229 */,
8341
  TILEPRO_OPC_ILL, CHILD(1234), TILEPRO_OPC_ILL, TILEPRO_OPC_ILL,
8342
  BITFIELD(41, 2) /* index 1234 */,
8343
  TILEPRO_OPC_ILL, TILEPRO_OPC_ILL, TILEPRO_OPC_RAISE, TILEPRO_OPC_ILL,
8344
  BITFIELD(53, 1) /* index 1239 */,
8345
  TILEPRO_OPC_ILL, TILEPRO_OPC_NONE,
8346
  BITFIELD(43, 3) /* index 1242 */,
8347
  CHILD(1251), CHILD(1254), CHILD(1257), CHILD(1275), CHILD(1278),
8348
  CHILD(1281), CHILD(1284), CHILD(1287),
8349
  BITFIELD(53, 1) /* index 1251 */,
8350
  TILEPRO_OPC_INV, TILEPRO_OPC_NONE,
8351
  BITFIELD(53, 1) /* index 1254 */,
8352
  TILEPRO_OPC_IRET, TILEPRO_OPC_NONE,
8353
  BITFIELD(53, 1) /* index 1257 */,
8354
  CHILD(1260), TILEPRO_OPC_NONE,
8355
  BITFIELD(31, 2) /* index 1260 */,
8356
  TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(1265),
8357
  BITFIELD(33, 2) /* index 1265 */,
8358
  TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(1270),
8359
  BITFIELD(35, 2) /* index 1270 */,
8360
  TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_PREFETCH,
8361
  BITFIELD(53, 1) /* index 1275 */,
8362
  TILEPRO_OPC_LB_U, TILEPRO_OPC_NONE,
8363
  BITFIELD(53, 1) /* index 1278 */,
8364
  TILEPRO_OPC_LH, TILEPRO_OPC_NONE,
8365
  BITFIELD(53, 1) /* index 1281 */,
8366
  TILEPRO_OPC_LH_U, TILEPRO_OPC_NONE,
8367
  BITFIELD(53, 1) /* index 1284 */,
8368
  TILEPRO_OPC_LW, TILEPRO_OPC_NONE,
8369
  BITFIELD(53, 1) /* index 1287 */,
8370
  TILEPRO_OPC_MF, TILEPRO_OPC_NONE,
8371
  BITFIELD(43, 3) /* index 1290 */,
8372
  CHILD(1299), CHILD(1302), CHILD(1305), CHILD(1308), CHILD(1311),
8373
  CHILD(1314), CHILD(1317), CHILD(1320),
8374
  BITFIELD(53, 1) /* index 1299 */,
8375
  TILEPRO_OPC_NAP, TILEPRO_OPC_NONE,
8376
  BITFIELD(53, 1) /* index 1302 */,
8377
  TILEPRO_OPC_NOP, TILEPRO_OPC_NONE,
8378
  BITFIELD(53, 1) /* index 1305 */,
8379
  TILEPRO_OPC_SWINT0, TILEPRO_OPC_NONE,
8380
  BITFIELD(53, 1) /* index 1308 */,
8381
  TILEPRO_OPC_SWINT1, TILEPRO_OPC_NONE,
8382
  BITFIELD(53, 1) /* index 1311 */,
8383
  TILEPRO_OPC_SWINT2, TILEPRO_OPC_NONE,
8384
  BITFIELD(53, 1) /* index 1314 */,
8385
  TILEPRO_OPC_SWINT3, TILEPRO_OPC_NONE,
8386
  BITFIELD(53, 1) /* index 1317 */,
8387
  TILEPRO_OPC_TNS, TILEPRO_OPC_NONE,
8388
  BITFIELD(53, 1) /* index 1320 */,
8389
  TILEPRO_OPC_WH64, TILEPRO_OPC_NONE,
8390
  BITFIELD(43, 2) /* index 1323 */,
8391
  CHILD(1328), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8392
  BITFIELD(45, 1) /* index 1328 */,
8393
  CHILD(1331), TILEPRO_OPC_NONE,
8394
  BITFIELD(53, 1) /* index 1331 */,
8395
  TILEPRO_OPC_LW_NA, TILEPRO_OPC_NONE,
8396
  BITFIELD(46, 7) /* index 1334 */,
8397
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8398
  CHILD(1463), CHILD(1463), CHILD(1463), CHILD(1463), CHILD(1466),
8399
  CHILD(1466), CHILD(1466), CHILD(1466), CHILD(1469), CHILD(1469),
8400
  CHILD(1469), CHILD(1469), CHILD(1472), CHILD(1472), CHILD(1472),
8401
  CHILD(1472), CHILD(1475), CHILD(1475), CHILD(1475), CHILD(1475),
8402
  CHILD(1478), CHILD(1478), CHILD(1478), CHILD(1478), CHILD(1481),
8403
  CHILD(1481), CHILD(1481), CHILD(1481), CHILD(1484), CHILD(1484),
8404
  CHILD(1484), CHILD(1484), CHILD(1487), CHILD(1487), CHILD(1487),
8405
  CHILD(1487), CHILD(1490), CHILD(1490), CHILD(1490), CHILD(1490),
8406
  CHILD(1151), CHILD(1493), CHILD(1517), CHILD(1529), TILEPRO_OPC_NONE,
8407
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8408
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8409
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8410
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8411
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8412
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8413
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8414
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8415
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8416
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8417
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8418
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8419
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8420
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8421
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8422
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8423
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8424
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8425
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8426
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8427
  BITFIELD(53, 1) /* index 1463 */,
8428
  TILEPRO_OPC_RLI_SN, TILEPRO_OPC_NONE,
8429
  BITFIELD(53, 1) /* index 1466 */,
8430
  TILEPRO_OPC_SHLIB_SN, TILEPRO_OPC_NONE,
8431
  BITFIELD(53, 1) /* index 1469 */,
8432
  TILEPRO_OPC_SHLIH_SN, TILEPRO_OPC_NONE,
8433
  BITFIELD(53, 1) /* index 1472 */,
8434
  TILEPRO_OPC_SHLI_SN, TILEPRO_OPC_NONE,
8435
  BITFIELD(53, 1) /* index 1475 */,
8436
  TILEPRO_OPC_SHRIB_SN, TILEPRO_OPC_NONE,
8437
  BITFIELD(53, 1) /* index 1478 */,
8438
  TILEPRO_OPC_SHRIH_SN, TILEPRO_OPC_NONE,
8439
  BITFIELD(53, 1) /* index 1481 */,
8440
  TILEPRO_OPC_SHRI_SN, TILEPRO_OPC_NONE,
8441
  BITFIELD(53, 1) /* index 1484 */,
8442
  TILEPRO_OPC_SRAIB_SN, TILEPRO_OPC_NONE,
8443
  BITFIELD(53, 1) /* index 1487 */,
8444
  TILEPRO_OPC_SRAIH_SN, TILEPRO_OPC_NONE,
8445
  BITFIELD(53, 1) /* index 1490 */,
8446
  TILEPRO_OPC_SRAI_SN, TILEPRO_OPC_NONE,
8447
  BITFIELD(43, 3) /* index 1493 */,
8448
  CHILD(1251), CHILD(1254), CHILD(1502), CHILD(1505), CHILD(1508),
8449
  CHILD(1511), CHILD(1514), CHILD(1287),
8450
  BITFIELD(53, 1) /* index 1502 */,
8451
  TILEPRO_OPC_LB_SN, TILEPRO_OPC_NONE,
8452
  BITFIELD(53, 1) /* index 1505 */,
8453
  TILEPRO_OPC_LB_U_SN, TILEPRO_OPC_NONE,
8454
  BITFIELD(53, 1) /* index 1508 */,
8455
  TILEPRO_OPC_LH_SN, TILEPRO_OPC_NONE,
8456
  BITFIELD(53, 1) /* index 1511 */,
8457
  TILEPRO_OPC_LH_U_SN, TILEPRO_OPC_NONE,
8458
  BITFIELD(53, 1) /* index 1514 */,
8459
  TILEPRO_OPC_LW_SN, TILEPRO_OPC_NONE,
8460
  BITFIELD(43, 3) /* index 1517 */,
8461
  CHILD(1299), CHILD(1302), CHILD(1305), CHILD(1308), CHILD(1311),
8462
  CHILD(1314), CHILD(1526), CHILD(1320),
8463
  BITFIELD(53, 1) /* index 1526 */,
8464
  TILEPRO_OPC_TNS_SN, TILEPRO_OPC_NONE,
8465
  BITFIELD(43, 2) /* index 1529 */,
8466
  CHILD(1534), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8467
  BITFIELD(45, 1) /* index 1534 */,
8468
  CHILD(1537), TILEPRO_OPC_NONE,
8469
  BITFIELD(53, 1) /* index 1537 */,
8470
  TILEPRO_OPC_LW_NA_SN, TILEPRO_OPC_NONE,
8471
};
8472
 
8473
static const unsigned short decode_Y0_fsm[168] =
8474
{
8475
  BITFIELD(27, 4) /* index 0 */,
8476
  TILEPRO_OPC_NONE, CHILD(17), CHILD(22), CHILD(27), CHILD(47), CHILD(52),
8477
  CHILD(57), CHILD(62), CHILD(67), TILEPRO_OPC_ADDI, CHILD(72), CHILD(102),
8478
  TILEPRO_OPC_SEQI, CHILD(117), TILEPRO_OPC_SLTI, TILEPRO_OPC_SLTI_U,
8479
  BITFIELD(18, 2) /* index 17 */,
8480
  TILEPRO_OPC_ADD, TILEPRO_OPC_S1A, TILEPRO_OPC_S2A, TILEPRO_OPC_SUB,
8481
  BITFIELD(18, 2) /* index 22 */,
8482
  TILEPRO_OPC_MNZ, TILEPRO_OPC_MVNZ, TILEPRO_OPC_MVZ, TILEPRO_OPC_MZ,
8483
  BITFIELD(18, 2) /* index 27 */,
8484
  TILEPRO_OPC_AND, TILEPRO_OPC_NOR, CHILD(32), TILEPRO_OPC_XOR,
8485
  BITFIELD(12, 2) /* index 32 */,
8486
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(37),
8487
  BITFIELD(14, 2) /* index 37 */,
8488
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(42),
8489
  BITFIELD(16, 2) /* index 42 */,
8490
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
8491
  BITFIELD(18, 2) /* index 47 */,
8492
  TILEPRO_OPC_RL, TILEPRO_OPC_SHL, TILEPRO_OPC_SHR, TILEPRO_OPC_SRA,
8493
  BITFIELD(18, 2) /* index 52 */,
8494
  TILEPRO_OPC_SLTE, TILEPRO_OPC_SLTE_U, TILEPRO_OPC_SLT, TILEPRO_OPC_SLT_U,
8495
  BITFIELD(18, 2) /* index 57 */,
8496
  TILEPRO_OPC_MULHLSA_UU, TILEPRO_OPC_S3A, TILEPRO_OPC_SEQ, TILEPRO_OPC_SNE,
8497
  BITFIELD(18, 2) /* index 62 */,
8498
  TILEPRO_OPC_MULHH_SS, TILEPRO_OPC_MULHH_UU, TILEPRO_OPC_MULLL_SS,
8499
  TILEPRO_OPC_MULLL_UU,
8500
  BITFIELD(18, 2) /* index 67 */,
8501
  TILEPRO_OPC_MULHHA_SS, TILEPRO_OPC_MULHHA_UU, TILEPRO_OPC_MULLLA_SS,
8502
  TILEPRO_OPC_MULLLA_UU,
8503
  BITFIELD(0, 2) /* index 72 */,
8504
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(77),
8505
  BITFIELD(2, 2) /* index 77 */,
8506
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(82),
8507
  BITFIELD(4, 2) /* index 82 */,
8508
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(87),
8509
  BITFIELD(6, 2) /* index 87 */,
8510
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(92),
8511
  BITFIELD(8, 2) /* index 92 */,
8512
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(97),
8513
  BITFIELD(10, 2) /* index 97 */,
8514
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
8515
  BITFIELD(6, 2) /* index 102 */,
8516
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(107),
8517
  BITFIELD(8, 2) /* index 107 */,
8518
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(112),
8519
  BITFIELD(10, 2) /* index 112 */,
8520
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
8521
  BITFIELD(15, 5) /* index 117 */,
8522
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8523
  TILEPRO_OPC_RLI, TILEPRO_OPC_RLI, TILEPRO_OPC_RLI, TILEPRO_OPC_RLI,
8524
  TILEPRO_OPC_SHLI, TILEPRO_OPC_SHLI, TILEPRO_OPC_SHLI, TILEPRO_OPC_SHLI,
8525
  TILEPRO_OPC_SHRI, TILEPRO_OPC_SHRI, TILEPRO_OPC_SHRI, TILEPRO_OPC_SHRI,
8526
  TILEPRO_OPC_SRAI, TILEPRO_OPC_SRAI, TILEPRO_OPC_SRAI, TILEPRO_OPC_SRAI,
8527
  CHILD(150), CHILD(159), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8528
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8529
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8530
  BITFIELD(12, 3) /* index 150 */,
8531
  TILEPRO_OPC_NONE, TILEPRO_OPC_BITX, TILEPRO_OPC_BYTEX, TILEPRO_OPC_CLZ,
8532
  TILEPRO_OPC_CTZ, TILEPRO_OPC_FNOP, TILEPRO_OPC_NOP, TILEPRO_OPC_PCNT,
8533
  BITFIELD(12, 3) /* index 159 */,
8534
  TILEPRO_OPC_TBLIDXB0, TILEPRO_OPC_TBLIDXB1, TILEPRO_OPC_TBLIDXB2,
8535
  TILEPRO_OPC_TBLIDXB3, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8536
  TILEPRO_OPC_NONE,
8537
};
8538
 
8539
static const unsigned short decode_Y1_fsm[140] =
8540
{
8541
  BITFIELD(59, 4) /* index 0 */,
8542
  TILEPRO_OPC_NONE, CHILD(17), CHILD(22), CHILD(27), CHILD(47), CHILD(52),
8543
  CHILD(57), TILEPRO_OPC_ADDI, CHILD(62), CHILD(92), TILEPRO_OPC_SEQI,
8544
  CHILD(107), TILEPRO_OPC_SLTI, TILEPRO_OPC_SLTI_U, TILEPRO_OPC_NONE,
8545
  TILEPRO_OPC_NONE,
8546
  BITFIELD(49, 2) /* index 17 */,
8547
  TILEPRO_OPC_ADD, TILEPRO_OPC_S1A, TILEPRO_OPC_S2A, TILEPRO_OPC_SUB,
8548
  BITFIELD(49, 2) /* index 22 */,
8549
  TILEPRO_OPC_NONE, TILEPRO_OPC_MNZ, TILEPRO_OPC_MZ, TILEPRO_OPC_NONE,
8550
  BITFIELD(49, 2) /* index 27 */,
8551
  TILEPRO_OPC_AND, TILEPRO_OPC_NOR, CHILD(32), TILEPRO_OPC_XOR,
8552
  BITFIELD(43, 2) /* index 32 */,
8553
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(37),
8554
  BITFIELD(45, 2) /* index 37 */,
8555
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, CHILD(42),
8556
  BITFIELD(47, 2) /* index 42 */,
8557
  TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_OR, TILEPRO_OPC_MOVE,
8558
  BITFIELD(49, 2) /* index 47 */,
8559
  TILEPRO_OPC_RL, TILEPRO_OPC_SHL, TILEPRO_OPC_SHR, TILEPRO_OPC_SRA,
8560
  BITFIELD(49, 2) /* index 52 */,
8561
  TILEPRO_OPC_SLTE, TILEPRO_OPC_SLTE_U, TILEPRO_OPC_SLT, TILEPRO_OPC_SLT_U,
8562
  BITFIELD(49, 2) /* index 57 */,
8563
  TILEPRO_OPC_NONE, TILEPRO_OPC_S3A, TILEPRO_OPC_SEQ, TILEPRO_OPC_SNE,
8564
  BITFIELD(31, 2) /* index 62 */,
8565
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(67),
8566
  BITFIELD(33, 2) /* index 67 */,
8567
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(72),
8568
  BITFIELD(35, 2) /* index 72 */,
8569
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(77),
8570
  BITFIELD(37, 2) /* index 77 */,
8571
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(82),
8572
  BITFIELD(39, 2) /* index 82 */,
8573
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, CHILD(87),
8574
  BITFIELD(41, 2) /* index 87 */,
8575
  TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_ANDI, TILEPRO_OPC_INFO,
8576
  BITFIELD(37, 2) /* index 92 */,
8577
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(97),
8578
  BITFIELD(39, 2) /* index 97 */,
8579
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, CHILD(102),
8580
  BITFIELD(41, 2) /* index 102 */,
8581
  TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_ORI, TILEPRO_OPC_MOVEI,
8582
  BITFIELD(48, 3) /* index 107 */,
8583
  TILEPRO_OPC_NONE, TILEPRO_OPC_RLI, TILEPRO_OPC_SHLI, TILEPRO_OPC_SHRI,
8584
  TILEPRO_OPC_SRAI, CHILD(116), TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8585
  BITFIELD(43, 3) /* index 116 */,
8586
  TILEPRO_OPC_NONE, CHILD(125), CHILD(130), CHILD(135), TILEPRO_OPC_NONE,
8587
  TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8588
  BITFIELD(46, 2) /* index 125 */,
8589
  TILEPRO_OPC_FNOP, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8590
  BITFIELD(46, 2) /* index 130 */,
8591
  TILEPRO_OPC_ILL, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8592
  BITFIELD(46, 2) /* index 135 */,
8593
  TILEPRO_OPC_NOP, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE, TILEPRO_OPC_NONE,
8594
};
8595
 
8596
static const unsigned short decode_Y2_fsm[24] =
8597
{
8598
  BITFIELD(56, 3) /* index 0 */,
8599
  CHILD(9), TILEPRO_OPC_LB_U, TILEPRO_OPC_LH, TILEPRO_OPC_LH_U,
8600
  TILEPRO_OPC_LW, TILEPRO_OPC_SB, TILEPRO_OPC_SH, TILEPRO_OPC_SW,
8601
  BITFIELD(20, 2) /* index 9 */,
8602
  TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(14),
8603
  BITFIELD(22, 2) /* index 14 */,
8604
  TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, CHILD(19),
8605
  BITFIELD(24, 2) /* index 19 */,
8606
  TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_LB, TILEPRO_OPC_PREFETCH,
8607
};
8608
 
8609
#undef BITFIELD
8610
#undef CHILD
8611
 
8612
const unsigned short * const
8613
tilepro_bundle_decoder_fsms[TILEPRO_NUM_PIPELINE_ENCODINGS] =
8614
{
8615
  decode_X0_fsm,
8616
  decode_X1_fsm,
8617
  decode_Y0_fsm,
8618
  decode_Y1_fsm,
8619
  decode_Y2_fsm
8620
};
8621
 
8622
#ifndef DISASM_ONLY
8623
const struct tilepro_sn_opcode tilepro_sn_opcodes[23] =
8624
{
8625
 { "bz", TILEPRO_SN_OPC_BZ,
8626
    1 /* num_operands */,
8627
    /* operands */
8628
    { 38 },
8629
    /* fixed_bit_mask */
8630
    0xfc00,
8631
    /* fixed_bit_value */
8632
    0xe000
8633
  },
8634
  { "bnz", TILEPRO_SN_OPC_BNZ,
8635
    1 /* num_operands */,
8636
    /* operands */
8637
    { 38 },
8638
    /* fixed_bit_mask */
8639
    0xfc00,
8640
    /* fixed_bit_value */
8641
    0xe400
8642
  },
8643
  { "jrr", TILEPRO_SN_OPC_JRR,
8644
    1 /* num_operands */,
8645
    /* operands */
8646
    { 39 },
8647
    /* fixed_bit_mask */
8648
    0xff00,
8649
    /* fixed_bit_value */
8650
    0x0600
8651
  },
8652
  { "fnop", TILEPRO_SN_OPC_FNOP,
8653
 
8654
    /* operands */
8655
    { 0, },
8656
    /* fixed_bit_mask */
8657
    0xffff,
8658
    /* fixed_bit_value */
8659
    0x0003
8660
  },
8661
  { "blz", TILEPRO_SN_OPC_BLZ,
8662
    1 /* num_operands */,
8663
    /* operands */
8664
    { 38 },
8665
    /* fixed_bit_mask */
8666
    0xfc00,
8667
    /* fixed_bit_value */
8668
    0xf000
8669
  },
8670
  { "nop", TILEPRO_SN_OPC_NOP,
8671
 
8672
    /* operands */
8673
    { 0, },
8674
    /* fixed_bit_mask */
8675
    0xffff,
8676
    /* fixed_bit_value */
8677
    0x0002
8678
  },
8679
  { "movei", TILEPRO_SN_OPC_MOVEI,
8680
    1 /* num_operands */,
8681
    /* operands */
8682
    { 40 },
8683
    /* fixed_bit_mask */
8684
    0xff00,
8685
    /* fixed_bit_value */
8686
    0x0400
8687
  },
8688
  { "move", TILEPRO_SN_OPC_MOVE,
8689
    2 /* num_operands */,
8690
    /* operands */
8691
    { 41, 42 },
8692
    /* fixed_bit_mask */
8693
    0xfff0,
8694
    /* fixed_bit_value */
8695
    0x0080
8696
  },
8697
  { "bgez", TILEPRO_SN_OPC_BGEZ,
8698
    1 /* num_operands */,
8699
    /* operands */
8700
    { 38 },
8701
    /* fixed_bit_mask */
8702
    0xfc00,
8703
    /* fixed_bit_value */
8704
    0xf400
8705
  },
8706
  { "jr", TILEPRO_SN_OPC_JR,
8707
    1 /* num_operands */,
8708
    /* operands */
8709
    { 42 },
8710
    /* fixed_bit_mask */
8711
    0xfff0,
8712
    /* fixed_bit_value */
8713
    0x0040
8714
  },
8715
  { "blez", TILEPRO_SN_OPC_BLEZ,
8716
    1 /* num_operands */,
8717
    /* operands */
8718
    { 38 },
8719
    /* fixed_bit_mask */
8720
    0xfc00,
8721
    /* fixed_bit_value */
8722
    0xec00
8723
  },
8724
  { "bbns", TILEPRO_SN_OPC_BBNS,
8725
    1 /* num_operands */,
8726
    /* operands */
8727
    { 38 },
8728
    /* fixed_bit_mask */
8729
    0xfc00,
8730
    /* fixed_bit_value */
8731
    0xfc00
8732
  },
8733
  { "jalrr", TILEPRO_SN_OPC_JALRR,
8734
    1 /* num_operands */,
8735
    /* operands */
8736
    { 39 },
8737
    /* fixed_bit_mask */
8738
    0xff00,
8739
    /* fixed_bit_value */
8740
    0x0700
8741
  },
8742
  { "bpt", TILEPRO_SN_OPC_BPT,
8743
 
8744
    /* operands */
8745
    { 0, },
8746
    /* fixed_bit_mask */
8747
    0xffff,
8748
    /* fixed_bit_value */
8749
    0x0001
8750
  },
8751
  { "jalr", TILEPRO_SN_OPC_JALR,
8752
    1 /* num_operands */,
8753
    /* operands */
8754
    { 42 },
8755
    /* fixed_bit_mask */
8756
    0xfff0,
8757
    /* fixed_bit_value */
8758
    0x0050
8759
  },
8760
  { "shr1", TILEPRO_SN_OPC_SHR1,
8761
    2 /* num_operands */,
8762
    /* operands */
8763
    { 41, 42 },
8764
    /* fixed_bit_mask */
8765
    0xfff0,
8766
    /* fixed_bit_value */
8767
    0x0090
8768
  },
8769
  { "bgz", TILEPRO_SN_OPC_BGZ,
8770
    1 /* num_operands */,
8771
    /* operands */
8772
    { 38 },
8773
    /* fixed_bit_mask */
8774
    0xfc00,
8775
    /* fixed_bit_value */
8776
    0xe800
8777
  },
8778
  { "bbs", TILEPRO_SN_OPC_BBS,
8779
    1 /* num_operands */,
8780
    /* operands */
8781
    { 38 },
8782
    /* fixed_bit_mask */
8783
    0xfc00,
8784
    /* fixed_bit_value */
8785
    0xf800
8786
  },
8787
  { "shl8ii", TILEPRO_SN_OPC_SHL8II,
8788
    1 /* num_operands */,
8789
    /* operands */
8790
    { 39 },
8791
    /* fixed_bit_mask */
8792
    0xff00,
8793
    /* fixed_bit_value */
8794
    0x0300
8795
  },
8796
  { "addi", TILEPRO_SN_OPC_ADDI,
8797
    1 /* num_operands */,
8798
    /* operands */
8799
    { 40 },
8800
    /* fixed_bit_mask */
8801
    0xff00,
8802
    /* fixed_bit_value */
8803
    0x0500
8804
  },
8805
  { "halt", TILEPRO_SN_OPC_HALT,
8806
 
8807
    /* operands */
8808
    { 0, },
8809
    /* fixed_bit_mask */
8810
    0xffff,
8811
    /* fixed_bit_value */
8812
    0x0000
8813
  },
8814
  { "route", TILEPRO_SN_OPC_ROUTE, 0, { 0, }, 0, 0,
8815
  },
8816
  { 0, TILEPRO_SN_OPC_NONE, 0, { 0, }, 0, 0,
8817
  }
8818
};
8819
 
8820
const unsigned char tilepro_sn_route_encode[6 * 6 * 6] =
8821
{
8822
  0xdf,
8823
  0xde,
8824
  0xdd,
8825
  0xdc,
8826
  0xdb,
8827
  0xda,
8828
  0xb9,
8829
  0xb8,
8830
  0xa1,
8831
  0xa0,
8832
  0x11,
8833
  0x10,
8834
  0x9f,
8835
  0x9e,
8836
  0x9d,
8837
  0x9c,
8838
  0x9b,
8839
  0x9a,
8840
  0x79,
8841
  0x78,
8842
  0x61,
8843
  0x60,
8844
  0xb,
8845
  0xa,
8846
  0x5f,
8847
  0x5e,
8848
  0x5d,
8849
  0x5c,
8850
  0x5b,
8851
  0x5a,
8852
  0x1f,
8853
  0x1e,
8854
  0x1d,
8855
  0x1c,
8856
  0x1b,
8857
  0x1a,
8858
  0xd7,
8859
  0xd6,
8860
  0xd5,
8861
  0xd4,
8862
  0xd3,
8863
  0xd2,
8864
  0xa7,
8865
  0xa6,
8866
  0xb1,
8867
  0xb0,
8868
  0x13,
8869
  0x12,
8870
  0x97,
8871
  0x96,
8872
  0x95,
8873
  0x94,
8874
  0x93,
8875
  0x92,
8876
  0x67,
8877
  0x66,
8878
  0x71,
8879
  0x70,
8880
  0x9,
8881
  0x8,
8882
  0x57,
8883
  0x56,
8884
  0x55,
8885
  0x54,
8886
  0x53,
8887
  0x52,
8888
  0x17,
8889
  0x16,
8890
  0x15,
8891
  0x14,
8892
  0x19,
8893
  0x18,
8894
  0xcf,
8895
  0xce,
8896
  0xcd,
8897
  0xcc,
8898
  0xcb,
8899
  0xca,
8900
  0xaf,
8901
  0xae,
8902
  0xad,
8903
  0xac,
8904
  0xab,
8905
  0xaa,
8906
  0x8f,
8907
  0x8e,
8908
  0x8d,
8909
  0x8c,
8910
  0x8b,
8911
  0x8a,
8912
  0x6f,
8913
  0x6e,
8914
  0x6d,
8915
  0x6c,
8916
  0x6b,
8917
  0x6a,
8918
  0x4f,
8919
  0x4e,
8920
  0x4d,
8921
  0x4c,
8922
  0x4b,
8923
  0x4a,
8924
  0x2f,
8925
  0x2e,
8926
  0x2d,
8927
  0x2c,
8928
  0x2b,
8929
  0x2a,
8930
  0xc9,
8931
  0xc8,
8932
  0xc5,
8933
  0xc4,
8934
  0xc3,
8935
  0xc2,
8936
  0xa9,
8937
  0xa8,
8938
  0xa5,
8939
  0xa4,
8940
  0xa3,
8941
  0xa2,
8942
  0x89,
8943
  0x88,
8944
  0x85,
8945
  0x84,
8946
  0x83,
8947
  0x82,
8948
  0x69,
8949
  0x68,
8950
  0x65,
8951
  0x64,
8952
  0x63,
8953
  0x62,
8954
  0x47,
8955
  0x46,
8956
  0x45,
8957
  0x44,
8958
  0x43,
8959
  0x42,
8960
  0x27,
8961
  0x26,
8962
  0x25,
8963
  0x24,
8964
  0x23,
8965
  0x22,
8966
  0xd9,
8967
  0xd8,
8968
  0xc1,
8969
  0xc0,
8970
  0x3b,
8971
  0x3a,
8972
  0xbf,
8973
  0xbe,
8974
  0xbd,
8975
  0xbc,
8976
  0xbb,
8977
  0xba,
8978
  0x99,
8979
  0x98,
8980
  0x81,
8981
  0x80,
8982
  0x31,
8983
  0x30,
8984
  0x7f,
8985
  0x7e,
8986
  0x7d,
8987
  0x7c,
8988
  0x7b,
8989
  0x7a,
8990
  0x59,
8991
  0x58,
8992
  0x3d,
8993
  0x3c,
8994
  0x49,
8995
  0x48,
8996
  0xf,
8997
  0xe,
8998
  0xd,
8999
  0xc,
9000
  0x29,
9001
  0x28,
9002
  0xc7,
9003
  0xc6,
9004
  0xd1,
9005
  0xd0,
9006
  0x39,
9007
  0x38,
9008
  0xb7,
9009
  0xb6,
9010
  0xb5,
9011
  0xb4,
9012
  0xb3,
9013
  0xb2,
9014
  0x87,
9015
  0x86,
9016
  0x91,
9017
  0x90,
9018
  0x33,
9019
  0x32,
9020
  0x77,
9021
  0x76,
9022
  0x75,
9023
  0x74,
9024
  0x73,
9025
  0x72,
9026
  0x3f,
9027
  0x3e,
9028
  0x51,
9029
  0x50,
9030
  0x41,
9031
  0x40,
9032
  0x37,
9033
  0x36,
9034
  0x35,
9035
  0x34,
9036
  0x21,
9037
  0x20
9038
};
9039
 
9040
const signed char tilepro_sn_route_decode[256][3] =
9041
{
9042
  { -1, -1, -1 },
9043
  { -1, -1, -1 },
9044
  { -1, -1, -1 },
9045
  { -1, -1, -1 },
9046
  { -1, -1, -1 },
9047
  { -1, -1, -1 },
9048
  { -1, -1, -1 },
9049
  { -1, -1, -1 },
9050
  { 5, 3, 1 },
9051
  { 4, 3, 1 },
9052
  { 5, 3, 0 },
9053
  { 4, 3, 0 },
9054
  { 3, 5, 4 },
9055
  { 2, 5, 4 },
9056
  { 1, 5, 4 },
9057
  { 0, 5, 4 },
9058
  { 5, 1, 0 },
9059
  { 4, 1, 0 },
9060
  { 5, 1, 1 },
9061
  { 4, 1, 1 },
9062
  { 3, 5, 1 },
9063
  { 2, 5, 1 },
9064
  { 1, 5, 1 },
9065
  { 0, 5, 1 },
9066
  { 5, 5, 1 },
9067
  { 4, 5, 1 },
9068
  { 5, 5, 0 },
9069
  { 4, 5, 0 },
9070
  { 3, 5, 0 },
9071
  { 2, 5, 0 },
9072
  { 1, 5, 0 },
9073
  { 0, 5, 0 },
9074
  { 5, 5, 5 },
9075
  { 4, 5, 5 },
9076
  { 5, 5, 3 },
9077
  { 4, 5, 3 },
9078
  { 3, 5, 3 },
9079
  { 2, 5, 3 },
9080
  { 1, 5, 3 },
9081
  { 0, 5, 3 },
9082
  { 5, 5, 4 },
9083
  { 4, 5, 4 },
9084
  { 5, 5, 2 },
9085
  { 4, 5, 2 },
9086
  { 3, 5, 2 },
9087
  { 2, 5, 2 },
9088
  { 1, 5, 2 },
9089
  { 0, 5, 2 },
9090
  { 5, 2, 4 },
9091
  { 4, 2, 4 },
9092
  { 5, 2, 5 },
9093
  { 4, 2, 5 },
9094
  { 3, 5, 5 },
9095
  { 2, 5, 5 },
9096
  { 1, 5, 5 },
9097
  { 0, 5, 5 },
9098
  { 5, 0, 5 },
9099
  { 4, 0, 5 },
9100
  { 5, 0, 4 },
9101
  { 4, 0, 4 },
9102
  { 3, 4, 4 },
9103
  { 2, 4, 4 },
9104
  { 1, 4, 5 },
9105
  { 0, 4, 5 },
9106
  { 5, 4, 5 },
9107
  { 4, 4, 5 },
9108
  { 5, 4, 3 },
9109
  { 4, 4, 3 },
9110
  { 3, 4, 3 },
9111
  { 2, 4, 3 },
9112
  { 1, 4, 3 },
9113
  { 0, 4, 3 },
9114
  { 5, 4, 4 },
9115
  { 4, 4, 4 },
9116
  { 5, 4, 2 },
9117
  { 4, 4, 2 },
9118
  { 3, 4, 2 },
9119
  { 2, 4, 2 },
9120
  { 1, 4, 2 },
9121
  { 0, 4, 2 },
9122
  { 3, 4, 5 },
9123
  { 2, 4, 5 },
9124
  { 5, 4, 1 },
9125
  { 4, 4, 1 },
9126
  { 3, 4, 1 },
9127
  { 2, 4, 1 },
9128
  { 1, 4, 1 },
9129
  { 0, 4, 1 },
9130
  { 1, 4, 4 },
9131
  { 0, 4, 4 },
9132
  { 5, 4, 0 },
9133
  { 4, 4, 0 },
9134
  { 3, 4, 0 },
9135
  { 2, 4, 0 },
9136
  { 1, 4, 0 },
9137
  { 0, 4, 0 },
9138
  { 3, 3, 0 },
9139
  { 2, 3, 0 },
9140
  { 5, 3, 3 },
9141
  { 4, 3, 3 },
9142
  { 3, 3, 3 },
9143
  { 2, 3, 3 },
9144
  { 1, 3, 1 },
9145
  { 0, 3, 1 },
9146
  { 1, 3, 3 },
9147
  { 0, 3, 3 },
9148
  { 5, 3, 2 },
9149
  { 4, 3, 2 },
9150
  { 3, 3, 2 },
9151
  { 2, 3, 2 },
9152
  { 1, 3, 2 },
9153
  { 0, 3, 2 },
9154
  { 3, 3, 1 },
9155
  { 2, 3, 1 },
9156
  { 5, 3, 5 },
9157
  { 4, 3, 5 },
9158
  { 3, 3, 5 },
9159
  { 2, 3, 5 },
9160
  { 1, 3, 5 },
9161
  { 0, 3, 5 },
9162
  { 1, 3, 0 },
9163
  { 0, 3, 0 },
9164
  { 5, 3, 4 },
9165
  { 4, 3, 4 },
9166
  { 3, 3, 4 },
9167
  { 2, 3, 4 },
9168
  { 1, 3, 4 },
9169
  { 0, 3, 4 },
9170
  { 3, 2, 4 },
9171
  { 2, 2, 4 },
9172
  { 5, 2, 3 },
9173
  { 4, 2, 3 },
9174
  { 3, 2, 3 },
9175
  { 2, 2, 3 },
9176
  { 1, 2, 5 },
9177
  { 0, 2, 5 },
9178
  { 1, 2, 3 },
9179
  { 0, 2, 3 },
9180
  { 5, 2, 2 },
9181
  { 4, 2, 2 },
9182
  { 3, 2, 2 },
9183
  { 2, 2, 2 },
9184
  { 1, 2, 2 },
9185
  { 0, 2, 2 },
9186
  { 3, 2, 5 },
9187
  { 2, 2, 5 },
9188
  { 5, 2, 1 },
9189
  { 4, 2, 1 },
9190
  { 3, 2, 1 },
9191
  { 2, 2, 1 },
9192
  { 1, 2, 1 },
9193
  { 0, 2, 1 },
9194
  { 1, 2, 4 },
9195
  { 0, 2, 4 },
9196
  { 5, 2, 0 },
9197
  { 4, 2, 0 },
9198
  { 3, 2, 0 },
9199
  { 2, 2, 0 },
9200
  { 1, 2, 0 },
9201
  { 0, 2, 0 },
9202
  { 3, 1, 0 },
9203
  { 2, 1, 0 },
9204
  { 5, 1, 3 },
9205
  { 4, 1, 3 },
9206
  { 3, 1, 3 },
9207
  { 2, 1, 3 },
9208
  { 1, 1, 1 },
9209
  { 0, 1, 1 },
9210
  { 1, 1, 3 },
9211
  { 0, 1, 3 },
9212
  { 5, 1, 2 },
9213
  { 4, 1, 2 },
9214
  { 3, 1, 2 },
9215
  { 2, 1, 2 },
9216
  { 1, 1, 2 },
9217
  { 0, 1, 2 },
9218
  { 3, 1, 1 },
9219
  { 2, 1, 1 },
9220
  { 5, 1, 5 },
9221
  { 4, 1, 5 },
9222
  { 3, 1, 5 },
9223
  { 2, 1, 5 },
9224
  { 1, 1, 5 },
9225
  { 0, 1, 5 },
9226
  { 1, 1, 0 },
9227
  { 0, 1, 0 },
9228
  { 5, 1, 4 },
9229
  { 4, 1, 4 },
9230
  { 3, 1, 4 },
9231
  { 2, 1, 4 },
9232
  { 1, 1, 4 },
9233
  { 0, 1, 4 },
9234
  { 3, 0, 4 },
9235
  { 2, 0, 4 },
9236
  { 5, 0, 3 },
9237
  { 4, 0, 3 },
9238
  { 3, 0, 3 },
9239
  { 2, 0, 3 },
9240
  { 1, 0, 5 },
9241
  { 0, 0, 5 },
9242
  { 1, 0, 3 },
9243
  { 0, 0, 3 },
9244
  { 5, 0, 2 },
9245
  { 4, 0, 2 },
9246
  { 3, 0, 2 },
9247
  { 2, 0, 2 },
9248
  { 1, 0, 2 },
9249
  { 0, 0, 2 },
9250
  { 3, 0, 5 },
9251
  { 2, 0, 5 },
9252
  { 5, 0, 1 },
9253
  { 4, 0, 1 },
9254
  { 3, 0, 1 },
9255
  { 2, 0, 1 },
9256
  { 1, 0, 1 },
9257
  { 0, 0, 1 },
9258
  { 1, 0, 4 },
9259
  { 0, 0, 4 },
9260
  { 5, 0, 0 },
9261
  { 4, 0, 0 },
9262
  { 3, 0, 0 },
9263
  { 2, 0, 0 },
9264
  { 1, 0, 0 },
9265
  { 0, 0, 0 },
9266
  { -1, -1, -1 },
9267
  { -1, -1, -1 },
9268
  { -1, -1, -1 },
9269
  { -1, -1, -1 },
9270
  { -1, -1, -1 },
9271
  { -1, -1, -1 },
9272
  { -1, -1, -1 },
9273
  { -1, -1, -1 },
9274
  { -1, -1, -1 },
9275
  { -1, -1, -1 },
9276
  { -1, -1, -1 },
9277
  { -1, -1, -1 },
9278
  { -1, -1, -1 },
9279
  { -1, -1, -1 },
9280
  { -1, -1, -1 },
9281
  { -1, -1, -1 },
9282
  { -1, -1, -1 },
9283
  { -1, -1, -1 },
9284
  { -1, -1, -1 },
9285
  { -1, -1, -1 },
9286
  { -1, -1, -1 },
9287
  { -1, -1, -1 },
9288
  { -1, -1, -1 },
9289
  { -1, -1, -1 },
9290
  { -1, -1, -1 },
9291
  { -1, -1, -1 },
9292
  { -1, -1, -1 },
9293
  { -1, -1, -1 },
9294
  { -1, -1, -1 },
9295
  { -1, -1, -1 },
9296
  { -1, -1, -1 },
9297
  { -1, -1, -1 }
9298
};
9299
 
9300
const char tilepro_sn_direction_names[6][5] =
9301
{
9302
  "w",
9303
  "c",
9304
  "acc",
9305
  "n",
9306
  "e",
9307
  "s"
9308
};
9309
 
9310
const signed char tilepro_sn_dest_map[6][6] =
9311
{
9312
  { -1, 3, 4, 5, 1, 2 } /* val -> w */,
9313
  { -1, 3, 4, 5, 0, 2 } /* val -> c */,
9314
  { -1, 3, 4, 5, 0, 1 } /* val -> acc */,
9315
  { -1, 4, 5, 0, 1, 2 } /* val -> n */,
9316
  { -1, 3, 5, 0, 1, 2 } /* val -> e */,
9317
  { -1, 3, 4, 0, 1, 2 } /* val -> s */
9318
};
9319
#endif /* DISASM_ONLY */
9320
 
9321
const struct tilepro_operand tilepro_operands[43] =
9322
{
9323
  {
9324
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_X0),
9325
    8, 1, 0, 0, 0, 0,
9326
    create_Imm8_X0, get_Imm8_X0
9327
  },
9328
  {
9329
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_X1),
9330
    8, 1, 0, 0, 0, 0,
9331
    create_Imm8_X1, get_Imm8_X1
9332
  },
9333
  {
9334
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_Y0),
9335
    8, 1, 0, 0, 0, 0,
9336
    create_Imm8_Y0, get_Imm8_Y0
9337
  },
9338
  {
9339
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM8_Y1),
9340
    8, 1, 0, 0, 0, 0,
9341
    create_Imm8_Y1, get_Imm8_Y1
9342
  },
9343
  {
9344
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM16_X0),
9345
    16, 1, 0, 0, 0, 0,
9346
    create_Imm16_X0, get_Imm16_X0
9347
  },
9348
  {
9349
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_IMM16_X1),
9350
    16, 1, 0, 0, 0, 0,
9351
    create_Imm16_X1, get_Imm16_X1
9352
  },
9353
  {
9354
    TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(TILEPRO_JOFFLONG_X1),
9355
    29, 1, 0, 0, 1, TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
9356
    create_JOffLong_X1, get_JOffLong_X1
9357
  },
9358
  {
9359
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9360
    6, 0, 0, 1, 0, 0,
9361
    create_Dest_X0, get_Dest_X0
9362
  },
9363
  {
9364
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9365
    6, 0, 1, 0, 0, 0,
9366
    create_SrcA_X0, get_SrcA_X0
9367
  },
9368
  {
9369
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9370
    6, 0, 0, 1, 0, 0,
9371
    create_Dest_X1, get_Dest_X1
9372
  },
9373
  {
9374
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9375
    6, 0, 1, 0, 0, 0,
9376
    create_SrcA_X1, get_SrcA_X1
9377
  },
9378
  {
9379
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9380
    6, 0, 0, 1, 0, 0,
9381
    create_Dest_Y0, get_Dest_Y0
9382
  },
9383
  {
9384
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9385
    6, 0, 1, 0, 0, 0,
9386
    create_SrcA_Y0, get_SrcA_Y0
9387
  },
9388
  {
9389
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9390
    6, 0, 0, 1, 0, 0,
9391
    create_Dest_Y1, get_Dest_Y1
9392
  },
9393
  {
9394
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9395
    6, 0, 1, 0, 0, 0,
9396
    create_SrcA_Y1, get_SrcA_Y1
9397
  },
9398
  {
9399
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9400
    6, 0, 1, 0, 0, 0,
9401
    create_SrcA_Y2, get_SrcA_Y2
9402
  },
9403
  {
9404
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9405
    6, 0, 1, 0, 0, 0,
9406
    create_SrcB_X0, get_SrcB_X0
9407
  },
9408
  {
9409
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9410
    6, 0, 1, 0, 0, 0,
9411
    create_SrcB_X1, get_SrcB_X1
9412
  },
9413
  {
9414
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9415
    6, 0, 1, 0, 0, 0,
9416
    create_SrcB_Y0, get_SrcB_Y0
9417
  },
9418
  {
9419
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9420
    6, 0, 1, 0, 0, 0,
9421
    create_SrcB_Y1, get_SrcB_Y1
9422
  },
9423
  {
9424
    TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(TILEPRO_BROFF_X1),
9425
    17, 1, 0, 0, 1, TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
9426
    create_BrOff_X1, get_BrOff_X1
9427
  },
9428
  {
9429
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9430
    6, 0, 1, 1, 0, 0,
9431
    create_Dest_X0, get_Dest_X0
9432
  },
9433
  {
9434
    TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(NONE),
9435
    28, 1, 0, 0, 1, TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
9436
    create_JOff_X1, get_JOff_X1
9437
  },
9438
  {
9439
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9440
    6, 0, 0, 1, 0, 0,
9441
    create_SrcBDest_Y2, get_SrcBDest_Y2
9442
  },
9443
  {
9444
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9445
    6, 0, 1, 1, 0, 0,
9446
    create_SrcA_X1, get_SrcA_X1
9447
  },
9448
  {
9449
    TILEPRO_OP_TYPE_SPR, BFD_RELOC(TILEPRO_MF_IMM15_X1),
9450
    15, 0, 0, 0, 0, 0,
9451
    create_MF_Imm15_X1, get_MF_Imm15_X1
9452
  },
9453
  {
9454
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMSTART_X0),
9455
    5, 0, 0, 0, 0, 0,
9456
    create_MMStart_X0, get_MMStart_X0
9457
  },
9458
  {
9459
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMEND_X0),
9460
    5, 0, 0, 0, 0, 0,
9461
    create_MMEnd_X0, get_MMEnd_X0
9462
  },
9463
  {
9464
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMSTART_X1),
9465
    5, 0, 0, 0, 0, 0,
9466
    create_MMStart_X1, get_MMStart_X1
9467
  },
9468
  {
9469
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_MMEND_X1),
9470
    5, 0, 0, 0, 0, 0,
9471
    create_MMEnd_X1, get_MMEnd_X1
9472
  },
9473
  {
9474
    TILEPRO_OP_TYPE_SPR, BFD_RELOC(TILEPRO_MT_IMM15_X1),
9475
    15, 0, 0, 0, 0, 0,
9476
    create_MT_Imm15_X1, get_MT_Imm15_X1
9477
  },
9478
  {
9479
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9480
    6, 0, 1, 1, 0, 0,
9481
    create_Dest_Y0, get_Dest_Y0
9482
  },
9483
  {
9484
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_X0),
9485
    5, 0, 0, 0, 0, 0,
9486
    create_ShAmt_X0, get_ShAmt_X0
9487
  },
9488
  {
9489
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_X1),
9490
    5, 0, 0, 0, 0, 0,
9491
    create_ShAmt_X1, get_ShAmt_X1
9492
  },
9493
  {
9494
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_Y0),
9495
    5, 0, 0, 0, 0, 0,
9496
    create_ShAmt_Y0, get_ShAmt_Y0
9497
  },
9498
  {
9499
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_SHAMT_Y1),
9500
    5, 0, 0, 0, 0, 0,
9501
    create_ShAmt_Y1, get_ShAmt_Y1
9502
  },
9503
  {
9504
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9505
    6, 0, 1, 0, 0, 0,
9506
    create_SrcBDest_Y2, get_SrcBDest_Y2
9507
  },
9508
  {
9509
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEPRO_DEST_IMM8_X1),
9510
    8, 1, 0, 0, 0, 0,
9511
    create_Dest_Imm8_X1, get_Dest_Imm8_X1
9512
  },
9513
  {
9514
    TILEPRO_OP_TYPE_ADDRESS, BFD_RELOC(NONE),
9515
    10, 1, 0, 0, 1, TILEPRO_LOG2_SN_INSTRUCTION_SIZE_IN_BYTES,
9516
    create_BrOff_SN, get_BrOff_SN
9517
  },
9518
  {
9519
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(NONE),
9520
    8, 0, 0, 0, 0, 0,
9521
    create_Imm8_SN, get_Imm8_SN
9522
  },
9523
  {
9524
    TILEPRO_OP_TYPE_IMMEDIATE, BFD_RELOC(NONE),
9525
    8, 1, 0, 0, 0, 0,
9526
    create_Imm8_SN, get_Imm8_SN
9527
  },
9528
  {
9529
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9530
    2, 0, 0, 1, 0, 0,
9531
    create_Dest_SN, get_Dest_SN
9532
  },
9533
  {
9534
    TILEPRO_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9535
    2, 0, 1, 0, 0, 0,
9536
    create_Src_SN, get_Src_SN
9537
  }
9538
};
9539
 
9540
#ifndef DISASM_ONLY
9541
const struct tilepro_spr tilepro_sprs[] =
9542
{
9543
  { 0, "MPL_ITLB_MISS_SET_0" },
9544
  { 1, "MPL_ITLB_MISS_SET_1" },
9545
  { 2, "MPL_ITLB_MISS_SET_2" },
9546
  { 3, "MPL_ITLB_MISS_SET_3" },
9547
  { 4, "MPL_ITLB_MISS" },
9548
  { 256, "ITLB_CURRENT_0" },
9549
  { 257, "ITLB_CURRENT_1" },
9550
  { 258, "ITLB_CURRENT_2" },
9551
  { 259, "ITLB_CURRENT_3" },
9552
  { 260, "ITLB_INDEX" },
9553
  { 261, "ITLB_MATCH_0" },
9554
  { 262, "ITLB_PR" },
9555
  { 263, "NUMBER_ITLB" },
9556
  { 264, "REPLACEMENT_ITLB" },
9557
  { 265, "WIRED_ITLB" },
9558
  { 266, "ITLB_PERF" },
9559
  { 512, "MPL_MEM_ERROR_SET_0" },
9560
  { 513, "MPL_MEM_ERROR_SET_1" },
9561
  { 514, "MPL_MEM_ERROR_SET_2" },
9562
  { 515, "MPL_MEM_ERROR_SET_3" },
9563
  { 516, "MPL_MEM_ERROR" },
9564
  { 517, "L1_I_ERROR" },
9565
  { 518, "MEM_ERROR_CBOX_ADDR" },
9566
  { 519, "MEM_ERROR_CBOX_STATUS" },
9567
  { 520, "MEM_ERROR_ENABLE" },
9568
  { 521, "MEM_ERROR_MBOX_ADDR" },
9569
  { 522, "MEM_ERROR_MBOX_STATUS" },
9570
  { 523, "SNIC_ERROR_LOG_STATUS" },
9571
  { 524, "SNIC_ERROR_LOG_VA" },
9572
  { 525, "XDN_DEMUX_ERROR" },
9573
  { 1024, "MPL_ILL_SET_0" },
9574
  { 1025, "MPL_ILL_SET_1" },
9575
  { 1026, "MPL_ILL_SET_2" },
9576
  { 1027, "MPL_ILL_SET_3" },
9577
  { 1028, "MPL_ILL" },
9578
  { 1536, "MPL_GPV_SET_0" },
9579
  { 1537, "MPL_GPV_SET_1" },
9580
  { 1538, "MPL_GPV_SET_2" },
9581
  { 1539, "MPL_GPV_SET_3" },
9582
  { 1540, "MPL_GPV" },
9583
  { 1541, "GPV_REASON" },
9584
  { 2048, "MPL_SN_ACCESS_SET_0" },
9585
  { 2049, "MPL_SN_ACCESS_SET_1" },
9586
  { 2050, "MPL_SN_ACCESS_SET_2" },
9587
  { 2051, "MPL_SN_ACCESS_SET_3" },
9588
  { 2052, "MPL_SN_ACCESS" },
9589
  { 2053, "SNCTL" },
9590
  { 2054, "SNFIFO_DATA" },
9591
  { 2055, "SNFIFO_SEL" },
9592
  { 2056, "SNIC_INVADDR" },
9593
  { 2057, "SNISTATE" },
9594
  { 2058, "SNOSTATE" },
9595
  { 2059, "SNPC" },
9596
  { 2060, "SNSTATIC" },
9597
  { 2304, "SN_DATA_AVAIL" },
9598
  { 2560, "MPL_IDN_ACCESS_SET_0" },
9599
  { 2561, "MPL_IDN_ACCESS_SET_1" },
9600
  { 2562, "MPL_IDN_ACCESS_SET_2" },
9601
  { 2563, "MPL_IDN_ACCESS_SET_3" },
9602
  { 2564, "MPL_IDN_ACCESS" },
9603
  { 2565, "IDN_DEMUX_CA_COUNT" },
9604
  { 2566, "IDN_DEMUX_COUNT_0" },
9605
  { 2567, "IDN_DEMUX_COUNT_1" },
9606
  { 2568, "IDN_DEMUX_CTL" },
9607
  { 2569, "IDN_DEMUX_CURR_TAG" },
9608
  { 2570, "IDN_DEMUX_QUEUE_SEL" },
9609
  { 2571, "IDN_DEMUX_STATUS" },
9610
  { 2572, "IDN_DEMUX_WRITE_FIFO" },
9611
  { 2573, "IDN_DEMUX_WRITE_QUEUE" },
9612
  { 2574, "IDN_PENDING" },
9613
  { 2575, "IDN_SP_FIFO_DATA" },
9614
  { 2576, "IDN_SP_FIFO_SEL" },
9615
  { 2577, "IDN_SP_FREEZE" },
9616
  { 2578, "IDN_SP_STATE" },
9617
  { 2579, "IDN_TAG_0" },
9618
  { 2580, "IDN_TAG_1" },
9619
  { 2581, "IDN_TAG_VALID" },
9620
  { 2582, "IDN_TILE_COORD" },
9621
  { 2816, "IDN_CA_DATA" },
9622
  { 2817, "IDN_CA_REM" },
9623
  { 2818, "IDN_CA_TAG" },
9624
  { 2819, "IDN_DATA_AVAIL" },
9625
  { 3072, "MPL_UDN_ACCESS_SET_0" },
9626
  { 3073, "MPL_UDN_ACCESS_SET_1" },
9627
  { 3074, "MPL_UDN_ACCESS_SET_2" },
9628
  { 3075, "MPL_UDN_ACCESS_SET_3" },
9629
  { 3076, "MPL_UDN_ACCESS" },
9630
  { 3077, "UDN_DEMUX_CA_COUNT" },
9631
  { 3078, "UDN_DEMUX_COUNT_0" },
9632
  { 3079, "UDN_DEMUX_COUNT_1" },
9633
  { 3080, "UDN_DEMUX_COUNT_2" },
9634
  { 3081, "UDN_DEMUX_COUNT_3" },
9635
  { 3082, "UDN_DEMUX_CTL" },
9636
  { 3083, "UDN_DEMUX_CURR_TAG" },
9637
  { 3084, "UDN_DEMUX_QUEUE_SEL" },
9638
  { 3085, "UDN_DEMUX_STATUS" },
9639
  { 3086, "UDN_DEMUX_WRITE_FIFO" },
9640
  { 3087, "UDN_DEMUX_WRITE_QUEUE" },
9641
  { 3088, "UDN_PENDING" },
9642
  { 3089, "UDN_SP_FIFO_DATA" },
9643
  { 3090, "UDN_SP_FIFO_SEL" },
9644
  { 3091, "UDN_SP_FREEZE" },
9645
  { 3092, "UDN_SP_STATE" },
9646
  { 3093, "UDN_TAG_0" },
9647
  { 3094, "UDN_TAG_1" },
9648
  { 3095, "UDN_TAG_2" },
9649
  { 3096, "UDN_TAG_3" },
9650
  { 3097, "UDN_TAG_VALID" },
9651
  { 3098, "UDN_TILE_COORD" },
9652
  { 3328, "UDN_CA_DATA" },
9653
  { 3329, "UDN_CA_REM" },
9654
  { 3330, "UDN_CA_TAG" },
9655
  { 3331, "UDN_DATA_AVAIL" },
9656
  { 3584, "MPL_IDN_REFILL_SET_0" },
9657
  { 3585, "MPL_IDN_REFILL_SET_1" },
9658
  { 3586, "MPL_IDN_REFILL_SET_2" },
9659
  { 3587, "MPL_IDN_REFILL_SET_3" },
9660
  { 3588, "MPL_IDN_REFILL" },
9661
  { 3589, "IDN_REFILL_EN" },
9662
  { 4096, "MPL_UDN_REFILL_SET_0" },
9663
  { 4097, "MPL_UDN_REFILL_SET_1" },
9664
  { 4098, "MPL_UDN_REFILL_SET_2" },
9665
  { 4099, "MPL_UDN_REFILL_SET_3" },
9666
  { 4100, "MPL_UDN_REFILL" },
9667
  { 4101, "UDN_REFILL_EN" },
9668
  { 4608, "MPL_IDN_COMPLETE_SET_0" },
9669
  { 4609, "MPL_IDN_COMPLETE_SET_1" },
9670
  { 4610, "MPL_IDN_COMPLETE_SET_2" },
9671
  { 4611, "MPL_IDN_COMPLETE_SET_3" },
9672
  { 4612, "MPL_IDN_COMPLETE" },
9673
  { 4613, "IDN_REMAINING" },
9674
  { 5120, "MPL_UDN_COMPLETE_SET_0" },
9675
  { 5121, "MPL_UDN_COMPLETE_SET_1" },
9676
  { 5122, "MPL_UDN_COMPLETE_SET_2" },
9677
  { 5123, "MPL_UDN_COMPLETE_SET_3" },
9678
  { 5124, "MPL_UDN_COMPLETE" },
9679
  { 5125, "UDN_REMAINING" },
9680
  { 5632, "MPL_SWINT_3_SET_0" },
9681
  { 5633, "MPL_SWINT_3_SET_1" },
9682
  { 5634, "MPL_SWINT_3_SET_2" },
9683
  { 5635, "MPL_SWINT_3_SET_3" },
9684
  { 5636, "MPL_SWINT_3" },
9685
  { 6144, "MPL_SWINT_2_SET_0" },
9686
  { 6145, "MPL_SWINT_2_SET_1" },
9687
  { 6146, "MPL_SWINT_2_SET_2" },
9688
  { 6147, "MPL_SWINT_2_SET_3" },
9689
  { 6148, "MPL_SWINT_2" },
9690
  { 6656, "MPL_SWINT_1_SET_0" },
9691
  { 6657, "MPL_SWINT_1_SET_1" },
9692
  { 6658, "MPL_SWINT_1_SET_2" },
9693
  { 6659, "MPL_SWINT_1_SET_3" },
9694
  { 6660, "MPL_SWINT_1" },
9695
  { 7168, "MPL_SWINT_0_SET_0" },
9696
  { 7169, "MPL_SWINT_0_SET_1" },
9697
  { 7170, "MPL_SWINT_0_SET_2" },
9698
  { 7171, "MPL_SWINT_0_SET_3" },
9699
  { 7172, "MPL_SWINT_0" },
9700
  { 7680, "MPL_UNALIGN_DATA_SET_0" },
9701
  { 7681, "MPL_UNALIGN_DATA_SET_1" },
9702
  { 7682, "MPL_UNALIGN_DATA_SET_2" },
9703
  { 7683, "MPL_UNALIGN_DATA_SET_3" },
9704
  { 7684, "MPL_UNALIGN_DATA" },
9705
  { 8192, "MPL_DTLB_MISS_SET_0" },
9706
  { 8193, "MPL_DTLB_MISS_SET_1" },
9707
  { 8194, "MPL_DTLB_MISS_SET_2" },
9708
  { 8195, "MPL_DTLB_MISS_SET_3" },
9709
  { 8196, "MPL_DTLB_MISS" },
9710
  { 8448, "AER_0" },
9711
  { 8449, "AER_1" },
9712
  { 8450, "DTLB_BAD_ADDR" },
9713
  { 8451, "DTLB_BAD_ADDR_REASON" },
9714
  { 8452, "DTLB_CURRENT_0" },
9715
  { 8453, "DTLB_CURRENT_1" },
9716
  { 8454, "DTLB_CURRENT_2" },
9717
  { 8455, "DTLB_CURRENT_3" },
9718
  { 8456, "DTLB_INDEX" },
9719
  { 8457, "DTLB_MATCH_0" },
9720
  { 8458, "NUMBER_DTLB" },
9721
  { 8459, "PHYSICAL_MEMORY_MODE" },
9722
  { 8460, "REPLACEMENT_DTLB" },
9723
  { 8461, "WIRED_DTLB" },
9724
  { 8462, "CACHE_RED_WAY_OVERRIDDEN" },
9725
  { 8463, "DTLB_PERF" },
9726
  { 8704, "MPL_DTLB_ACCESS_SET_0" },
9727
  { 8705, "MPL_DTLB_ACCESS_SET_1" },
9728
  { 8706, "MPL_DTLB_ACCESS_SET_2" },
9729
  { 8707, "MPL_DTLB_ACCESS_SET_3" },
9730
  { 8708, "MPL_DTLB_ACCESS" },
9731
  { 9216, "MPL_DMATLB_MISS_SET_0" },
9732
  { 9217, "MPL_DMATLB_MISS_SET_1" },
9733
  { 9218, "MPL_DMATLB_MISS_SET_2" },
9734
  { 9219, "MPL_DMATLB_MISS_SET_3" },
9735
  { 9220, "MPL_DMATLB_MISS" },
9736
  { 9472, "DMA_BAD_ADDR" },
9737
  { 9473, "DMA_STATUS" },
9738
  { 9728, "MPL_DMATLB_ACCESS_SET_0" },
9739
  { 9729, "MPL_DMATLB_ACCESS_SET_1" },
9740
  { 9730, "MPL_DMATLB_ACCESS_SET_2" },
9741
  { 9731, "MPL_DMATLB_ACCESS_SET_3" },
9742
  { 9732, "MPL_DMATLB_ACCESS" },
9743
  { 10240, "MPL_SNITLB_MISS_SET_0" },
9744
  { 10241, "MPL_SNITLB_MISS_SET_1" },
9745
  { 10242, "MPL_SNITLB_MISS_SET_2" },
9746
  { 10243, "MPL_SNITLB_MISS_SET_3" },
9747
  { 10244, "MPL_SNITLB_MISS" },
9748
  { 10245, "NUMBER_SNITLB" },
9749
  { 10246, "REPLACEMENT_SNITLB" },
9750
  { 10247, "SNITLB_CURRENT_0" },
9751
  { 10248, "SNITLB_CURRENT_1" },
9752
  { 10249, "SNITLB_CURRENT_2" },
9753
  { 10250, "SNITLB_CURRENT_3" },
9754
  { 10251, "SNITLB_INDEX" },
9755
  { 10252, "SNITLB_MATCH_0" },
9756
  { 10253, "SNITLB_PR" },
9757
  { 10254, "WIRED_SNITLB" },
9758
  { 10255, "SNITLB_STATUS" },
9759
  { 10752, "MPL_SN_NOTIFY_SET_0" },
9760
  { 10753, "MPL_SN_NOTIFY_SET_1" },
9761
  { 10754, "MPL_SN_NOTIFY_SET_2" },
9762
  { 10755, "MPL_SN_NOTIFY_SET_3" },
9763
  { 10756, "MPL_SN_NOTIFY" },
9764
  { 10757, "SN_NOTIFY_STATUS" },
9765
  { 11264, "MPL_SN_FIREWALL_SET_0" },
9766
  { 11265, "MPL_SN_FIREWALL_SET_1" },
9767
  { 11266, "MPL_SN_FIREWALL_SET_2" },
9768
  { 11267, "MPL_SN_FIREWALL_SET_3" },
9769
  { 11268, "MPL_SN_FIREWALL" },
9770
  { 11269, "SN_DIRECTION_PROTECT" },
9771
  { 11776, "MPL_IDN_FIREWALL_SET_0" },
9772
  { 11777, "MPL_IDN_FIREWALL_SET_1" },
9773
  { 11778, "MPL_IDN_FIREWALL_SET_2" },
9774
  { 11779, "MPL_IDN_FIREWALL_SET_3" },
9775
  { 11780, "MPL_IDN_FIREWALL" },
9776
  { 11781, "IDN_DIRECTION_PROTECT" },
9777
  { 12288, "MPL_UDN_FIREWALL_SET_0" },
9778
  { 12289, "MPL_UDN_FIREWALL_SET_1" },
9779
  { 12290, "MPL_UDN_FIREWALL_SET_2" },
9780
  { 12291, "MPL_UDN_FIREWALL_SET_3" },
9781
  { 12292, "MPL_UDN_FIREWALL" },
9782
  { 12293, "UDN_DIRECTION_PROTECT" },
9783
  { 12800, "MPL_TILE_TIMER_SET_0" },
9784
  { 12801, "MPL_TILE_TIMER_SET_1" },
9785
  { 12802, "MPL_TILE_TIMER_SET_2" },
9786
  { 12803, "MPL_TILE_TIMER_SET_3" },
9787
  { 12804, "MPL_TILE_TIMER" },
9788
  { 12805, "TILE_TIMER_CONTROL" },
9789
  { 13312, "MPL_IDN_TIMER_SET_0" },
9790
  { 13313, "MPL_IDN_TIMER_SET_1" },
9791
  { 13314, "MPL_IDN_TIMER_SET_2" },
9792
  { 13315, "MPL_IDN_TIMER_SET_3" },
9793
  { 13316, "MPL_IDN_TIMER" },
9794
  { 13317, "IDN_DEADLOCK_COUNT" },
9795
  { 13318, "IDN_DEADLOCK_TIMEOUT" },
9796
  { 13824, "MPL_UDN_TIMER_SET_0" },
9797
  { 13825, "MPL_UDN_TIMER_SET_1" },
9798
  { 13826, "MPL_UDN_TIMER_SET_2" },
9799
  { 13827, "MPL_UDN_TIMER_SET_3" },
9800
  { 13828, "MPL_UDN_TIMER" },
9801
  { 13829, "UDN_DEADLOCK_COUNT" },
9802
  { 13830, "UDN_DEADLOCK_TIMEOUT" },
9803
  { 14336, "MPL_DMA_NOTIFY_SET_0" },
9804
  { 14337, "MPL_DMA_NOTIFY_SET_1" },
9805
  { 14338, "MPL_DMA_NOTIFY_SET_2" },
9806
  { 14339, "MPL_DMA_NOTIFY_SET_3" },
9807
  { 14340, "MPL_DMA_NOTIFY" },
9808
  { 14592, "DMA_BYTE" },
9809
  { 14593, "DMA_CHUNK_SIZE" },
9810
  { 14594, "DMA_CTR" },
9811
  { 14595, "DMA_DST_ADDR" },
9812
  { 14596, "DMA_DST_CHUNK_ADDR" },
9813
  { 14597, "DMA_SRC_ADDR" },
9814
  { 14598, "DMA_SRC_CHUNK_ADDR" },
9815
  { 14599, "DMA_STRIDE" },
9816
  { 14600, "DMA_USER_STATUS" },
9817
  { 14848, "MPL_IDN_CA_SET_0" },
9818
  { 14849, "MPL_IDN_CA_SET_1" },
9819
  { 14850, "MPL_IDN_CA_SET_2" },
9820
  { 14851, "MPL_IDN_CA_SET_3" },
9821
  { 14852, "MPL_IDN_CA" },
9822
  { 15360, "MPL_UDN_CA_SET_0" },
9823
  { 15361, "MPL_UDN_CA_SET_1" },
9824
  { 15362, "MPL_UDN_CA_SET_2" },
9825
  { 15363, "MPL_UDN_CA_SET_3" },
9826
  { 15364, "MPL_UDN_CA" },
9827
  { 15872, "MPL_IDN_AVAIL_SET_0" },
9828
  { 15873, "MPL_IDN_AVAIL_SET_1" },
9829
  { 15874, "MPL_IDN_AVAIL_SET_2" },
9830
  { 15875, "MPL_IDN_AVAIL_SET_3" },
9831
  { 15876, "MPL_IDN_AVAIL" },
9832
  { 15877, "IDN_AVAIL_EN" },
9833
  { 16384, "MPL_UDN_AVAIL_SET_0" },
9834
  { 16385, "MPL_UDN_AVAIL_SET_1" },
9835
  { 16386, "MPL_UDN_AVAIL_SET_2" },
9836
  { 16387, "MPL_UDN_AVAIL_SET_3" },
9837
  { 16388, "MPL_UDN_AVAIL" },
9838
  { 16389, "UDN_AVAIL_EN" },
9839
  { 16896, "MPL_PERF_COUNT_SET_0" },
9840
  { 16897, "MPL_PERF_COUNT_SET_1" },
9841
  { 16898, "MPL_PERF_COUNT_SET_2" },
9842
  { 16899, "MPL_PERF_COUNT_SET_3" },
9843
  { 16900, "MPL_PERF_COUNT" },
9844
  { 16901, "PERF_COUNT_0" },
9845
  { 16902, "PERF_COUNT_1" },
9846
  { 16903, "PERF_COUNT_CTL" },
9847
  { 16904, "PERF_COUNT_STS" },
9848
  { 16905, "WATCH_CTL" },
9849
  { 16906, "WATCH_MASK" },
9850
  { 16907, "WATCH_VAL" },
9851
  { 16912, "PERF_COUNT_DN_CTL" },
9852
  { 17408, "MPL_INTCTRL_3_SET_0" },
9853
  { 17409, "MPL_INTCTRL_3_SET_1" },
9854
  { 17410, "MPL_INTCTRL_3_SET_2" },
9855
  { 17411, "MPL_INTCTRL_3_SET_3" },
9856
  { 17412, "MPL_INTCTRL_3" },
9857
  { 17413, "EX_CONTEXT_3_0" },
9858
  { 17414, "EX_CONTEXT_3_1" },
9859
  { 17415, "INTERRUPT_MASK_3_0" },
9860
  { 17416, "INTERRUPT_MASK_3_1" },
9861
  { 17417, "INTERRUPT_MASK_RESET_3_0" },
9862
  { 17418, "INTERRUPT_MASK_RESET_3_1" },
9863
  { 17419, "INTERRUPT_MASK_SET_3_0" },
9864
  { 17420, "INTERRUPT_MASK_SET_3_1" },
9865
  { 17432, "INTCTRL_3_STATUS" },
9866
  { 17664, "SYSTEM_SAVE_3_0" },
9867
  { 17665, "SYSTEM_SAVE_3_1" },
9868
  { 17666, "SYSTEM_SAVE_3_2" },
9869
  { 17667, "SYSTEM_SAVE_3_3" },
9870
  { 17920, "MPL_INTCTRL_2_SET_0" },
9871
  { 17921, "MPL_INTCTRL_2_SET_1" },
9872
  { 17922, "MPL_INTCTRL_2_SET_2" },
9873
  { 17923, "MPL_INTCTRL_2_SET_3" },
9874
  { 17924, "MPL_INTCTRL_2" },
9875
  { 17925, "EX_CONTEXT_2_0" },
9876
  { 17926, "EX_CONTEXT_2_1" },
9877
  { 17927, "INTCTRL_2_STATUS" },
9878
  { 17928, "INTERRUPT_MASK_2_0" },
9879
  { 17929, "INTERRUPT_MASK_2_1" },
9880
  { 17930, "INTERRUPT_MASK_RESET_2_0" },
9881
  { 17931, "INTERRUPT_MASK_RESET_2_1" },
9882
  { 17932, "INTERRUPT_MASK_SET_2_0" },
9883
  { 17933, "INTERRUPT_MASK_SET_2_1" },
9884
  { 18176, "SYSTEM_SAVE_2_0" },
9885
  { 18177, "SYSTEM_SAVE_2_1" },
9886
  { 18178, "SYSTEM_SAVE_2_2" },
9887
  { 18179, "SYSTEM_SAVE_2_3" },
9888
  { 18432, "MPL_INTCTRL_1_SET_0" },
9889
  { 18433, "MPL_INTCTRL_1_SET_1" },
9890
  { 18434, "MPL_INTCTRL_1_SET_2" },
9891
  { 18435, "MPL_INTCTRL_1_SET_3" },
9892
  { 18436, "MPL_INTCTRL_1" },
9893
  { 18437, "EX_CONTEXT_1_0" },
9894
  { 18438, "EX_CONTEXT_1_1" },
9895
  { 18439, "INTCTRL_1_STATUS" },
9896
  { 18440, "INTCTRL_3_STATUS_REV0" },
9897
  { 18441, "INTERRUPT_MASK_1_0" },
9898
  { 18442, "INTERRUPT_MASK_1_1" },
9899
  { 18443, "INTERRUPT_MASK_RESET_1_0" },
9900
  { 18444, "INTERRUPT_MASK_RESET_1_1" },
9901
  { 18445, "INTERRUPT_MASK_SET_1_0" },
9902
  { 18446, "INTERRUPT_MASK_SET_1_1" },
9903
  { 18688, "SYSTEM_SAVE_1_0" },
9904
  { 18689, "SYSTEM_SAVE_1_1" },
9905
  { 18690, "SYSTEM_SAVE_1_2" },
9906
  { 18691, "SYSTEM_SAVE_1_3" },
9907
  { 18944, "MPL_INTCTRL_0_SET_0" },
9908
  { 18945, "MPL_INTCTRL_0_SET_1" },
9909
  { 18946, "MPL_INTCTRL_0_SET_2" },
9910
  { 18947, "MPL_INTCTRL_0_SET_3" },
9911
  { 18948, "MPL_INTCTRL_0" },
9912
  { 18949, "EX_CONTEXT_0_0" },
9913
  { 18950, "EX_CONTEXT_0_1" },
9914
  { 18951, "INTCTRL_0_STATUS" },
9915
  { 18952, "INTERRUPT_MASK_0_0" },
9916
  { 18953, "INTERRUPT_MASK_0_1" },
9917
  { 18954, "INTERRUPT_MASK_RESET_0_0" },
9918
  { 18955, "INTERRUPT_MASK_RESET_0_1" },
9919
  { 18956, "INTERRUPT_MASK_SET_0_0" },
9920
  { 18957, "INTERRUPT_MASK_SET_0_1" },
9921
  { 19200, "SYSTEM_SAVE_0_0" },
9922
  { 19201, "SYSTEM_SAVE_0_1" },
9923
  { 19202, "SYSTEM_SAVE_0_2" },
9924
  { 19203, "SYSTEM_SAVE_0_3" },
9925
  { 19456, "MPL_BOOT_ACCESS_SET_0" },
9926
  { 19457, "MPL_BOOT_ACCESS_SET_1" },
9927
  { 19458, "MPL_BOOT_ACCESS_SET_2" },
9928
  { 19459, "MPL_BOOT_ACCESS_SET_3" },
9929
  { 19460, "MPL_BOOT_ACCESS" },
9930
  { 19461, "CBOX_CACHEASRAM_CONFIG" },
9931
  { 19462, "CBOX_CACHE_CONFIG" },
9932
  { 19463, "CBOX_MMAP_0" },
9933
  { 19464, "CBOX_MMAP_1" },
9934
  { 19465, "CBOX_MMAP_2" },
9935
  { 19466, "CBOX_MMAP_3" },
9936
  { 19467, "CBOX_MSR" },
9937
  { 19468, "CBOX_SRC_ID" },
9938
  { 19469, "CYCLE_HIGH_MODIFY" },
9939
  { 19470, "CYCLE_LOW_MODIFY" },
9940
  { 19471, "DIAG_BCST_CTL" },
9941
  { 19472, "DIAG_BCST_MASK" },
9942
  { 19473, "DIAG_BCST_TRIGGER" },
9943
  { 19474, "DIAG_MUX_CTL" },
9944
  { 19475, "DIAG_TRACE_CTL" },
9945
  { 19476, "DIAG_TRACE_STS" },
9946
  { 19477, "IDN_DEMUX_BUF_THRESH" },
9947
  { 19478, "SBOX_CONFIG" },
9948
  { 19479, "TILE_COORD" },
9949
  { 19480, "UDN_DEMUX_BUF_THRESH" },
9950
  { 19481, "CBOX_HOME_MAP_ADDR" },
9951
  { 19482, "CBOX_HOME_MAP_DATA" },
9952
  { 19483, "CBOX_MSR1" },
9953
  { 19484, "BIG_ENDIAN_CONFIG" },
9954
  { 19485, "MEM_STRIPE_CONFIG" },
9955
  { 19486, "DIAG_TRACE_WAY" },
9956
  { 19487, "VDN_SNOOP_SHIM_CTL" },
9957
  { 19488, "PERF_COUNT_PLS" },
9958
  { 19489, "DIAG_TRACE_DATA" },
9959
  { 19712, "I_AER_0" },
9960
  { 19713, "I_AER_1" },
9961
  { 19714, "I_PHYSICAL_MEMORY_MODE" },
9962
  { 19968, "MPL_WORLD_ACCESS_SET_0" },
9963
  { 19969, "MPL_WORLD_ACCESS_SET_1" },
9964
  { 19970, "MPL_WORLD_ACCESS_SET_2" },
9965
  { 19971, "MPL_WORLD_ACCESS_SET_3" },
9966
  { 19972, "MPL_WORLD_ACCESS" },
9967
  { 19973, "SIM_SOCKET" },
9968
  { 19974, "CYCLE_HIGH" },
9969
  { 19975, "CYCLE_LOW" },
9970
  { 19976, "DONE" },
9971
  { 19977, "FAIL" },
9972
  { 19978, "INTERRUPT_CRITICAL_SECTION" },
9973
  { 19979, "PASS" },
9974
  { 19980, "SIM_CONTROL" },
9975
  { 19981, "EVENT_BEGIN" },
9976
  { 19982, "EVENT_END" },
9977
  { 19983, "TILE_WRITE_PENDING" },
9978
  { 19984, "TILE_RTF_HWM" },
9979
  { 20224, "PROC_STATUS" },
9980
  { 20225, "STATUS_SATURATE" },
9981
  { 20480, "MPL_I_ASID_SET_0" },
9982
  { 20481, "MPL_I_ASID_SET_1" },
9983
  { 20482, "MPL_I_ASID_SET_2" },
9984
  { 20483, "MPL_I_ASID_SET_3" },
9985
  { 20484, "MPL_I_ASID" },
9986
  { 20485, "I_ASID" },
9987
  { 20992, "MPL_D_ASID_SET_0" },
9988
  { 20993, "MPL_D_ASID_SET_1" },
9989
  { 20994, "MPL_D_ASID_SET_2" },
9990
  { 20995, "MPL_D_ASID_SET_3" },
9991
  { 20996, "MPL_D_ASID" },
9992
  { 20997, "D_ASID" },
9993
  { 21504, "MPL_DMA_ASID_SET_0" },
9994
  { 21505, "MPL_DMA_ASID_SET_1" },
9995
  { 21506, "MPL_DMA_ASID_SET_2" },
9996
  { 21507, "MPL_DMA_ASID_SET_3" },
9997
  { 21508, "MPL_DMA_ASID" },
9998
  { 21509, "DMA_ASID" },
9999
  { 22016, "MPL_SNI_ASID_SET_0" },
10000
  { 22017, "MPL_SNI_ASID_SET_1" },
10001
  { 22018, "MPL_SNI_ASID_SET_2" },
10002
  { 22019, "MPL_SNI_ASID_SET_3" },
10003
  { 22020, "MPL_SNI_ASID" },
10004
  { 22021, "SNI_ASID" },
10005
  { 22528, "MPL_DMA_CPL_SET_0" },
10006
  { 22529, "MPL_DMA_CPL_SET_1" },
10007
  { 22530, "MPL_DMA_CPL_SET_2" },
10008
  { 22531, "MPL_DMA_CPL_SET_3" },
10009
  { 22532, "MPL_DMA_CPL" },
10010
  { 23040, "MPL_SN_CPL_SET_0" },
10011
  { 23041, "MPL_SN_CPL_SET_1" },
10012
  { 23042, "MPL_SN_CPL_SET_2" },
10013
  { 23043, "MPL_SN_CPL_SET_3" },
10014
  { 23044, "MPL_SN_CPL" },
10015
  { 23552, "MPL_DOUBLE_FAULT_SET_0" },
10016
  { 23553, "MPL_DOUBLE_FAULT_SET_1" },
10017
  { 23554, "MPL_DOUBLE_FAULT_SET_2" },
10018
  { 23555, "MPL_DOUBLE_FAULT_SET_3" },
10019
  { 23556, "MPL_DOUBLE_FAULT" },
10020
  { 23557, "LAST_INTERRUPT_REASON" },
10021
  { 24064, "MPL_SN_STATIC_ACCESS_SET_0" },
10022
  { 24065, "MPL_SN_STATIC_ACCESS_SET_1" },
10023
  { 24066, "MPL_SN_STATIC_ACCESS_SET_2" },
10024
  { 24067, "MPL_SN_STATIC_ACCESS_SET_3" },
10025
  { 24068, "MPL_SN_STATIC_ACCESS" },
10026
  { 24069, "SN_STATIC_CTL" },
10027
  { 24070, "SN_STATIC_FIFO_DATA" },
10028
  { 24071, "SN_STATIC_FIFO_SEL" },
10029
  { 24073, "SN_STATIC_ISTATE" },
10030
  { 24074, "SN_STATIC_OSTATE" },
10031
  { 24076, "SN_STATIC_STATIC" },
10032
  { 24320, "SN_STATIC_DATA_AVAIL" },
10033
  { 24576, "MPL_AUX_PERF_COUNT_SET_0" },
10034
  { 24577, "MPL_AUX_PERF_COUNT_SET_1" },
10035
  { 24578, "MPL_AUX_PERF_COUNT_SET_2" },
10036
  { 24579, "MPL_AUX_PERF_COUNT_SET_3" },
10037
  { 24580, "MPL_AUX_PERF_COUNT" },
10038
  { 24581, "AUX_PERF_COUNT_0" },
10039
  { 24582, "AUX_PERF_COUNT_1" },
10040
  { 24583, "AUX_PERF_COUNT_CTL" },
10041
  { 24584, "AUX_PERF_COUNT_STS" },
10042
};
10043
 
10044
const int tilepro_num_sprs = 499;
10045
 
10046
#endif /* DISASM_ONLY */
10047
 
10048
#ifndef DISASM_ONLY
10049
 
10050
#include <stdlib.h>
10051
 
10052
static int
10053
tilepro_spr_compare (const void *a_ptr, const void *b_ptr)
10054
{
10055
  const struct tilepro_spr *a = (const struct tilepro_spr *) a_ptr;
10056
  const struct tilepro_spr *b = (const struct tilepro_spr *) b_ptr;
10057
 
10058
  return a->number - b->number;
10059
}
10060
 
10061
const char *
10062
get_tilepro_spr_name (int num)
10063
{
10064
  void *result;
10065
  struct tilepro_spr key;
10066
 
10067
  key.number = num;
10068
  result = bsearch ((const void *) &key, (const void *) tilepro_sprs,
10069
                    tilepro_num_sprs, sizeof (struct tilepro_spr),
10070
                    tilepro_spr_compare);
10071
 
10072
  if (result == NULL)
10073
    return NULL;
10074
 
10075
  {
10076
    struct tilepro_spr *result_ptr = (struct tilepro_spr *) result;
10077
 
10078
    return result_ptr->name;
10079
  }
10080
}
10081
 
10082
 
10083
/* Canonical name of each register. */
10084
const char * const tilepro_register_names[] =
10085
{
10086
  "r0",   "r1",  "r2",  "r3",  "r4",  "r5",  "r6",  "r7",
10087
  "r8",   "r9",  "r10", "r11", "r12", "r13", "r14", "r15",
10088
  "r16",  "r17", "r18", "r19", "r20", "r21", "r22", "r23",
10089
  "r24",  "r25", "r26", "r27", "r28", "r29", "r30", "r31",
10090
  "r32",  "r33", "r34", "r35", "r36", "r37", "r38", "r39",
10091
  "r40",  "r41", "r42", "r43", "r44", "r45", "r46", "r47",
10092
  "r48",  "r49", "r50", "r51", "r52", "tp",  "sp",  "lr",
10093
  "sn",  "idn0", "idn1", "udn0", "udn1", "udn2", "udn3", "zero"
10094
};
10095
 
10096
#endif /* not DISASM_ONLY */
10097
 
10098
 
10099
/* Given a set of bundle bits and a specific pipe, returns which
10100
   instruction the bundle contains in that pipe.  */
10101
 
10102
const struct tilepro_opcode *
10103
find_opcode (tilepro_bundle_bits bits, tilepro_pipeline pipe)
10104
{
10105
  const unsigned short *table = tilepro_bundle_decoder_fsms[pipe];
10106
  int index = 0;
10107
 
10108
  while (1)
10109
    {
10110
      unsigned short bitspec = table[index];
10111
      unsigned int bitfield =
10112
        ((unsigned int) (bits >> (bitspec & 63))) & (bitspec >> 6);
10113
      unsigned short next = table[index + 1 + bitfield];
10114
 
10115
      if (next <= TILEPRO_OPC_NONE)
10116
        return &tilepro_opcodes[next];
10117
 
10118
      index = next - TILEPRO_OPC_NONE;
10119
    }
10120
}
10121
 
10122
 
10123
int
10124
parse_insn_tilepro (tilepro_bundle_bits bits,
10125
                    unsigned int pc,
10126
                    struct tilepro_decoded_instruction
10127
                    decoded[TILEPRO_MAX_INSTRUCTIONS_PER_BUNDLE])
10128
{
10129
  int num_instructions = 0;
10130
  int pipe;
10131
  int min_pipe, max_pipe;
10132
 
10133
  if ((bits & TILEPRO_BUNDLE_Y_ENCODING_MASK) == 0)
10134
    {
10135
      min_pipe = TILEPRO_PIPELINE_X0;
10136
      max_pipe = TILEPRO_PIPELINE_X1;
10137
    }
10138
  else
10139
    {
10140
      min_pipe = TILEPRO_PIPELINE_Y0;
10141
      max_pipe = TILEPRO_PIPELINE_Y2;
10142
    }
10143
 
10144
  /* For each pipe, find an instruction that fits.  */
10145
  for (pipe = min_pipe; pipe <= max_pipe; pipe++)
10146
    {
10147
      const struct tilepro_opcode *opc;
10148
      struct tilepro_decoded_instruction *d;
10149
      int i;
10150
 
10151
      d = &decoded[num_instructions++];
10152
      opc = find_opcode (bits, (tilepro_pipeline)pipe);
10153
      d->opcode = opc;
10154
 
10155
      /* Decode each operand, sign extending, etc. as appropriate.  */
10156
      for (i = 0; i < opc->num_operands; i++)
10157
        {
10158
          const struct tilepro_operand *op =
10159
            &tilepro_operands[opc->operands[pipe][i]];
10160
          int opval = op->extract (bits);
10161
 
10162
          if (op->is_signed)
10163
            {
10164
              /* Sign-extend the operand.  */
10165
              int shift = (int)((sizeof(int) * 8) - op->num_bits);
10166
              opval = (opval << shift) >> shift;
10167
            }
10168
 
10169
          /* Adjust PC-relative scaled branch offsets.  */
10170
          if (op->type == TILEPRO_OP_TYPE_ADDRESS)
10171
            {
10172
              opval *= TILEPRO_BUNDLE_SIZE_IN_BYTES;
10173
              opval += (int)pc;
10174
            }
10175
 
10176
          /* Record the final value.  */
10177
          d->operands[i] = op;
10178
          d->operand_values[i] = opval;
10179
        }
10180
    }
10181
 
10182
  return num_instructions;
10183
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.