1 /* Xtensa configuration-specific ISA information.
3 Copyright (c) 2003-2010 Tensilica Inc.
5 Permission is hereby granted, free of charge, to any person obtaining
6 a copy of this software and associated documentation files (the
7 "Software"), to deal in the Software without restriction, including
8 without limitation the rights to use, copy, modify, merge, publish,
9 distribute, sublicense, and/or sell copies of the Software, and to
10 permit persons to whom the Software is furnished to do so, subject to
11 the following conditions:
13 The above copyright notice and this permission notice shall be included
14 in all copies or substantial portions of the Software.
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
24 #include "xtensa-isa.h"
25 #include "xtensa-isa-internal.h"
30 static xtensa_sysreg_internal sysregs[] = {
35 { "INTERRUPT", 226, 0 },
36 { "INTCLEAR", 227, 0 },
40 { "CCOMPARE0", 240, 0 },
41 { "VECBASE", 231, 0 },
45 { "EXCSAVE1", 209, 0 },
46 { "EXCSAVE2", 210, 0 },
47 { "EXCSAVE3", 211, 0 },
50 { "EXCCAUSE", 232, 0 },
52 { "EXCVADDR", 238, 0 },
56 { "INTENABLE", 228, 0 },
57 { "DBREAKA0", 144, 0 },
58 { "DBREAKC0", 160, 0 },
59 { "IBREAKA0", 128, 0 },
60 { "IBREAKENABLE", 96, 0 },
61 { "ICOUNTLEVEL", 237, 0 },
62 { "DEBUGCAUSE", 233, 0 }
65 #define NUM_SYSREGS 32
66 #define MAX_SPECIAL_REG 240
67 #define MAX_USER_REG 0
70 /* Processor states. */
72 static xtensa_state_internal states[] = {
76 { "INTERRUPT", 15, 0 },
83 { "EXCSAVE1", 32, 0 },
84 { "EXCSAVE2", 32, 0 },
85 { "EXCSAVE3", 32, 0 },
89 { "PSINTLEVEL", 4, 0 },
93 { "EXCVADDR", 32, 0 },
95 { "LITBADDR", 20, 0 },
97 { "InOCDMode", 1, 0 },
98 { "INTENABLE", 15, 0 },
99 { "DBREAKA0", 32, 0 },
100 { "DBREAKC0", 8, 0 },
101 { "IBREAKA0", 32, 0 },
102 { "IBREAKENABLE", 1, 0 },
103 { "ICOUNTLEVEL", 4, 0 },
104 { "DEBUGCAUSE", 6, 0 },
106 { "CCOMPARE0", 32, 0 }
109 #define NUM_STATES 34
111 enum xtensa_state_id {
149 /* Field definitions. */
152 Field_t_Slot_inst_get (const xtensa_insnbuf insn)
155 tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
160 Field_t_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
163 tie_t = (val << 28) >> 28;
164 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
168 Field_s_Slot_inst_get (const xtensa_insnbuf insn)
171 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
176 Field_s_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
179 tie_t = (val << 28) >> 28;
180 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
184 Field_r_Slot_inst_get (const xtensa_insnbuf insn)
187 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
192 Field_r_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
195 tie_t = (val << 28) >> 28;
196 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
200 Field_op2_Slot_inst_get (const xtensa_insnbuf insn)
203 tie_t = (tie_t << 4) | ((insn[0] << 8) >> 28);
208 Field_op2_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
211 tie_t = (val << 28) >> 28;
212 insn[0] = (insn[0] & ~0xf00000) | (tie_t << 20);
216 Field_op1_Slot_inst_get (const xtensa_insnbuf insn)
219 tie_t = (tie_t << 4) | ((insn[0] << 12) >> 28);
224 Field_op1_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
227 tie_t = (val << 28) >> 28;
228 insn[0] = (insn[0] & ~0xf0000) | (tie_t << 16);
232 Field_op0_Slot_inst_get (const xtensa_insnbuf insn)
235 tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
240 Field_op0_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
243 tie_t = (val << 28) >> 28;
244 insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
248 Field_m_Slot_inst_get (const xtensa_insnbuf insn)
251 tie_t = (tie_t << 2) | ((insn[0] << 24) >> 30);
256 Field_m_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
259 tie_t = (val << 30) >> 30;
260 insn[0] = (insn[0] & ~0xc0) | (tie_t << 6);
264 Field_n_Slot_inst_get (const xtensa_insnbuf insn)
267 tie_t = (tie_t << 2) | ((insn[0] << 26) >> 30);
272 Field_n_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
275 tie_t = (val << 30) >> 30;
276 insn[0] = (insn[0] & ~0x30) | (tie_t << 4);
280 Field_thi3_Slot_inst_get (const xtensa_insnbuf insn)
283 tie_t = (tie_t << 3) | ((insn[0] << 24) >> 29);
288 Field_thi3_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
291 tie_t = (val << 29) >> 29;
292 insn[0] = (insn[0] & ~0xe0) | (tie_t << 5);
296 Field_sr_Slot_inst_get (const xtensa_insnbuf insn)
299 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
300 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
305 Field_sr_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
308 tie_t = (val << 28) >> 28;
309 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
310 tie_t = (val << 24) >> 28;
311 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
315 Field_op0_Slot_inst16a_get (const xtensa_insnbuf insn)
318 tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
323 Field_op0_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
326 tie_t = (val << 28) >> 28;
327 insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
331 Field_z_Slot_inst16b_get (const xtensa_insnbuf insn)
334 tie_t = (tie_t << 1) | ((insn[0] << 25) >> 31);
339 Field_z_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
342 tie_t = (val << 31) >> 31;
343 insn[0] = (insn[0] & ~0x40) | (tie_t << 6);
347 Field_i_Slot_inst16b_get (const xtensa_insnbuf insn)
350 tie_t = (tie_t << 1) | ((insn[0] << 24) >> 31);
355 Field_i_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
358 tie_t = (val << 31) >> 31;
359 insn[0] = (insn[0] & ~0x80) | (tie_t << 7);
363 Field_op0_Slot_inst16b_get (const xtensa_insnbuf insn)
366 tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
371 Field_op0_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
374 tie_t = (val << 28) >> 28;
375 insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
379 Field_t_Slot_inst16b_get (const xtensa_insnbuf insn)
382 tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
387 Field_t_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
390 tie_t = (val << 28) >> 28;
391 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
395 Field_r_Slot_inst16b_get (const xtensa_insnbuf insn)
398 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
403 Field_r_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
406 tie_t = (val << 28) >> 28;
407 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
411 Field_s_Slot_inst16b_get (const xtensa_insnbuf insn)
414 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
419 Field_s_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
422 tie_t = (val << 28) >> 28;
423 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
427 Field_t_Slot_inst16a_get (const xtensa_insnbuf insn)
430 tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
435 Field_t_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
438 tie_t = (val << 28) >> 28;
439 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
443 Field_bbi4_Slot_inst_get (const xtensa_insnbuf insn)
446 tie_t = (tie_t << 1) | ((insn[0] << 19) >> 31);
451 Field_bbi4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
454 tie_t = (val << 31) >> 31;
455 insn[0] = (insn[0] & ~0x1000) | (tie_t << 12);
459 Field_bbi_Slot_inst_get (const xtensa_insnbuf insn)
462 tie_t = (tie_t << 1) | ((insn[0] << 19) >> 31);
463 tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
468 Field_bbi_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
471 tie_t = (val << 28) >> 28;
472 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
473 tie_t = (val << 27) >> 31;
474 insn[0] = (insn[0] & ~0x1000) | (tie_t << 12);
478 Field_imm12_Slot_inst_get (const xtensa_insnbuf insn)
481 tie_t = (tie_t << 12) | ((insn[0] << 8) >> 20);
486 Field_imm12_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
489 tie_t = (val << 20) >> 20;
490 insn[0] = (insn[0] & ~0xfff000) | (tie_t << 12);
494 Field_imm8_Slot_inst_get (const xtensa_insnbuf insn)
497 tie_t = (tie_t << 8) | ((insn[0] << 8) >> 24);
502 Field_imm8_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
505 tie_t = (val << 24) >> 24;
506 insn[0] = (insn[0] & ~0xff0000) | (tie_t << 16);
510 Field_s_Slot_inst16a_get (const xtensa_insnbuf insn)
513 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
518 Field_s_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
521 tie_t = (val << 28) >> 28;
522 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
526 Field_imm12b_Slot_inst_get (const xtensa_insnbuf insn)
529 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
530 tie_t = (tie_t << 8) | ((insn[0] << 8) >> 24);
535 Field_imm12b_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
538 tie_t = (val << 24) >> 24;
539 insn[0] = (insn[0] & ~0xff0000) | (tie_t << 16);
540 tie_t = (val << 20) >> 28;
541 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
545 Field_imm16_Slot_inst_get (const xtensa_insnbuf insn)
548 tie_t = (tie_t << 16) | ((insn[0] << 8) >> 16);
553 Field_imm16_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
556 tie_t = (val << 16) >> 16;
557 insn[0] = (insn[0] & ~0xffff00) | (tie_t << 8);
561 Field_offset_Slot_inst_get (const xtensa_insnbuf insn)
564 tie_t = (tie_t << 18) | ((insn[0] << 8) >> 14);
569 Field_offset_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
572 tie_t = (val << 14) >> 14;
573 insn[0] = (insn[0] & ~0xffffc0) | (tie_t << 6);
577 Field_r_Slot_inst16a_get (const xtensa_insnbuf insn)
580 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
585 Field_r_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
588 tie_t = (val << 28) >> 28;
589 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
593 Field_sa4_Slot_inst_get (const xtensa_insnbuf insn)
596 tie_t = (tie_t << 1) | ((insn[0] << 11) >> 31);
601 Field_sa4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
604 tie_t = (val << 31) >> 31;
605 insn[0] = (insn[0] & ~0x100000) | (tie_t << 20);
609 Field_sae4_Slot_inst_get (const xtensa_insnbuf insn)
612 tie_t = (tie_t << 1) | ((insn[0] << 15) >> 31);
617 Field_sae4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
620 tie_t = (val << 31) >> 31;
621 insn[0] = (insn[0] & ~0x10000) | (tie_t << 16);
625 Field_sae_Slot_inst_get (const xtensa_insnbuf insn)
628 tie_t = (tie_t << 1) | ((insn[0] << 15) >> 31);
629 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
634 Field_sae_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
637 tie_t = (val << 28) >> 28;
638 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
639 tie_t = (val << 27) >> 31;
640 insn[0] = (insn[0] & ~0x10000) | (tie_t << 16);
644 Field_sal_Slot_inst_get (const xtensa_insnbuf insn)
647 tie_t = (tie_t << 1) | ((insn[0] << 11) >> 31);
648 tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
653 Field_sal_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
656 tie_t = (val << 28) >> 28;
657 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
658 tie_t = (val << 27) >> 31;
659 insn[0] = (insn[0] & ~0x100000) | (tie_t << 20);
663 Field_sargt_Slot_inst_get (const xtensa_insnbuf insn)
666 tie_t = (tie_t << 1) | ((insn[0] << 11) >> 31);
667 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
672 Field_sargt_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
675 tie_t = (val << 28) >> 28;
676 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
677 tie_t = (val << 27) >> 31;
678 insn[0] = (insn[0] & ~0x100000) | (tie_t << 20);
682 Field_sas4_Slot_inst_get (const xtensa_insnbuf insn)
685 tie_t = (tie_t << 1) | ((insn[0] << 27) >> 31);
690 Field_sas4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
693 tie_t = (val << 31) >> 31;
694 insn[0] = (insn[0] & ~0x10) | (tie_t << 4);
698 Field_sas_Slot_inst_get (const xtensa_insnbuf insn)
701 tie_t = (tie_t << 1) | ((insn[0] << 27) >> 31);
702 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
707 Field_sas_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
710 tie_t = (val << 28) >> 28;
711 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
712 tie_t = (val << 27) >> 31;
713 insn[0] = (insn[0] & ~0x10) | (tie_t << 4);
717 Field_sr_Slot_inst16a_get (const xtensa_insnbuf insn)
720 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
721 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
726 Field_sr_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
729 tie_t = (val << 28) >> 28;
730 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
731 tie_t = (val << 24) >> 28;
732 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
736 Field_sr_Slot_inst16b_get (const xtensa_insnbuf insn)
739 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
740 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
745 Field_sr_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
748 tie_t = (val << 28) >> 28;
749 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
750 tie_t = (val << 24) >> 28;
751 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
755 Field_st_Slot_inst_get (const xtensa_insnbuf insn)
758 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
759 tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
764 Field_st_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
767 tie_t = (val << 28) >> 28;
768 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
769 tie_t = (val << 24) >> 28;
770 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
774 Field_st_Slot_inst16a_get (const xtensa_insnbuf insn)
777 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
778 tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
783 Field_st_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
786 tie_t = (val << 28) >> 28;
787 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
788 tie_t = (val << 24) >> 28;
789 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
793 Field_st_Slot_inst16b_get (const xtensa_insnbuf insn)
796 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
797 tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
802 Field_st_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
805 tie_t = (val << 28) >> 28;
806 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
807 tie_t = (val << 24) >> 28;
808 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
812 Field_imm4_Slot_inst_get (const xtensa_insnbuf insn)
815 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
820 Field_imm4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
823 tie_t = (val << 28) >> 28;
824 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
828 Field_imm4_Slot_inst16a_get (const xtensa_insnbuf insn)
831 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
836 Field_imm4_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
839 tie_t = (val << 28) >> 28;
840 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
844 Field_imm4_Slot_inst16b_get (const xtensa_insnbuf insn)
847 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
852 Field_imm4_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
855 tie_t = (val << 28) >> 28;
856 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
860 Field_i_Slot_inst16a_get (const xtensa_insnbuf insn)
863 tie_t = (tie_t << 1) | ((insn[0] << 24) >> 31);
868 Field_i_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
871 tie_t = (val << 31) >> 31;
872 insn[0] = (insn[0] & ~0x80) | (tie_t << 7);
876 Field_imm6lo_Slot_inst16a_get (const xtensa_insnbuf insn)
879 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
884 Field_imm6lo_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
887 tie_t = (val << 28) >> 28;
888 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
892 Field_imm6lo_Slot_inst16b_get (const xtensa_insnbuf insn)
895 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
900 Field_imm6lo_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
903 tie_t = (val << 28) >> 28;
904 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
908 Field_imm6hi_Slot_inst16a_get (const xtensa_insnbuf insn)
911 tie_t = (tie_t << 2) | ((insn[0] << 26) >> 30);
916 Field_imm6hi_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
919 tie_t = (val << 30) >> 30;
920 insn[0] = (insn[0] & ~0x30) | (tie_t << 4);
924 Field_imm6hi_Slot_inst16b_get (const xtensa_insnbuf insn)
927 tie_t = (tie_t << 2) | ((insn[0] << 26) >> 30);
932 Field_imm6hi_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
935 tie_t = (val << 30) >> 30;
936 insn[0] = (insn[0] & ~0x30) | (tie_t << 4);
940 Field_imm7lo_Slot_inst16a_get (const xtensa_insnbuf insn)
943 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
948 Field_imm7lo_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
951 tie_t = (val << 28) >> 28;
952 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
956 Field_imm7lo_Slot_inst16b_get (const xtensa_insnbuf insn)
959 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
964 Field_imm7lo_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
967 tie_t = (val << 28) >> 28;
968 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
972 Field_imm7hi_Slot_inst16a_get (const xtensa_insnbuf insn)
975 tie_t = (tie_t << 3) | ((insn[0] << 25) >> 29);
980 Field_imm7hi_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
983 tie_t = (val << 29) >> 29;
984 insn[0] = (insn[0] & ~0x70) | (tie_t << 4);
988 Field_imm7hi_Slot_inst16b_get (const xtensa_insnbuf insn)
991 tie_t = (tie_t << 3) | ((insn[0] << 25) >> 29);
996 Field_imm7hi_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
999 tie_t = (val << 29) >> 29;
1000 insn[0] = (insn[0] & ~0x70) | (tie_t << 4);
1004 Field_z_Slot_inst16a_get (const xtensa_insnbuf insn)
1007 tie_t = (tie_t << 1) | ((insn[0] << 25) >> 31);
1012 Field_z_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
1015 tie_t = (val << 31) >> 31;
1016 insn[0] = (insn[0] & ~0x40) | (tie_t << 6);
1020 Field_imm6_Slot_inst16a_get (const xtensa_insnbuf insn)
1023 tie_t = (tie_t << 2) | ((insn[0] << 26) >> 30);
1024 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
1029 Field_imm6_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
1032 tie_t = (val << 28) >> 28;
1033 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
1034 tie_t = (val << 26) >> 30;
1035 insn[0] = (insn[0] & ~0x30) | (tie_t << 4);
1039 Field_imm6_Slot_inst16b_get (const xtensa_insnbuf insn)
1042 tie_t = (tie_t << 2) | ((insn[0] << 26) >> 30);
1043 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
1048 Field_imm6_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
1051 tie_t = (val << 28) >> 28;
1052 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
1053 tie_t = (val << 26) >> 30;
1054 insn[0] = (insn[0] & ~0x30) | (tie_t << 4);
1058 Field_imm7_Slot_inst16a_get (const xtensa_insnbuf insn)
1061 tie_t = (tie_t << 3) | ((insn[0] << 25) >> 29);
1062 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
1067 Field_imm7_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
1070 tie_t = (val << 28) >> 28;
1071 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
1072 tie_t = (val << 25) >> 29;
1073 insn[0] = (insn[0] & ~0x70) | (tie_t << 4);
1077 Field_imm7_Slot_inst16b_get (const xtensa_insnbuf insn)
1080 tie_t = (tie_t << 3) | ((insn[0] << 25) >> 29);
1081 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
1086 Field_imm7_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
1089 tie_t = (val << 28) >> 28;
1090 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
1091 tie_t = (val << 25) >> 29;
1092 insn[0] = (insn[0] & ~0x70) | (tie_t << 4);
1096 Field_xt_wbr15_imm_Slot_inst_get (const xtensa_insnbuf insn)
1099 tie_t = (tie_t << 15) | ((insn[0] << 8) >> 17);
1104 Field_xt_wbr15_imm_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
1107 tie_t = (val << 17) >> 17;
1108 insn[0] = (insn[0] & ~0xfffe00) | (tie_t << 9);
1112 Field_xt_wbr18_imm_Slot_inst_get (const xtensa_insnbuf insn)
1115 tie_t = (tie_t << 18) | ((insn[0] << 8) >> 14);
1120 Field_xt_wbr18_imm_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
1123 tie_t = (val << 14) >> 14;
1124 insn[0] = (insn[0] & ~0xffffc0) | (tie_t << 6);
1128 Implicit_Field_set (xtensa_insnbuf insn ATTRIBUTE_UNUSED,
1129 uint32 val ATTRIBUTE_UNUSED)
1135 Implicit_Field_ar0_get (const xtensa_insnbuf insn ATTRIBUTE_UNUSED)
1140 enum xtensa_field_id {
1181 /* Functional units. */
1183 static xtensa_funcUnit_internal funcUnits[] = {
1188 /* Register files. */
1190 enum xtensa_regfile_id {
1194 static xtensa_regfile_internal regfiles[] = {
1195 { "AR", "a", REGFILE_AR, 32, 16 }
1201 static xtensa_interface_internal interfaces[] = {
1206 /* Constant tables. */
1208 /* constant table ai4c */
1209 static const unsigned CONST_TBL_ai4c_0[] = {
1229 /* constant table b4c */
1230 static const unsigned CONST_TBL_b4c_0[] = {
1250 /* constant table b4cu */
1251 static const unsigned CONST_TBL_b4cu_0[] = {
1272 /* Instruction operands. */
1275 Operand_art_decode (uint32 *valp ATTRIBUTE_UNUSED)
1281 Operand_art_encode (uint32 *valp)
1284 error = (*valp & ~0xf) != 0;
1289 Operand_ars_decode (uint32 *valp ATTRIBUTE_UNUSED)
1295 Operand_ars_encode (uint32 *valp)
1298 error = (*valp & ~0xf) != 0;
1303 Operand_arr_decode (uint32 *valp ATTRIBUTE_UNUSED)
1309 Operand_arr_encode (uint32 *valp)
1312 error = (*valp & ~0xf) != 0;
1317 Operand_ar0_decode (uint32 *valp ATTRIBUTE_UNUSED)
1323 Operand_ar0_encode (uint32 *valp)
1326 error = (*valp & ~0xf) != 0;
1331 Operand_soffsetx4_decode (uint32 *valp)
1333 unsigned soffsetx4_0, offset_0;
1334 offset_0 = *valp & 0x3ffff;
1335 soffsetx4_0 = 0x4 + ((((int) offset_0 << 14) >> 14) << 2);
1336 *valp = soffsetx4_0;
1341 Operand_soffsetx4_encode (uint32 *valp)
1343 unsigned offset_0, soffsetx4_0;
1344 soffsetx4_0 = *valp;
1345 offset_0 = ((soffsetx4_0 - 0x4) >> 2) & 0x3ffff;
1351 Operand_soffsetx4_ator (uint32 *valp, uint32 pc)
1353 *valp -= (pc & ~0x3);
1358 Operand_soffsetx4_rtoa (uint32 *valp, uint32 pc)
1360 *valp += (pc & ~0x3);
1365 Operand_lsi4x4_decode (uint32 *valp)
1367 unsigned lsi4x4_0, r_0;
1369 lsi4x4_0 = r_0 << 2;
1375 Operand_lsi4x4_encode (uint32 *valp)
1377 unsigned r_0, lsi4x4_0;
1379 r_0 = ((lsi4x4_0 >> 2) & 0xf);
1385 Operand_simm7_decode (uint32 *valp)
1387 unsigned simm7_0, imm7_0;
1388 imm7_0 = *valp & 0x7f;
1389 simm7_0 = ((((-((((imm7_0 >> 6) & 1)) & (((imm7_0 >> 5) & 1)))) & 0x1ffffff)) << 7) | imm7_0;
1395 Operand_simm7_encode (uint32 *valp)
1397 unsigned imm7_0, simm7_0;
1399 imm7_0 = (simm7_0 & 0x7f);
1405 Operand_uimm6_decode (uint32 *valp)
1407 unsigned uimm6_0, imm6_0;
1408 imm6_0 = *valp & 0x3f;
1409 uimm6_0 = 0x4 + (((0) << 6) | imm6_0);
1415 Operand_uimm6_encode (uint32 *valp)
1417 unsigned imm6_0, uimm6_0;
1419 imm6_0 = (uimm6_0 - 0x4) & 0x3f;
1425 Operand_uimm6_ator (uint32 *valp, uint32 pc)
1432 Operand_uimm6_rtoa (uint32 *valp, uint32 pc)
1439 Operand_ai4const_decode (uint32 *valp)
1441 unsigned ai4const_0, t_0;
1443 ai4const_0 = CONST_TBL_ai4c_0[t_0 & 0xf];
1449 Operand_ai4const_encode (uint32 *valp)
1451 unsigned t_0, ai4const_0;
1455 case 0xffffffff: t_0 = 0; break;
1456 case 0x1: t_0 = 0x1; break;
1457 case 0x2: t_0 = 0x2; break;
1458 case 0x3: t_0 = 0x3; break;
1459 case 0x4: t_0 = 0x4; break;
1460 case 0x5: t_0 = 0x5; break;
1461 case 0x6: t_0 = 0x6; break;
1462 case 0x7: t_0 = 0x7; break;
1463 case 0x8: t_0 = 0x8; break;
1464 case 0x9: t_0 = 0x9; break;
1465 case 0xa: t_0 = 0xa; break;
1466 case 0xb: t_0 = 0xb; break;
1467 case 0xc: t_0 = 0xc; break;
1468 case 0xd: t_0 = 0xd; break;
1469 case 0xe: t_0 = 0xe; break;
1470 default: t_0 = 0xf; break;
1477 Operand_b4const_decode (uint32 *valp)
1479 unsigned b4const_0, r_0;
1481 b4const_0 = CONST_TBL_b4c_0[r_0 & 0xf];
1487 Operand_b4const_encode (uint32 *valp)
1489 unsigned r_0, b4const_0;
1493 case 0xffffffff: r_0 = 0; break;
1494 case 0x1: r_0 = 0x1; break;
1495 case 0x2: r_0 = 0x2; break;
1496 case 0x3: r_0 = 0x3; break;
1497 case 0x4: r_0 = 0x4; break;
1498 case 0x5: r_0 = 0x5; break;
1499 case 0x6: r_0 = 0x6; break;
1500 case 0x7: r_0 = 0x7; break;
1501 case 0x8: r_0 = 0x8; break;
1502 case 0xa: r_0 = 0x9; break;
1503 case 0xc: r_0 = 0xa; break;
1504 case 0x10: r_0 = 0xb; break;
1505 case 0x20: r_0 = 0xc; break;
1506 case 0x40: r_0 = 0xd; break;
1507 case 0x80: r_0 = 0xe; break;
1508 default: r_0 = 0xf; break;
1515 Operand_b4constu_decode (uint32 *valp)
1517 unsigned b4constu_0, r_0;
1519 b4constu_0 = CONST_TBL_b4cu_0[r_0 & 0xf];
1525 Operand_b4constu_encode (uint32 *valp)
1527 unsigned r_0, b4constu_0;
1531 case 0x8000: r_0 = 0; break;
1532 case 0x10000: r_0 = 0x1; break;
1533 case 0x2: r_0 = 0x2; break;
1534 case 0x3: r_0 = 0x3; break;
1535 case 0x4: r_0 = 0x4; break;
1536 case 0x5: r_0 = 0x5; break;
1537 case 0x6: r_0 = 0x6; break;
1538 case 0x7: r_0 = 0x7; break;
1539 case 0x8: r_0 = 0x8; break;
1540 case 0xa: r_0 = 0x9; break;
1541 case 0xc: r_0 = 0xa; break;
1542 case 0x10: r_0 = 0xb; break;
1543 case 0x20: r_0 = 0xc; break;
1544 case 0x40: r_0 = 0xd; break;
1545 case 0x80: r_0 = 0xe; break;
1546 default: r_0 = 0xf; break;
1553 Operand_uimm8_decode (uint32 *valp)
1555 unsigned uimm8_0, imm8_0;
1556 imm8_0 = *valp & 0xff;
1563 Operand_uimm8_encode (uint32 *valp)
1565 unsigned imm8_0, uimm8_0;
1567 imm8_0 = (uimm8_0 & 0xff);
1573 Operand_uimm8x2_decode (uint32 *valp)
1575 unsigned uimm8x2_0, imm8_0;
1576 imm8_0 = *valp & 0xff;
1577 uimm8x2_0 = imm8_0 << 1;
1583 Operand_uimm8x2_encode (uint32 *valp)
1585 unsigned imm8_0, uimm8x2_0;
1587 imm8_0 = ((uimm8x2_0 >> 1) & 0xff);
1593 Operand_uimm8x4_decode (uint32 *valp)
1595 unsigned uimm8x4_0, imm8_0;
1596 imm8_0 = *valp & 0xff;
1597 uimm8x4_0 = imm8_0 << 2;
1603 Operand_uimm8x4_encode (uint32 *valp)
1605 unsigned imm8_0, uimm8x4_0;
1607 imm8_0 = ((uimm8x4_0 >> 2) & 0xff);
1613 Operand_uimm4x16_decode (uint32 *valp)
1615 unsigned uimm4x16_0, op2_0;
1616 op2_0 = *valp & 0xf;
1617 uimm4x16_0 = op2_0 << 4;
1623 Operand_uimm4x16_encode (uint32 *valp)
1625 unsigned op2_0, uimm4x16_0;
1627 op2_0 = ((uimm4x16_0 >> 4) & 0xf);
1633 Operand_simm8_decode (uint32 *valp)
1635 unsigned simm8_0, imm8_0;
1636 imm8_0 = *valp & 0xff;
1637 simm8_0 = ((int) imm8_0 << 24) >> 24;
1643 Operand_simm8_encode (uint32 *valp)
1645 unsigned imm8_0, simm8_0;
1647 imm8_0 = (simm8_0 & 0xff);
1653 Operand_simm8x256_decode (uint32 *valp)
1655 unsigned simm8x256_0, imm8_0;
1656 imm8_0 = *valp & 0xff;
1657 simm8x256_0 = (((int) imm8_0 << 24) >> 24) << 8;
1658 *valp = simm8x256_0;
1663 Operand_simm8x256_encode (uint32 *valp)
1665 unsigned imm8_0, simm8x256_0;
1666 simm8x256_0 = *valp;
1667 imm8_0 = ((simm8x256_0 >> 8) & 0xff);
1673 Operand_simm12b_decode (uint32 *valp)
1675 unsigned simm12b_0, imm12b_0;
1676 imm12b_0 = *valp & 0xfff;
1677 simm12b_0 = ((int) imm12b_0 << 20) >> 20;
1683 Operand_simm12b_encode (uint32 *valp)
1685 unsigned imm12b_0, simm12b_0;
1687 imm12b_0 = (simm12b_0 & 0xfff);
1693 Operand_msalp32_decode (uint32 *valp)
1695 unsigned msalp32_0, sal_0;
1696 sal_0 = *valp & 0x1f;
1697 msalp32_0 = 0x20 - sal_0;
1703 Operand_msalp32_encode (uint32 *valp)
1705 unsigned sal_0, msalp32_0;
1707 sal_0 = (0x20 - msalp32_0) & 0x1f;
1713 Operand_op2p1_decode (uint32 *valp)
1715 unsigned op2p1_0, op2_0;
1716 op2_0 = *valp & 0xf;
1717 op2p1_0 = op2_0 + 0x1;
1723 Operand_op2p1_encode (uint32 *valp)
1725 unsigned op2_0, op2p1_0;
1727 op2_0 = (op2p1_0 - 0x1) & 0xf;
1733 Operand_label8_decode (uint32 *valp)
1735 unsigned label8_0, imm8_0;
1736 imm8_0 = *valp & 0xff;
1737 label8_0 = 0x4 + (((int) imm8_0 << 24) >> 24);
1743 Operand_label8_encode (uint32 *valp)
1745 unsigned imm8_0, label8_0;
1747 imm8_0 = (label8_0 - 0x4) & 0xff;
1753 Operand_label8_ator (uint32 *valp, uint32 pc)
1760 Operand_label8_rtoa (uint32 *valp, uint32 pc)
1767 Operand_label12_decode (uint32 *valp)
1769 unsigned label12_0, imm12_0;
1770 imm12_0 = *valp & 0xfff;
1771 label12_0 = 0x4 + (((int) imm12_0 << 20) >> 20);
1777 Operand_label12_encode (uint32 *valp)
1779 unsigned imm12_0, label12_0;
1781 imm12_0 = (label12_0 - 0x4) & 0xfff;
1787 Operand_label12_ator (uint32 *valp, uint32 pc)
1794 Operand_label12_rtoa (uint32 *valp, uint32 pc)
1801 Operand_soffset_decode (uint32 *valp)
1803 unsigned soffset_0, offset_0;
1804 offset_0 = *valp & 0x3ffff;
1805 soffset_0 = 0x4 + (((int) offset_0 << 14) >> 14);
1811 Operand_soffset_encode (uint32 *valp)
1813 unsigned offset_0, soffset_0;
1815 offset_0 = (soffset_0 - 0x4) & 0x3ffff;
1821 Operand_soffset_ator (uint32 *valp, uint32 pc)
1828 Operand_soffset_rtoa (uint32 *valp, uint32 pc)
1835 Operand_uimm16x4_decode (uint32 *valp)
1837 unsigned uimm16x4_0, imm16_0;
1838 imm16_0 = *valp & 0xffff;
1839 uimm16x4_0 = (((0xffff) << 16) | imm16_0) << 2;
1845 Operand_uimm16x4_encode (uint32 *valp)
1847 unsigned imm16_0, uimm16x4_0;
1849 imm16_0 = (uimm16x4_0 >> 2) & 0xffff;
1855 Operand_uimm16x4_ator (uint32 *valp, uint32 pc)
1857 *valp -= ((pc + 3) & ~0x3);
1862 Operand_uimm16x4_rtoa (uint32 *valp, uint32 pc)
1864 *valp += ((pc + 3) & ~0x3);
1869 Operand_immt_decode (uint32 *valp)
1871 unsigned immt_0, t_0;
1879 Operand_immt_encode (uint32 *valp)
1881 unsigned t_0, immt_0;
1889 Operand_imms_decode (uint32 *valp)
1891 unsigned imms_0, s_0;
1899 Operand_imms_encode (uint32 *valp)
1901 unsigned s_0, imms_0;
1909 Operand_xt_wbr15_label_decode (uint32 *valp)
1911 unsigned xt_wbr15_label_0, xt_wbr15_imm_0;
1912 xt_wbr15_imm_0 = *valp & 0x7fff;
1913 xt_wbr15_label_0 = 0x4 + (((int) xt_wbr15_imm_0 << 17) >> 17);
1914 *valp = xt_wbr15_label_0;
1919 Operand_xt_wbr15_label_encode (uint32 *valp)
1921 unsigned xt_wbr15_imm_0, xt_wbr15_label_0;
1922 xt_wbr15_label_0 = *valp;
1923 xt_wbr15_imm_0 = (xt_wbr15_label_0 - 0x4) & 0x7fff;
1924 *valp = xt_wbr15_imm_0;
1929 Operand_xt_wbr15_label_ator (uint32 *valp, uint32 pc)
1936 Operand_xt_wbr15_label_rtoa (uint32 *valp, uint32 pc)
1943 Operand_xt_wbr18_label_decode (uint32 *valp)
1945 unsigned xt_wbr18_label_0, xt_wbr18_imm_0;
1946 xt_wbr18_imm_0 = *valp & 0x3ffff;
1947 xt_wbr18_label_0 = 0x4 + (((int) xt_wbr18_imm_0 << 14) >> 14);
1948 *valp = xt_wbr18_label_0;
1953 Operand_xt_wbr18_label_encode (uint32 *valp)
1955 unsigned xt_wbr18_imm_0, xt_wbr18_label_0;
1956 xt_wbr18_label_0 = *valp;
1957 xt_wbr18_imm_0 = (xt_wbr18_label_0 - 0x4) & 0x3ffff;
1958 *valp = xt_wbr18_imm_0;
1963 Operand_xt_wbr18_label_ator (uint32 *valp, uint32 pc)
1970 Operand_xt_wbr18_label_rtoa (uint32 *valp, uint32 pc)
1976 static xtensa_operand_internal operands[] = {
1977 { "art", FIELD_t, REGFILE_AR, 1,
1978 XTENSA_OPERAND_IS_REGISTER,
1979 Operand_art_encode, Operand_art_decode,
1981 { "ars", FIELD_s, REGFILE_AR, 1,
1982 XTENSA_OPERAND_IS_REGISTER,
1983 Operand_ars_encode, Operand_ars_decode,
1985 { "*ars_invisible", FIELD_s, REGFILE_AR, 1,
1986 XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE,
1987 Operand_ars_encode, Operand_ars_decode,
1989 { "arr", FIELD_r, REGFILE_AR, 1,
1990 XTENSA_OPERAND_IS_REGISTER,
1991 Operand_arr_encode, Operand_arr_decode,
1993 { "ar0", FIELD__ar0, REGFILE_AR, 1,
1994 XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE,
1995 Operand_ar0_encode, Operand_ar0_decode,
1997 { "soffsetx4", FIELD_offset, -1, 0,
1998 XTENSA_OPERAND_IS_PCRELATIVE,
1999 Operand_soffsetx4_encode, Operand_soffsetx4_decode,
2000 Operand_soffsetx4_ator, Operand_soffsetx4_rtoa },
2001 { "lsi4x4", FIELD_r, -1, 0,
2003 Operand_lsi4x4_encode, Operand_lsi4x4_decode,
2005 { "simm7", FIELD_imm7, -1, 0,
2007 Operand_simm7_encode, Operand_simm7_decode,
2009 { "uimm6", FIELD_imm6, -1, 0,
2010 XTENSA_OPERAND_IS_PCRELATIVE,
2011 Operand_uimm6_encode, Operand_uimm6_decode,
2012 Operand_uimm6_ator, Operand_uimm6_rtoa },
2013 { "ai4const", FIELD_t, -1, 0,
2015 Operand_ai4const_encode, Operand_ai4const_decode,
2017 { "b4const", FIELD_r, -1, 0,
2019 Operand_b4const_encode, Operand_b4const_decode,
2021 { "b4constu", FIELD_r, -1, 0,
2023 Operand_b4constu_encode, Operand_b4constu_decode,
2025 { "uimm8", FIELD_imm8, -1, 0,
2027 Operand_uimm8_encode, Operand_uimm8_decode,
2029 { "uimm8x2", FIELD_imm8, -1, 0,
2031 Operand_uimm8x2_encode, Operand_uimm8x2_decode,
2033 { "uimm8x4", FIELD_imm8, -1, 0,
2035 Operand_uimm8x4_encode, Operand_uimm8x4_decode,
2037 { "uimm4x16", FIELD_op2, -1, 0,
2039 Operand_uimm4x16_encode, Operand_uimm4x16_decode,
2041 { "simm8", FIELD_imm8, -1, 0,
2043 Operand_simm8_encode, Operand_simm8_decode,
2045 { "simm8x256", FIELD_imm8, -1, 0,
2047 Operand_simm8x256_encode, Operand_simm8x256_decode,
2049 { "simm12b", FIELD_imm12b, -1, 0,
2051 Operand_simm12b_encode, Operand_simm12b_decode,
2053 { "msalp32", FIELD_sal, -1, 0,
2055 Operand_msalp32_encode, Operand_msalp32_decode,
2057 { "op2p1", FIELD_op2, -1, 0,
2059 Operand_op2p1_encode, Operand_op2p1_decode,
2061 { "label8", FIELD_imm8, -1, 0,
2062 XTENSA_OPERAND_IS_PCRELATIVE,
2063 Operand_label8_encode, Operand_label8_decode,
2064 Operand_label8_ator, Operand_label8_rtoa },
2065 { "label12", FIELD_imm12, -1, 0,
2066 XTENSA_OPERAND_IS_PCRELATIVE,
2067 Operand_label12_encode, Operand_label12_decode,
2068 Operand_label12_ator, Operand_label12_rtoa },
2069 { "soffset", FIELD_offset, -1, 0,
2070 XTENSA_OPERAND_IS_PCRELATIVE,
2071 Operand_soffset_encode, Operand_soffset_decode,
2072 Operand_soffset_ator, Operand_soffset_rtoa },
2073 { "uimm16x4", FIELD_imm16, -1, 0,
2074 XTENSA_OPERAND_IS_PCRELATIVE,
2075 Operand_uimm16x4_encode, Operand_uimm16x4_decode,
2076 Operand_uimm16x4_ator, Operand_uimm16x4_rtoa },
2077 { "immt", FIELD_t, -1, 0,
2079 Operand_immt_encode, Operand_immt_decode,
2081 { "imms", FIELD_s, -1, 0,
2083 Operand_imms_encode, Operand_imms_decode,
2085 { "xt_wbr15_label", FIELD_xt_wbr15_imm, -1, 0,
2086 XTENSA_OPERAND_IS_PCRELATIVE,
2087 Operand_xt_wbr15_label_encode, Operand_xt_wbr15_label_decode,
2088 Operand_xt_wbr15_label_ator, Operand_xt_wbr15_label_rtoa },
2089 { "xt_wbr18_label", FIELD_xt_wbr18_imm, -1, 0,
2090 XTENSA_OPERAND_IS_PCRELATIVE,
2091 Operand_xt_wbr18_label_encode, Operand_xt_wbr18_label_decode,
2092 Operand_xt_wbr18_label_ator, Operand_xt_wbr18_label_rtoa },
2093 { "t", FIELD_t, -1, 0, 0, 0, 0, 0, 0 },
2094 { "bbi4", FIELD_bbi4, -1, 0, 0, 0, 0, 0, 0 },
2095 { "bbi", FIELD_bbi, -1, 0, 0, 0, 0, 0, 0 },
2096 { "imm12", FIELD_imm12, -1, 0, 0, 0, 0, 0, 0 },
2097 { "imm8", FIELD_imm8, -1, 0, 0, 0, 0, 0, 0 },
2098 { "s", FIELD_s, -1, 0, 0, 0, 0, 0, 0 },
2099 { "imm12b", FIELD_imm12b, -1, 0, 0, 0, 0, 0, 0 },
2100 { "imm16", FIELD_imm16, -1, 0, 0, 0, 0, 0, 0 },
2101 { "m", FIELD_m, -1, 0, 0, 0, 0, 0, 0 },
2102 { "n", FIELD_n, -1, 0, 0, 0, 0, 0, 0 },
2103 { "offset", FIELD_offset, -1, 0, 0, 0, 0, 0, 0 },
2104 { "op0", FIELD_op0, -1, 0, 0, 0, 0, 0, 0 },
2105 { "op1", FIELD_op1, -1, 0, 0, 0, 0, 0, 0 },
2106 { "op2", FIELD_op2, -1, 0, 0, 0, 0, 0, 0 },
2107 { "r", FIELD_r, -1, 0, 0, 0, 0, 0, 0 },
2108 { "sa4", FIELD_sa4, -1, 0, 0, 0, 0, 0, 0 },
2109 { "sae4", FIELD_sae4, -1, 0, 0, 0, 0, 0, 0 },
2110 { "sae", FIELD_sae, -1, 0, 0, 0, 0, 0, 0 },
2111 { "sal", FIELD_sal, -1, 0, 0, 0, 0, 0, 0 },
2112 { "sargt", FIELD_sargt, -1, 0, 0, 0, 0, 0, 0 },
2113 { "sas4", FIELD_sas4, -1, 0, 0, 0, 0, 0, 0 },
2114 { "sas", FIELD_sas, -1, 0, 0, 0, 0, 0, 0 },
2115 { "sr", FIELD_sr, -1, 0, 0, 0, 0, 0, 0 },
2116 { "st", FIELD_st, -1, 0, 0, 0, 0, 0, 0 },
2117 { "thi3", FIELD_thi3, -1, 0, 0, 0, 0, 0, 0 },
2118 { "imm4", FIELD_imm4, -1, 0, 0, 0, 0, 0, 0 },
2119 { "i", FIELD_i, -1, 0, 0, 0, 0, 0, 0 },
2120 { "imm6lo", FIELD_imm6lo, -1, 0, 0, 0, 0, 0, 0 },
2121 { "imm6hi", FIELD_imm6hi, -1, 0, 0, 0, 0, 0, 0 },
2122 { "imm7lo", FIELD_imm7lo, -1, 0, 0, 0, 0, 0, 0 },
2123 { "imm7hi", FIELD_imm7hi, -1, 0, 0, 0, 0, 0, 0 },
2124 { "z", FIELD_z, -1, 0, 0, 0, 0, 0, 0 },
2125 { "imm6", FIELD_imm6, -1, 0, 0, 0, 0, 0, 0 },
2126 { "imm7", FIELD_imm7, -1, 0, 0, 0, 0, 0, 0 },
2127 { "xt_wbr15_imm", FIELD_xt_wbr15_imm, -1, 0, 0, 0, 0, 0, 0 },
2128 { "xt_wbr18_imm", FIELD_xt_wbr18_imm, -1, 0, 0, 0, 0, 0, 0 }
2131 enum xtensa_operand_id {
2134 OPERAND__ars_invisible,
2159 OPERAND_xt_wbr15_label,
2160 OPERAND_xt_wbr18_label,
2195 OPERAND_xt_wbr15_imm,
2196 OPERAND_xt_wbr18_imm
2202 static xtensa_arg_internal Iclass_xt_iclass_rfe_stateArgs[] = {
2203 { { STATE_PSEXCM }, 'o' },
2204 { { STATE_EPC1 }, 'i' }
2207 static xtensa_arg_internal Iclass_xt_iclass_rfde_stateArgs[] = {
2208 { { STATE_DEPC }, 'i' }
2211 static xtensa_arg_internal Iclass_xt_iclass_add_n_args[] = {
2212 { { OPERAND_arr }, 'o' },
2213 { { OPERAND_ars }, 'i' },
2214 { { OPERAND_art }, 'i' }
2217 static xtensa_arg_internal Iclass_xt_iclass_addi_n_args[] = {
2218 { { OPERAND_arr }, 'o' },
2219 { { OPERAND_ars }, 'i' },
2220 { { OPERAND_ai4const }, 'i' }
2223 static xtensa_arg_internal Iclass_xt_iclass_bz6_args[] = {
2224 { { OPERAND_ars }, 'i' },
2225 { { OPERAND_uimm6 }, 'i' }
2228 static xtensa_arg_internal Iclass_xt_iclass_loadi4_args[] = {
2229 { { OPERAND_art }, 'o' },
2230 { { OPERAND_ars }, 'i' },
2231 { { OPERAND_lsi4x4 }, 'i' }
2234 static xtensa_arg_internal Iclass_xt_iclass_mov_n_args[] = {
2235 { { OPERAND_art }, 'o' },
2236 { { OPERAND_ars }, 'i' }
2239 static xtensa_arg_internal Iclass_xt_iclass_movi_n_args[] = {
2240 { { OPERAND_ars }, 'o' },
2241 { { OPERAND_simm7 }, 'i' }
2244 static xtensa_arg_internal Iclass_xt_iclass_retn_args[] = {
2245 { { OPERAND__ars_invisible }, 'i' }
2248 static xtensa_arg_internal Iclass_xt_iclass_storei4_args[] = {
2249 { { OPERAND_art }, 'i' },
2250 { { OPERAND_ars }, 'i' },
2251 { { OPERAND_lsi4x4 }, 'i' }
2254 static xtensa_arg_internal Iclass_xt_iclass_addi_args[] = {
2255 { { OPERAND_art }, 'o' },
2256 { { OPERAND_ars }, 'i' },
2257 { { OPERAND_simm8 }, 'i' }
2260 static xtensa_arg_internal Iclass_xt_iclass_addmi_args[] = {
2261 { { OPERAND_art }, 'o' },
2262 { { OPERAND_ars }, 'i' },
2263 { { OPERAND_simm8x256 }, 'i' }
2266 static xtensa_arg_internal Iclass_xt_iclass_addsub_args[] = {
2267 { { OPERAND_arr }, 'o' },
2268 { { OPERAND_ars }, 'i' },
2269 { { OPERAND_art }, 'i' }
2272 static xtensa_arg_internal Iclass_xt_iclass_bit_args[] = {
2273 { { OPERAND_arr }, 'o' },
2274 { { OPERAND_ars }, 'i' },
2275 { { OPERAND_art }, 'i' }
2278 static xtensa_arg_internal Iclass_xt_iclass_bsi8_args[] = {
2279 { { OPERAND_ars }, 'i' },
2280 { { OPERAND_b4const }, 'i' },
2281 { { OPERAND_label8 }, 'i' }
2284 static xtensa_arg_internal Iclass_xt_iclass_bsi8b_args[] = {
2285 { { OPERAND_ars }, 'i' },
2286 { { OPERAND_bbi }, 'i' },
2287 { { OPERAND_label8 }, 'i' }
2290 static xtensa_arg_internal Iclass_xt_iclass_bsi8u_args[] = {
2291 { { OPERAND_ars }, 'i' },
2292 { { OPERAND_b4constu }, 'i' },
2293 { { OPERAND_label8 }, 'i' }
2296 static xtensa_arg_internal Iclass_xt_iclass_bst8_args[] = {
2297 { { OPERAND_ars }, 'i' },
2298 { { OPERAND_art }, 'i' },
2299 { { OPERAND_label8 }, 'i' }
2302 static xtensa_arg_internal Iclass_xt_iclass_bsz12_args[] = {
2303 { { OPERAND_ars }, 'i' },
2304 { { OPERAND_label12 }, 'i' }
2307 static xtensa_arg_internal Iclass_xt_iclass_call0_args[] = {
2308 { { OPERAND_soffsetx4 }, 'i' },
2309 { { OPERAND_ar0 }, 'o' }
2312 static xtensa_arg_internal Iclass_xt_iclass_callx0_args[] = {
2313 { { OPERAND_ars }, 'i' },
2314 { { OPERAND_ar0 }, 'o' }
2317 static xtensa_arg_internal Iclass_xt_iclass_exti_args[] = {
2318 { { OPERAND_arr }, 'o' },
2319 { { OPERAND_art }, 'i' },
2320 { { OPERAND_sae }, 'i' },
2321 { { OPERAND_op2p1 }, 'i' }
2324 static xtensa_arg_internal Iclass_xt_iclass_jump_args[] = {
2325 { { OPERAND_soffset }, 'i' }
2328 static xtensa_arg_internal Iclass_xt_iclass_jumpx_args[] = {
2329 { { OPERAND_ars }, 'i' }
2332 static xtensa_arg_internal Iclass_xt_iclass_l16ui_args[] = {
2333 { { OPERAND_art }, 'o' },
2334 { { OPERAND_ars }, 'i' },
2335 { { OPERAND_uimm8x2 }, 'i' }
2338 static xtensa_arg_internal Iclass_xt_iclass_l16si_args[] = {
2339 { { OPERAND_art }, 'o' },
2340 { { OPERAND_ars }, 'i' },
2341 { { OPERAND_uimm8x2 }, 'i' }
2344 static xtensa_arg_internal Iclass_xt_iclass_l32i_args[] = {
2345 { { OPERAND_art }, 'o' },
2346 { { OPERAND_ars }, 'i' },
2347 { { OPERAND_uimm8x4 }, 'i' }
2350 static xtensa_arg_internal Iclass_xt_iclass_l32r_args[] = {
2351 { { OPERAND_art }, 'o' },
2352 { { OPERAND_uimm16x4 }, 'i' }
2355 static xtensa_arg_internal Iclass_xt_iclass_l32r_stateArgs[] = {
2356 { { STATE_LITBADDR }, 'i' },
2357 { { STATE_LITBEN }, 'i' }
2360 static xtensa_arg_internal Iclass_xt_iclass_l8i_args[] = {
2361 { { OPERAND_art }, 'o' },
2362 { { OPERAND_ars }, 'i' },
2363 { { OPERAND_uimm8 }, 'i' }
2366 static xtensa_arg_internal Iclass_xt_iclass_movi_args[] = {
2367 { { OPERAND_art }, 'o' },
2368 { { OPERAND_simm12b }, 'i' }
2371 static xtensa_arg_internal Iclass_xt_iclass_movz_args[] = {
2372 { { OPERAND_arr }, 'm' },
2373 { { OPERAND_ars }, 'i' },
2374 { { OPERAND_art }, 'i' }
2377 static xtensa_arg_internal Iclass_xt_iclass_neg_args[] = {
2378 { { OPERAND_arr }, 'o' },
2379 { { OPERAND_art }, 'i' }
2382 static xtensa_arg_internal Iclass_xt_iclass_return_args[] = {
2383 { { OPERAND__ars_invisible }, 'i' }
2386 static xtensa_arg_internal Iclass_xt_iclass_s16i_args[] = {
2387 { { OPERAND_art }, 'i' },
2388 { { OPERAND_ars }, 'i' },
2389 { { OPERAND_uimm8x2 }, 'i' }
2392 static xtensa_arg_internal Iclass_xt_iclass_s32i_args[] = {
2393 { { OPERAND_art }, 'i' },
2394 { { OPERAND_ars }, 'i' },
2395 { { OPERAND_uimm8x4 }, 'i' }
2398 static xtensa_arg_internal Iclass_xt_iclass_s8i_args[] = {
2399 { { OPERAND_art }, 'i' },
2400 { { OPERAND_ars }, 'i' },
2401 { { OPERAND_uimm8 }, 'i' }
2404 static xtensa_arg_internal Iclass_xt_iclass_sar_args[] = {
2405 { { OPERAND_ars }, 'i' }
2408 static xtensa_arg_internal Iclass_xt_iclass_sar_stateArgs[] = {
2409 { { STATE_SAR }, 'o' }
2412 static xtensa_arg_internal Iclass_xt_iclass_sari_args[] = {
2413 { { OPERAND_sas }, 'i' }
2416 static xtensa_arg_internal Iclass_xt_iclass_sari_stateArgs[] = {
2417 { { STATE_SAR }, 'o' }
2420 static xtensa_arg_internal Iclass_xt_iclass_shifts_args[] = {
2421 { { OPERAND_arr }, 'o' },
2422 { { OPERAND_ars }, 'i' }
2425 static xtensa_arg_internal Iclass_xt_iclass_shifts_stateArgs[] = {
2426 { { STATE_SAR }, 'i' }
2429 static xtensa_arg_internal Iclass_xt_iclass_shiftst_args[] = {
2430 { { OPERAND_arr }, 'o' },
2431 { { OPERAND_ars }, 'i' },
2432 { { OPERAND_art }, 'i' }
2435 static xtensa_arg_internal Iclass_xt_iclass_shiftst_stateArgs[] = {
2436 { { STATE_SAR }, 'i' }
2439 static xtensa_arg_internal Iclass_xt_iclass_shiftt_args[] = {
2440 { { OPERAND_arr }, 'o' },
2441 { { OPERAND_art }, 'i' }
2444 static xtensa_arg_internal Iclass_xt_iclass_shiftt_stateArgs[] = {
2445 { { STATE_SAR }, 'i' }
2448 static xtensa_arg_internal Iclass_xt_iclass_slli_args[] = {
2449 { { OPERAND_arr }, 'o' },
2450 { { OPERAND_ars }, 'i' },
2451 { { OPERAND_msalp32 }, 'i' }
2454 static xtensa_arg_internal Iclass_xt_iclass_srai_args[] = {
2455 { { OPERAND_arr }, 'o' },
2456 { { OPERAND_art }, 'i' },
2457 { { OPERAND_sargt }, 'i' }
2460 static xtensa_arg_internal Iclass_xt_iclass_srli_args[] = {
2461 { { OPERAND_arr }, 'o' },
2462 { { OPERAND_art }, 'i' },
2463 { { OPERAND_s }, 'i' }
2466 static xtensa_arg_internal Iclass_xt_iclass_sync_stateArgs[] = {
2467 { { STATE_XTSYNC }, 'i' }
2470 static xtensa_arg_internal Iclass_xt_iclass_rsil_args[] = {
2471 { { OPERAND_art }, 'o' },
2472 { { OPERAND_s }, 'i' }
2475 static xtensa_arg_internal Iclass_xt_iclass_rsil_stateArgs[] = {
2476 { { STATE_PSUM }, 'i' },
2477 { { STATE_PSEXCM }, 'i' },
2478 { { STATE_PSINTLEVEL }, 'm' }
2481 static xtensa_arg_internal Iclass_xt_iclass_rsr_sar_args[] = {
2482 { { OPERAND_art }, 'o' }
2485 static xtensa_arg_internal Iclass_xt_iclass_rsr_sar_stateArgs[] = {
2486 { { STATE_SAR }, 'i' }
2489 static xtensa_arg_internal Iclass_xt_iclass_wsr_sar_args[] = {
2490 { { OPERAND_art }, 'i' }
2493 static xtensa_arg_internal Iclass_xt_iclass_wsr_sar_stateArgs[] = {
2494 { { STATE_SAR }, 'o' },
2495 { { STATE_XTSYNC }, 'o' }
2498 static xtensa_arg_internal Iclass_xt_iclass_xsr_sar_args[] = {
2499 { { OPERAND_art }, 'm' }
2502 static xtensa_arg_internal Iclass_xt_iclass_xsr_sar_stateArgs[] = {
2503 { { STATE_SAR }, 'm' }
2506 static xtensa_arg_internal Iclass_xt_iclass_rsr_litbase_args[] = {
2507 { { OPERAND_art }, 'o' }
2510 static xtensa_arg_internal Iclass_xt_iclass_rsr_litbase_stateArgs[] = {
2511 { { STATE_LITBADDR }, 'i' },
2512 { { STATE_LITBEN }, 'i' }
2515 static xtensa_arg_internal Iclass_xt_iclass_wsr_litbase_args[] = {
2516 { { OPERAND_art }, 'i' }
2519 static xtensa_arg_internal Iclass_xt_iclass_wsr_litbase_stateArgs[] = {
2520 { { STATE_LITBADDR }, 'o' },
2521 { { STATE_LITBEN }, 'o' }
2524 static xtensa_arg_internal Iclass_xt_iclass_xsr_litbase_args[] = {
2525 { { OPERAND_art }, 'm' }
2528 static xtensa_arg_internal Iclass_xt_iclass_xsr_litbase_stateArgs[] = {
2529 { { STATE_LITBADDR }, 'm' },
2530 { { STATE_LITBEN }, 'm' }
2533 static xtensa_arg_internal Iclass_xt_iclass_rsr_176_args[] = {
2534 { { OPERAND_art }, 'o' }
2537 static xtensa_arg_internal Iclass_xt_iclass_wsr_176_args[] = {
2538 { { OPERAND_art }, 'i' }
2541 static xtensa_arg_internal Iclass_xt_iclass_rsr_208_args[] = {
2542 { { OPERAND_art }, 'o' }
2545 static xtensa_arg_internal Iclass_xt_iclass_rsr_ps_args[] = {
2546 { { OPERAND_art }, 'o' }
2549 static xtensa_arg_internal Iclass_xt_iclass_rsr_ps_stateArgs[] = {
2550 { { STATE_PSUM }, 'i' },
2551 { { STATE_PSEXCM }, 'i' },
2552 { { STATE_PSINTLEVEL }, 'i' }
2555 static xtensa_arg_internal Iclass_xt_iclass_wsr_ps_args[] = {
2556 { { OPERAND_art }, 'i' }
2559 static xtensa_arg_internal Iclass_xt_iclass_wsr_ps_stateArgs[] = {
2560 { { STATE_PSUM }, 'o' },
2561 { { STATE_PSEXCM }, 'o' },
2562 { { STATE_PSINTLEVEL }, 'o' }
2565 static xtensa_arg_internal Iclass_xt_iclass_xsr_ps_args[] = {
2566 { { OPERAND_art }, 'm' }
2569 static xtensa_arg_internal Iclass_xt_iclass_xsr_ps_stateArgs[] = {
2570 { { STATE_PSUM }, 'm' },
2571 { { STATE_PSEXCM }, 'm' },
2572 { { STATE_PSINTLEVEL }, 'm' }
2575 static xtensa_arg_internal Iclass_xt_iclass_rsr_epc1_args[] = {
2576 { { OPERAND_art }, 'o' }
2579 static xtensa_arg_internal Iclass_xt_iclass_rsr_epc1_stateArgs[] = {
2580 { { STATE_EPC1 }, 'i' }
2583 static xtensa_arg_internal Iclass_xt_iclass_wsr_epc1_args[] = {
2584 { { OPERAND_art }, 'i' }
2587 static xtensa_arg_internal Iclass_xt_iclass_wsr_epc1_stateArgs[] = {
2588 { { STATE_EPC1 }, 'o' }
2591 static xtensa_arg_internal Iclass_xt_iclass_xsr_epc1_args[] = {
2592 { { OPERAND_art }, 'm' }
2595 static xtensa_arg_internal Iclass_xt_iclass_xsr_epc1_stateArgs[] = {
2596 { { STATE_EPC1 }, 'm' }
2599 static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave1_args[] = {
2600 { { OPERAND_art }, 'o' }
2603 static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave1_stateArgs[] = {
2604 { { STATE_EXCSAVE1 }, 'i' }
2607 static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave1_args[] = {
2608 { { OPERAND_art }, 'i' }
2611 static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave1_stateArgs[] = {
2612 { { STATE_EXCSAVE1 }, 'o' }
2615 static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave1_args[] = {
2616 { { OPERAND_art }, 'm' }
2619 static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave1_stateArgs[] = {
2620 { { STATE_EXCSAVE1 }, 'm' }
2623 static xtensa_arg_internal Iclass_xt_iclass_rsr_epc2_args[] = {
2624 { { OPERAND_art }, 'o' }
2627 static xtensa_arg_internal Iclass_xt_iclass_rsr_epc2_stateArgs[] = {
2628 { { STATE_EPC2 }, 'i' }
2631 static xtensa_arg_internal Iclass_xt_iclass_wsr_epc2_args[] = {
2632 { { OPERAND_art }, 'i' }
2635 static xtensa_arg_internal Iclass_xt_iclass_wsr_epc2_stateArgs[] = {
2636 { { STATE_EPC2 }, 'o' }
2639 static xtensa_arg_internal Iclass_xt_iclass_xsr_epc2_args[] = {
2640 { { OPERAND_art }, 'm' }
2643 static xtensa_arg_internal Iclass_xt_iclass_xsr_epc2_stateArgs[] = {
2644 { { STATE_EPC2 }, 'm' }
2647 static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave2_args[] = {
2648 { { OPERAND_art }, 'o' }
2651 static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave2_stateArgs[] = {
2652 { { STATE_EXCSAVE2 }, 'i' }
2655 static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave2_args[] = {
2656 { { OPERAND_art }, 'i' }
2659 static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave2_stateArgs[] = {
2660 { { STATE_EXCSAVE2 }, 'o' }
2663 static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave2_args[] = {
2664 { { OPERAND_art }, 'm' }
2667 static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave2_stateArgs[] = {
2668 { { STATE_EXCSAVE2 }, 'm' }
2671 static xtensa_arg_internal Iclass_xt_iclass_rsr_epc3_args[] = {
2672 { { OPERAND_art }, 'o' }
2675 static xtensa_arg_internal Iclass_xt_iclass_rsr_epc3_stateArgs[] = {
2676 { { STATE_EPC3 }, 'i' }
2679 static xtensa_arg_internal Iclass_xt_iclass_wsr_epc3_args[] = {
2680 { { OPERAND_art }, 'i' }
2683 static xtensa_arg_internal Iclass_xt_iclass_wsr_epc3_stateArgs[] = {
2684 { { STATE_EPC3 }, 'o' }
2687 static xtensa_arg_internal Iclass_xt_iclass_xsr_epc3_args[] = {
2688 { { OPERAND_art }, 'm' }
2691 static xtensa_arg_internal Iclass_xt_iclass_xsr_epc3_stateArgs[] = {
2692 { { STATE_EPC3 }, 'm' }
2695 static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave3_args[] = {
2696 { { OPERAND_art }, 'o' }
2699 static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave3_stateArgs[] = {
2700 { { STATE_EXCSAVE3 }, 'i' }
2703 static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave3_args[] = {
2704 { { OPERAND_art }, 'i' }
2707 static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave3_stateArgs[] = {
2708 { { STATE_EXCSAVE3 }, 'o' }
2711 static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave3_args[] = {
2712 { { OPERAND_art }, 'm' }
2715 static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave3_stateArgs[] = {
2716 { { STATE_EXCSAVE3 }, 'm' }
2719 static xtensa_arg_internal Iclass_xt_iclass_rsr_eps2_args[] = {
2720 { { OPERAND_art }, 'o' }
2723 static xtensa_arg_internal Iclass_xt_iclass_rsr_eps2_stateArgs[] = {
2724 { { STATE_EPS2 }, 'i' }
2727 static xtensa_arg_internal Iclass_xt_iclass_wsr_eps2_args[] = {
2728 { { OPERAND_art }, 'i' }
2731 static xtensa_arg_internal Iclass_xt_iclass_wsr_eps2_stateArgs[] = {
2732 { { STATE_EPS2 }, 'o' }
2735 static xtensa_arg_internal Iclass_xt_iclass_xsr_eps2_args[] = {
2736 { { OPERAND_art }, 'm' }
2739 static xtensa_arg_internal Iclass_xt_iclass_xsr_eps2_stateArgs[] = {
2740 { { STATE_EPS2 }, 'm' }
2743 static xtensa_arg_internal Iclass_xt_iclass_rsr_eps3_args[] = {
2744 { { OPERAND_art }, 'o' }
2747 static xtensa_arg_internal Iclass_xt_iclass_rsr_eps3_stateArgs[] = {
2748 { { STATE_EPS3 }, 'i' }
2751 static xtensa_arg_internal Iclass_xt_iclass_wsr_eps3_args[] = {
2752 { { OPERAND_art }, 'i' }
2755 static xtensa_arg_internal Iclass_xt_iclass_wsr_eps3_stateArgs[] = {
2756 { { STATE_EPS3 }, 'o' }
2759 static xtensa_arg_internal Iclass_xt_iclass_xsr_eps3_args[] = {
2760 { { OPERAND_art }, 'm' }
2763 static xtensa_arg_internal Iclass_xt_iclass_xsr_eps3_stateArgs[] = {
2764 { { STATE_EPS3 }, 'm' }
2767 static xtensa_arg_internal Iclass_xt_iclass_rsr_excvaddr_args[] = {
2768 { { OPERAND_art }, 'o' }
2771 static xtensa_arg_internal Iclass_xt_iclass_rsr_excvaddr_stateArgs[] = {
2772 { { STATE_EXCVADDR }, 'i' }
2775 static xtensa_arg_internal Iclass_xt_iclass_wsr_excvaddr_args[] = {
2776 { { OPERAND_art }, 'i' }
2779 static xtensa_arg_internal Iclass_xt_iclass_wsr_excvaddr_stateArgs[] = {
2780 { { STATE_EXCVADDR }, 'o' }
2783 static xtensa_arg_internal Iclass_xt_iclass_xsr_excvaddr_args[] = {
2784 { { OPERAND_art }, 'm' }
2787 static xtensa_arg_internal Iclass_xt_iclass_xsr_excvaddr_stateArgs[] = {
2788 { { STATE_EXCVADDR }, 'm' }
2791 static xtensa_arg_internal Iclass_xt_iclass_rsr_depc_args[] = {
2792 { { OPERAND_art }, 'o' }
2795 static xtensa_arg_internal Iclass_xt_iclass_rsr_depc_stateArgs[] = {
2796 { { STATE_DEPC }, 'i' }
2799 static xtensa_arg_internal Iclass_xt_iclass_wsr_depc_args[] = {
2800 { { OPERAND_art }, 'i' }
2803 static xtensa_arg_internal Iclass_xt_iclass_wsr_depc_stateArgs[] = {
2804 { { STATE_DEPC }, 'o' }
2807 static xtensa_arg_internal Iclass_xt_iclass_xsr_depc_args[] = {
2808 { { OPERAND_art }, 'm' }
2811 static xtensa_arg_internal Iclass_xt_iclass_xsr_depc_stateArgs[] = {
2812 { { STATE_DEPC }, 'm' }
2815 static xtensa_arg_internal Iclass_xt_iclass_rsr_exccause_args[] = {
2816 { { OPERAND_art }, 'o' }
2819 static xtensa_arg_internal Iclass_xt_iclass_rsr_exccause_stateArgs[] = {
2820 { { STATE_EXCCAUSE }, 'i' },
2821 { { STATE_XTSYNC }, 'i' }
2824 static xtensa_arg_internal Iclass_xt_iclass_wsr_exccause_args[] = {
2825 { { OPERAND_art }, 'i' }
2828 static xtensa_arg_internal Iclass_xt_iclass_wsr_exccause_stateArgs[] = {
2829 { { STATE_EXCCAUSE }, 'o' }
2832 static xtensa_arg_internal Iclass_xt_iclass_xsr_exccause_args[] = {
2833 { { OPERAND_art }, 'm' }
2836 static xtensa_arg_internal Iclass_xt_iclass_xsr_exccause_stateArgs[] = {
2837 { { STATE_EXCCAUSE }, 'm' }
2840 static xtensa_arg_internal Iclass_xt_iclass_rsr_prid_args[] = {
2841 { { OPERAND_art }, 'o' }
2844 static xtensa_arg_internal Iclass_xt_iclass_rsr_vecbase_args[] = {
2845 { { OPERAND_art }, 'o' }
2848 static xtensa_arg_internal Iclass_xt_iclass_rsr_vecbase_stateArgs[] = {
2849 { { STATE_VECBASE }, 'i' }
2852 static xtensa_arg_internal Iclass_xt_iclass_wsr_vecbase_args[] = {
2853 { { OPERAND_art }, 'i' }
2856 static xtensa_arg_internal Iclass_xt_iclass_wsr_vecbase_stateArgs[] = {
2857 { { STATE_VECBASE }, 'o' }
2860 static xtensa_arg_internal Iclass_xt_iclass_xsr_vecbase_args[] = {
2861 { { OPERAND_art }, 'm' }
2864 static xtensa_arg_internal Iclass_xt_iclass_xsr_vecbase_stateArgs[] = {
2865 { { STATE_VECBASE }, 'm' }
2868 static xtensa_arg_internal Iclass_xt_mul16_args[] = {
2869 { { OPERAND_arr }, 'o' },
2870 { { OPERAND_ars }, 'i' },
2871 { { OPERAND_art }, 'i' }
2874 static xtensa_arg_internal Iclass_xt_mul32_args[] = {
2875 { { OPERAND_arr }, 'o' },
2876 { { OPERAND_ars }, 'i' },
2877 { { OPERAND_art }, 'i' }
2880 static xtensa_arg_internal Iclass_xt_iclass_rfi_args[] = {
2881 { { OPERAND_s }, 'i' }
2884 static xtensa_arg_internal Iclass_xt_iclass_rfi_stateArgs[] = {
2885 { { STATE_PSUM }, 'o' },
2886 { { STATE_PSEXCM }, 'o' },
2887 { { STATE_PSINTLEVEL }, 'o' },
2888 { { STATE_EPC1 }, 'i' },
2889 { { STATE_EPC2 }, 'i' },
2890 { { STATE_EPC3 }, 'i' },
2891 { { STATE_EPS2 }, 'i' },
2892 { { STATE_EPS3 }, 'i' },
2893 { { STATE_InOCDMode }, 'm' }
2896 static xtensa_arg_internal Iclass_xt_iclass_wait_args[] = {
2897 { { OPERAND_s }, 'i' }
2900 static xtensa_arg_internal Iclass_xt_iclass_wait_stateArgs[] = {
2901 { { STATE_PSINTLEVEL }, 'o' }
2904 static xtensa_arg_internal Iclass_xt_iclass_rsr_interrupt_args[] = {
2905 { { OPERAND_art }, 'o' }
2908 static xtensa_arg_internal Iclass_xt_iclass_rsr_interrupt_stateArgs[] = {
2909 { { STATE_INTERRUPT }, 'i' }
2912 static xtensa_arg_internal Iclass_xt_iclass_wsr_intset_args[] = {
2913 { { OPERAND_art }, 'i' }
2916 static xtensa_arg_internal Iclass_xt_iclass_wsr_intset_stateArgs[] = {
2917 { { STATE_XTSYNC }, 'o' },
2918 { { STATE_INTERRUPT }, 'm' }
2921 static xtensa_arg_internal Iclass_xt_iclass_wsr_intclear_args[] = {
2922 { { OPERAND_art }, 'i' }
2925 static xtensa_arg_internal Iclass_xt_iclass_wsr_intclear_stateArgs[] = {
2926 { { STATE_XTSYNC }, 'o' },
2927 { { STATE_INTERRUPT }, 'm' }
2930 static xtensa_arg_internal Iclass_xt_iclass_rsr_intenable_args[] = {
2931 { { OPERAND_art }, 'o' }
2934 static xtensa_arg_internal Iclass_xt_iclass_rsr_intenable_stateArgs[] = {
2935 { { STATE_INTENABLE }, 'i' }
2938 static xtensa_arg_internal Iclass_xt_iclass_wsr_intenable_args[] = {
2939 { { OPERAND_art }, 'i' }
2942 static xtensa_arg_internal Iclass_xt_iclass_wsr_intenable_stateArgs[] = {
2943 { { STATE_INTENABLE }, 'o' }
2946 static xtensa_arg_internal Iclass_xt_iclass_xsr_intenable_args[] = {
2947 { { OPERAND_art }, 'm' }
2950 static xtensa_arg_internal Iclass_xt_iclass_xsr_intenable_stateArgs[] = {
2951 { { STATE_INTENABLE }, 'm' }
2954 static xtensa_arg_internal Iclass_xt_iclass_break_args[] = {
2955 { { OPERAND_imms }, 'i' },
2956 { { OPERAND_immt }, 'i' }
2959 static xtensa_arg_internal Iclass_xt_iclass_break_stateArgs[] = {
2960 { { STATE_PSEXCM }, 'i' },
2961 { { STATE_PSINTLEVEL }, 'i' }
2964 static xtensa_arg_internal Iclass_xt_iclass_break_n_args[] = {
2965 { { OPERAND_imms }, 'i' }
2968 static xtensa_arg_internal Iclass_xt_iclass_break_n_stateArgs[] = {
2969 { { STATE_PSEXCM }, 'i' },
2970 { { STATE_PSINTLEVEL }, 'i' }
2973 static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka0_args[] = {
2974 { { OPERAND_art }, 'o' }
2977 static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka0_stateArgs[] = {
2978 { { STATE_DBREAKA0 }, 'i' }
2981 static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka0_args[] = {
2982 { { OPERAND_art }, 'i' }
2985 static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka0_stateArgs[] = {
2986 { { STATE_DBREAKA0 }, 'o' },
2987 { { STATE_XTSYNC }, 'o' }
2990 static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka0_args[] = {
2991 { { OPERAND_art }, 'm' }
2994 static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka0_stateArgs[] = {
2995 { { STATE_DBREAKA0 }, 'm' },
2996 { { STATE_XTSYNC }, 'o' }
2999 static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc0_args[] = {
3000 { { OPERAND_art }, 'o' }
3003 static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc0_stateArgs[] = {
3004 { { STATE_DBREAKC0 }, 'i' }
3007 static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc0_args[] = {
3008 { { OPERAND_art }, 'i' }
3011 static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc0_stateArgs[] = {
3012 { { STATE_DBREAKC0 }, 'o' },
3013 { { STATE_XTSYNC }, 'o' }
3016 static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc0_args[] = {
3017 { { OPERAND_art }, 'm' }
3020 static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc0_stateArgs[] = {
3021 { { STATE_DBREAKC0 }, 'm' },
3022 { { STATE_XTSYNC }, 'o' }
3025 static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka0_args[] = {
3026 { { OPERAND_art }, 'o' }
3029 static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka0_stateArgs[] = {
3030 { { STATE_IBREAKA0 }, 'i' }
3033 static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka0_args[] = {
3034 { { OPERAND_art }, 'i' }
3037 static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka0_stateArgs[] = {
3038 { { STATE_IBREAKA0 }, 'o' }
3041 static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka0_args[] = {
3042 { { OPERAND_art }, 'm' }
3045 static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka0_stateArgs[] = {
3046 { { STATE_IBREAKA0 }, 'm' }
3049 static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreakenable_args[] = {
3050 { { OPERAND_art }, 'o' }
3053 static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreakenable_stateArgs[] = {
3054 { { STATE_IBREAKENABLE }, 'i' }
3057 static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreakenable_args[] = {
3058 { { OPERAND_art }, 'i' }
3061 static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreakenable_stateArgs[] = {
3062 { { STATE_IBREAKENABLE }, 'o' }
3065 static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreakenable_args[] = {
3066 { { OPERAND_art }, 'm' }
3069 static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreakenable_stateArgs[] = {
3070 { { STATE_IBREAKENABLE }, 'm' }
3073 static xtensa_arg_internal Iclass_xt_iclass_rsr_debugcause_args[] = {
3074 { { OPERAND_art }, 'o' }
3077 static xtensa_arg_internal Iclass_xt_iclass_rsr_debugcause_stateArgs[] = {
3078 { { STATE_DEBUGCAUSE }, 'i' },
3079 { { STATE_DBNUM }, 'i' }
3082 static xtensa_arg_internal Iclass_xt_iclass_wsr_debugcause_args[] = {
3083 { { OPERAND_art }, 'i' }
3086 static xtensa_arg_internal Iclass_xt_iclass_wsr_debugcause_stateArgs[] = {
3087 { { STATE_DEBUGCAUSE }, 'o' },
3088 { { STATE_DBNUM }, 'o' }
3091 static xtensa_arg_internal Iclass_xt_iclass_xsr_debugcause_args[] = {
3092 { { OPERAND_art }, 'm' }
3095 static xtensa_arg_internal Iclass_xt_iclass_xsr_debugcause_stateArgs[] = {
3096 { { STATE_DEBUGCAUSE }, 'm' },
3097 { { STATE_DBNUM }, 'm' }
3100 static xtensa_arg_internal Iclass_xt_iclass_rsr_icount_args[] = {
3101 { { OPERAND_art }, 'o' }
3104 static xtensa_arg_internal Iclass_xt_iclass_rsr_icount_stateArgs[] = {
3105 { { STATE_ICOUNT }, 'i' }
3108 static xtensa_arg_internal Iclass_xt_iclass_wsr_icount_args[] = {
3109 { { OPERAND_art }, 'i' }
3112 static xtensa_arg_internal Iclass_xt_iclass_wsr_icount_stateArgs[] = {
3113 { { STATE_XTSYNC }, 'o' },
3114 { { STATE_ICOUNT }, 'o' }
3117 static xtensa_arg_internal Iclass_xt_iclass_xsr_icount_args[] = {
3118 { { OPERAND_art }, 'm' }
3121 static xtensa_arg_internal Iclass_xt_iclass_xsr_icount_stateArgs[] = {
3122 { { STATE_XTSYNC }, 'o' },
3123 { { STATE_ICOUNT }, 'm' }
3126 static xtensa_arg_internal Iclass_xt_iclass_rsr_icountlevel_args[] = {
3127 { { OPERAND_art }, 'o' }
3130 static xtensa_arg_internal Iclass_xt_iclass_rsr_icountlevel_stateArgs[] = {
3131 { { STATE_ICOUNTLEVEL }, 'i' }
3134 static xtensa_arg_internal Iclass_xt_iclass_wsr_icountlevel_args[] = {
3135 { { OPERAND_art }, 'i' }
3138 static xtensa_arg_internal Iclass_xt_iclass_wsr_icountlevel_stateArgs[] = {
3139 { { STATE_ICOUNTLEVEL }, 'o' }
3142 static xtensa_arg_internal Iclass_xt_iclass_xsr_icountlevel_args[] = {
3143 { { OPERAND_art }, 'm' }
3146 static xtensa_arg_internal Iclass_xt_iclass_xsr_icountlevel_stateArgs[] = {
3147 { { STATE_ICOUNTLEVEL }, 'm' }
3150 static xtensa_arg_internal Iclass_xt_iclass_rsr_ddr_args[] = {
3151 { { OPERAND_art }, 'o' }
3154 static xtensa_arg_internal Iclass_xt_iclass_rsr_ddr_stateArgs[] = {
3155 { { STATE_DDR }, 'i' }
3158 static xtensa_arg_internal Iclass_xt_iclass_wsr_ddr_args[] = {
3159 { { OPERAND_art }, 'i' }
3162 static xtensa_arg_internal Iclass_xt_iclass_wsr_ddr_stateArgs[] = {
3163 { { STATE_XTSYNC }, 'o' },
3164 { { STATE_DDR }, 'o' }
3167 static xtensa_arg_internal Iclass_xt_iclass_xsr_ddr_args[] = {
3168 { { OPERAND_art }, 'm' }
3171 static xtensa_arg_internal Iclass_xt_iclass_xsr_ddr_stateArgs[] = {
3172 { { STATE_XTSYNC }, 'o' },
3173 { { STATE_DDR }, 'm' }
3176 static xtensa_arg_internal Iclass_xt_iclass_rfdo_args[] = {
3177 { { OPERAND_imms }, 'i' }
3180 static xtensa_arg_internal Iclass_xt_iclass_rfdo_stateArgs[] = {
3181 { { STATE_InOCDMode }, 'm' },
3182 { { STATE_EPC2 }, 'i' },
3183 { { STATE_PSUM }, 'o' },
3184 { { STATE_PSEXCM }, 'o' },
3185 { { STATE_PSINTLEVEL }, 'o' },
3186 { { STATE_EPS2 }, 'i' }
3189 static xtensa_arg_internal Iclass_xt_iclass_rfdd_stateArgs[] = {
3190 { { STATE_InOCDMode }, 'm' }
3193 static xtensa_arg_internal Iclass_xt_iclass_wsr_mmid_args[] = {
3194 { { OPERAND_art }, 'i' }
3197 static xtensa_arg_internal Iclass_xt_iclass_wsr_mmid_stateArgs[] = {
3198 { { STATE_XTSYNC }, 'o' }
3201 static xtensa_arg_internal Iclass_xt_iclass_rsr_ccount_args[] = {
3202 { { OPERAND_art }, 'o' }
3205 static xtensa_arg_internal Iclass_xt_iclass_rsr_ccount_stateArgs[] = {
3206 { { STATE_CCOUNT }, 'i' }
3209 static xtensa_arg_internal Iclass_xt_iclass_wsr_ccount_args[] = {
3210 { { OPERAND_art }, 'i' }
3213 static xtensa_arg_internal Iclass_xt_iclass_wsr_ccount_stateArgs[] = {
3214 { { STATE_XTSYNC }, 'o' },
3215 { { STATE_CCOUNT }, 'o' }
3218 static xtensa_arg_internal Iclass_xt_iclass_xsr_ccount_args[] = {
3219 { { OPERAND_art }, 'm' }
3222 static xtensa_arg_internal Iclass_xt_iclass_xsr_ccount_stateArgs[] = {
3223 { { STATE_XTSYNC }, 'o' },
3224 { { STATE_CCOUNT }, 'm' }
3227 static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare0_args[] = {
3228 { { OPERAND_art }, 'o' }
3231 static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare0_stateArgs[] = {
3232 { { STATE_CCOMPARE0 }, 'i' }
3235 static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare0_args[] = {
3236 { { OPERAND_art }, 'i' }
3239 static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare0_stateArgs[] = {
3240 { { STATE_CCOMPARE0 }, 'o' },
3241 { { STATE_INTERRUPT }, 'm' }
3244 static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare0_args[] = {
3245 { { OPERAND_art }, 'm' }
3248 static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare0_stateArgs[] = {
3249 { { STATE_CCOMPARE0 }, 'm' },
3250 { { STATE_INTERRUPT }, 'm' }
3253 static xtensa_arg_internal Iclass_xt_iclass_idtlb_args[] = {
3254 { { OPERAND_ars }, 'i' }
3257 static xtensa_arg_internal Iclass_xt_iclass_idtlb_stateArgs[] = {
3258 { { STATE_XTSYNC }, 'o' }
3261 static xtensa_arg_internal Iclass_xt_iclass_rdtlb_args[] = {
3262 { { OPERAND_art }, 'o' },
3263 { { OPERAND_ars }, 'i' }
3266 static xtensa_arg_internal Iclass_xt_iclass_wdtlb_args[] = {
3267 { { OPERAND_art }, 'i' },
3268 { { OPERAND_ars }, 'i' }
3271 static xtensa_arg_internal Iclass_xt_iclass_wdtlb_stateArgs[] = {
3272 { { STATE_XTSYNC }, 'o' }
3275 static xtensa_arg_internal Iclass_xt_iclass_iitlb_args[] = {
3276 { { OPERAND_ars }, 'i' }
3279 static xtensa_arg_internal Iclass_xt_iclass_ritlb_args[] = {
3280 { { OPERAND_art }, 'o' },
3281 { { OPERAND_ars }, 'i' }
3284 static xtensa_arg_internal Iclass_xt_iclass_witlb_args[] = {
3285 { { OPERAND_art }, 'i' },
3286 { { OPERAND_ars }, 'i' }
3289 static xtensa_arg_internal Iclass_xt_iclass_nsa_args[] = {
3290 { { OPERAND_art }, 'o' },
3291 { { OPERAND_ars }, 'i' }
3294 static xtensa_iclass_internal iclasses[] = {
3295 { 0, 0 /* xt_iclass_excw */,
3297 { 0, 0 /* xt_iclass_rfe */,
3298 2, Iclass_xt_iclass_rfe_stateArgs, 0, 0 },
3299 { 0, 0 /* xt_iclass_rfde */,
3300 1, Iclass_xt_iclass_rfde_stateArgs, 0, 0 },
3301 { 0, 0 /* xt_iclass_syscall */,
3303 { 0, 0 /* xt_iclass_simcall */,
3305 { 3, Iclass_xt_iclass_add_n_args,
3307 { 3, Iclass_xt_iclass_addi_n_args,
3309 { 2, Iclass_xt_iclass_bz6_args,
3311 { 0, 0 /* xt_iclass_ill_n */,
3313 { 3, Iclass_xt_iclass_loadi4_args,
3315 { 2, Iclass_xt_iclass_mov_n_args,
3317 { 2, Iclass_xt_iclass_movi_n_args,
3319 { 0, 0 /* xt_iclass_nopn */,
3321 { 1, Iclass_xt_iclass_retn_args,
3323 { 3, Iclass_xt_iclass_storei4_args,
3325 { 3, Iclass_xt_iclass_addi_args,
3327 { 3, Iclass_xt_iclass_addmi_args,
3329 { 3, Iclass_xt_iclass_addsub_args,
3331 { 3, Iclass_xt_iclass_bit_args,
3333 { 3, Iclass_xt_iclass_bsi8_args,
3335 { 3, Iclass_xt_iclass_bsi8b_args,
3337 { 3, Iclass_xt_iclass_bsi8u_args,
3339 { 3, Iclass_xt_iclass_bst8_args,
3341 { 2, Iclass_xt_iclass_bsz12_args,
3343 { 2, Iclass_xt_iclass_call0_args,
3345 { 2, Iclass_xt_iclass_callx0_args,
3347 { 4, Iclass_xt_iclass_exti_args,
3349 { 0, 0 /* xt_iclass_ill */,
3351 { 1, Iclass_xt_iclass_jump_args,
3353 { 1, Iclass_xt_iclass_jumpx_args,
3355 { 3, Iclass_xt_iclass_l16ui_args,
3357 { 3, Iclass_xt_iclass_l16si_args,
3359 { 3, Iclass_xt_iclass_l32i_args,
3361 { 2, Iclass_xt_iclass_l32r_args,
3362 2, Iclass_xt_iclass_l32r_stateArgs, 0, 0 },
3363 { 3, Iclass_xt_iclass_l8i_args,
3365 { 2, Iclass_xt_iclass_movi_args,
3367 { 3, Iclass_xt_iclass_movz_args,
3369 { 2, Iclass_xt_iclass_neg_args,
3371 { 0, 0 /* xt_iclass_nop */,
3373 { 1, Iclass_xt_iclass_return_args,
3375 { 3, Iclass_xt_iclass_s16i_args,
3377 { 3, Iclass_xt_iclass_s32i_args,
3379 { 3, Iclass_xt_iclass_s8i_args,
3381 { 1, Iclass_xt_iclass_sar_args,
3382 1, Iclass_xt_iclass_sar_stateArgs, 0, 0 },
3383 { 1, Iclass_xt_iclass_sari_args,
3384 1, Iclass_xt_iclass_sari_stateArgs, 0, 0 },
3385 { 2, Iclass_xt_iclass_shifts_args,
3386 1, Iclass_xt_iclass_shifts_stateArgs, 0, 0 },
3387 { 3, Iclass_xt_iclass_shiftst_args,
3388 1, Iclass_xt_iclass_shiftst_stateArgs, 0, 0 },
3389 { 2, Iclass_xt_iclass_shiftt_args,
3390 1, Iclass_xt_iclass_shiftt_stateArgs, 0, 0 },
3391 { 3, Iclass_xt_iclass_slli_args,
3393 { 3, Iclass_xt_iclass_srai_args,
3395 { 3, Iclass_xt_iclass_srli_args,
3397 { 0, 0 /* xt_iclass_memw */,
3399 { 0, 0 /* xt_iclass_extw */,
3401 { 0, 0 /* xt_iclass_isync */,
3403 { 0, 0 /* xt_iclass_sync */,
3404 1, Iclass_xt_iclass_sync_stateArgs, 0, 0 },
3405 { 2, Iclass_xt_iclass_rsil_args,
3406 3, Iclass_xt_iclass_rsil_stateArgs, 0, 0 },
3407 { 1, Iclass_xt_iclass_rsr_sar_args,
3408 1, Iclass_xt_iclass_rsr_sar_stateArgs, 0, 0 },
3409 { 1, Iclass_xt_iclass_wsr_sar_args,
3410 2, Iclass_xt_iclass_wsr_sar_stateArgs, 0, 0 },
3411 { 1, Iclass_xt_iclass_xsr_sar_args,
3412 1, Iclass_xt_iclass_xsr_sar_stateArgs, 0, 0 },
3413 { 1, Iclass_xt_iclass_rsr_litbase_args,
3414 2, Iclass_xt_iclass_rsr_litbase_stateArgs, 0, 0 },
3415 { 1, Iclass_xt_iclass_wsr_litbase_args,
3416 2, Iclass_xt_iclass_wsr_litbase_stateArgs, 0, 0 },
3417 { 1, Iclass_xt_iclass_xsr_litbase_args,
3418 2, Iclass_xt_iclass_xsr_litbase_stateArgs, 0, 0 },
3419 { 1, Iclass_xt_iclass_rsr_176_args,
3421 { 1, Iclass_xt_iclass_wsr_176_args,
3423 { 1, Iclass_xt_iclass_rsr_208_args,
3425 { 1, Iclass_xt_iclass_rsr_ps_args,
3426 3, Iclass_xt_iclass_rsr_ps_stateArgs, 0, 0 },
3427 { 1, Iclass_xt_iclass_wsr_ps_args,
3428 3, Iclass_xt_iclass_wsr_ps_stateArgs, 0, 0 },
3429 { 1, Iclass_xt_iclass_xsr_ps_args,
3430 3, Iclass_xt_iclass_xsr_ps_stateArgs, 0, 0 },
3431 { 1, Iclass_xt_iclass_rsr_epc1_args,
3432 1, Iclass_xt_iclass_rsr_epc1_stateArgs, 0, 0 },
3433 { 1, Iclass_xt_iclass_wsr_epc1_args,
3434 1, Iclass_xt_iclass_wsr_epc1_stateArgs, 0, 0 },
3435 { 1, Iclass_xt_iclass_xsr_epc1_args,
3436 1, Iclass_xt_iclass_xsr_epc1_stateArgs, 0, 0 },
3437 { 1, Iclass_xt_iclass_rsr_excsave1_args,
3438 1, Iclass_xt_iclass_rsr_excsave1_stateArgs, 0, 0 },
3439 { 1, Iclass_xt_iclass_wsr_excsave1_args,
3440 1, Iclass_xt_iclass_wsr_excsave1_stateArgs, 0, 0 },
3441 { 1, Iclass_xt_iclass_xsr_excsave1_args,
3442 1, Iclass_xt_iclass_xsr_excsave1_stateArgs, 0, 0 },
3443 { 1, Iclass_xt_iclass_rsr_epc2_args,
3444 1, Iclass_xt_iclass_rsr_epc2_stateArgs, 0, 0 },
3445 { 1, Iclass_xt_iclass_wsr_epc2_args,
3446 1, Iclass_xt_iclass_wsr_epc2_stateArgs, 0, 0 },
3447 { 1, Iclass_xt_iclass_xsr_epc2_args,
3448 1, Iclass_xt_iclass_xsr_epc2_stateArgs, 0, 0 },
3449 { 1, Iclass_xt_iclass_rsr_excsave2_args,
3450 1, Iclass_xt_iclass_rsr_excsave2_stateArgs, 0, 0 },
3451 { 1, Iclass_xt_iclass_wsr_excsave2_args,
3452 1, Iclass_xt_iclass_wsr_excsave2_stateArgs, 0, 0 },
3453 { 1, Iclass_xt_iclass_xsr_excsave2_args,
3454 1, Iclass_xt_iclass_xsr_excsave2_stateArgs, 0, 0 },
3455 { 1, Iclass_xt_iclass_rsr_epc3_args,
3456 1, Iclass_xt_iclass_rsr_epc3_stateArgs, 0, 0 },
3457 { 1, Iclass_xt_iclass_wsr_epc3_args,
3458 1, Iclass_xt_iclass_wsr_epc3_stateArgs, 0, 0 },
3459 { 1, Iclass_xt_iclass_xsr_epc3_args,
3460 1, Iclass_xt_iclass_xsr_epc3_stateArgs, 0, 0 },
3461 { 1, Iclass_xt_iclass_rsr_excsave3_args,
3462 1, Iclass_xt_iclass_rsr_excsave3_stateArgs, 0, 0 },
3463 { 1, Iclass_xt_iclass_wsr_excsave3_args,
3464 1, Iclass_xt_iclass_wsr_excsave3_stateArgs, 0, 0 },
3465 { 1, Iclass_xt_iclass_xsr_excsave3_args,
3466 1, Iclass_xt_iclass_xsr_excsave3_stateArgs, 0, 0 },
3467 { 1, Iclass_xt_iclass_rsr_eps2_args,
3468 1, Iclass_xt_iclass_rsr_eps2_stateArgs, 0, 0 },
3469 { 1, Iclass_xt_iclass_wsr_eps2_args,
3470 1, Iclass_xt_iclass_wsr_eps2_stateArgs, 0, 0 },
3471 { 1, Iclass_xt_iclass_xsr_eps2_args,
3472 1, Iclass_xt_iclass_xsr_eps2_stateArgs, 0, 0 },
3473 { 1, Iclass_xt_iclass_rsr_eps3_args,
3474 1, Iclass_xt_iclass_rsr_eps3_stateArgs, 0, 0 },
3475 { 1, Iclass_xt_iclass_wsr_eps3_args,
3476 1, Iclass_xt_iclass_wsr_eps3_stateArgs, 0, 0 },
3477 { 1, Iclass_xt_iclass_xsr_eps3_args,
3478 1, Iclass_xt_iclass_xsr_eps3_stateArgs, 0, 0 },
3479 { 1, Iclass_xt_iclass_rsr_excvaddr_args,
3480 1, Iclass_xt_iclass_rsr_excvaddr_stateArgs, 0, 0 },
3481 { 1, Iclass_xt_iclass_wsr_excvaddr_args,
3482 1, Iclass_xt_iclass_wsr_excvaddr_stateArgs, 0, 0 },
3483 { 1, Iclass_xt_iclass_xsr_excvaddr_args,
3484 1, Iclass_xt_iclass_xsr_excvaddr_stateArgs, 0, 0 },
3485 { 1, Iclass_xt_iclass_rsr_depc_args,
3486 1, Iclass_xt_iclass_rsr_depc_stateArgs, 0, 0 },
3487 { 1, Iclass_xt_iclass_wsr_depc_args,
3488 1, Iclass_xt_iclass_wsr_depc_stateArgs, 0, 0 },
3489 { 1, Iclass_xt_iclass_xsr_depc_args,
3490 1, Iclass_xt_iclass_xsr_depc_stateArgs, 0, 0 },
3491 { 1, Iclass_xt_iclass_rsr_exccause_args,
3492 2, Iclass_xt_iclass_rsr_exccause_stateArgs, 0, 0 },
3493 { 1, Iclass_xt_iclass_wsr_exccause_args,
3494 1, Iclass_xt_iclass_wsr_exccause_stateArgs, 0, 0 },
3495 { 1, Iclass_xt_iclass_xsr_exccause_args,
3496 1, Iclass_xt_iclass_xsr_exccause_stateArgs, 0, 0 },
3497 { 1, Iclass_xt_iclass_rsr_prid_args,
3499 { 1, Iclass_xt_iclass_rsr_vecbase_args,
3500 1, Iclass_xt_iclass_rsr_vecbase_stateArgs, 0, 0 },
3501 { 1, Iclass_xt_iclass_wsr_vecbase_args,
3502 1, Iclass_xt_iclass_wsr_vecbase_stateArgs, 0, 0 },
3503 { 1, Iclass_xt_iclass_xsr_vecbase_args,
3504 1, Iclass_xt_iclass_xsr_vecbase_stateArgs, 0, 0 },
3505 { 3, Iclass_xt_mul16_args,
3507 { 3, Iclass_xt_mul32_args,
3509 { 1, Iclass_xt_iclass_rfi_args,
3510 9, Iclass_xt_iclass_rfi_stateArgs, 0, 0 },
3511 { 1, Iclass_xt_iclass_wait_args,
3512 1, Iclass_xt_iclass_wait_stateArgs, 0, 0 },
3513 { 1, Iclass_xt_iclass_rsr_interrupt_args,
3514 1, Iclass_xt_iclass_rsr_interrupt_stateArgs, 0, 0 },
3515 { 1, Iclass_xt_iclass_wsr_intset_args,
3516 2, Iclass_xt_iclass_wsr_intset_stateArgs, 0, 0 },
3517 { 1, Iclass_xt_iclass_wsr_intclear_args,
3518 2, Iclass_xt_iclass_wsr_intclear_stateArgs, 0, 0 },
3519 { 1, Iclass_xt_iclass_rsr_intenable_args,
3520 1, Iclass_xt_iclass_rsr_intenable_stateArgs, 0, 0 },
3521 { 1, Iclass_xt_iclass_wsr_intenable_args,
3522 1, Iclass_xt_iclass_wsr_intenable_stateArgs, 0, 0 },
3523 { 1, Iclass_xt_iclass_xsr_intenable_args,
3524 1, Iclass_xt_iclass_xsr_intenable_stateArgs, 0, 0 },
3525 { 2, Iclass_xt_iclass_break_args,
3526 2, Iclass_xt_iclass_break_stateArgs, 0, 0 },
3527 { 1, Iclass_xt_iclass_break_n_args,
3528 2, Iclass_xt_iclass_break_n_stateArgs, 0, 0 },
3529 { 1, Iclass_xt_iclass_rsr_dbreaka0_args,
3530 1, Iclass_xt_iclass_rsr_dbreaka0_stateArgs, 0, 0 },
3531 { 1, Iclass_xt_iclass_wsr_dbreaka0_args,
3532 2, Iclass_xt_iclass_wsr_dbreaka0_stateArgs, 0, 0 },
3533 { 1, Iclass_xt_iclass_xsr_dbreaka0_args,
3534 2, Iclass_xt_iclass_xsr_dbreaka0_stateArgs, 0, 0 },
3535 { 1, Iclass_xt_iclass_rsr_dbreakc0_args,
3536 1, Iclass_xt_iclass_rsr_dbreakc0_stateArgs, 0, 0 },
3537 { 1, Iclass_xt_iclass_wsr_dbreakc0_args,
3538 2, Iclass_xt_iclass_wsr_dbreakc0_stateArgs, 0, 0 },
3539 { 1, Iclass_xt_iclass_xsr_dbreakc0_args,
3540 2, Iclass_xt_iclass_xsr_dbreakc0_stateArgs, 0, 0 },
3541 { 1, Iclass_xt_iclass_rsr_ibreaka0_args,
3542 1, Iclass_xt_iclass_rsr_ibreaka0_stateArgs, 0, 0 },
3543 { 1, Iclass_xt_iclass_wsr_ibreaka0_args,
3544 1, Iclass_xt_iclass_wsr_ibreaka0_stateArgs, 0, 0 },
3545 { 1, Iclass_xt_iclass_xsr_ibreaka0_args,
3546 1, Iclass_xt_iclass_xsr_ibreaka0_stateArgs, 0, 0 },
3547 { 1, Iclass_xt_iclass_rsr_ibreakenable_args,
3548 1, Iclass_xt_iclass_rsr_ibreakenable_stateArgs, 0, 0 },
3549 { 1, Iclass_xt_iclass_wsr_ibreakenable_args,
3550 1, Iclass_xt_iclass_wsr_ibreakenable_stateArgs, 0, 0 },
3551 { 1, Iclass_xt_iclass_xsr_ibreakenable_args,
3552 1, Iclass_xt_iclass_xsr_ibreakenable_stateArgs, 0, 0 },
3553 { 1, Iclass_xt_iclass_rsr_debugcause_args,
3554 2, Iclass_xt_iclass_rsr_debugcause_stateArgs, 0, 0 },
3555 { 1, Iclass_xt_iclass_wsr_debugcause_args,
3556 2, Iclass_xt_iclass_wsr_debugcause_stateArgs, 0, 0 },
3557 { 1, Iclass_xt_iclass_xsr_debugcause_args,
3558 2, Iclass_xt_iclass_xsr_debugcause_stateArgs, 0, 0 },
3559 { 1, Iclass_xt_iclass_rsr_icount_args,
3560 1, Iclass_xt_iclass_rsr_icount_stateArgs, 0, 0 },
3561 { 1, Iclass_xt_iclass_wsr_icount_args,
3562 2, Iclass_xt_iclass_wsr_icount_stateArgs, 0, 0 },
3563 { 1, Iclass_xt_iclass_xsr_icount_args,
3564 2, Iclass_xt_iclass_xsr_icount_stateArgs, 0, 0 },
3565 { 1, Iclass_xt_iclass_rsr_icountlevel_args,
3566 1, Iclass_xt_iclass_rsr_icountlevel_stateArgs, 0, 0 },
3567 { 1, Iclass_xt_iclass_wsr_icountlevel_args,
3568 1, Iclass_xt_iclass_wsr_icountlevel_stateArgs, 0, 0 },
3569 { 1, Iclass_xt_iclass_xsr_icountlevel_args,
3570 1, Iclass_xt_iclass_xsr_icountlevel_stateArgs, 0, 0 },
3571 { 1, Iclass_xt_iclass_rsr_ddr_args,
3572 1, Iclass_xt_iclass_rsr_ddr_stateArgs, 0, 0 },
3573 { 1, Iclass_xt_iclass_wsr_ddr_args,
3574 2, Iclass_xt_iclass_wsr_ddr_stateArgs, 0, 0 },
3575 { 1, Iclass_xt_iclass_xsr_ddr_args,
3576 2, Iclass_xt_iclass_xsr_ddr_stateArgs, 0, 0 },
3577 { 1, Iclass_xt_iclass_rfdo_args,
3578 6, Iclass_xt_iclass_rfdo_stateArgs, 0, 0 },
3579 { 0, 0 /* xt_iclass_rfdd */,
3580 1, Iclass_xt_iclass_rfdd_stateArgs, 0, 0 },
3581 { 1, Iclass_xt_iclass_wsr_mmid_args,
3582 1, Iclass_xt_iclass_wsr_mmid_stateArgs, 0, 0 },
3583 { 1, Iclass_xt_iclass_rsr_ccount_args,
3584 1, Iclass_xt_iclass_rsr_ccount_stateArgs, 0, 0 },
3585 { 1, Iclass_xt_iclass_wsr_ccount_args,
3586 2, Iclass_xt_iclass_wsr_ccount_stateArgs, 0, 0 },
3587 { 1, Iclass_xt_iclass_xsr_ccount_args,
3588 2, Iclass_xt_iclass_xsr_ccount_stateArgs, 0, 0 },
3589 { 1, Iclass_xt_iclass_rsr_ccompare0_args,
3590 1, Iclass_xt_iclass_rsr_ccompare0_stateArgs, 0, 0 },
3591 { 1, Iclass_xt_iclass_wsr_ccompare0_args,
3592 2, Iclass_xt_iclass_wsr_ccompare0_stateArgs, 0, 0 },
3593 { 1, Iclass_xt_iclass_xsr_ccompare0_args,
3594 2, Iclass_xt_iclass_xsr_ccompare0_stateArgs, 0, 0 },
3595 { 1, Iclass_xt_iclass_idtlb_args,
3596 1, Iclass_xt_iclass_idtlb_stateArgs, 0, 0 },
3597 { 2, Iclass_xt_iclass_rdtlb_args,
3599 { 2, Iclass_xt_iclass_wdtlb_args,
3600 1, Iclass_xt_iclass_wdtlb_stateArgs, 0, 0 },
3601 { 1, Iclass_xt_iclass_iitlb_args,
3603 { 2, Iclass_xt_iclass_ritlb_args,
3605 { 2, Iclass_xt_iclass_witlb_args,
3607 { 2, Iclass_xt_iclass_nsa_args,
3609 { 0, 0 /* xt_iclass_rer */,
3611 { 0, 0 /* xt_iclass_wer */,
3615 enum xtensa_iclass_id {
3616 ICLASS_xt_iclass_excw,
3617 ICLASS_xt_iclass_rfe,
3618 ICLASS_xt_iclass_rfde,
3619 ICLASS_xt_iclass_syscall,
3620 ICLASS_xt_iclass_simcall,
3621 ICLASS_xt_iclass_add_n,
3622 ICLASS_xt_iclass_addi_n,
3623 ICLASS_xt_iclass_bz6,
3624 ICLASS_xt_iclass_ill_n,
3625 ICLASS_xt_iclass_loadi4,
3626 ICLASS_xt_iclass_mov_n,
3627 ICLASS_xt_iclass_movi_n,
3628 ICLASS_xt_iclass_nopn,
3629 ICLASS_xt_iclass_retn,
3630 ICLASS_xt_iclass_storei4,
3631 ICLASS_xt_iclass_addi,
3632 ICLASS_xt_iclass_addmi,
3633 ICLASS_xt_iclass_addsub,
3634 ICLASS_xt_iclass_bit,
3635 ICLASS_xt_iclass_bsi8,
3636 ICLASS_xt_iclass_bsi8b,
3637 ICLASS_xt_iclass_bsi8u,
3638 ICLASS_xt_iclass_bst8,
3639 ICLASS_xt_iclass_bsz12,
3640 ICLASS_xt_iclass_call0,
3641 ICLASS_xt_iclass_callx0,
3642 ICLASS_xt_iclass_exti,
3643 ICLASS_xt_iclass_ill,
3644 ICLASS_xt_iclass_jump,
3645 ICLASS_xt_iclass_jumpx,
3646 ICLASS_xt_iclass_l16ui,
3647 ICLASS_xt_iclass_l16si,
3648 ICLASS_xt_iclass_l32i,
3649 ICLASS_xt_iclass_l32r,
3650 ICLASS_xt_iclass_l8i,
3651 ICLASS_xt_iclass_movi,
3652 ICLASS_xt_iclass_movz,
3653 ICLASS_xt_iclass_neg,
3654 ICLASS_xt_iclass_nop,
3655 ICLASS_xt_iclass_return,
3656 ICLASS_xt_iclass_s16i,
3657 ICLASS_xt_iclass_s32i,
3658 ICLASS_xt_iclass_s8i,
3659 ICLASS_xt_iclass_sar,
3660 ICLASS_xt_iclass_sari,
3661 ICLASS_xt_iclass_shifts,
3662 ICLASS_xt_iclass_shiftst,
3663 ICLASS_xt_iclass_shiftt,
3664 ICLASS_xt_iclass_slli,
3665 ICLASS_xt_iclass_srai,
3666 ICLASS_xt_iclass_srli,
3667 ICLASS_xt_iclass_memw,
3668 ICLASS_xt_iclass_extw,
3669 ICLASS_xt_iclass_isync,
3670 ICLASS_xt_iclass_sync,
3671 ICLASS_xt_iclass_rsil,
3672 ICLASS_xt_iclass_rsr_sar,
3673 ICLASS_xt_iclass_wsr_sar,
3674 ICLASS_xt_iclass_xsr_sar,
3675 ICLASS_xt_iclass_rsr_litbase,
3676 ICLASS_xt_iclass_wsr_litbase,
3677 ICLASS_xt_iclass_xsr_litbase,
3678 ICLASS_xt_iclass_rsr_176,
3679 ICLASS_xt_iclass_wsr_176,
3680 ICLASS_xt_iclass_rsr_208,
3681 ICLASS_xt_iclass_rsr_ps,
3682 ICLASS_xt_iclass_wsr_ps,
3683 ICLASS_xt_iclass_xsr_ps,
3684 ICLASS_xt_iclass_rsr_epc1,
3685 ICLASS_xt_iclass_wsr_epc1,
3686 ICLASS_xt_iclass_xsr_epc1,
3687 ICLASS_xt_iclass_rsr_excsave1,
3688 ICLASS_xt_iclass_wsr_excsave1,
3689 ICLASS_xt_iclass_xsr_excsave1,
3690 ICLASS_xt_iclass_rsr_epc2,
3691 ICLASS_xt_iclass_wsr_epc2,
3692 ICLASS_xt_iclass_xsr_epc2,
3693 ICLASS_xt_iclass_rsr_excsave2,
3694 ICLASS_xt_iclass_wsr_excsave2,
3695 ICLASS_xt_iclass_xsr_excsave2,
3696 ICLASS_xt_iclass_rsr_epc3,
3697 ICLASS_xt_iclass_wsr_epc3,
3698 ICLASS_xt_iclass_xsr_epc3,
3699 ICLASS_xt_iclass_rsr_excsave3,
3700 ICLASS_xt_iclass_wsr_excsave3,
3701 ICLASS_xt_iclass_xsr_excsave3,
3702 ICLASS_xt_iclass_rsr_eps2,
3703 ICLASS_xt_iclass_wsr_eps2,
3704 ICLASS_xt_iclass_xsr_eps2,
3705 ICLASS_xt_iclass_rsr_eps3,
3706 ICLASS_xt_iclass_wsr_eps3,
3707 ICLASS_xt_iclass_xsr_eps3,
3708 ICLASS_xt_iclass_rsr_excvaddr,
3709 ICLASS_xt_iclass_wsr_excvaddr,
3710 ICLASS_xt_iclass_xsr_excvaddr,
3711 ICLASS_xt_iclass_rsr_depc,
3712 ICLASS_xt_iclass_wsr_depc,
3713 ICLASS_xt_iclass_xsr_depc,
3714 ICLASS_xt_iclass_rsr_exccause,
3715 ICLASS_xt_iclass_wsr_exccause,
3716 ICLASS_xt_iclass_xsr_exccause,
3717 ICLASS_xt_iclass_rsr_prid,
3718 ICLASS_xt_iclass_rsr_vecbase,
3719 ICLASS_xt_iclass_wsr_vecbase,
3720 ICLASS_xt_iclass_xsr_vecbase,
3723 ICLASS_xt_iclass_rfi,
3724 ICLASS_xt_iclass_wait,
3725 ICLASS_xt_iclass_rsr_interrupt,
3726 ICLASS_xt_iclass_wsr_intset,
3727 ICLASS_xt_iclass_wsr_intclear,
3728 ICLASS_xt_iclass_rsr_intenable,
3729 ICLASS_xt_iclass_wsr_intenable,
3730 ICLASS_xt_iclass_xsr_intenable,
3731 ICLASS_xt_iclass_break,
3732 ICLASS_xt_iclass_break_n,
3733 ICLASS_xt_iclass_rsr_dbreaka0,
3734 ICLASS_xt_iclass_wsr_dbreaka0,
3735 ICLASS_xt_iclass_xsr_dbreaka0,
3736 ICLASS_xt_iclass_rsr_dbreakc0,
3737 ICLASS_xt_iclass_wsr_dbreakc0,
3738 ICLASS_xt_iclass_xsr_dbreakc0,
3739 ICLASS_xt_iclass_rsr_ibreaka0,
3740 ICLASS_xt_iclass_wsr_ibreaka0,
3741 ICLASS_xt_iclass_xsr_ibreaka0,
3742 ICLASS_xt_iclass_rsr_ibreakenable,
3743 ICLASS_xt_iclass_wsr_ibreakenable,
3744 ICLASS_xt_iclass_xsr_ibreakenable,
3745 ICLASS_xt_iclass_rsr_debugcause,
3746 ICLASS_xt_iclass_wsr_debugcause,
3747 ICLASS_xt_iclass_xsr_debugcause,
3748 ICLASS_xt_iclass_rsr_icount,
3749 ICLASS_xt_iclass_wsr_icount,
3750 ICLASS_xt_iclass_xsr_icount,
3751 ICLASS_xt_iclass_rsr_icountlevel,
3752 ICLASS_xt_iclass_wsr_icountlevel,
3753 ICLASS_xt_iclass_xsr_icountlevel,
3754 ICLASS_xt_iclass_rsr_ddr,
3755 ICLASS_xt_iclass_wsr_ddr,
3756 ICLASS_xt_iclass_xsr_ddr,
3757 ICLASS_xt_iclass_rfdo,
3758 ICLASS_xt_iclass_rfdd,
3759 ICLASS_xt_iclass_wsr_mmid,
3760 ICLASS_xt_iclass_rsr_ccount,
3761 ICLASS_xt_iclass_wsr_ccount,
3762 ICLASS_xt_iclass_xsr_ccount,
3763 ICLASS_xt_iclass_rsr_ccompare0,
3764 ICLASS_xt_iclass_wsr_ccompare0,
3765 ICLASS_xt_iclass_xsr_ccompare0,
3766 ICLASS_xt_iclass_idtlb,
3767 ICLASS_xt_iclass_rdtlb,
3768 ICLASS_xt_iclass_wdtlb,
3769 ICLASS_xt_iclass_iitlb,
3770 ICLASS_xt_iclass_ritlb,
3771 ICLASS_xt_iclass_witlb,
3772 ICLASS_xt_iclass_nsa,
3773 ICLASS_xt_iclass_rer,
3774 ICLASS_xt_iclass_wer
3778 /* Opcode encodings. */
3781 Opcode_excw_Slot_inst_encode (xtensa_insnbuf slotbuf)
3783 slotbuf[0] = 0x2080;
3787 Opcode_rfe_Slot_inst_encode (xtensa_insnbuf slotbuf)
3789 slotbuf[0] = 0x3000;
3793 Opcode_rfde_Slot_inst_encode (xtensa_insnbuf slotbuf)
3795 slotbuf[0] = 0x3200;
3799 Opcode_syscall_Slot_inst_encode (xtensa_insnbuf slotbuf)
3801 slotbuf[0] = 0x5000;
3805 Opcode_simcall_Slot_inst_encode (xtensa_insnbuf slotbuf)
3807 slotbuf[0] = 0x5100;
3811 Opcode_add_n_Slot_inst16a_encode (xtensa_insnbuf slotbuf)
3817 Opcode_addi_n_Slot_inst16a_encode (xtensa_insnbuf slotbuf)
3823 Opcode_beqz_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
3829 Opcode_bnez_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
3835 Opcode_ill_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
3837 slotbuf[0] = 0xf06d;
3841 Opcode_l32i_n_Slot_inst16a_encode (xtensa_insnbuf slotbuf)
3847 Opcode_mov_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
3853 Opcode_movi_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
3859 Opcode_nop_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
3861 slotbuf[0] = 0xf03d;
3865 Opcode_ret_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
3867 slotbuf[0] = 0xf00d;
3871 Opcode_s32i_n_Slot_inst16a_encode (xtensa_insnbuf slotbuf)
3877 Opcode_addi_Slot_inst_encode (xtensa_insnbuf slotbuf)
3879 slotbuf[0] = 0xc002;
3883 Opcode_addmi_Slot_inst_encode (xtensa_insnbuf slotbuf)
3885 slotbuf[0] = 0xd002;
3889 Opcode_add_Slot_inst_encode (xtensa_insnbuf slotbuf)
3891 slotbuf[0] = 0x800000;
3895 Opcode_sub_Slot_inst_encode (xtensa_insnbuf slotbuf)
3897 slotbuf[0] = 0xc00000;
3901 Opcode_addx2_Slot_inst_encode (xtensa_insnbuf slotbuf)
3903 slotbuf[0] = 0x900000;
3907 Opcode_addx4_Slot_inst_encode (xtensa_insnbuf slotbuf)
3909 slotbuf[0] = 0xa00000;
3913 Opcode_addx8_Slot_inst_encode (xtensa_insnbuf slotbuf)
3915 slotbuf[0] = 0xb00000;
3919 Opcode_subx2_Slot_inst_encode (xtensa_insnbuf slotbuf)
3921 slotbuf[0] = 0xd00000;
3925 Opcode_subx4_Slot_inst_encode (xtensa_insnbuf slotbuf)
3927 slotbuf[0] = 0xe00000;
3931 Opcode_subx8_Slot_inst_encode (xtensa_insnbuf slotbuf)
3933 slotbuf[0] = 0xf00000;
3937 Opcode_and_Slot_inst_encode (xtensa_insnbuf slotbuf)
3939 slotbuf[0] = 0x100000;
3943 Opcode_or_Slot_inst_encode (xtensa_insnbuf slotbuf)
3945 slotbuf[0] = 0x200000;
3949 Opcode_xor_Slot_inst_encode (xtensa_insnbuf slotbuf)
3951 slotbuf[0] = 0x300000;
3955 Opcode_beqi_Slot_inst_encode (xtensa_insnbuf slotbuf)
3961 Opcode_bnei_Slot_inst_encode (xtensa_insnbuf slotbuf)
3967 Opcode_bgei_Slot_inst_encode (xtensa_insnbuf slotbuf)
3973 Opcode_blti_Slot_inst_encode (xtensa_insnbuf slotbuf)
3979 Opcode_bbci_Slot_inst_encode (xtensa_insnbuf slotbuf)
3981 slotbuf[0] = 0x6007;
3985 Opcode_bbsi_Slot_inst_encode (xtensa_insnbuf slotbuf)
3987 slotbuf[0] = 0xe007;
3991 Opcode_bgeui_Slot_inst_encode (xtensa_insnbuf slotbuf)
3997 Opcode_bltui_Slot_inst_encode (xtensa_insnbuf slotbuf)
4003 Opcode_beq_Slot_inst_encode (xtensa_insnbuf slotbuf)
4005 slotbuf[0] = 0x1007;
4009 Opcode_bne_Slot_inst_encode (xtensa_insnbuf slotbuf)
4011 slotbuf[0] = 0x9007;
4015 Opcode_bge_Slot_inst_encode (xtensa_insnbuf slotbuf)
4017 slotbuf[0] = 0xa007;
4021 Opcode_blt_Slot_inst_encode (xtensa_insnbuf slotbuf)
4023 slotbuf[0] = 0x2007;
4027 Opcode_bgeu_Slot_inst_encode (xtensa_insnbuf slotbuf)
4029 slotbuf[0] = 0xb007;
4033 Opcode_bltu_Slot_inst_encode (xtensa_insnbuf slotbuf)
4035 slotbuf[0] = 0x3007;
4039 Opcode_bany_Slot_inst_encode (xtensa_insnbuf slotbuf)
4041 slotbuf[0] = 0x8007;
4045 Opcode_bnone_Slot_inst_encode (xtensa_insnbuf slotbuf)
4051 Opcode_ball_Slot_inst_encode (xtensa_insnbuf slotbuf)
4053 slotbuf[0] = 0x4007;
4057 Opcode_bnall_Slot_inst_encode (xtensa_insnbuf slotbuf)
4059 slotbuf[0] = 0xc007;
4063 Opcode_bbc_Slot_inst_encode (xtensa_insnbuf slotbuf)
4065 slotbuf[0] = 0x5007;
4069 Opcode_bbs_Slot_inst_encode (xtensa_insnbuf slotbuf)
4071 slotbuf[0] = 0xd007;
4075 Opcode_beqz_Slot_inst_encode (xtensa_insnbuf slotbuf)
4081 Opcode_bnez_Slot_inst_encode (xtensa_insnbuf slotbuf)
4087 Opcode_bgez_Slot_inst_encode (xtensa_insnbuf slotbuf)
4093 Opcode_bltz_Slot_inst_encode (xtensa_insnbuf slotbuf)
4099 Opcode_call0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4105 Opcode_callx0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4111 Opcode_extui_Slot_inst_encode (xtensa_insnbuf slotbuf)
4113 slotbuf[0] = 0x40000;
4117 Opcode_ill_Slot_inst_encode (xtensa_insnbuf slotbuf)
4123 Opcode_j_Slot_inst_encode (xtensa_insnbuf slotbuf)
4129 Opcode_jx_Slot_inst_encode (xtensa_insnbuf slotbuf)
4135 Opcode_l16ui_Slot_inst_encode (xtensa_insnbuf slotbuf)
4137 slotbuf[0] = 0x1002;
4141 Opcode_l16si_Slot_inst_encode (xtensa_insnbuf slotbuf)
4143 slotbuf[0] = 0x9002;
4147 Opcode_l32i_Slot_inst_encode (xtensa_insnbuf slotbuf)
4149 slotbuf[0] = 0x2002;
4153 Opcode_l32r_Slot_inst_encode (xtensa_insnbuf slotbuf)
4159 Opcode_l8ui_Slot_inst_encode (xtensa_insnbuf slotbuf)
4165 Opcode_movi_Slot_inst_encode (xtensa_insnbuf slotbuf)
4167 slotbuf[0] = 0xa002;
4171 Opcode_moveqz_Slot_inst_encode (xtensa_insnbuf slotbuf)
4173 slotbuf[0] = 0x830000;
4177 Opcode_movnez_Slot_inst_encode (xtensa_insnbuf slotbuf)
4179 slotbuf[0] = 0x930000;
4183 Opcode_movltz_Slot_inst_encode (xtensa_insnbuf slotbuf)
4185 slotbuf[0] = 0xa30000;
4189 Opcode_movgez_Slot_inst_encode (xtensa_insnbuf slotbuf)
4191 slotbuf[0] = 0xb30000;
4195 Opcode_neg_Slot_inst_encode (xtensa_insnbuf slotbuf)
4197 slotbuf[0] = 0x600000;
4201 Opcode_abs_Slot_inst_encode (xtensa_insnbuf slotbuf)
4203 slotbuf[0] = 0x600100;
4207 Opcode_nop_Slot_inst_encode (xtensa_insnbuf slotbuf)
4209 slotbuf[0] = 0x20f0;
4213 Opcode_ret_Slot_inst_encode (xtensa_insnbuf slotbuf)
4219 Opcode_s16i_Slot_inst_encode (xtensa_insnbuf slotbuf)
4221 slotbuf[0] = 0x5002;
4225 Opcode_s32i_Slot_inst_encode (xtensa_insnbuf slotbuf)
4227 slotbuf[0] = 0x6002;
4231 Opcode_s8i_Slot_inst_encode (xtensa_insnbuf slotbuf)
4233 slotbuf[0] = 0x4002;
4237 Opcode_ssr_Slot_inst_encode (xtensa_insnbuf slotbuf)
4239 slotbuf[0] = 0x400000;
4243 Opcode_ssl_Slot_inst_encode (xtensa_insnbuf slotbuf)
4245 slotbuf[0] = 0x401000;
4249 Opcode_ssa8l_Slot_inst_encode (xtensa_insnbuf slotbuf)
4251 slotbuf[0] = 0x402000;
4255 Opcode_ssa8b_Slot_inst_encode (xtensa_insnbuf slotbuf)
4257 slotbuf[0] = 0x403000;
4261 Opcode_ssai_Slot_inst_encode (xtensa_insnbuf slotbuf)
4263 slotbuf[0] = 0x404000;
4267 Opcode_sll_Slot_inst_encode (xtensa_insnbuf slotbuf)
4269 slotbuf[0] = 0xa10000;
4273 Opcode_src_Slot_inst_encode (xtensa_insnbuf slotbuf)
4275 slotbuf[0] = 0x810000;
4279 Opcode_srl_Slot_inst_encode (xtensa_insnbuf slotbuf)
4281 slotbuf[0] = 0x910000;
4285 Opcode_sra_Slot_inst_encode (xtensa_insnbuf slotbuf)
4287 slotbuf[0] = 0xb10000;
4291 Opcode_slli_Slot_inst_encode (xtensa_insnbuf slotbuf)
4293 slotbuf[0] = 0x10000;
4297 Opcode_srai_Slot_inst_encode (xtensa_insnbuf slotbuf)
4299 slotbuf[0] = 0x210000;
4303 Opcode_srli_Slot_inst_encode (xtensa_insnbuf slotbuf)
4305 slotbuf[0] = 0x410000;
4309 Opcode_memw_Slot_inst_encode (xtensa_insnbuf slotbuf)
4311 slotbuf[0] = 0x20c0;
4315 Opcode_extw_Slot_inst_encode (xtensa_insnbuf slotbuf)
4317 slotbuf[0] = 0x20d0;
4321 Opcode_isync_Slot_inst_encode (xtensa_insnbuf slotbuf)
4323 slotbuf[0] = 0x2000;
4327 Opcode_rsync_Slot_inst_encode (xtensa_insnbuf slotbuf)
4329 slotbuf[0] = 0x2010;
4333 Opcode_esync_Slot_inst_encode (xtensa_insnbuf slotbuf)
4335 slotbuf[0] = 0x2020;
4339 Opcode_dsync_Slot_inst_encode (xtensa_insnbuf slotbuf)
4341 slotbuf[0] = 0x2030;
4345 Opcode_rsil_Slot_inst_encode (xtensa_insnbuf slotbuf)
4347 slotbuf[0] = 0x6000;
4351 Opcode_rsr_sar_Slot_inst_encode (xtensa_insnbuf slotbuf)
4353 slotbuf[0] = 0x30300;
4357 Opcode_wsr_sar_Slot_inst_encode (xtensa_insnbuf slotbuf)
4359 slotbuf[0] = 0x130300;
4363 Opcode_xsr_sar_Slot_inst_encode (xtensa_insnbuf slotbuf)
4365 slotbuf[0] = 0x610300;
4369 Opcode_rsr_litbase_Slot_inst_encode (xtensa_insnbuf slotbuf)
4371 slotbuf[0] = 0x30500;
4375 Opcode_wsr_litbase_Slot_inst_encode (xtensa_insnbuf slotbuf)
4377 slotbuf[0] = 0x130500;
4381 Opcode_xsr_litbase_Slot_inst_encode (xtensa_insnbuf slotbuf)
4383 slotbuf[0] = 0x610500;
4387 Opcode_rsr_176_Slot_inst_encode (xtensa_insnbuf slotbuf)
4389 slotbuf[0] = 0x3b000;
4393 Opcode_wsr_176_Slot_inst_encode (xtensa_insnbuf slotbuf)
4395 slotbuf[0] = 0x13b000;
4399 Opcode_rsr_208_Slot_inst_encode (xtensa_insnbuf slotbuf)
4401 slotbuf[0] = 0x3d000;
4405 Opcode_rsr_ps_Slot_inst_encode (xtensa_insnbuf slotbuf)
4407 slotbuf[0] = 0x3e600;
4411 Opcode_wsr_ps_Slot_inst_encode (xtensa_insnbuf slotbuf)
4413 slotbuf[0] = 0x13e600;
4417 Opcode_xsr_ps_Slot_inst_encode (xtensa_insnbuf slotbuf)
4419 slotbuf[0] = 0x61e600;
4423 Opcode_rsr_epc1_Slot_inst_encode (xtensa_insnbuf slotbuf)
4425 slotbuf[0] = 0x3b100;
4429 Opcode_wsr_epc1_Slot_inst_encode (xtensa_insnbuf slotbuf)
4431 slotbuf[0] = 0x13b100;
4435 Opcode_xsr_epc1_Slot_inst_encode (xtensa_insnbuf slotbuf)
4437 slotbuf[0] = 0x61b100;
4441 Opcode_rsr_excsave1_Slot_inst_encode (xtensa_insnbuf slotbuf)
4443 slotbuf[0] = 0x3d100;
4447 Opcode_wsr_excsave1_Slot_inst_encode (xtensa_insnbuf slotbuf)
4449 slotbuf[0] = 0x13d100;
4453 Opcode_xsr_excsave1_Slot_inst_encode (xtensa_insnbuf slotbuf)
4455 slotbuf[0] = 0x61d100;
4459 Opcode_rsr_epc2_Slot_inst_encode (xtensa_insnbuf slotbuf)
4461 slotbuf[0] = 0x3b200;
4465 Opcode_wsr_epc2_Slot_inst_encode (xtensa_insnbuf slotbuf)
4467 slotbuf[0] = 0x13b200;
4471 Opcode_xsr_epc2_Slot_inst_encode (xtensa_insnbuf slotbuf)
4473 slotbuf[0] = 0x61b200;
4477 Opcode_rsr_excsave2_Slot_inst_encode (xtensa_insnbuf slotbuf)
4479 slotbuf[0] = 0x3d200;
4483 Opcode_wsr_excsave2_Slot_inst_encode (xtensa_insnbuf slotbuf)
4485 slotbuf[0] = 0x13d200;
4489 Opcode_xsr_excsave2_Slot_inst_encode (xtensa_insnbuf slotbuf)
4491 slotbuf[0] = 0x61d200;
4495 Opcode_rsr_epc3_Slot_inst_encode (xtensa_insnbuf slotbuf)
4497 slotbuf[0] = 0x3b300;
4501 Opcode_wsr_epc3_Slot_inst_encode (xtensa_insnbuf slotbuf)
4503 slotbuf[0] = 0x13b300;
4507 Opcode_xsr_epc3_Slot_inst_encode (xtensa_insnbuf slotbuf)
4509 slotbuf[0] = 0x61b300;
4513 Opcode_rsr_excsave3_Slot_inst_encode (xtensa_insnbuf slotbuf)
4515 slotbuf[0] = 0x3d300;
4519 Opcode_wsr_excsave3_Slot_inst_encode (xtensa_insnbuf slotbuf)
4521 slotbuf[0] = 0x13d300;
4525 Opcode_xsr_excsave3_Slot_inst_encode (xtensa_insnbuf slotbuf)
4527 slotbuf[0] = 0x61d300;
4531 Opcode_rsr_eps2_Slot_inst_encode (xtensa_insnbuf slotbuf)
4533 slotbuf[0] = 0x3c200;
4537 Opcode_wsr_eps2_Slot_inst_encode (xtensa_insnbuf slotbuf)
4539 slotbuf[0] = 0x13c200;
4543 Opcode_xsr_eps2_Slot_inst_encode (xtensa_insnbuf slotbuf)
4545 slotbuf[0] = 0x61c200;
4549 Opcode_rsr_eps3_Slot_inst_encode (xtensa_insnbuf slotbuf)
4551 slotbuf[0] = 0x3c300;
4555 Opcode_wsr_eps3_Slot_inst_encode (xtensa_insnbuf slotbuf)
4557 slotbuf[0] = 0x13c300;
4561 Opcode_xsr_eps3_Slot_inst_encode (xtensa_insnbuf slotbuf)
4563 slotbuf[0] = 0x61c300;
4567 Opcode_rsr_excvaddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
4569 slotbuf[0] = 0x3ee00;
4573 Opcode_wsr_excvaddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
4575 slotbuf[0] = 0x13ee00;
4579 Opcode_xsr_excvaddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
4581 slotbuf[0] = 0x61ee00;
4585 Opcode_rsr_depc_Slot_inst_encode (xtensa_insnbuf slotbuf)
4587 slotbuf[0] = 0x3c000;
4591 Opcode_wsr_depc_Slot_inst_encode (xtensa_insnbuf slotbuf)
4593 slotbuf[0] = 0x13c000;
4597 Opcode_xsr_depc_Slot_inst_encode (xtensa_insnbuf slotbuf)
4599 slotbuf[0] = 0x61c000;
4603 Opcode_rsr_exccause_Slot_inst_encode (xtensa_insnbuf slotbuf)
4605 slotbuf[0] = 0x3e800;
4609 Opcode_wsr_exccause_Slot_inst_encode (xtensa_insnbuf slotbuf)
4611 slotbuf[0] = 0x13e800;
4615 Opcode_xsr_exccause_Slot_inst_encode (xtensa_insnbuf slotbuf)
4617 slotbuf[0] = 0x61e800;
4621 Opcode_rsr_prid_Slot_inst_encode (xtensa_insnbuf slotbuf)
4623 slotbuf[0] = 0x3eb00;
4627 Opcode_rsr_vecbase_Slot_inst_encode (xtensa_insnbuf slotbuf)
4629 slotbuf[0] = 0x3e700;
4633 Opcode_wsr_vecbase_Slot_inst_encode (xtensa_insnbuf slotbuf)
4635 slotbuf[0] = 0x13e700;
4639 Opcode_xsr_vecbase_Slot_inst_encode (xtensa_insnbuf slotbuf)
4641 slotbuf[0] = 0x61e700;
4645 Opcode_mul16u_Slot_inst_encode (xtensa_insnbuf slotbuf)
4647 slotbuf[0] = 0xc10000;
4651 Opcode_mul16s_Slot_inst_encode (xtensa_insnbuf slotbuf)
4653 slotbuf[0] = 0xd10000;
4657 Opcode_mull_Slot_inst_encode (xtensa_insnbuf slotbuf)
4659 slotbuf[0] = 0x820000;
4663 Opcode_rfi_Slot_inst_encode (xtensa_insnbuf slotbuf)
4665 slotbuf[0] = 0x3010;
4669 Opcode_waiti_Slot_inst_encode (xtensa_insnbuf slotbuf)
4671 slotbuf[0] = 0x7000;
4675 Opcode_rsr_interrupt_Slot_inst_encode (xtensa_insnbuf slotbuf)
4677 slotbuf[0] = 0x3e200;
4681 Opcode_wsr_intset_Slot_inst_encode (xtensa_insnbuf slotbuf)
4683 slotbuf[0] = 0x13e200;
4687 Opcode_wsr_intclear_Slot_inst_encode (xtensa_insnbuf slotbuf)
4689 slotbuf[0] = 0x13e300;
4693 Opcode_rsr_intenable_Slot_inst_encode (xtensa_insnbuf slotbuf)
4695 slotbuf[0] = 0x3e400;
4699 Opcode_wsr_intenable_Slot_inst_encode (xtensa_insnbuf slotbuf)
4701 slotbuf[0] = 0x13e400;
4705 Opcode_xsr_intenable_Slot_inst_encode (xtensa_insnbuf slotbuf)
4707 slotbuf[0] = 0x61e400;
4711 Opcode_break_Slot_inst_encode (xtensa_insnbuf slotbuf)
4713 slotbuf[0] = 0x4000;
4717 Opcode_break_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
4719 slotbuf[0] = 0xf02d;
4723 Opcode_rsr_dbreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4725 slotbuf[0] = 0x39000;
4729 Opcode_wsr_dbreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4731 slotbuf[0] = 0x139000;
4735 Opcode_xsr_dbreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4737 slotbuf[0] = 0x619000;
4741 Opcode_rsr_dbreakc0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4743 slotbuf[0] = 0x3a000;
4747 Opcode_wsr_dbreakc0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4749 slotbuf[0] = 0x13a000;
4753 Opcode_xsr_dbreakc0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4755 slotbuf[0] = 0x61a000;
4759 Opcode_rsr_ibreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4761 slotbuf[0] = 0x38000;
4765 Opcode_wsr_ibreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4767 slotbuf[0] = 0x138000;
4771 Opcode_xsr_ibreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4773 slotbuf[0] = 0x618000;
4777 Opcode_rsr_ibreakenable_Slot_inst_encode (xtensa_insnbuf slotbuf)
4779 slotbuf[0] = 0x36000;
4783 Opcode_wsr_ibreakenable_Slot_inst_encode (xtensa_insnbuf slotbuf)
4785 slotbuf[0] = 0x136000;
4789 Opcode_xsr_ibreakenable_Slot_inst_encode (xtensa_insnbuf slotbuf)
4791 slotbuf[0] = 0x616000;
4795 Opcode_rsr_debugcause_Slot_inst_encode (xtensa_insnbuf slotbuf)
4797 slotbuf[0] = 0x3e900;
4801 Opcode_wsr_debugcause_Slot_inst_encode (xtensa_insnbuf slotbuf)
4803 slotbuf[0] = 0x13e900;
4807 Opcode_xsr_debugcause_Slot_inst_encode (xtensa_insnbuf slotbuf)
4809 slotbuf[0] = 0x61e900;
4813 Opcode_rsr_icount_Slot_inst_encode (xtensa_insnbuf slotbuf)
4815 slotbuf[0] = 0x3ec00;
4819 Opcode_wsr_icount_Slot_inst_encode (xtensa_insnbuf slotbuf)
4821 slotbuf[0] = 0x13ec00;
4825 Opcode_xsr_icount_Slot_inst_encode (xtensa_insnbuf slotbuf)
4827 slotbuf[0] = 0x61ec00;
4831 Opcode_rsr_icountlevel_Slot_inst_encode (xtensa_insnbuf slotbuf)
4833 slotbuf[0] = 0x3ed00;
4837 Opcode_wsr_icountlevel_Slot_inst_encode (xtensa_insnbuf slotbuf)
4839 slotbuf[0] = 0x13ed00;
4843 Opcode_xsr_icountlevel_Slot_inst_encode (xtensa_insnbuf slotbuf)
4845 slotbuf[0] = 0x61ed00;
4849 Opcode_rsr_ddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
4851 slotbuf[0] = 0x36800;
4855 Opcode_wsr_ddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
4857 slotbuf[0] = 0x136800;
4861 Opcode_xsr_ddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
4863 slotbuf[0] = 0x616800;
4867 Opcode_rfdo_Slot_inst_encode (xtensa_insnbuf slotbuf)
4869 slotbuf[0] = 0xf1e000;
4873 Opcode_rfdd_Slot_inst_encode (xtensa_insnbuf slotbuf)
4875 slotbuf[0] = 0xf1e010;
4879 Opcode_wsr_mmid_Slot_inst_encode (xtensa_insnbuf slotbuf)
4881 slotbuf[0] = 0x135900;
4885 Opcode_rsr_ccount_Slot_inst_encode (xtensa_insnbuf slotbuf)
4887 slotbuf[0] = 0x3ea00;
4891 Opcode_wsr_ccount_Slot_inst_encode (xtensa_insnbuf slotbuf)
4893 slotbuf[0] = 0x13ea00;
4897 Opcode_xsr_ccount_Slot_inst_encode (xtensa_insnbuf slotbuf)
4899 slotbuf[0] = 0x61ea00;
4903 Opcode_rsr_ccompare0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4905 slotbuf[0] = 0x3f000;
4909 Opcode_wsr_ccompare0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4911 slotbuf[0] = 0x13f000;
4915 Opcode_xsr_ccompare0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4917 slotbuf[0] = 0x61f000;
4921 Opcode_idtlb_Slot_inst_encode (xtensa_insnbuf slotbuf)
4923 slotbuf[0] = 0x50c000;
4927 Opcode_pdtlb_Slot_inst_encode (xtensa_insnbuf slotbuf)
4929 slotbuf[0] = 0x50d000;
4933 Opcode_rdtlb0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4935 slotbuf[0] = 0x50b000;
4939 Opcode_rdtlb1_Slot_inst_encode (xtensa_insnbuf slotbuf)
4941 slotbuf[0] = 0x50f000;
4945 Opcode_wdtlb_Slot_inst_encode (xtensa_insnbuf slotbuf)
4947 slotbuf[0] = 0x50e000;
4951 Opcode_iitlb_Slot_inst_encode (xtensa_insnbuf slotbuf)
4953 slotbuf[0] = 0x504000;
4957 Opcode_pitlb_Slot_inst_encode (xtensa_insnbuf slotbuf)
4959 slotbuf[0] = 0x505000;
4963 Opcode_ritlb0_Slot_inst_encode (xtensa_insnbuf slotbuf)
4965 slotbuf[0] = 0x503000;
4969 Opcode_ritlb1_Slot_inst_encode (xtensa_insnbuf slotbuf)
4971 slotbuf[0] = 0x507000;
4975 Opcode_witlb_Slot_inst_encode (xtensa_insnbuf slotbuf)
4977 slotbuf[0] = 0x506000;
4981 Opcode_nsa_Slot_inst_encode (xtensa_insnbuf slotbuf)
4983 slotbuf[0] = 0x40e000;
4987 Opcode_nsau_Slot_inst_encode (xtensa_insnbuf slotbuf)
4989 slotbuf[0] = 0x40f000;
4993 Opcode_rer_Slot_inst_encode (xtensa_insnbuf slotbuf)
4995 slotbuf[0] = 0x406000;
4999 Opcode_wer_Slot_inst_encode (xtensa_insnbuf slotbuf)
5001 slotbuf[0] = 0x407000;
5004 static xtensa_opcode_encode_fn Opcode_excw_encode_fns[] = {
5005 Opcode_excw_Slot_inst_encode, 0, 0
5008 static xtensa_opcode_encode_fn Opcode_rfe_encode_fns[] = {
5009 Opcode_rfe_Slot_inst_encode, 0, 0
5012 static xtensa_opcode_encode_fn Opcode_rfde_encode_fns[] = {
5013 Opcode_rfde_Slot_inst_encode, 0, 0
5016 static xtensa_opcode_encode_fn Opcode_syscall_encode_fns[] = {
5017 Opcode_syscall_Slot_inst_encode, 0, 0
5020 static xtensa_opcode_encode_fn Opcode_simcall_encode_fns[] = {
5021 Opcode_simcall_Slot_inst_encode, 0, 0
5024 static xtensa_opcode_encode_fn Opcode_add_n_encode_fns[] = {
5025 0, Opcode_add_n_Slot_inst16a_encode, 0
5028 static xtensa_opcode_encode_fn Opcode_addi_n_encode_fns[] = {
5029 0, Opcode_addi_n_Slot_inst16a_encode, 0
5032 static xtensa_opcode_encode_fn Opcode_beqz_n_encode_fns[] = {
5033 0, 0, Opcode_beqz_n_Slot_inst16b_encode
5036 static xtensa_opcode_encode_fn Opcode_bnez_n_encode_fns[] = {
5037 0, 0, Opcode_bnez_n_Slot_inst16b_encode
5040 static xtensa_opcode_encode_fn Opcode_ill_n_encode_fns[] = {
5041 0, 0, Opcode_ill_n_Slot_inst16b_encode
5044 static xtensa_opcode_encode_fn Opcode_l32i_n_encode_fns[] = {
5045 0, Opcode_l32i_n_Slot_inst16a_encode, 0
5048 static xtensa_opcode_encode_fn Opcode_mov_n_encode_fns[] = {
5049 0, 0, Opcode_mov_n_Slot_inst16b_encode
5052 static xtensa_opcode_encode_fn Opcode_movi_n_encode_fns[] = {
5053 0, 0, Opcode_movi_n_Slot_inst16b_encode
5056 static xtensa_opcode_encode_fn Opcode_nop_n_encode_fns[] = {
5057 0, 0, Opcode_nop_n_Slot_inst16b_encode
5060 static xtensa_opcode_encode_fn Opcode_ret_n_encode_fns[] = {
5061 0, 0, Opcode_ret_n_Slot_inst16b_encode
5064 static xtensa_opcode_encode_fn Opcode_s32i_n_encode_fns[] = {
5065 0, Opcode_s32i_n_Slot_inst16a_encode, 0
5068 static xtensa_opcode_encode_fn Opcode_addi_encode_fns[] = {
5069 Opcode_addi_Slot_inst_encode, 0, 0
5072 static xtensa_opcode_encode_fn Opcode_addmi_encode_fns[] = {
5073 Opcode_addmi_Slot_inst_encode, 0, 0
5076 static xtensa_opcode_encode_fn Opcode_add_encode_fns[] = {
5077 Opcode_add_Slot_inst_encode, 0, 0
5080 static xtensa_opcode_encode_fn Opcode_sub_encode_fns[] = {
5081 Opcode_sub_Slot_inst_encode, 0, 0
5084 static xtensa_opcode_encode_fn Opcode_addx2_encode_fns[] = {
5085 Opcode_addx2_Slot_inst_encode, 0, 0
5088 static xtensa_opcode_encode_fn Opcode_addx4_encode_fns[] = {
5089 Opcode_addx4_Slot_inst_encode, 0, 0
5092 static xtensa_opcode_encode_fn Opcode_addx8_encode_fns[] = {
5093 Opcode_addx8_Slot_inst_encode, 0, 0
5096 static xtensa_opcode_encode_fn Opcode_subx2_encode_fns[] = {
5097 Opcode_subx2_Slot_inst_encode, 0, 0
5100 static xtensa_opcode_encode_fn Opcode_subx4_encode_fns[] = {
5101 Opcode_subx4_Slot_inst_encode, 0, 0
5104 static xtensa_opcode_encode_fn Opcode_subx8_encode_fns[] = {
5105 Opcode_subx8_Slot_inst_encode, 0, 0
5108 static xtensa_opcode_encode_fn Opcode_and_encode_fns[] = {
5109 Opcode_and_Slot_inst_encode, 0, 0
5112 static xtensa_opcode_encode_fn Opcode_or_encode_fns[] = {
5113 Opcode_or_Slot_inst_encode, 0, 0
5116 static xtensa_opcode_encode_fn Opcode_xor_encode_fns[] = {
5117 Opcode_xor_Slot_inst_encode, 0, 0
5120 static xtensa_opcode_encode_fn Opcode_beqi_encode_fns[] = {
5121 Opcode_beqi_Slot_inst_encode, 0, 0
5124 static xtensa_opcode_encode_fn Opcode_bnei_encode_fns[] = {
5125 Opcode_bnei_Slot_inst_encode, 0, 0
5128 static xtensa_opcode_encode_fn Opcode_bgei_encode_fns[] = {
5129 Opcode_bgei_Slot_inst_encode, 0, 0
5132 static xtensa_opcode_encode_fn Opcode_blti_encode_fns[] = {
5133 Opcode_blti_Slot_inst_encode, 0, 0
5136 static xtensa_opcode_encode_fn Opcode_bbci_encode_fns[] = {
5137 Opcode_bbci_Slot_inst_encode, 0, 0
5140 static xtensa_opcode_encode_fn Opcode_bbsi_encode_fns[] = {
5141 Opcode_bbsi_Slot_inst_encode, 0, 0
5144 static xtensa_opcode_encode_fn Opcode_bgeui_encode_fns[] = {
5145 Opcode_bgeui_Slot_inst_encode, 0, 0
5148 static xtensa_opcode_encode_fn Opcode_bltui_encode_fns[] = {
5149 Opcode_bltui_Slot_inst_encode, 0, 0
5152 static xtensa_opcode_encode_fn Opcode_beq_encode_fns[] = {
5153 Opcode_beq_Slot_inst_encode, 0, 0
5156 static xtensa_opcode_encode_fn Opcode_bne_encode_fns[] = {
5157 Opcode_bne_Slot_inst_encode, 0, 0
5160 static xtensa_opcode_encode_fn Opcode_bge_encode_fns[] = {
5161 Opcode_bge_Slot_inst_encode, 0, 0
5164 static xtensa_opcode_encode_fn Opcode_blt_encode_fns[] = {
5165 Opcode_blt_Slot_inst_encode, 0, 0
5168 static xtensa_opcode_encode_fn Opcode_bgeu_encode_fns[] = {
5169 Opcode_bgeu_Slot_inst_encode, 0, 0
5172 static xtensa_opcode_encode_fn Opcode_bltu_encode_fns[] = {
5173 Opcode_bltu_Slot_inst_encode, 0, 0
5176 static xtensa_opcode_encode_fn Opcode_bany_encode_fns[] = {
5177 Opcode_bany_Slot_inst_encode, 0, 0
5180 static xtensa_opcode_encode_fn Opcode_bnone_encode_fns[] = {
5181 Opcode_bnone_Slot_inst_encode, 0, 0
5184 static xtensa_opcode_encode_fn Opcode_ball_encode_fns[] = {
5185 Opcode_ball_Slot_inst_encode, 0, 0
5188 static xtensa_opcode_encode_fn Opcode_bnall_encode_fns[] = {
5189 Opcode_bnall_Slot_inst_encode, 0, 0
5192 static xtensa_opcode_encode_fn Opcode_bbc_encode_fns[] = {
5193 Opcode_bbc_Slot_inst_encode, 0, 0
5196 static xtensa_opcode_encode_fn Opcode_bbs_encode_fns[] = {
5197 Opcode_bbs_Slot_inst_encode, 0, 0
5200 static xtensa_opcode_encode_fn Opcode_beqz_encode_fns[] = {
5201 Opcode_beqz_Slot_inst_encode, 0, 0
5204 static xtensa_opcode_encode_fn Opcode_bnez_encode_fns[] = {
5205 Opcode_bnez_Slot_inst_encode, 0, 0
5208 static xtensa_opcode_encode_fn Opcode_bgez_encode_fns[] = {
5209 Opcode_bgez_Slot_inst_encode, 0, 0
5212 static xtensa_opcode_encode_fn Opcode_bltz_encode_fns[] = {
5213 Opcode_bltz_Slot_inst_encode, 0, 0
5216 static xtensa_opcode_encode_fn Opcode_call0_encode_fns[] = {
5217 Opcode_call0_Slot_inst_encode, 0, 0
5220 static xtensa_opcode_encode_fn Opcode_callx0_encode_fns[] = {
5221 Opcode_callx0_Slot_inst_encode, 0, 0
5224 static xtensa_opcode_encode_fn Opcode_extui_encode_fns[] = {
5225 Opcode_extui_Slot_inst_encode, 0, 0
5228 static xtensa_opcode_encode_fn Opcode_ill_encode_fns[] = {
5229 Opcode_ill_Slot_inst_encode, 0, 0
5232 static xtensa_opcode_encode_fn Opcode_j_encode_fns[] = {
5233 Opcode_j_Slot_inst_encode, 0, 0
5236 static xtensa_opcode_encode_fn Opcode_jx_encode_fns[] = {
5237 Opcode_jx_Slot_inst_encode, 0, 0
5240 static xtensa_opcode_encode_fn Opcode_l16ui_encode_fns[] = {
5241 Opcode_l16ui_Slot_inst_encode, 0, 0
5244 static xtensa_opcode_encode_fn Opcode_l16si_encode_fns[] = {
5245 Opcode_l16si_Slot_inst_encode, 0, 0
5248 static xtensa_opcode_encode_fn Opcode_l32i_encode_fns[] = {
5249 Opcode_l32i_Slot_inst_encode, 0, 0
5252 static xtensa_opcode_encode_fn Opcode_l32r_encode_fns[] = {
5253 Opcode_l32r_Slot_inst_encode, 0, 0
5256 static xtensa_opcode_encode_fn Opcode_l8ui_encode_fns[] = {
5257 Opcode_l8ui_Slot_inst_encode, 0, 0
5260 static xtensa_opcode_encode_fn Opcode_movi_encode_fns[] = {
5261 Opcode_movi_Slot_inst_encode, 0, 0
5264 static xtensa_opcode_encode_fn Opcode_moveqz_encode_fns[] = {
5265 Opcode_moveqz_Slot_inst_encode, 0, 0
5268 static xtensa_opcode_encode_fn Opcode_movnez_encode_fns[] = {
5269 Opcode_movnez_Slot_inst_encode, 0, 0
5272 static xtensa_opcode_encode_fn Opcode_movltz_encode_fns[] = {
5273 Opcode_movltz_Slot_inst_encode, 0, 0
5276 static xtensa_opcode_encode_fn Opcode_movgez_encode_fns[] = {
5277 Opcode_movgez_Slot_inst_encode, 0, 0
5280 static xtensa_opcode_encode_fn Opcode_neg_encode_fns[] = {
5281 Opcode_neg_Slot_inst_encode, 0, 0
5284 static xtensa_opcode_encode_fn Opcode_abs_encode_fns[] = {
5285 Opcode_abs_Slot_inst_encode, 0, 0
5288 static xtensa_opcode_encode_fn Opcode_nop_encode_fns[] = {
5289 Opcode_nop_Slot_inst_encode, 0, 0
5292 static xtensa_opcode_encode_fn Opcode_ret_encode_fns[] = {
5293 Opcode_ret_Slot_inst_encode, 0, 0
5296 static xtensa_opcode_encode_fn Opcode_s16i_encode_fns[] = {
5297 Opcode_s16i_Slot_inst_encode, 0, 0
5300 static xtensa_opcode_encode_fn Opcode_s32i_encode_fns[] = {
5301 Opcode_s32i_Slot_inst_encode, 0, 0
5304 static xtensa_opcode_encode_fn Opcode_s8i_encode_fns[] = {
5305 Opcode_s8i_Slot_inst_encode, 0, 0
5308 static xtensa_opcode_encode_fn Opcode_ssr_encode_fns[] = {
5309 Opcode_ssr_Slot_inst_encode, 0, 0
5312 static xtensa_opcode_encode_fn Opcode_ssl_encode_fns[] = {
5313 Opcode_ssl_Slot_inst_encode, 0, 0
5316 static xtensa_opcode_encode_fn Opcode_ssa8l_encode_fns[] = {
5317 Opcode_ssa8l_Slot_inst_encode, 0, 0
5320 static xtensa_opcode_encode_fn Opcode_ssa8b_encode_fns[] = {
5321 Opcode_ssa8b_Slot_inst_encode, 0, 0
5324 static xtensa_opcode_encode_fn Opcode_ssai_encode_fns[] = {
5325 Opcode_ssai_Slot_inst_encode, 0, 0
5328 static xtensa_opcode_encode_fn Opcode_sll_encode_fns[] = {
5329 Opcode_sll_Slot_inst_encode, 0, 0
5332 static xtensa_opcode_encode_fn Opcode_src_encode_fns[] = {
5333 Opcode_src_Slot_inst_encode, 0, 0
5336 static xtensa_opcode_encode_fn Opcode_srl_encode_fns[] = {
5337 Opcode_srl_Slot_inst_encode, 0, 0
5340 static xtensa_opcode_encode_fn Opcode_sra_encode_fns[] = {
5341 Opcode_sra_Slot_inst_encode, 0, 0
5344 static xtensa_opcode_encode_fn Opcode_slli_encode_fns[] = {
5345 Opcode_slli_Slot_inst_encode, 0, 0
5348 static xtensa_opcode_encode_fn Opcode_srai_encode_fns[] = {
5349 Opcode_srai_Slot_inst_encode, 0, 0
5352 static xtensa_opcode_encode_fn Opcode_srli_encode_fns[] = {
5353 Opcode_srli_Slot_inst_encode, 0, 0
5356 static xtensa_opcode_encode_fn Opcode_memw_encode_fns[] = {
5357 Opcode_memw_Slot_inst_encode, 0, 0
5360 static xtensa_opcode_encode_fn Opcode_extw_encode_fns[] = {
5361 Opcode_extw_Slot_inst_encode, 0, 0
5364 static xtensa_opcode_encode_fn Opcode_isync_encode_fns[] = {
5365 Opcode_isync_Slot_inst_encode, 0, 0
5368 static xtensa_opcode_encode_fn Opcode_rsync_encode_fns[] = {
5369 Opcode_rsync_Slot_inst_encode, 0, 0
5372 static xtensa_opcode_encode_fn Opcode_esync_encode_fns[] = {
5373 Opcode_esync_Slot_inst_encode, 0, 0
5376 static xtensa_opcode_encode_fn Opcode_dsync_encode_fns[] = {
5377 Opcode_dsync_Slot_inst_encode, 0, 0
5380 static xtensa_opcode_encode_fn Opcode_rsil_encode_fns[] = {
5381 Opcode_rsil_Slot_inst_encode, 0, 0
5384 static xtensa_opcode_encode_fn Opcode_rsr_sar_encode_fns[] = {
5385 Opcode_rsr_sar_Slot_inst_encode, 0, 0
5388 static xtensa_opcode_encode_fn Opcode_wsr_sar_encode_fns[] = {
5389 Opcode_wsr_sar_Slot_inst_encode, 0, 0
5392 static xtensa_opcode_encode_fn Opcode_xsr_sar_encode_fns[] = {
5393 Opcode_xsr_sar_Slot_inst_encode, 0, 0
5396 static xtensa_opcode_encode_fn Opcode_rsr_litbase_encode_fns[] = {
5397 Opcode_rsr_litbase_Slot_inst_encode, 0, 0
5400 static xtensa_opcode_encode_fn Opcode_wsr_litbase_encode_fns[] = {
5401 Opcode_wsr_litbase_Slot_inst_encode, 0, 0
5404 static xtensa_opcode_encode_fn Opcode_xsr_litbase_encode_fns[] = {
5405 Opcode_xsr_litbase_Slot_inst_encode, 0, 0
5408 static xtensa_opcode_encode_fn Opcode_rsr_176_encode_fns[] = {
5409 Opcode_rsr_176_Slot_inst_encode, 0, 0
5412 static xtensa_opcode_encode_fn Opcode_wsr_176_encode_fns[] = {
5413 Opcode_wsr_176_Slot_inst_encode, 0, 0
5416 static xtensa_opcode_encode_fn Opcode_rsr_208_encode_fns[] = {
5417 Opcode_rsr_208_Slot_inst_encode, 0, 0
5420 static xtensa_opcode_encode_fn Opcode_rsr_ps_encode_fns[] = {
5421 Opcode_rsr_ps_Slot_inst_encode, 0, 0
5424 static xtensa_opcode_encode_fn Opcode_wsr_ps_encode_fns[] = {
5425 Opcode_wsr_ps_Slot_inst_encode, 0, 0
5428 static xtensa_opcode_encode_fn Opcode_xsr_ps_encode_fns[] = {
5429 Opcode_xsr_ps_Slot_inst_encode, 0, 0
5432 static xtensa_opcode_encode_fn Opcode_rsr_epc1_encode_fns[] = {
5433 Opcode_rsr_epc1_Slot_inst_encode, 0, 0
5436 static xtensa_opcode_encode_fn Opcode_wsr_epc1_encode_fns[] = {
5437 Opcode_wsr_epc1_Slot_inst_encode, 0, 0
5440 static xtensa_opcode_encode_fn Opcode_xsr_epc1_encode_fns[] = {
5441 Opcode_xsr_epc1_Slot_inst_encode, 0, 0
5444 static xtensa_opcode_encode_fn Opcode_rsr_excsave1_encode_fns[] = {
5445 Opcode_rsr_excsave1_Slot_inst_encode, 0, 0
5448 static xtensa_opcode_encode_fn Opcode_wsr_excsave1_encode_fns[] = {
5449 Opcode_wsr_excsave1_Slot_inst_encode, 0, 0
5452 static xtensa_opcode_encode_fn Opcode_xsr_excsave1_encode_fns[] = {
5453 Opcode_xsr_excsave1_Slot_inst_encode, 0, 0
5456 static xtensa_opcode_encode_fn Opcode_rsr_epc2_encode_fns[] = {
5457 Opcode_rsr_epc2_Slot_inst_encode, 0, 0
5460 static xtensa_opcode_encode_fn Opcode_wsr_epc2_encode_fns[] = {
5461 Opcode_wsr_epc2_Slot_inst_encode, 0, 0
5464 static xtensa_opcode_encode_fn Opcode_xsr_epc2_encode_fns[] = {
5465 Opcode_xsr_epc2_Slot_inst_encode, 0, 0
5468 static xtensa_opcode_encode_fn Opcode_rsr_excsave2_encode_fns[] = {
5469 Opcode_rsr_excsave2_Slot_inst_encode, 0, 0
5472 static xtensa_opcode_encode_fn Opcode_wsr_excsave2_encode_fns[] = {
5473 Opcode_wsr_excsave2_Slot_inst_encode, 0, 0
5476 static xtensa_opcode_encode_fn Opcode_xsr_excsave2_encode_fns[] = {
5477 Opcode_xsr_excsave2_Slot_inst_encode, 0, 0
5480 static xtensa_opcode_encode_fn Opcode_rsr_epc3_encode_fns[] = {
5481 Opcode_rsr_epc3_Slot_inst_encode, 0, 0
5484 static xtensa_opcode_encode_fn Opcode_wsr_epc3_encode_fns[] = {
5485 Opcode_wsr_epc3_Slot_inst_encode, 0, 0
5488 static xtensa_opcode_encode_fn Opcode_xsr_epc3_encode_fns[] = {
5489 Opcode_xsr_epc3_Slot_inst_encode, 0, 0
5492 static xtensa_opcode_encode_fn Opcode_rsr_excsave3_encode_fns[] = {
5493 Opcode_rsr_excsave3_Slot_inst_encode, 0, 0
5496 static xtensa_opcode_encode_fn Opcode_wsr_excsave3_encode_fns[] = {
5497 Opcode_wsr_excsave3_Slot_inst_encode, 0, 0
5500 static xtensa_opcode_encode_fn Opcode_xsr_excsave3_encode_fns[] = {
5501 Opcode_xsr_excsave3_Slot_inst_encode, 0, 0
5504 static xtensa_opcode_encode_fn Opcode_rsr_eps2_encode_fns[] = {
5505 Opcode_rsr_eps2_Slot_inst_encode, 0, 0
5508 static xtensa_opcode_encode_fn Opcode_wsr_eps2_encode_fns[] = {
5509 Opcode_wsr_eps2_Slot_inst_encode, 0, 0
5512 static xtensa_opcode_encode_fn Opcode_xsr_eps2_encode_fns[] = {
5513 Opcode_xsr_eps2_Slot_inst_encode, 0, 0
5516 static xtensa_opcode_encode_fn Opcode_rsr_eps3_encode_fns[] = {
5517 Opcode_rsr_eps3_Slot_inst_encode, 0, 0
5520 static xtensa_opcode_encode_fn Opcode_wsr_eps3_encode_fns[] = {
5521 Opcode_wsr_eps3_Slot_inst_encode, 0, 0
5524 static xtensa_opcode_encode_fn Opcode_xsr_eps3_encode_fns[] = {
5525 Opcode_xsr_eps3_Slot_inst_encode, 0, 0
5528 static xtensa_opcode_encode_fn Opcode_rsr_excvaddr_encode_fns[] = {
5529 Opcode_rsr_excvaddr_Slot_inst_encode, 0, 0
5532 static xtensa_opcode_encode_fn Opcode_wsr_excvaddr_encode_fns[] = {
5533 Opcode_wsr_excvaddr_Slot_inst_encode, 0, 0
5536 static xtensa_opcode_encode_fn Opcode_xsr_excvaddr_encode_fns[] = {
5537 Opcode_xsr_excvaddr_Slot_inst_encode, 0, 0
5540 static xtensa_opcode_encode_fn Opcode_rsr_depc_encode_fns[] = {
5541 Opcode_rsr_depc_Slot_inst_encode, 0, 0
5544 static xtensa_opcode_encode_fn Opcode_wsr_depc_encode_fns[] = {
5545 Opcode_wsr_depc_Slot_inst_encode, 0, 0
5548 static xtensa_opcode_encode_fn Opcode_xsr_depc_encode_fns[] = {
5549 Opcode_xsr_depc_Slot_inst_encode, 0, 0
5552 static xtensa_opcode_encode_fn Opcode_rsr_exccause_encode_fns[] = {
5553 Opcode_rsr_exccause_Slot_inst_encode, 0, 0
5556 static xtensa_opcode_encode_fn Opcode_wsr_exccause_encode_fns[] = {
5557 Opcode_wsr_exccause_Slot_inst_encode, 0, 0
5560 static xtensa_opcode_encode_fn Opcode_xsr_exccause_encode_fns[] = {
5561 Opcode_xsr_exccause_Slot_inst_encode, 0, 0
5564 static xtensa_opcode_encode_fn Opcode_rsr_prid_encode_fns[] = {
5565 Opcode_rsr_prid_Slot_inst_encode, 0, 0
5568 static xtensa_opcode_encode_fn Opcode_rsr_vecbase_encode_fns[] = {
5569 Opcode_rsr_vecbase_Slot_inst_encode, 0, 0
5572 static xtensa_opcode_encode_fn Opcode_wsr_vecbase_encode_fns[] = {
5573 Opcode_wsr_vecbase_Slot_inst_encode, 0, 0
5576 static xtensa_opcode_encode_fn Opcode_xsr_vecbase_encode_fns[] = {
5577 Opcode_xsr_vecbase_Slot_inst_encode, 0, 0
5580 static xtensa_opcode_encode_fn Opcode_mul16u_encode_fns[] = {
5581 Opcode_mul16u_Slot_inst_encode, 0, 0
5584 static xtensa_opcode_encode_fn Opcode_mul16s_encode_fns[] = {
5585 Opcode_mul16s_Slot_inst_encode, 0, 0
5588 static xtensa_opcode_encode_fn Opcode_mull_encode_fns[] = {
5589 Opcode_mull_Slot_inst_encode, 0, 0
5592 static xtensa_opcode_encode_fn Opcode_rfi_encode_fns[] = {
5593 Opcode_rfi_Slot_inst_encode, 0, 0
5596 static xtensa_opcode_encode_fn Opcode_waiti_encode_fns[] = {
5597 Opcode_waiti_Slot_inst_encode, 0, 0
5600 static xtensa_opcode_encode_fn Opcode_rsr_interrupt_encode_fns[] = {
5601 Opcode_rsr_interrupt_Slot_inst_encode, 0, 0
5604 static xtensa_opcode_encode_fn Opcode_wsr_intset_encode_fns[] = {
5605 Opcode_wsr_intset_Slot_inst_encode, 0, 0
5608 static xtensa_opcode_encode_fn Opcode_wsr_intclear_encode_fns[] = {
5609 Opcode_wsr_intclear_Slot_inst_encode, 0, 0
5612 static xtensa_opcode_encode_fn Opcode_rsr_intenable_encode_fns[] = {
5613 Opcode_rsr_intenable_Slot_inst_encode, 0, 0
5616 static xtensa_opcode_encode_fn Opcode_wsr_intenable_encode_fns[] = {
5617 Opcode_wsr_intenable_Slot_inst_encode, 0, 0
5620 static xtensa_opcode_encode_fn Opcode_xsr_intenable_encode_fns[] = {
5621 Opcode_xsr_intenable_Slot_inst_encode, 0, 0
5624 static xtensa_opcode_encode_fn Opcode_break_encode_fns[] = {
5625 Opcode_break_Slot_inst_encode, 0, 0
5628 static xtensa_opcode_encode_fn Opcode_break_n_encode_fns[] = {
5629 0, 0, Opcode_break_n_Slot_inst16b_encode
5632 static xtensa_opcode_encode_fn Opcode_rsr_dbreaka0_encode_fns[] = {
5633 Opcode_rsr_dbreaka0_Slot_inst_encode, 0, 0
5636 static xtensa_opcode_encode_fn Opcode_wsr_dbreaka0_encode_fns[] = {
5637 Opcode_wsr_dbreaka0_Slot_inst_encode, 0, 0
5640 static xtensa_opcode_encode_fn Opcode_xsr_dbreaka0_encode_fns[] = {
5641 Opcode_xsr_dbreaka0_Slot_inst_encode, 0, 0
5644 static xtensa_opcode_encode_fn Opcode_rsr_dbreakc0_encode_fns[] = {
5645 Opcode_rsr_dbreakc0_Slot_inst_encode, 0, 0
5648 static xtensa_opcode_encode_fn Opcode_wsr_dbreakc0_encode_fns[] = {
5649 Opcode_wsr_dbreakc0_Slot_inst_encode, 0, 0
5652 static xtensa_opcode_encode_fn Opcode_xsr_dbreakc0_encode_fns[] = {
5653 Opcode_xsr_dbreakc0_Slot_inst_encode, 0, 0
5656 static xtensa_opcode_encode_fn Opcode_rsr_ibreaka0_encode_fns[] = {
5657 Opcode_rsr_ibreaka0_Slot_inst_encode, 0, 0
5660 static xtensa_opcode_encode_fn Opcode_wsr_ibreaka0_encode_fns[] = {
5661 Opcode_wsr_ibreaka0_Slot_inst_encode, 0, 0
5664 static xtensa_opcode_encode_fn Opcode_xsr_ibreaka0_encode_fns[] = {
5665 Opcode_xsr_ibreaka0_Slot_inst_encode, 0, 0
5668 static xtensa_opcode_encode_fn Opcode_rsr_ibreakenable_encode_fns[] = {
5669 Opcode_rsr_ibreakenable_Slot_inst_encode, 0, 0
5672 static xtensa_opcode_encode_fn Opcode_wsr_ibreakenable_encode_fns[] = {
5673 Opcode_wsr_ibreakenable_Slot_inst_encode, 0, 0
5676 static xtensa_opcode_encode_fn Opcode_xsr_ibreakenable_encode_fns[] = {
5677 Opcode_xsr_ibreakenable_Slot_inst_encode, 0, 0
5680 static xtensa_opcode_encode_fn Opcode_rsr_debugcause_encode_fns[] = {
5681 Opcode_rsr_debugcause_Slot_inst_encode, 0, 0
5684 static xtensa_opcode_encode_fn Opcode_wsr_debugcause_encode_fns[] = {
5685 Opcode_wsr_debugcause_Slot_inst_encode, 0, 0
5688 static xtensa_opcode_encode_fn Opcode_xsr_debugcause_encode_fns[] = {
5689 Opcode_xsr_debugcause_Slot_inst_encode, 0, 0
5692 static xtensa_opcode_encode_fn Opcode_rsr_icount_encode_fns[] = {
5693 Opcode_rsr_icount_Slot_inst_encode, 0, 0
5696 static xtensa_opcode_encode_fn Opcode_wsr_icount_encode_fns[] = {
5697 Opcode_wsr_icount_Slot_inst_encode, 0, 0
5700 static xtensa_opcode_encode_fn Opcode_xsr_icount_encode_fns[] = {
5701 Opcode_xsr_icount_Slot_inst_encode, 0, 0
5704 static xtensa_opcode_encode_fn Opcode_rsr_icountlevel_encode_fns[] = {
5705 Opcode_rsr_icountlevel_Slot_inst_encode, 0, 0
5708 static xtensa_opcode_encode_fn Opcode_wsr_icountlevel_encode_fns[] = {
5709 Opcode_wsr_icountlevel_Slot_inst_encode, 0, 0
5712 static xtensa_opcode_encode_fn Opcode_xsr_icountlevel_encode_fns[] = {
5713 Opcode_xsr_icountlevel_Slot_inst_encode, 0, 0
5716 static xtensa_opcode_encode_fn Opcode_rsr_ddr_encode_fns[] = {
5717 Opcode_rsr_ddr_Slot_inst_encode, 0, 0
5720 static xtensa_opcode_encode_fn Opcode_wsr_ddr_encode_fns[] = {
5721 Opcode_wsr_ddr_Slot_inst_encode, 0, 0
5724 static xtensa_opcode_encode_fn Opcode_xsr_ddr_encode_fns[] = {
5725 Opcode_xsr_ddr_Slot_inst_encode, 0, 0
5728 static xtensa_opcode_encode_fn Opcode_rfdo_encode_fns[] = {
5729 Opcode_rfdo_Slot_inst_encode, 0, 0
5732 static xtensa_opcode_encode_fn Opcode_rfdd_encode_fns[] = {
5733 Opcode_rfdd_Slot_inst_encode, 0, 0
5736 static xtensa_opcode_encode_fn Opcode_wsr_mmid_encode_fns[] = {
5737 Opcode_wsr_mmid_Slot_inst_encode, 0, 0
5740 static xtensa_opcode_encode_fn Opcode_rsr_ccount_encode_fns[] = {
5741 Opcode_rsr_ccount_Slot_inst_encode, 0, 0
5744 static xtensa_opcode_encode_fn Opcode_wsr_ccount_encode_fns[] = {
5745 Opcode_wsr_ccount_Slot_inst_encode, 0, 0
5748 static xtensa_opcode_encode_fn Opcode_xsr_ccount_encode_fns[] = {
5749 Opcode_xsr_ccount_Slot_inst_encode, 0, 0
5752 static xtensa_opcode_encode_fn Opcode_rsr_ccompare0_encode_fns[] = {
5753 Opcode_rsr_ccompare0_Slot_inst_encode, 0, 0
5756 static xtensa_opcode_encode_fn Opcode_wsr_ccompare0_encode_fns[] = {
5757 Opcode_wsr_ccompare0_Slot_inst_encode, 0, 0
5760 static xtensa_opcode_encode_fn Opcode_xsr_ccompare0_encode_fns[] = {
5761 Opcode_xsr_ccompare0_Slot_inst_encode, 0, 0
5764 static xtensa_opcode_encode_fn Opcode_idtlb_encode_fns[] = {
5765 Opcode_idtlb_Slot_inst_encode, 0, 0
5768 static xtensa_opcode_encode_fn Opcode_pdtlb_encode_fns[] = {
5769 Opcode_pdtlb_Slot_inst_encode, 0, 0
5772 static xtensa_opcode_encode_fn Opcode_rdtlb0_encode_fns[] = {
5773 Opcode_rdtlb0_Slot_inst_encode, 0, 0
5776 static xtensa_opcode_encode_fn Opcode_rdtlb1_encode_fns[] = {
5777 Opcode_rdtlb1_Slot_inst_encode, 0, 0
5780 static xtensa_opcode_encode_fn Opcode_wdtlb_encode_fns[] = {
5781 Opcode_wdtlb_Slot_inst_encode, 0, 0
5784 static xtensa_opcode_encode_fn Opcode_iitlb_encode_fns[] = {
5785 Opcode_iitlb_Slot_inst_encode, 0, 0
5788 static xtensa_opcode_encode_fn Opcode_pitlb_encode_fns[] = {
5789 Opcode_pitlb_Slot_inst_encode, 0, 0
5792 static xtensa_opcode_encode_fn Opcode_ritlb0_encode_fns[] = {
5793 Opcode_ritlb0_Slot_inst_encode, 0, 0
5796 static xtensa_opcode_encode_fn Opcode_ritlb1_encode_fns[] = {
5797 Opcode_ritlb1_Slot_inst_encode, 0, 0
5800 static xtensa_opcode_encode_fn Opcode_witlb_encode_fns[] = {
5801 Opcode_witlb_Slot_inst_encode, 0, 0
5804 static xtensa_opcode_encode_fn Opcode_nsa_encode_fns[] = {
5805 Opcode_nsa_Slot_inst_encode, 0, 0
5808 static xtensa_opcode_encode_fn Opcode_nsau_encode_fns[] = {
5809 Opcode_nsau_Slot_inst_encode, 0, 0
5812 static xtensa_opcode_encode_fn Opcode_rer_encode_fns[] = {
5813 Opcode_rer_Slot_inst_encode, 0, 0
5816 static xtensa_opcode_encode_fn Opcode_wer_encode_fns[] = {
5817 Opcode_wer_Slot_inst_encode, 0, 0
5823 static xtensa_opcode_internal opcodes[] = {
5824 { "excw", ICLASS_xt_iclass_excw,
5826 Opcode_excw_encode_fns, 0, 0 },
5827 { "rfe", ICLASS_xt_iclass_rfe,
5828 XTENSA_OPCODE_IS_JUMP,
5829 Opcode_rfe_encode_fns, 0, 0 },
5830 { "rfde", ICLASS_xt_iclass_rfde,
5831 XTENSA_OPCODE_IS_JUMP,
5832 Opcode_rfde_encode_fns, 0, 0 },
5833 { "syscall", ICLASS_xt_iclass_syscall,
5835 Opcode_syscall_encode_fns, 0, 0 },
5836 { "simcall", ICLASS_xt_iclass_simcall,
5838 Opcode_simcall_encode_fns, 0, 0 },
5839 { "add.n", ICLASS_xt_iclass_add_n,
5841 Opcode_add_n_encode_fns, 0, 0 },
5842 { "addi.n", ICLASS_xt_iclass_addi_n,
5844 Opcode_addi_n_encode_fns, 0, 0 },
5845 { "beqz.n", ICLASS_xt_iclass_bz6,
5846 XTENSA_OPCODE_IS_BRANCH,
5847 Opcode_beqz_n_encode_fns, 0, 0 },
5848 { "bnez.n", ICLASS_xt_iclass_bz6,
5849 XTENSA_OPCODE_IS_BRANCH,
5850 Opcode_bnez_n_encode_fns, 0, 0 },
5851 { "ill.n", ICLASS_xt_iclass_ill_n,
5853 Opcode_ill_n_encode_fns, 0, 0 },
5854 { "l32i.n", ICLASS_xt_iclass_loadi4,
5856 Opcode_l32i_n_encode_fns, 0, 0 },
5857 { "mov.n", ICLASS_xt_iclass_mov_n,
5859 Opcode_mov_n_encode_fns, 0, 0 },
5860 { "movi.n", ICLASS_xt_iclass_movi_n,
5862 Opcode_movi_n_encode_fns, 0, 0 },
5863 { "nop.n", ICLASS_xt_iclass_nopn,
5865 Opcode_nop_n_encode_fns, 0, 0 },
5866 { "ret.n", ICLASS_xt_iclass_retn,
5867 XTENSA_OPCODE_IS_JUMP,
5868 Opcode_ret_n_encode_fns, 0, 0 },
5869 { "s32i.n", ICLASS_xt_iclass_storei4,
5871 Opcode_s32i_n_encode_fns, 0, 0 },
5872 { "addi", ICLASS_xt_iclass_addi,
5874 Opcode_addi_encode_fns, 0, 0 },
5875 { "addmi", ICLASS_xt_iclass_addmi,
5877 Opcode_addmi_encode_fns, 0, 0 },
5878 { "add", ICLASS_xt_iclass_addsub,
5880 Opcode_add_encode_fns, 0, 0 },
5881 { "sub", ICLASS_xt_iclass_addsub,
5883 Opcode_sub_encode_fns, 0, 0 },
5884 { "addx2", ICLASS_xt_iclass_addsub,
5886 Opcode_addx2_encode_fns, 0, 0 },
5887 { "addx4", ICLASS_xt_iclass_addsub,
5889 Opcode_addx4_encode_fns, 0, 0 },
5890 { "addx8", ICLASS_xt_iclass_addsub,
5892 Opcode_addx8_encode_fns, 0, 0 },
5893 { "subx2", ICLASS_xt_iclass_addsub,
5895 Opcode_subx2_encode_fns, 0, 0 },
5896 { "subx4", ICLASS_xt_iclass_addsub,
5898 Opcode_subx4_encode_fns, 0, 0 },
5899 { "subx8", ICLASS_xt_iclass_addsub,
5901 Opcode_subx8_encode_fns, 0, 0 },
5902 { "and", ICLASS_xt_iclass_bit,
5904 Opcode_and_encode_fns, 0, 0 },
5905 { "or", ICLASS_xt_iclass_bit,
5907 Opcode_or_encode_fns, 0, 0 },
5908 { "xor", ICLASS_xt_iclass_bit,
5910 Opcode_xor_encode_fns, 0, 0 },
5911 { "beqi", ICLASS_xt_iclass_bsi8,
5912 XTENSA_OPCODE_IS_BRANCH,
5913 Opcode_beqi_encode_fns, 0, 0 },
5914 { "bnei", ICLASS_xt_iclass_bsi8,
5915 XTENSA_OPCODE_IS_BRANCH,
5916 Opcode_bnei_encode_fns, 0, 0 },
5917 { "bgei", ICLASS_xt_iclass_bsi8,
5918 XTENSA_OPCODE_IS_BRANCH,
5919 Opcode_bgei_encode_fns, 0, 0 },
5920 { "blti", ICLASS_xt_iclass_bsi8,
5921 XTENSA_OPCODE_IS_BRANCH,
5922 Opcode_blti_encode_fns, 0, 0 },
5923 { "bbci", ICLASS_xt_iclass_bsi8b,
5924 XTENSA_OPCODE_IS_BRANCH,
5925 Opcode_bbci_encode_fns, 0, 0 },
5926 { "bbsi", ICLASS_xt_iclass_bsi8b,
5927 XTENSA_OPCODE_IS_BRANCH,
5928 Opcode_bbsi_encode_fns, 0, 0 },
5929 { "bgeui", ICLASS_xt_iclass_bsi8u,
5930 XTENSA_OPCODE_IS_BRANCH,
5931 Opcode_bgeui_encode_fns, 0, 0 },
5932 { "bltui", ICLASS_xt_iclass_bsi8u,
5933 XTENSA_OPCODE_IS_BRANCH,
5934 Opcode_bltui_encode_fns, 0, 0 },
5935 { "beq", ICLASS_xt_iclass_bst8,
5936 XTENSA_OPCODE_IS_BRANCH,
5937 Opcode_beq_encode_fns, 0, 0 },
5938 { "bne", ICLASS_xt_iclass_bst8,
5939 XTENSA_OPCODE_IS_BRANCH,
5940 Opcode_bne_encode_fns, 0, 0 },
5941 { "bge", ICLASS_xt_iclass_bst8,
5942 XTENSA_OPCODE_IS_BRANCH,
5943 Opcode_bge_encode_fns, 0, 0 },
5944 { "blt", ICLASS_xt_iclass_bst8,
5945 XTENSA_OPCODE_IS_BRANCH,
5946 Opcode_blt_encode_fns, 0, 0 },
5947 { "bgeu", ICLASS_xt_iclass_bst8,
5948 XTENSA_OPCODE_IS_BRANCH,
5949 Opcode_bgeu_encode_fns, 0, 0 },
5950 { "bltu", ICLASS_xt_iclass_bst8,
5951 XTENSA_OPCODE_IS_BRANCH,
5952 Opcode_bltu_encode_fns, 0, 0 },
5953 { "bany", ICLASS_xt_iclass_bst8,
5954 XTENSA_OPCODE_IS_BRANCH,
5955 Opcode_bany_encode_fns, 0, 0 },
5956 { "bnone", ICLASS_xt_iclass_bst8,
5957 XTENSA_OPCODE_IS_BRANCH,
5958 Opcode_bnone_encode_fns, 0, 0 },
5959 { "ball", ICLASS_xt_iclass_bst8,
5960 XTENSA_OPCODE_IS_BRANCH,
5961 Opcode_ball_encode_fns, 0, 0 },
5962 { "bnall", ICLASS_xt_iclass_bst8,
5963 XTENSA_OPCODE_IS_BRANCH,
5964 Opcode_bnall_encode_fns, 0, 0 },
5965 { "bbc", ICLASS_xt_iclass_bst8,
5966 XTENSA_OPCODE_IS_BRANCH,
5967 Opcode_bbc_encode_fns, 0, 0 },
5968 { "bbs", ICLASS_xt_iclass_bst8,
5969 XTENSA_OPCODE_IS_BRANCH,
5970 Opcode_bbs_encode_fns, 0, 0 },
5971 { "beqz", ICLASS_xt_iclass_bsz12,
5972 XTENSA_OPCODE_IS_BRANCH,
5973 Opcode_beqz_encode_fns, 0, 0 },
5974 { "bnez", ICLASS_xt_iclass_bsz12,
5975 XTENSA_OPCODE_IS_BRANCH,
5976 Opcode_bnez_encode_fns, 0, 0 },
5977 { "bgez", ICLASS_xt_iclass_bsz12,
5978 XTENSA_OPCODE_IS_BRANCH,
5979 Opcode_bgez_encode_fns, 0, 0 },
5980 { "bltz", ICLASS_xt_iclass_bsz12,
5981 XTENSA_OPCODE_IS_BRANCH,
5982 Opcode_bltz_encode_fns, 0, 0 },
5983 { "call0", ICLASS_xt_iclass_call0,
5984 XTENSA_OPCODE_IS_CALL,
5985 Opcode_call0_encode_fns, 0, 0 },
5986 { "callx0", ICLASS_xt_iclass_callx0,
5987 XTENSA_OPCODE_IS_CALL,
5988 Opcode_callx0_encode_fns, 0, 0 },
5989 { "extui", ICLASS_xt_iclass_exti,
5991 Opcode_extui_encode_fns, 0, 0 },
5992 { "ill", ICLASS_xt_iclass_ill,
5994 Opcode_ill_encode_fns, 0, 0 },
5995 { "j", ICLASS_xt_iclass_jump,
5996 XTENSA_OPCODE_IS_JUMP,
5997 Opcode_j_encode_fns, 0, 0 },
5998 { "jx", ICLASS_xt_iclass_jumpx,
5999 XTENSA_OPCODE_IS_JUMP,
6000 Opcode_jx_encode_fns, 0, 0 },
6001 { "l16ui", ICLASS_xt_iclass_l16ui,
6003 Opcode_l16ui_encode_fns, 0, 0 },
6004 { "l16si", ICLASS_xt_iclass_l16si,
6006 Opcode_l16si_encode_fns, 0, 0 },
6007 { "l32i", ICLASS_xt_iclass_l32i,
6009 Opcode_l32i_encode_fns, 0, 0 },
6010 { "l32r", ICLASS_xt_iclass_l32r,
6012 Opcode_l32r_encode_fns, 0, 0 },
6013 { "l8ui", ICLASS_xt_iclass_l8i,
6015 Opcode_l8ui_encode_fns, 0, 0 },
6016 { "movi", ICLASS_xt_iclass_movi,
6018 Opcode_movi_encode_fns, 0, 0 },
6019 { "moveqz", ICLASS_xt_iclass_movz,
6021 Opcode_moveqz_encode_fns, 0, 0 },
6022 { "movnez", ICLASS_xt_iclass_movz,
6024 Opcode_movnez_encode_fns, 0, 0 },
6025 { "movltz", ICLASS_xt_iclass_movz,
6027 Opcode_movltz_encode_fns, 0, 0 },
6028 { "movgez", ICLASS_xt_iclass_movz,
6030 Opcode_movgez_encode_fns, 0, 0 },
6031 { "neg", ICLASS_xt_iclass_neg,
6033 Opcode_neg_encode_fns, 0, 0 },
6034 { "abs", ICLASS_xt_iclass_neg,
6036 Opcode_abs_encode_fns, 0, 0 },
6037 { "nop", ICLASS_xt_iclass_nop,
6039 Opcode_nop_encode_fns, 0, 0 },
6040 { "ret", ICLASS_xt_iclass_return,
6041 XTENSA_OPCODE_IS_JUMP,
6042 Opcode_ret_encode_fns, 0, 0 },
6043 { "s16i", ICLASS_xt_iclass_s16i,
6045 Opcode_s16i_encode_fns, 0, 0 },
6046 { "s32i", ICLASS_xt_iclass_s32i,
6048 Opcode_s32i_encode_fns, 0, 0 },
6049 { "s8i", ICLASS_xt_iclass_s8i,
6051 Opcode_s8i_encode_fns, 0, 0 },
6052 { "ssr", ICLASS_xt_iclass_sar,
6054 Opcode_ssr_encode_fns, 0, 0 },
6055 { "ssl", ICLASS_xt_iclass_sar,
6057 Opcode_ssl_encode_fns, 0, 0 },
6058 { "ssa8l", ICLASS_xt_iclass_sar,
6060 Opcode_ssa8l_encode_fns, 0, 0 },
6061 { "ssa8b", ICLASS_xt_iclass_sar,
6063 Opcode_ssa8b_encode_fns, 0, 0 },
6064 { "ssai", ICLASS_xt_iclass_sari,
6066 Opcode_ssai_encode_fns, 0, 0 },
6067 { "sll", ICLASS_xt_iclass_shifts,
6069 Opcode_sll_encode_fns, 0, 0 },
6070 { "src", ICLASS_xt_iclass_shiftst,
6072 Opcode_src_encode_fns, 0, 0 },
6073 { "srl", ICLASS_xt_iclass_shiftt,
6075 Opcode_srl_encode_fns, 0, 0 },
6076 { "sra", ICLASS_xt_iclass_shiftt,
6078 Opcode_sra_encode_fns, 0, 0 },
6079 { "slli", ICLASS_xt_iclass_slli,
6081 Opcode_slli_encode_fns, 0, 0 },
6082 { "srai", ICLASS_xt_iclass_srai,
6084 Opcode_srai_encode_fns, 0, 0 },
6085 { "srli", ICLASS_xt_iclass_srli,
6087 Opcode_srli_encode_fns, 0, 0 },
6088 { "memw", ICLASS_xt_iclass_memw,
6090 Opcode_memw_encode_fns, 0, 0 },
6091 { "extw", ICLASS_xt_iclass_extw,
6093 Opcode_extw_encode_fns, 0, 0 },
6094 { "isync", ICLASS_xt_iclass_isync,
6096 Opcode_isync_encode_fns, 0, 0 },
6097 { "rsync", ICLASS_xt_iclass_sync,
6099 Opcode_rsync_encode_fns, 0, 0 },
6100 { "esync", ICLASS_xt_iclass_sync,
6102 Opcode_esync_encode_fns, 0, 0 },
6103 { "dsync", ICLASS_xt_iclass_sync,
6105 Opcode_dsync_encode_fns, 0, 0 },
6106 { "rsil", ICLASS_xt_iclass_rsil,
6108 Opcode_rsil_encode_fns, 0, 0 },
6109 { "rsr.sar", ICLASS_xt_iclass_rsr_sar,
6111 Opcode_rsr_sar_encode_fns, 0, 0 },
6112 { "wsr.sar", ICLASS_xt_iclass_wsr_sar,
6114 Opcode_wsr_sar_encode_fns, 0, 0 },
6115 { "xsr.sar", ICLASS_xt_iclass_xsr_sar,
6117 Opcode_xsr_sar_encode_fns, 0, 0 },
6118 { "rsr.litbase", ICLASS_xt_iclass_rsr_litbase,
6120 Opcode_rsr_litbase_encode_fns, 0, 0 },
6121 { "wsr.litbase", ICLASS_xt_iclass_wsr_litbase,
6123 Opcode_wsr_litbase_encode_fns, 0, 0 },
6124 { "xsr.litbase", ICLASS_xt_iclass_xsr_litbase,
6126 Opcode_xsr_litbase_encode_fns, 0, 0 },
6127 { "rsr.176", ICLASS_xt_iclass_rsr_176,
6129 Opcode_rsr_176_encode_fns, 0, 0 },
6130 { "wsr.176", ICLASS_xt_iclass_wsr_176,
6132 Opcode_wsr_176_encode_fns, 0, 0 },
6133 { "rsr.208", ICLASS_xt_iclass_rsr_208,
6135 Opcode_rsr_208_encode_fns, 0, 0 },
6136 { "rsr.ps", ICLASS_xt_iclass_rsr_ps,
6138 Opcode_rsr_ps_encode_fns, 0, 0 },
6139 { "wsr.ps", ICLASS_xt_iclass_wsr_ps,
6141 Opcode_wsr_ps_encode_fns, 0, 0 },
6142 { "xsr.ps", ICLASS_xt_iclass_xsr_ps,
6144 Opcode_xsr_ps_encode_fns, 0, 0 },
6145 { "rsr.epc1", ICLASS_xt_iclass_rsr_epc1,
6147 Opcode_rsr_epc1_encode_fns, 0, 0 },
6148 { "wsr.epc1", ICLASS_xt_iclass_wsr_epc1,
6150 Opcode_wsr_epc1_encode_fns, 0, 0 },
6151 { "xsr.epc1", ICLASS_xt_iclass_xsr_epc1,
6153 Opcode_xsr_epc1_encode_fns, 0, 0 },
6154 { "rsr.excsave1", ICLASS_xt_iclass_rsr_excsave1,
6156 Opcode_rsr_excsave1_encode_fns, 0, 0 },
6157 { "wsr.excsave1", ICLASS_xt_iclass_wsr_excsave1,
6159 Opcode_wsr_excsave1_encode_fns, 0, 0 },
6160 { "xsr.excsave1", ICLASS_xt_iclass_xsr_excsave1,
6162 Opcode_xsr_excsave1_encode_fns, 0, 0 },
6163 { "rsr.epc2", ICLASS_xt_iclass_rsr_epc2,
6165 Opcode_rsr_epc2_encode_fns, 0, 0 },
6166 { "wsr.epc2", ICLASS_xt_iclass_wsr_epc2,
6168 Opcode_wsr_epc2_encode_fns, 0, 0 },
6169 { "xsr.epc2", ICLASS_xt_iclass_xsr_epc2,
6171 Opcode_xsr_epc2_encode_fns, 0, 0 },
6172 { "rsr.excsave2", ICLASS_xt_iclass_rsr_excsave2,
6174 Opcode_rsr_excsave2_encode_fns, 0, 0 },
6175 { "wsr.excsave2", ICLASS_xt_iclass_wsr_excsave2,
6177 Opcode_wsr_excsave2_encode_fns, 0, 0 },
6178 { "xsr.excsave2", ICLASS_xt_iclass_xsr_excsave2,
6180 Opcode_xsr_excsave2_encode_fns, 0, 0 },
6181 { "rsr.epc3", ICLASS_xt_iclass_rsr_epc3,
6183 Opcode_rsr_epc3_encode_fns, 0, 0 },
6184 { "wsr.epc3", ICLASS_xt_iclass_wsr_epc3,
6186 Opcode_wsr_epc3_encode_fns, 0, 0 },
6187 { "xsr.epc3", ICLASS_xt_iclass_xsr_epc3,
6189 Opcode_xsr_epc3_encode_fns, 0, 0 },
6190 { "rsr.excsave3", ICLASS_xt_iclass_rsr_excsave3,
6192 Opcode_rsr_excsave3_encode_fns, 0, 0 },
6193 { "wsr.excsave3", ICLASS_xt_iclass_wsr_excsave3,
6195 Opcode_wsr_excsave3_encode_fns, 0, 0 },
6196 { "xsr.excsave3", ICLASS_xt_iclass_xsr_excsave3,
6198 Opcode_xsr_excsave3_encode_fns, 0, 0 },
6199 { "rsr.eps2", ICLASS_xt_iclass_rsr_eps2,
6201 Opcode_rsr_eps2_encode_fns, 0, 0 },
6202 { "wsr.eps2", ICLASS_xt_iclass_wsr_eps2,
6204 Opcode_wsr_eps2_encode_fns, 0, 0 },
6205 { "xsr.eps2", ICLASS_xt_iclass_xsr_eps2,
6207 Opcode_xsr_eps2_encode_fns, 0, 0 },
6208 { "rsr.eps3", ICLASS_xt_iclass_rsr_eps3,
6210 Opcode_rsr_eps3_encode_fns, 0, 0 },
6211 { "wsr.eps3", ICLASS_xt_iclass_wsr_eps3,
6213 Opcode_wsr_eps3_encode_fns, 0, 0 },
6214 { "xsr.eps3", ICLASS_xt_iclass_xsr_eps3,
6216 Opcode_xsr_eps3_encode_fns, 0, 0 },
6217 { "rsr.excvaddr", ICLASS_xt_iclass_rsr_excvaddr,
6219 Opcode_rsr_excvaddr_encode_fns, 0, 0 },
6220 { "wsr.excvaddr", ICLASS_xt_iclass_wsr_excvaddr,
6222 Opcode_wsr_excvaddr_encode_fns, 0, 0 },
6223 { "xsr.excvaddr", ICLASS_xt_iclass_xsr_excvaddr,
6225 Opcode_xsr_excvaddr_encode_fns, 0, 0 },
6226 { "rsr.depc", ICLASS_xt_iclass_rsr_depc,
6228 Opcode_rsr_depc_encode_fns, 0, 0 },
6229 { "wsr.depc", ICLASS_xt_iclass_wsr_depc,
6231 Opcode_wsr_depc_encode_fns, 0, 0 },
6232 { "xsr.depc", ICLASS_xt_iclass_xsr_depc,
6234 Opcode_xsr_depc_encode_fns, 0, 0 },
6235 { "rsr.exccause", ICLASS_xt_iclass_rsr_exccause,
6237 Opcode_rsr_exccause_encode_fns, 0, 0 },
6238 { "wsr.exccause", ICLASS_xt_iclass_wsr_exccause,
6240 Opcode_wsr_exccause_encode_fns, 0, 0 },
6241 { "xsr.exccause", ICLASS_xt_iclass_xsr_exccause,
6243 Opcode_xsr_exccause_encode_fns, 0, 0 },
6244 { "rsr.prid", ICLASS_xt_iclass_rsr_prid,
6246 Opcode_rsr_prid_encode_fns, 0, 0 },
6247 { "rsr.vecbase", ICLASS_xt_iclass_rsr_vecbase,
6249 Opcode_rsr_vecbase_encode_fns, 0, 0 },
6250 { "wsr.vecbase", ICLASS_xt_iclass_wsr_vecbase,
6252 Opcode_wsr_vecbase_encode_fns, 0, 0 },
6253 { "xsr.vecbase", ICLASS_xt_iclass_xsr_vecbase,
6255 Opcode_xsr_vecbase_encode_fns, 0, 0 },
6256 { "mul16u", ICLASS_xt_mul16,
6258 Opcode_mul16u_encode_fns, 0, 0 },
6259 { "mul16s", ICLASS_xt_mul16,
6261 Opcode_mul16s_encode_fns, 0, 0 },
6262 { "mull", ICLASS_xt_mul32,
6264 Opcode_mull_encode_fns, 0, 0 },
6265 { "rfi", ICLASS_xt_iclass_rfi,
6266 XTENSA_OPCODE_IS_JUMP,
6267 Opcode_rfi_encode_fns, 0, 0 },
6268 { "waiti", ICLASS_xt_iclass_wait,
6270 Opcode_waiti_encode_fns, 0, 0 },
6271 { "rsr.interrupt", ICLASS_xt_iclass_rsr_interrupt,
6273 Opcode_rsr_interrupt_encode_fns, 0, 0 },
6274 { "wsr.intset", ICLASS_xt_iclass_wsr_intset,
6276 Opcode_wsr_intset_encode_fns, 0, 0 },
6277 { "wsr.intclear", ICLASS_xt_iclass_wsr_intclear,
6279 Opcode_wsr_intclear_encode_fns, 0, 0 },
6280 { "rsr.intenable", ICLASS_xt_iclass_rsr_intenable,
6282 Opcode_rsr_intenable_encode_fns, 0, 0 },
6283 { "wsr.intenable", ICLASS_xt_iclass_wsr_intenable,
6285 Opcode_wsr_intenable_encode_fns, 0, 0 },
6286 { "xsr.intenable", ICLASS_xt_iclass_xsr_intenable,
6288 Opcode_xsr_intenable_encode_fns, 0, 0 },
6289 { "break", ICLASS_xt_iclass_break,
6291 Opcode_break_encode_fns, 0, 0 },
6292 { "break.n", ICLASS_xt_iclass_break_n,
6294 Opcode_break_n_encode_fns, 0, 0 },
6295 { "rsr.dbreaka0", ICLASS_xt_iclass_rsr_dbreaka0,
6297 Opcode_rsr_dbreaka0_encode_fns, 0, 0 },
6298 { "wsr.dbreaka0", ICLASS_xt_iclass_wsr_dbreaka0,
6300 Opcode_wsr_dbreaka0_encode_fns, 0, 0 },
6301 { "xsr.dbreaka0", ICLASS_xt_iclass_xsr_dbreaka0,
6303 Opcode_xsr_dbreaka0_encode_fns, 0, 0 },
6304 { "rsr.dbreakc0", ICLASS_xt_iclass_rsr_dbreakc0,
6306 Opcode_rsr_dbreakc0_encode_fns, 0, 0 },
6307 { "wsr.dbreakc0", ICLASS_xt_iclass_wsr_dbreakc0,
6309 Opcode_wsr_dbreakc0_encode_fns, 0, 0 },
6310 { "xsr.dbreakc0", ICLASS_xt_iclass_xsr_dbreakc0,
6312 Opcode_xsr_dbreakc0_encode_fns, 0, 0 },
6313 { "rsr.ibreaka0", ICLASS_xt_iclass_rsr_ibreaka0,
6315 Opcode_rsr_ibreaka0_encode_fns, 0, 0 },
6316 { "wsr.ibreaka0", ICLASS_xt_iclass_wsr_ibreaka0,
6318 Opcode_wsr_ibreaka0_encode_fns, 0, 0 },
6319 { "xsr.ibreaka0", ICLASS_xt_iclass_xsr_ibreaka0,
6321 Opcode_xsr_ibreaka0_encode_fns, 0, 0 },
6322 { "rsr.ibreakenable", ICLASS_xt_iclass_rsr_ibreakenable,
6324 Opcode_rsr_ibreakenable_encode_fns, 0, 0 },
6325 { "wsr.ibreakenable", ICLASS_xt_iclass_wsr_ibreakenable,
6327 Opcode_wsr_ibreakenable_encode_fns, 0, 0 },
6328 { "xsr.ibreakenable", ICLASS_xt_iclass_xsr_ibreakenable,
6330 Opcode_xsr_ibreakenable_encode_fns, 0, 0 },
6331 { "rsr.debugcause", ICLASS_xt_iclass_rsr_debugcause,
6333 Opcode_rsr_debugcause_encode_fns, 0, 0 },
6334 { "wsr.debugcause", ICLASS_xt_iclass_wsr_debugcause,
6336 Opcode_wsr_debugcause_encode_fns, 0, 0 },
6337 { "xsr.debugcause", ICLASS_xt_iclass_xsr_debugcause,
6339 Opcode_xsr_debugcause_encode_fns, 0, 0 },
6340 { "rsr.icount", ICLASS_xt_iclass_rsr_icount,
6342 Opcode_rsr_icount_encode_fns, 0, 0 },
6343 { "wsr.icount", ICLASS_xt_iclass_wsr_icount,
6345 Opcode_wsr_icount_encode_fns, 0, 0 },
6346 { "xsr.icount", ICLASS_xt_iclass_xsr_icount,
6348 Opcode_xsr_icount_encode_fns, 0, 0 },
6349 { "rsr.icountlevel", ICLASS_xt_iclass_rsr_icountlevel,
6351 Opcode_rsr_icountlevel_encode_fns, 0, 0 },
6352 { "wsr.icountlevel", ICLASS_xt_iclass_wsr_icountlevel,
6354 Opcode_wsr_icountlevel_encode_fns, 0, 0 },
6355 { "xsr.icountlevel", ICLASS_xt_iclass_xsr_icountlevel,
6357 Opcode_xsr_icountlevel_encode_fns, 0, 0 },
6358 { "rsr.ddr", ICLASS_xt_iclass_rsr_ddr,
6360 Opcode_rsr_ddr_encode_fns, 0, 0 },
6361 { "wsr.ddr", ICLASS_xt_iclass_wsr_ddr,
6363 Opcode_wsr_ddr_encode_fns, 0, 0 },
6364 { "xsr.ddr", ICLASS_xt_iclass_xsr_ddr,
6366 Opcode_xsr_ddr_encode_fns, 0, 0 },
6367 { "rfdo", ICLASS_xt_iclass_rfdo,
6368 XTENSA_OPCODE_IS_JUMP,
6369 Opcode_rfdo_encode_fns, 0, 0 },
6370 { "rfdd", ICLASS_xt_iclass_rfdd,
6371 XTENSA_OPCODE_IS_JUMP,
6372 Opcode_rfdd_encode_fns, 0, 0 },
6373 { "wsr.mmid", ICLASS_xt_iclass_wsr_mmid,
6375 Opcode_wsr_mmid_encode_fns, 0, 0 },
6376 { "rsr.ccount", ICLASS_xt_iclass_rsr_ccount,
6378 Opcode_rsr_ccount_encode_fns, 0, 0 },
6379 { "wsr.ccount", ICLASS_xt_iclass_wsr_ccount,
6381 Opcode_wsr_ccount_encode_fns, 0, 0 },
6382 { "xsr.ccount", ICLASS_xt_iclass_xsr_ccount,
6384 Opcode_xsr_ccount_encode_fns, 0, 0 },
6385 { "rsr.ccompare0", ICLASS_xt_iclass_rsr_ccompare0,
6387 Opcode_rsr_ccompare0_encode_fns, 0, 0 },
6388 { "wsr.ccompare0", ICLASS_xt_iclass_wsr_ccompare0,
6390 Opcode_wsr_ccompare0_encode_fns, 0, 0 },
6391 { "xsr.ccompare0", ICLASS_xt_iclass_xsr_ccompare0,
6393 Opcode_xsr_ccompare0_encode_fns, 0, 0 },
6394 { "idtlb", ICLASS_xt_iclass_idtlb,
6396 Opcode_idtlb_encode_fns, 0, 0 },
6397 { "pdtlb", ICLASS_xt_iclass_rdtlb,
6399 Opcode_pdtlb_encode_fns, 0, 0 },
6400 { "rdtlb0", ICLASS_xt_iclass_rdtlb,
6402 Opcode_rdtlb0_encode_fns, 0, 0 },
6403 { "rdtlb1", ICLASS_xt_iclass_rdtlb,
6405 Opcode_rdtlb1_encode_fns, 0, 0 },
6406 { "wdtlb", ICLASS_xt_iclass_wdtlb,
6408 Opcode_wdtlb_encode_fns, 0, 0 },
6409 { "iitlb", ICLASS_xt_iclass_iitlb,
6411 Opcode_iitlb_encode_fns, 0, 0 },
6412 { "pitlb", ICLASS_xt_iclass_ritlb,
6414 Opcode_pitlb_encode_fns, 0, 0 },
6415 { "ritlb0", ICLASS_xt_iclass_ritlb,
6417 Opcode_ritlb0_encode_fns, 0, 0 },
6418 { "ritlb1", ICLASS_xt_iclass_ritlb,
6420 Opcode_ritlb1_encode_fns, 0, 0 },
6421 { "witlb", ICLASS_xt_iclass_witlb,
6423 Opcode_witlb_encode_fns, 0, 0 },
6424 { "nsa", ICLASS_xt_iclass_nsa,
6426 Opcode_nsa_encode_fns, 0, 0 },
6427 { "nsau", ICLASS_xt_iclass_nsa,
6429 Opcode_nsau_encode_fns, 0, 0 },
6430 { "rer", ICLASS_xt_iclass_rer,
6432 Opcode_rer_encode_fns, 0, 0 },
6433 { "wer", ICLASS_xt_iclass_wer,
6435 Opcode_wer_encode_fns, 0, 0 }
6438 enum xtensa_opcode_id {
6549 OPCODE_RSR_EXCSAVE1,
6550 OPCODE_WSR_EXCSAVE1,
6551 OPCODE_XSR_EXCSAVE1,
6555 OPCODE_RSR_EXCSAVE2,
6556 OPCODE_WSR_EXCSAVE2,
6557 OPCODE_XSR_EXCSAVE2,
6561 OPCODE_RSR_EXCSAVE3,
6562 OPCODE_WSR_EXCSAVE3,
6563 OPCODE_XSR_EXCSAVE3,
6570 OPCODE_RSR_EXCVADDR,
6571 OPCODE_WSR_EXCVADDR,
6572 OPCODE_XSR_EXCVADDR,
6576 OPCODE_RSR_EXCCAUSE,
6577 OPCODE_WSR_EXCCAUSE,
6578 OPCODE_XSR_EXCCAUSE,
6588 OPCODE_RSR_INTERRUPT,
6590 OPCODE_WSR_INTCLEAR,
6591 OPCODE_RSR_INTENABLE,
6592 OPCODE_WSR_INTENABLE,
6593 OPCODE_XSR_INTENABLE,
6596 OPCODE_RSR_DBREAKA0,
6597 OPCODE_WSR_DBREAKA0,
6598 OPCODE_XSR_DBREAKA0,
6599 OPCODE_RSR_DBREAKC0,
6600 OPCODE_WSR_DBREAKC0,
6601 OPCODE_XSR_DBREAKC0,
6602 OPCODE_RSR_IBREAKA0,
6603 OPCODE_WSR_IBREAKA0,
6604 OPCODE_XSR_IBREAKA0,
6605 OPCODE_RSR_IBREAKENABLE,
6606 OPCODE_WSR_IBREAKENABLE,
6607 OPCODE_XSR_IBREAKENABLE,
6608 OPCODE_RSR_DEBUGCAUSE,
6609 OPCODE_WSR_DEBUGCAUSE,
6610 OPCODE_XSR_DEBUGCAUSE,
6614 OPCODE_RSR_ICOUNTLEVEL,
6615 OPCODE_WSR_ICOUNTLEVEL,
6616 OPCODE_XSR_ICOUNTLEVEL,
6626 OPCODE_RSR_CCOMPARE0,
6627 OPCODE_WSR_CCOMPARE0,
6628 OPCODE_XSR_CCOMPARE0,
6646 /* Slot-specific opcode decode functions. */
6649 Slot_inst_decode (const xtensa_insnbuf insn)
6651 switch (Field_op0_Slot_inst_get (insn))
6654 switch (Field_op1_Slot_inst_get (insn))
6657 switch (Field_op2_Slot_inst_get (insn))
6660 switch (Field_r_Slot_inst_get (insn))
6663 switch (Field_m_Slot_inst_get (insn))
6666 if (Field_s_Slot_inst_get (insn) == 0 &&
6667 Field_n_Slot_inst_get (insn) == 0)
6671 switch (Field_n_Slot_inst_get (insn))
6680 if (Field_n_Slot_inst_get (insn) == 0)
6681 return OPCODE_CALLX0;
6686 if (Field_s_Slot_inst_get (insn) == 0)
6688 switch (Field_t_Slot_inst_get (insn))
6691 return OPCODE_ISYNC;
6693 return OPCODE_RSYNC;
6695 return OPCODE_ESYNC;
6697 return OPCODE_DSYNC;
6710 switch (Field_t_Slot_inst_get (insn))
6713 switch (Field_s_Slot_inst_get (insn))
6726 return OPCODE_BREAK;
6728 switch (Field_s_Slot_inst_get (insn))
6731 if (Field_t_Slot_inst_get (insn) == 0)
6732 return OPCODE_SYSCALL;
6735 if (Field_t_Slot_inst_get (insn) == 0)
6736 return OPCODE_SIMCALL;
6743 if (Field_t_Slot_inst_get (insn) == 0)
6744 return OPCODE_WAITI;
6755 switch (Field_r_Slot_inst_get (insn))
6758 if (Field_t_Slot_inst_get (insn) == 0)
6762 if (Field_t_Slot_inst_get (insn) == 0)
6766 if (Field_t_Slot_inst_get (insn) == 0)
6767 return OPCODE_SSA8L;
6770 if (Field_t_Slot_inst_get (insn) == 0)
6771 return OPCODE_SSA8B;
6774 if (Field_thi3_Slot_inst_get (insn) == 0)
6788 switch (Field_r_Slot_inst_get (insn))
6791 return OPCODE_RITLB0;
6793 if (Field_t_Slot_inst_get (insn) == 0)
6794 return OPCODE_IITLB;
6797 return OPCODE_PITLB;
6799 return OPCODE_WITLB;
6801 return OPCODE_RITLB1;
6803 return OPCODE_RDTLB0;
6805 if (Field_t_Slot_inst_get (insn) == 0)
6806 return OPCODE_IDTLB;
6809 return OPCODE_PDTLB;
6811 return OPCODE_WDTLB;
6813 return OPCODE_RDTLB1;
6817 switch (Field_s_Slot_inst_get (insn))
6828 return OPCODE_ADDX2;
6830 return OPCODE_ADDX4;
6832 return OPCODE_ADDX8;
6836 return OPCODE_SUBX2;
6838 return OPCODE_SUBX4;
6840 return OPCODE_SUBX8;
6844 switch (Field_op2_Slot_inst_get (insn))
6855 switch (Field_sr_Slot_inst_get (insn))
6858 return OPCODE_XSR_SAR;
6860 return OPCODE_XSR_LITBASE;
6862 return OPCODE_XSR_IBREAKENABLE;
6864 return OPCODE_XSR_DDR;
6866 return OPCODE_XSR_IBREAKA0;
6868 return OPCODE_XSR_DBREAKA0;
6870 return OPCODE_XSR_DBREAKC0;
6872 return OPCODE_XSR_EPC1;
6874 return OPCODE_XSR_EPC2;
6876 return OPCODE_XSR_EPC3;
6878 return OPCODE_XSR_DEPC;
6880 return OPCODE_XSR_EPS2;
6882 return OPCODE_XSR_EPS3;
6884 return OPCODE_XSR_EXCSAVE1;
6886 return OPCODE_XSR_EXCSAVE2;
6888 return OPCODE_XSR_EXCSAVE3;
6890 return OPCODE_XSR_INTENABLE;
6892 return OPCODE_XSR_PS;
6894 return OPCODE_XSR_VECBASE;
6896 return OPCODE_XSR_EXCCAUSE;
6898 return OPCODE_XSR_DEBUGCAUSE;
6900 return OPCODE_XSR_CCOUNT;
6902 return OPCODE_XSR_ICOUNT;
6904 return OPCODE_XSR_ICOUNTLEVEL;
6906 return OPCODE_XSR_EXCVADDR;
6908 return OPCODE_XSR_CCOMPARE0;
6914 if (Field_s_Slot_inst_get (insn) == 0)
6918 if (Field_t_Slot_inst_get (insn) == 0)
6922 if (Field_s_Slot_inst_get (insn) == 0)
6926 return OPCODE_MUL16U;
6928 return OPCODE_MUL16S;
6930 switch (Field_r_Slot_inst_get (insn))
6933 if (Field_t_Slot_inst_get (insn) == 0)
6935 if (Field_t_Slot_inst_get (insn) == 1)
6943 if (Field_op2_Slot_inst_get (insn) == 8)
6947 switch (Field_op2_Slot_inst_get (insn))
6950 switch (Field_sr_Slot_inst_get (insn))
6953 return OPCODE_RSR_SAR;
6955 return OPCODE_RSR_LITBASE;
6957 return OPCODE_RSR_IBREAKENABLE;
6959 return OPCODE_RSR_DDR;
6961 return OPCODE_RSR_IBREAKA0;
6963 return OPCODE_RSR_DBREAKA0;
6965 return OPCODE_RSR_DBREAKC0;
6967 return OPCODE_RSR_176;
6969 return OPCODE_RSR_EPC1;
6971 return OPCODE_RSR_EPC2;
6973 return OPCODE_RSR_EPC3;
6975 return OPCODE_RSR_DEPC;
6977 return OPCODE_RSR_EPS2;
6979 return OPCODE_RSR_EPS3;
6981 return OPCODE_RSR_208;
6983 return OPCODE_RSR_EXCSAVE1;
6985 return OPCODE_RSR_EXCSAVE2;
6987 return OPCODE_RSR_EXCSAVE3;
6989 return OPCODE_RSR_INTERRUPT;
6991 return OPCODE_RSR_INTENABLE;
6993 return OPCODE_RSR_PS;
6995 return OPCODE_RSR_VECBASE;
6997 return OPCODE_RSR_EXCCAUSE;
6999 return OPCODE_RSR_DEBUGCAUSE;
7001 return OPCODE_RSR_CCOUNT;
7003 return OPCODE_RSR_PRID;
7005 return OPCODE_RSR_ICOUNT;
7007 return OPCODE_RSR_ICOUNTLEVEL;
7009 return OPCODE_RSR_EXCVADDR;
7011 return OPCODE_RSR_CCOMPARE0;
7015 switch (Field_sr_Slot_inst_get (insn))
7018 return OPCODE_WSR_SAR;
7020 return OPCODE_WSR_LITBASE;
7022 return OPCODE_WSR_MMID;
7024 return OPCODE_WSR_IBREAKENABLE;
7026 return OPCODE_WSR_DDR;
7028 return OPCODE_WSR_IBREAKA0;
7030 return OPCODE_WSR_DBREAKA0;
7032 return OPCODE_WSR_DBREAKC0;
7034 return OPCODE_WSR_176;
7036 return OPCODE_WSR_EPC1;
7038 return OPCODE_WSR_EPC2;
7040 return OPCODE_WSR_EPC3;
7042 return OPCODE_WSR_DEPC;
7044 return OPCODE_WSR_EPS2;
7046 return OPCODE_WSR_EPS3;
7048 return OPCODE_WSR_EXCSAVE1;
7050 return OPCODE_WSR_EXCSAVE2;
7052 return OPCODE_WSR_EXCSAVE3;
7054 return OPCODE_WSR_INTSET;
7056 return OPCODE_WSR_INTCLEAR;
7058 return OPCODE_WSR_INTENABLE;
7060 return OPCODE_WSR_PS;
7062 return OPCODE_WSR_VECBASE;
7064 return OPCODE_WSR_EXCCAUSE;
7066 return OPCODE_WSR_DEBUGCAUSE;
7068 return OPCODE_WSR_CCOUNT;
7070 return OPCODE_WSR_ICOUNT;
7072 return OPCODE_WSR_ICOUNTLEVEL;
7074 return OPCODE_WSR_EXCVADDR;
7076 return OPCODE_WSR_CCOMPARE0;
7080 return OPCODE_MOVEQZ;
7082 return OPCODE_MOVNEZ;
7084 return OPCODE_MOVLTZ;
7086 return OPCODE_MOVGEZ;
7091 return OPCODE_EXTUI;
7097 switch (Field_r_Slot_inst_get (insn))
7102 return OPCODE_L16UI;
7112 return OPCODE_L16SI;
7118 return OPCODE_ADDMI;
7122 if (Field_n_Slot_inst_get (insn) == 0)
7123 return OPCODE_CALL0;
7126 switch (Field_n_Slot_inst_get (insn))
7131 switch (Field_m_Slot_inst_get (insn))
7144 switch (Field_m_Slot_inst_get (insn))
7157 switch (Field_m_Slot_inst_get (insn))
7160 return OPCODE_BLTUI;
7162 return OPCODE_BGEUI;
7168 switch (Field_r_Slot_inst_get (insn))
7171 return OPCODE_BNONE;
7194 return OPCODE_BNALL;
7203 return XTENSA_UNDEFINED;
7207 Slot_inst16a_decode (const xtensa_insnbuf insn)
7209 switch (Field_op0_Slot_inst16a_get (insn))
7212 return OPCODE_L32I_N;
7214 return OPCODE_S32I_N;
7216 return OPCODE_ADD_N;
7218 return OPCODE_ADDI_N;
7220 return XTENSA_UNDEFINED;
7224 Slot_inst16b_decode (const xtensa_insnbuf insn)
7226 switch (Field_op0_Slot_inst16b_get (insn))
7229 switch (Field_i_Slot_inst16b_get (insn))
7232 return OPCODE_MOVI_N;
7234 switch (Field_z_Slot_inst16b_get (insn))
7237 return OPCODE_BEQZ_N;
7239 return OPCODE_BNEZ_N;
7245 switch (Field_r_Slot_inst16b_get (insn))
7248 return OPCODE_MOV_N;
7250 switch (Field_t_Slot_inst16b_get (insn))
7253 return OPCODE_RET_N;
7255 return OPCODE_BREAK_N;
7257 if (Field_s_Slot_inst16b_get (insn) == 0)
7258 return OPCODE_NOP_N;
7261 if (Field_s_Slot_inst16b_get (insn) == 0)
7262 return OPCODE_ILL_N;
7269 return XTENSA_UNDEFINED;
7273 /* Instruction slots. */
7276 Slot_x24_Format_inst_0_get (const xtensa_insnbuf insn,
7277 xtensa_insnbuf slotbuf)
7279 slotbuf[0] = (insn[0] & 0xffffff);
7283 Slot_x24_Format_inst_0_set (xtensa_insnbuf insn,
7284 const xtensa_insnbuf slotbuf)
7286 insn[0] = (insn[0] & ~0xffffff) | (slotbuf[0] & 0xffffff);
7290 Slot_x16a_Format_inst16a_0_get (const xtensa_insnbuf insn,
7291 xtensa_insnbuf slotbuf)
7293 slotbuf[0] = (insn[0] & 0xffff);
7297 Slot_x16a_Format_inst16a_0_set (xtensa_insnbuf insn,
7298 const xtensa_insnbuf slotbuf)
7300 insn[0] = (insn[0] & ~0xffff) | (slotbuf[0] & 0xffff);
7304 Slot_x16b_Format_inst16b_0_get (const xtensa_insnbuf insn,
7305 xtensa_insnbuf slotbuf)
7307 slotbuf[0] = (insn[0] & 0xffff);
7311 Slot_x16b_Format_inst16b_0_set (xtensa_insnbuf insn,
7312 const xtensa_insnbuf slotbuf)
7314 insn[0] = (insn[0] & ~0xffff) | (slotbuf[0] & 0xffff);
7317 static xtensa_get_field_fn
7318 Slot_inst_get_field_fns[] = {
7319 Field_t_Slot_inst_get,
7320 Field_bbi4_Slot_inst_get,
7321 Field_bbi_Slot_inst_get,
7322 Field_imm12_Slot_inst_get,
7323 Field_imm8_Slot_inst_get,
7324 Field_s_Slot_inst_get,
7325 Field_imm12b_Slot_inst_get,
7326 Field_imm16_Slot_inst_get,
7327 Field_m_Slot_inst_get,
7328 Field_n_Slot_inst_get,
7329 Field_offset_Slot_inst_get,
7330 Field_op0_Slot_inst_get,
7331 Field_op1_Slot_inst_get,
7332 Field_op2_Slot_inst_get,
7333 Field_r_Slot_inst_get,
7334 Field_sa4_Slot_inst_get,
7335 Field_sae4_Slot_inst_get,
7336 Field_sae_Slot_inst_get,
7337 Field_sal_Slot_inst_get,
7338 Field_sargt_Slot_inst_get,
7339 Field_sas4_Slot_inst_get,
7340 Field_sas_Slot_inst_get,
7341 Field_sr_Slot_inst_get,
7342 Field_st_Slot_inst_get,
7343 Field_thi3_Slot_inst_get,
7344 Field_imm4_Slot_inst_get,
7353 Field_xt_wbr15_imm_Slot_inst_get,
7354 Field_xt_wbr18_imm_Slot_inst_get,
7355 Implicit_Field_ar0_get
7358 static xtensa_set_field_fn
7359 Slot_inst_set_field_fns[] = {
7360 Field_t_Slot_inst_set,
7361 Field_bbi4_Slot_inst_set,
7362 Field_bbi_Slot_inst_set,
7363 Field_imm12_Slot_inst_set,
7364 Field_imm8_Slot_inst_set,
7365 Field_s_Slot_inst_set,
7366 Field_imm12b_Slot_inst_set,
7367 Field_imm16_Slot_inst_set,
7368 Field_m_Slot_inst_set,
7369 Field_n_Slot_inst_set,
7370 Field_offset_Slot_inst_set,
7371 Field_op0_Slot_inst_set,
7372 Field_op1_Slot_inst_set,
7373 Field_op2_Slot_inst_set,
7374 Field_r_Slot_inst_set,
7375 Field_sa4_Slot_inst_set,
7376 Field_sae4_Slot_inst_set,
7377 Field_sae_Slot_inst_set,
7378 Field_sal_Slot_inst_set,
7379 Field_sargt_Slot_inst_set,
7380 Field_sas4_Slot_inst_set,
7381 Field_sas_Slot_inst_set,
7382 Field_sr_Slot_inst_set,
7383 Field_st_Slot_inst_set,
7384 Field_thi3_Slot_inst_set,
7385 Field_imm4_Slot_inst_set,
7394 Field_xt_wbr15_imm_Slot_inst_set,
7395 Field_xt_wbr18_imm_Slot_inst_set,
7399 static xtensa_get_field_fn
7400 Slot_inst16a_get_field_fns[] = {
7401 Field_t_Slot_inst16a_get,
7406 Field_s_Slot_inst16a_get,
7412 Field_op0_Slot_inst16a_get,
7415 Field_r_Slot_inst16a_get,
7423 Field_sr_Slot_inst16a_get,
7424 Field_st_Slot_inst16a_get,
7426 Field_imm4_Slot_inst16a_get,
7427 Field_i_Slot_inst16a_get,
7428 Field_imm6lo_Slot_inst16a_get,
7429 Field_imm6hi_Slot_inst16a_get,
7430 Field_imm7lo_Slot_inst16a_get,
7431 Field_imm7hi_Slot_inst16a_get,
7432 Field_z_Slot_inst16a_get,
7433 Field_imm6_Slot_inst16a_get,
7434 Field_imm7_Slot_inst16a_get,
7437 Implicit_Field_ar0_get
7440 static xtensa_set_field_fn
7441 Slot_inst16a_set_field_fns[] = {
7442 Field_t_Slot_inst16a_set,
7447 Field_s_Slot_inst16a_set,
7453 Field_op0_Slot_inst16a_set,
7456 Field_r_Slot_inst16a_set,
7464 Field_sr_Slot_inst16a_set,
7465 Field_st_Slot_inst16a_set,
7467 Field_imm4_Slot_inst16a_set,
7468 Field_i_Slot_inst16a_set,
7469 Field_imm6lo_Slot_inst16a_set,
7470 Field_imm6hi_Slot_inst16a_set,
7471 Field_imm7lo_Slot_inst16a_set,
7472 Field_imm7hi_Slot_inst16a_set,
7473 Field_z_Slot_inst16a_set,
7474 Field_imm6_Slot_inst16a_set,
7475 Field_imm7_Slot_inst16a_set,
7481 static xtensa_get_field_fn
7482 Slot_inst16b_get_field_fns[] = {
7483 Field_t_Slot_inst16b_get,
7488 Field_s_Slot_inst16b_get,
7494 Field_op0_Slot_inst16b_get,
7497 Field_r_Slot_inst16b_get,
7505 Field_sr_Slot_inst16b_get,
7506 Field_st_Slot_inst16b_get,
7508 Field_imm4_Slot_inst16b_get,
7509 Field_i_Slot_inst16b_get,
7510 Field_imm6lo_Slot_inst16b_get,
7511 Field_imm6hi_Slot_inst16b_get,
7512 Field_imm7lo_Slot_inst16b_get,
7513 Field_imm7hi_Slot_inst16b_get,
7514 Field_z_Slot_inst16b_get,
7515 Field_imm6_Slot_inst16b_get,
7516 Field_imm7_Slot_inst16b_get,
7519 Implicit_Field_ar0_get
7522 static xtensa_set_field_fn
7523 Slot_inst16b_set_field_fns[] = {
7524 Field_t_Slot_inst16b_set,
7529 Field_s_Slot_inst16b_set,
7535 Field_op0_Slot_inst16b_set,
7538 Field_r_Slot_inst16b_set,
7546 Field_sr_Slot_inst16b_set,
7547 Field_st_Slot_inst16b_set,
7549 Field_imm4_Slot_inst16b_set,
7550 Field_i_Slot_inst16b_set,
7551 Field_imm6lo_Slot_inst16b_set,
7552 Field_imm6hi_Slot_inst16b_set,
7553 Field_imm7lo_Slot_inst16b_set,
7554 Field_imm7hi_Slot_inst16b_set,
7555 Field_z_Slot_inst16b_set,
7556 Field_imm6_Slot_inst16b_set,
7557 Field_imm7_Slot_inst16b_set,
7563 static xtensa_slot_internal slots[] = {
7565 Slot_x24_Format_inst_0_get, Slot_x24_Format_inst_0_set,
7566 Slot_inst_get_field_fns, Slot_inst_set_field_fns,
7567 Slot_inst_decode, "nop" },
7568 { "Inst16a", "x16a", 0,
7569 Slot_x16a_Format_inst16a_0_get, Slot_x16a_Format_inst16a_0_set,
7570 Slot_inst16a_get_field_fns, Slot_inst16a_set_field_fns,
7571 Slot_inst16a_decode, "" },
7572 { "Inst16b", "x16b", 0,
7573 Slot_x16b_Format_inst16b_0_get, Slot_x16b_Format_inst16b_0_set,
7574 Slot_inst16b_get_field_fns, Slot_inst16b_set_field_fns,
7575 Slot_inst16b_decode, "nop.n" }
7579 /* Instruction formats. */
7582 Format_x24_encode (xtensa_insnbuf insn)
7588 Format_x16a_encode (xtensa_insnbuf insn)
7594 Format_x16b_encode (xtensa_insnbuf insn)
7599 static int Format_x24_slots[] = { 0 };
7601 static int Format_x16a_slots[] = { 1 };
7603 static int Format_x16b_slots[] = { 2 };
7605 static xtensa_format_internal formats[] = {
7606 { "x24", 3, Format_x24_encode, 1, Format_x24_slots },
7607 { "x16a", 2, Format_x16a_encode, 1, Format_x16a_slots },
7608 { "x16b", 2, Format_x16b_encode, 1, Format_x16b_slots }
7613 format_decoder (const xtensa_insnbuf insn)
7615 if ((insn[0] & 0x8) == 0)
7617 if ((insn[0] & 0xc) == 0x8)
7618 return 1; /* x16a */
7619 if ((insn[0] & 0xe) == 0xc)
7620 return 2; /* x16b */
7624 static int length_table[16] = {
7644 length_decoder (const unsigned char *insn)
7646 int op0 = insn[0] & 0xf;
7647 return length_table[op0];
7651 /* Top-level ISA structure. */
7653 static xtensa_isa_internal xtensa_modules = {
7654 0 /* little-endian */,
7655 3 /* insn_size */, 0,
7656 3, formats, format_decoder, length_decoder,
7658 37 /* num_fields */,
7663 NUM_STATES, states, 0,
7664 NUM_SYSREGS, sysregs, 0,
7665 { MAX_SPECIAL_REG, MAX_USER_REG }, { 0, 0 },