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 308

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

powered by: WebSVN 2.1.0

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