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