Merge remote-tracking branch 'remotes/stefanberger/tags/pull-tpm-2021-01-25-1' into...
[qemu.git] / target / xtensa / core-fsf / xtensa-modules.c.inc
1 /* Xtensa configuration-specific ISA information.
2    Copyright 2003, 2004, 2005 Free Software Foundation, Inc.
3
4    This file is part of BFD, the Binary File Descriptor library.
5
6    This program is free software; you can redistribute it and/or
7    modify it under the terms of the GNU General Public License as
8    published by the Free Software Foundation; either version 2 of the
9    License, or (at your option) any later version.
10
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with this program; if not, write to the Free Software
18    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
19    02110-1301, USA.  */
20
21 #include "qemu/osdep.h"
22 #include "xtensa-isa.h"
23 #include "xtensa-isa-internal.h"
24
25 \f
26 /* Sysregs.  */
27
28 static xtensa_sysreg_internal sysregs[] = {
29   { "LBEG", 0, 0 },
30   { "LEND", 1, 0 },
31   { "LCOUNT", 2, 0 },
32   { "PTEVADDR", 83, 0 },
33   { "DDR", 104, 0 },
34   { "176", 176, 0 },
35   { "208", 208, 0 },
36   { "INTERRUPT", 226, 0 },
37   { "INTCLEAR", 227, 0 },
38   { "CCOUNT", 234, 0 },
39   { "PRID", 235, 0 },
40   { "ICOUNT", 236, 0 },
41   { "CCOMPARE0", 240, 0 },
42   { "CCOMPARE1", 241, 0 },
43   { "CCOMPARE2", 242, 0 },
44   { "EPC1", 177, 0 },
45   { "EPC2", 178, 0 },
46   { "EPC3", 179, 0 },
47   { "EPC4", 180, 0 },
48   { "EXCSAVE1", 209, 0 },
49   { "EXCSAVE2", 210, 0 },
50   { "EXCSAVE3", 211, 0 },
51   { "EXCSAVE4", 212, 0 },
52   { "EPS2", 194, 0 },
53   { "EPS3", 195, 0 },
54   { "EPS4", 196, 0 },
55   { "EXCCAUSE", 232, 0 },
56   { "DEPC", 192, 0 },
57   { "EXCVADDR", 238, 0 },
58   { "WINDOWBASE", 72, 0 },
59   { "WINDOWSTART", 73, 0 },
60   { "SAR", 3, 0 },
61   { "LITBASE", 5, 0 },
62   { "PS", 230, 0 },
63   { "MISC0", 244, 0 },
64   { "MISC1", 245, 0 },
65   { "INTENABLE", 228, 0 },
66   { "DBREAKA0", 144, 0 },
67   { "DBREAKC0", 160, 0 },
68   { "DBREAKA1", 145, 0 },
69   { "DBREAKC1", 161, 0 },
70   { "IBREAKA0", 128, 0 },
71   { "IBREAKA1", 129, 0 },
72   { "IBREAKENABLE", 96, 0 },
73   { "ICOUNTLEVEL", 237, 0 },
74   { "DEBUGCAUSE", 233, 0 },
75   { "RASID", 90, 0 },
76   { "ITLBCFG", 91, 0 },
77   { "DTLBCFG", 92, 0 }
78 };
79
80 #define NUM_SYSREGS 49
81 #define MAX_SPECIAL_REG 245
82 #define MAX_USER_REG 0
83
84 \f
85 /* Processor states.  */
86
87 static xtensa_state_internal states[] = {
88   { "LCOUNT", 32, 0 },
89   { "PC", 32, 0 },
90   { "ICOUNT", 32, 0 },
91   { "DDR", 32, 0 },
92   { "INTERRUPT", 17, 0 },
93   { "CCOUNT", 32, 0 },
94   { "XTSYNC", 1, 0 },
95   { "EPC1", 32, 0 },
96   { "EPC2", 32, 0 },
97   { "EPC3", 32, 0 },
98   { "EPC4", 32, 0 },
99   { "EXCSAVE1", 32, 0 },
100   { "EXCSAVE2", 32, 0 },
101   { "EXCSAVE3", 32, 0 },
102   { "EXCSAVE4", 32, 0 },
103   { "EPS2", 15, 0 },
104   { "EPS3", 15, 0 },
105   { "EPS4", 15, 0 },
106   { "EXCCAUSE", 6, 0 },
107   { "PSINTLEVEL", 4, 0 },
108   { "PSUM", 1, 0 },
109   { "PSWOE", 1, 0 },
110   { "PSRING", 2, 0 },
111   { "PSEXCM", 1, 0 },
112   { "DEPC", 32, 0 },
113   { "EXCVADDR", 32, 0 },
114   { "WindowBase", 4, 0 },
115   { "WindowStart", 16, 0 },
116   { "PSCALLINC", 2, 0 },
117   { "PSOWB", 4, 0 },
118   { "LBEG", 32, 0 },
119   { "LEND", 32, 0 },
120   { "SAR", 6, 0 },
121   { "LITBADDR", 20, 0 },
122   { "LITBEN", 1, 0 },
123   { "MISC0", 32, 0 },
124   { "MISC1", 32, 0 },
125   { "InOCDMode", 1, 0 },
126   { "INTENABLE", 17, 0 },
127   { "DBREAKA0", 32, 0 },
128   { "DBREAKC0", 8, 0 },
129   { "DBREAKA1", 32, 0 },
130   { "DBREAKC1", 8, 0 },
131   { "IBREAKA0", 32, 0 },
132   { "IBREAKA1", 32, 0 },
133   { "IBREAKENABLE", 2, 0 },
134   { "ICOUNTLEVEL", 4, 0 },
135   { "DEBUGCAUSE", 6, 0 },
136   { "DBNUM", 4, 0 },
137   { "CCOMPARE0", 32, 0 },
138   { "CCOMPARE1", 32, 0 },
139   { "CCOMPARE2", 32, 0 },
140   { "ASID3", 8, 0 },
141   { "ASID2", 8, 0 },
142   { "ASID1", 8, 0 },
143   { "INSTPGSZID4", 2, 0 },
144   { "DATAPGSZID4", 2, 0 },
145   { "PTBASE", 10, 0 }
146 };
147
148 #define NUM_STATES 58
149
150 /* Macros for xtensa_state numbers (for use in iclasses because the
151    state numbers are not available when the iclass table is generated).  */
152
153 #define STATE_LCOUNT 0
154 #define STATE_PC 1
155 #define STATE_ICOUNT 2
156 #define STATE_DDR 3
157 #define STATE_INTERRUPT 4
158 #define STATE_CCOUNT 5
159 #define STATE_XTSYNC 6
160 #define STATE_EPC1 7
161 #define STATE_EPC2 8
162 #define STATE_EPC3 9
163 #define STATE_EPC4 10
164 #define STATE_EXCSAVE1 11
165 #define STATE_EXCSAVE2 12
166 #define STATE_EXCSAVE3 13
167 #define STATE_EXCSAVE4 14
168 #define STATE_EPS2 15
169 #define STATE_EPS3 16
170 #define STATE_EPS4 17
171 #define STATE_EXCCAUSE 18
172 #define STATE_PSINTLEVEL 19
173 #define STATE_PSUM 20
174 #define STATE_PSWOE 21
175 #define STATE_PSRING 22
176 #define STATE_PSEXCM 23
177 #define STATE_DEPC 24
178 #define STATE_EXCVADDR 25
179 #define STATE_WindowBase 26
180 #define STATE_WindowStart 27
181 #define STATE_PSCALLINC 28
182 #define STATE_PSOWB 29
183 #define STATE_LBEG 30
184 #define STATE_LEND 31
185 #define STATE_SAR 32
186 #define STATE_LITBADDR 33
187 #define STATE_LITBEN 34
188 #define STATE_MISC0 35
189 #define STATE_MISC1 36
190 #define STATE_InOCDMode 37
191 #define STATE_INTENABLE 38
192 #define STATE_DBREAKA0 39
193 #define STATE_DBREAKC0 40
194 #define STATE_DBREAKA1 41
195 #define STATE_DBREAKC1 42
196 #define STATE_IBREAKA0 43
197 #define STATE_IBREAKA1 44
198 #define STATE_IBREAKENABLE 45
199 #define STATE_ICOUNTLEVEL 46
200 #define STATE_DEBUGCAUSE 47
201 #define STATE_DBNUM 48
202 #define STATE_CCOMPARE0 49
203 #define STATE_CCOMPARE1 50
204 #define STATE_CCOMPARE2 51
205 #define STATE_ASID3 52
206 #define STATE_ASID2 53
207 #define STATE_ASID1 54
208 #define STATE_INSTPGSZID4 55
209 #define STATE_DATAPGSZID4 56
210 #define STATE_PTBASE 57
211
212 \f
213 /* Field definitions.  */
214
215 static unsigned
216 Field_t_Slot_inst_get (const xtensa_insnbuf insn)
217 {
218   unsigned tie_t = 0;
219   tie_t = (tie_t << 4) | ((insn[0] << 12) >> 28);
220   return tie_t;
221 }
222
223 static void
224 Field_t_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
225 {
226   uint32 tie_t;
227   tie_t = (val << 28) >> 28;
228   insn[0] = (insn[0] & ~0xf0000) | (tie_t << 16);
229 }
230
231 static unsigned
232 Field_s_Slot_inst_get (const xtensa_insnbuf insn)
233 {
234   unsigned tie_t = 0;
235   tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
236   return tie_t;
237 }
238
239 static void
240 Field_s_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
241 {
242   uint32 tie_t;
243   tie_t = (val << 28) >> 28;
244   insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
245 }
246
247 static unsigned
248 Field_r_Slot_inst_get (const xtensa_insnbuf insn)
249 {
250   unsigned tie_t = 0;
251   tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
252   return tie_t;
253 }
254
255 static void
256 Field_r_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
257 {
258   uint32 tie_t;
259   tie_t = (val << 28) >> 28;
260   insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
261 }
262
263 static unsigned
264 Field_op2_Slot_inst_get (const xtensa_insnbuf insn)
265 {
266   unsigned tie_t = 0;
267   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
268   return tie_t;
269 }
270
271 static void
272 Field_op2_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
273 {
274   uint32 tie_t;
275   tie_t = (val << 28) >> 28;
276   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
277 }
278
279 static unsigned
280 Field_op1_Slot_inst_get (const xtensa_insnbuf insn)
281 {
282   unsigned tie_t = 0;
283   tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
284   return tie_t;
285 }
286
287 static void
288 Field_op1_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
289 {
290   uint32 tie_t;
291   tie_t = (val << 28) >> 28;
292   insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
293 }
294
295 static unsigned
296 Field_op0_Slot_inst_get (const xtensa_insnbuf insn)
297 {
298   unsigned tie_t = 0;
299   tie_t = (tie_t << 4) | ((insn[0] << 8) >> 28);
300   return tie_t;
301 }
302
303 static void
304 Field_op0_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
305 {
306   uint32 tie_t;
307   tie_t = (val << 28) >> 28;
308   insn[0] = (insn[0] & ~0xf00000) | (tie_t << 20);
309 }
310
311 static unsigned
312 Field_n_Slot_inst_get (const xtensa_insnbuf insn)
313 {
314   unsigned tie_t = 0;
315   tie_t = (tie_t << 2) | ((insn[0] << 12) >> 30);
316   return tie_t;
317 }
318
319 static void
320 Field_n_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
321 {
322   uint32 tie_t;
323   tie_t = (val << 30) >> 30;
324   insn[0] = (insn[0] & ~0xc0000) | (tie_t << 18);
325 }
326
327 static unsigned
328 Field_m_Slot_inst_get (const xtensa_insnbuf insn)
329 {
330   unsigned tie_t = 0;
331   tie_t = (tie_t << 2) | ((insn[0] << 14) >> 30);
332   return tie_t;
333 }
334
335 static void
336 Field_m_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
337 {
338   uint32 tie_t;
339   tie_t = (val << 30) >> 30;
340   insn[0] = (insn[0] & ~0x30000) | (tie_t << 16);
341 }
342
343 static unsigned
344 Field_sr_Slot_inst_get (const xtensa_insnbuf insn)
345 {
346   unsigned tie_t = 0;
347   tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
348   tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
349   return tie_t;
350 }
351
352 static void
353 Field_sr_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
354 {
355   uint32 tie_t;
356   tie_t = (val << 28) >> 28;
357   insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
358   tie_t = (val << 24) >> 28;
359   insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
360 }
361
362 static unsigned
363 Field_thi3_Slot_inst_get (const xtensa_insnbuf insn)
364 {
365   unsigned tie_t = 0;
366   tie_t = (tie_t << 3) | ((insn[0] << 12) >> 29);
367   return tie_t;
368 }
369
370 static void
371 Field_thi3_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
372 {
373   uint32 tie_t;
374   tie_t = (val << 29) >> 29;
375   insn[0] = (insn[0] & ~0xe0000) | (tie_t << 17);
376 }
377
378 static unsigned
379 Field_op0_Slot_inst16a_get (const xtensa_insnbuf insn)
380 {
381   unsigned tie_t = 0;
382   tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
383   return tie_t;
384 }
385
386 static void
387 Field_op0_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
388 {
389   uint32 tie_t;
390   tie_t = (val << 28) >> 28;
391   insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
392 }
393
394 static unsigned
395 Field_t_Slot_inst16b_get (const xtensa_insnbuf insn)
396 {
397   unsigned tie_t = 0;
398   tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
399   return tie_t;
400 }
401
402 static void
403 Field_t_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
404 {
405   uint32 tie_t;
406   tie_t = (val << 28) >> 28;
407   insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
408 }
409
410 static unsigned
411 Field_r_Slot_inst16b_get (const xtensa_insnbuf insn)
412 {
413   unsigned tie_t = 0;
414   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
415   return tie_t;
416 }
417
418 static void
419 Field_r_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
420 {
421   uint32 tie_t;
422   tie_t = (val << 28) >> 28;
423   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
424 }
425
426 static unsigned
427 Field_op0_Slot_inst16b_get (const xtensa_insnbuf insn)
428 {
429   unsigned tie_t = 0;
430   tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
431   return tie_t;
432 }
433
434 static void
435 Field_op0_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
436 {
437   uint32 tie_t;
438   tie_t = (val << 28) >> 28;
439   insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
440 }
441
442 static unsigned
443 Field_z_Slot_inst16b_get (const xtensa_insnbuf insn)
444 {
445   unsigned tie_t = 0;
446   tie_t = (tie_t << 1) | ((insn[0] << 21) >> 31);
447   return tie_t;
448 }
449
450 static void
451 Field_z_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
452 {
453   uint32 tie_t;
454   tie_t = (val << 31) >> 31;
455   insn[0] = (insn[0] & ~0x400) | (tie_t << 10);
456 }
457
458 static unsigned
459 Field_i_Slot_inst16b_get (const xtensa_insnbuf insn)
460 {
461   unsigned tie_t = 0;
462   tie_t = (tie_t << 1) | ((insn[0] << 20) >> 31);
463   return tie_t;
464 }
465
466 static void
467 Field_i_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
468 {
469   uint32 tie_t;
470   tie_t = (val << 31) >> 31;
471   insn[0] = (insn[0] & ~0x800) | (tie_t << 11);
472 }
473
474 static unsigned
475 Field_s_Slot_inst16b_get (const xtensa_insnbuf insn)
476 {
477   unsigned tie_t = 0;
478   tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
479   return tie_t;
480 }
481
482 static void
483 Field_s_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
484 {
485   uint32 tie_t;
486   tie_t = (val << 28) >> 28;
487   insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
488 }
489
490 static unsigned
491 Field_t_Slot_inst16a_get (const xtensa_insnbuf insn)
492 {
493   unsigned tie_t = 0;
494   tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
495   return tie_t;
496 }
497
498 static void
499 Field_t_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
500 {
501   uint32 tie_t;
502   tie_t = (val << 28) >> 28;
503   insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
504 }
505
506 static unsigned
507 Field_bbi4_Slot_inst_get (const xtensa_insnbuf insn)
508 {
509   unsigned tie_t = 0;
510   tie_t = (tie_t << 1) | ((insn[0] << 23) >> 31);
511   return tie_t;
512 }
513
514 static void
515 Field_bbi4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
516 {
517   uint32 tie_t;
518   tie_t = (val << 31) >> 31;
519   insn[0] = (insn[0] & ~0x100) | (tie_t << 8);
520 }
521
522 static unsigned
523 Field_bbi_Slot_inst_get (const xtensa_insnbuf insn)
524 {
525   unsigned tie_t = 0;
526   tie_t = (tie_t << 1) | ((insn[0] << 23) >> 31);
527   tie_t = (tie_t << 4) | ((insn[0] << 12) >> 28);
528   return tie_t;
529 }
530
531 static void
532 Field_bbi_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
533 {
534   uint32 tie_t;
535   tie_t = (val << 28) >> 28;
536   insn[0] = (insn[0] & ~0xf0000) | (tie_t << 16);
537   tie_t = (val << 27) >> 31;
538   insn[0] = (insn[0] & ~0x100) | (tie_t << 8);
539 }
540
541 static unsigned
542 Field_imm12_Slot_inst_get (const xtensa_insnbuf insn)
543 {
544   unsigned tie_t = 0;
545   tie_t = (tie_t << 12) | ((insn[0] << 20) >> 20);
546   return tie_t;
547 }
548
549 static void
550 Field_imm12_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
551 {
552   uint32 tie_t;
553   tie_t = (val << 20) >> 20;
554   insn[0] = (insn[0] & ~0xfff) | (tie_t << 0);
555 }
556
557 static unsigned
558 Field_imm8_Slot_inst_get (const xtensa_insnbuf insn)
559 {
560   unsigned tie_t = 0;
561   tie_t = (tie_t << 8) | ((insn[0] << 24) >> 24);
562   return tie_t;
563 }
564
565 static void
566 Field_imm8_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
567 {
568   uint32 tie_t;
569   tie_t = (val << 24) >> 24;
570   insn[0] = (insn[0] & ~0xff) | (tie_t << 0);
571 }
572
573 static unsigned
574 Field_s_Slot_inst16a_get (const xtensa_insnbuf insn)
575 {
576   unsigned tie_t = 0;
577   tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
578   return tie_t;
579 }
580
581 static void
582 Field_s_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
583 {
584   uint32 tie_t;
585   tie_t = (val << 28) >> 28;
586   insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
587 }
588
589 static unsigned
590 Field_imm12b_Slot_inst_get (const xtensa_insnbuf insn)
591 {
592   unsigned tie_t = 0;
593   tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
594   tie_t = (tie_t << 8) | ((insn[0] << 24) >> 24);
595   return tie_t;
596 }
597
598 static void
599 Field_imm12b_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
600 {
601   uint32 tie_t;
602   tie_t = (val << 24) >> 24;
603   insn[0] = (insn[0] & ~0xff) | (tie_t << 0);
604   tie_t = (val << 20) >> 28;
605   insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
606 }
607
608 static unsigned
609 Field_imm16_Slot_inst_get (const xtensa_insnbuf insn)
610 {
611   unsigned tie_t = 0;
612   tie_t = (tie_t << 16) | ((insn[0] << 16) >> 16);
613   return tie_t;
614 }
615
616 static void
617 Field_imm16_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
618 {
619   uint32 tie_t;
620   tie_t = (val << 16) >> 16;
621   insn[0] = (insn[0] & ~0xffff) | (tie_t << 0);
622 }
623
624 static unsigned
625 Field_offset_Slot_inst_get (const xtensa_insnbuf insn)
626 {
627   unsigned tie_t = 0;
628   tie_t = (tie_t << 18) | ((insn[0] << 14) >> 14);
629   return tie_t;
630 }
631
632 static void
633 Field_offset_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
634 {
635   uint32 tie_t;
636   tie_t = (val << 14) >> 14;
637   insn[0] = (insn[0] & ~0x3ffff) | (tie_t << 0);
638 }
639
640 static unsigned
641 Field_r_Slot_inst16a_get (const xtensa_insnbuf insn)
642 {
643   unsigned tie_t = 0;
644   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
645   return tie_t;
646 }
647
648 static void
649 Field_r_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
650 {
651   uint32 tie_t;
652   tie_t = (val << 28) >> 28;
653   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
654 }
655
656 static unsigned
657 Field_sa4_Slot_inst_get (const xtensa_insnbuf insn)
658 {
659   unsigned tie_t = 0;
660   tie_t = (tie_t << 1) | ((insn[0] << 31) >> 31);
661   return tie_t;
662 }
663
664 static void
665 Field_sa4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
666 {
667   uint32 tie_t;
668   tie_t = (val << 31) >> 31;
669   insn[0] = (insn[0] & ~0x1) | (tie_t << 0);
670 }
671
672 static unsigned
673 Field_sae4_Slot_inst_get (const xtensa_insnbuf insn)
674 {
675   unsigned tie_t = 0;
676   tie_t = (tie_t << 1) | ((insn[0] << 27) >> 31);
677   return tie_t;
678 }
679
680 static void
681 Field_sae4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
682 {
683   uint32 tie_t;
684   tie_t = (val << 31) >> 31;
685   insn[0] = (insn[0] & ~0x10) | (tie_t << 4);
686 }
687
688 static unsigned
689 Field_sae_Slot_inst_get (const xtensa_insnbuf insn)
690 {
691   unsigned tie_t = 0;
692   tie_t = (tie_t << 1) | ((insn[0] << 27) >> 31);
693   tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
694   return tie_t;
695 }
696
697 static void
698 Field_sae_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
699 {
700   uint32 tie_t;
701   tie_t = (val << 28) >> 28;
702   insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
703   tie_t = (val << 27) >> 31;
704   insn[0] = (insn[0] & ~0x10) | (tie_t << 4);
705 }
706
707 static unsigned
708 Field_sal_Slot_inst_get (const xtensa_insnbuf insn)
709 {
710   unsigned tie_t = 0;
711   tie_t = (tie_t << 1) | ((insn[0] << 31) >> 31);
712   tie_t = (tie_t << 4) | ((insn[0] << 12) >> 28);
713   return tie_t;
714 }
715
716 static void
717 Field_sal_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
718 {
719   uint32 tie_t;
720   tie_t = (val << 28) >> 28;
721   insn[0] = (insn[0] & ~0xf0000) | (tie_t << 16);
722   tie_t = (val << 27) >> 31;
723   insn[0] = (insn[0] & ~0x1) | (tie_t << 0);
724 }
725
726 static unsigned
727 Field_sargt_Slot_inst_get (const xtensa_insnbuf insn)
728 {
729   unsigned tie_t = 0;
730   tie_t = (tie_t << 1) | ((insn[0] << 31) >> 31);
731   tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
732   return tie_t;
733 }
734
735 static void
736 Field_sargt_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
737 {
738   uint32 tie_t;
739   tie_t = (val << 28) >> 28;
740   insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
741   tie_t = (val << 27) >> 31;
742   insn[0] = (insn[0] & ~0x1) | (tie_t << 0);
743 }
744
745 static unsigned
746 Field_sas4_Slot_inst_get (const xtensa_insnbuf insn)
747 {
748   unsigned tie_t = 0;
749   tie_t = (tie_t << 1) | ((insn[0] << 15) >> 31);
750   return tie_t;
751 }
752
753 static void
754 Field_sas4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
755 {
756   uint32 tie_t;
757   tie_t = (val << 31) >> 31;
758   insn[0] = (insn[0] & ~0x10000) | (tie_t << 16);
759 }
760
761 static unsigned
762 Field_sas_Slot_inst_get (const xtensa_insnbuf insn)
763 {
764   unsigned tie_t = 0;
765   tie_t = (tie_t << 1) | ((insn[0] << 15) >> 31);
766   tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
767   return tie_t;
768 }
769
770 static void
771 Field_sas_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
772 {
773   uint32 tie_t;
774   tie_t = (val << 28) >> 28;
775   insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
776   tie_t = (val << 27) >> 31;
777   insn[0] = (insn[0] & ~0x10000) | (tie_t << 16);
778 }
779
780 static unsigned
781 Field_sr_Slot_inst16a_get (const xtensa_insnbuf insn)
782 {
783   unsigned tie_t = 0;
784   tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
785   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
786   return tie_t;
787 }
788
789 static void
790 Field_sr_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
791 {
792   uint32 tie_t;
793   tie_t = (val << 28) >> 28;
794   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
795   tie_t = (val << 24) >> 28;
796   insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
797 }
798
799 static unsigned
800 Field_sr_Slot_inst16b_get (const xtensa_insnbuf insn)
801 {
802   unsigned tie_t = 0;
803   tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
804   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
805   return tie_t;
806 }
807
808 static void
809 Field_sr_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
810 {
811   uint32 tie_t;
812   tie_t = (val << 28) >> 28;
813   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
814   tie_t = (val << 24) >> 28;
815   insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
816 }
817
818 static unsigned
819 Field_st_Slot_inst_get (const xtensa_insnbuf insn)
820 {
821   unsigned tie_t = 0;
822   tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
823   tie_t = (tie_t << 4) | ((insn[0] << 12) >> 28);
824   return tie_t;
825 }
826
827 static void
828 Field_st_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
829 {
830   uint32 tie_t;
831   tie_t = (val << 28) >> 28;
832   insn[0] = (insn[0] & ~0xf0000) | (tie_t << 16);
833   tie_t = (val << 24) >> 28;
834   insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
835 }
836
837 static unsigned
838 Field_st_Slot_inst16a_get (const xtensa_insnbuf insn)
839 {
840   unsigned tie_t = 0;
841   tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
842   tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
843   return tie_t;
844 }
845
846 static void
847 Field_st_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
848 {
849   uint32 tie_t;
850   tie_t = (val << 28) >> 28;
851   insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
852   tie_t = (val << 24) >> 28;
853   insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
854 }
855
856 static unsigned
857 Field_st_Slot_inst16b_get (const xtensa_insnbuf insn)
858 {
859   unsigned tie_t = 0;
860   tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
861   tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
862   return tie_t;
863 }
864
865 static void
866 Field_st_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
867 {
868   uint32 tie_t;
869   tie_t = (val << 28) >> 28;
870   insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
871   tie_t = (val << 24) >> 28;
872   insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
873 }
874
875 static unsigned
876 Field_imm4_Slot_inst_get (const xtensa_insnbuf insn)
877 {
878   unsigned tie_t = 0;
879   tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
880   return tie_t;
881 }
882
883 static void
884 Field_imm4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
885 {
886   uint32 tie_t;
887   tie_t = (val << 28) >> 28;
888   insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
889 }
890
891 static unsigned
892 Field_imm4_Slot_inst16a_get (const xtensa_insnbuf insn)
893 {
894   unsigned tie_t = 0;
895   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
896   return tie_t;
897 }
898
899 static void
900 Field_imm4_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
901 {
902   uint32 tie_t;
903   tie_t = (val << 28) >> 28;
904   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
905 }
906
907 static unsigned
908 Field_imm4_Slot_inst16b_get (const xtensa_insnbuf insn)
909 {
910   unsigned tie_t = 0;
911   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
912   return tie_t;
913 }
914
915 static void
916 Field_imm4_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
917 {
918   uint32 tie_t;
919   tie_t = (val << 28) >> 28;
920   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
921 }
922
923 static unsigned
924 Field_mn_Slot_inst_get (const xtensa_insnbuf insn)
925 {
926   unsigned tie_t = 0;
927   tie_t = (tie_t << 2) | ((insn[0] << 12) >> 30);
928   tie_t = (tie_t << 2) | ((insn[0] << 14) >> 30);
929   return tie_t;
930 }
931
932 static void
933 Field_mn_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
934 {
935   uint32 tie_t;
936   tie_t = (val << 30) >> 30;
937   insn[0] = (insn[0] & ~0x30000) | (tie_t << 16);
938   tie_t = (val << 28) >> 30;
939   insn[0] = (insn[0] & ~0xc0000) | (tie_t << 18);
940 }
941
942 static unsigned
943 Field_i_Slot_inst16a_get (const xtensa_insnbuf insn)
944 {
945   unsigned tie_t = 0;
946   tie_t = (tie_t << 1) | ((insn[0] << 20) >> 31);
947   return tie_t;
948 }
949
950 static void
951 Field_i_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
952 {
953   uint32 tie_t;
954   tie_t = (val << 31) >> 31;
955   insn[0] = (insn[0] & ~0x800) | (tie_t << 11);
956 }
957
958 static unsigned
959 Field_imm6lo_Slot_inst16a_get (const xtensa_insnbuf insn)
960 {
961   unsigned tie_t = 0;
962   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
963   return tie_t;
964 }
965
966 static void
967 Field_imm6lo_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
968 {
969   uint32 tie_t;
970   tie_t = (val << 28) >> 28;
971   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
972 }
973
974 static unsigned
975 Field_imm6lo_Slot_inst16b_get (const xtensa_insnbuf insn)
976 {
977   unsigned tie_t = 0;
978   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
979   return tie_t;
980 }
981
982 static void
983 Field_imm6lo_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
984 {
985   uint32 tie_t;
986   tie_t = (val << 28) >> 28;
987   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
988 }
989
990 static unsigned
991 Field_imm6hi_Slot_inst16a_get (const xtensa_insnbuf insn)
992 {
993   unsigned tie_t = 0;
994   tie_t = (tie_t << 2) | ((insn[0] << 22) >> 30);
995   return tie_t;
996 }
997
998 static void
999 Field_imm6hi_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
1000 {
1001   uint32 tie_t;
1002   tie_t = (val << 30) >> 30;
1003   insn[0] = (insn[0] & ~0x300) | (tie_t << 8);
1004 }
1005
1006 static unsigned
1007 Field_imm6hi_Slot_inst16b_get (const xtensa_insnbuf insn)
1008 {
1009   unsigned tie_t = 0;
1010   tie_t = (tie_t << 2) | ((insn[0] << 22) >> 30);
1011   return tie_t;
1012 }
1013
1014 static void
1015 Field_imm6hi_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
1016 {
1017   uint32 tie_t;
1018   tie_t = (val << 30) >> 30;
1019   insn[0] = (insn[0] & ~0x300) | (tie_t << 8);
1020 }
1021
1022 static unsigned
1023 Field_imm7lo_Slot_inst16a_get (const xtensa_insnbuf insn)
1024 {
1025   unsigned tie_t = 0;
1026   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
1027   return tie_t;
1028 }
1029
1030 static void
1031 Field_imm7lo_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
1032 {
1033   uint32 tie_t;
1034   tie_t = (val << 28) >> 28;
1035   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
1036 }
1037
1038 static unsigned
1039 Field_imm7lo_Slot_inst16b_get (const xtensa_insnbuf insn)
1040 {
1041   unsigned tie_t = 0;
1042   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
1043   return tie_t;
1044 }
1045
1046 static void
1047 Field_imm7lo_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
1048 {
1049   uint32 tie_t;
1050   tie_t = (val << 28) >> 28;
1051   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
1052 }
1053
1054 static unsigned
1055 Field_imm7hi_Slot_inst16a_get (const xtensa_insnbuf insn)
1056 {
1057   unsigned tie_t = 0;
1058   tie_t = (tie_t << 3) | ((insn[0] << 21) >> 29);
1059   return tie_t;
1060 }
1061
1062 static void
1063 Field_imm7hi_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
1064 {
1065   uint32 tie_t;
1066   tie_t = (val << 29) >> 29;
1067   insn[0] = (insn[0] & ~0x700) | (tie_t << 8);
1068 }
1069
1070 static unsigned
1071 Field_imm7hi_Slot_inst16b_get (const xtensa_insnbuf insn)
1072 {
1073   unsigned tie_t = 0;
1074   tie_t = (tie_t << 3) | ((insn[0] << 21) >> 29);
1075   return tie_t;
1076 }
1077
1078 static void
1079 Field_imm7hi_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
1080 {
1081   uint32 tie_t;
1082   tie_t = (val << 29) >> 29;
1083   insn[0] = (insn[0] & ~0x700) | (tie_t << 8);
1084 }
1085
1086 static unsigned
1087 Field_z_Slot_inst16a_get (const xtensa_insnbuf insn)
1088 {
1089   unsigned tie_t = 0;
1090   tie_t = (tie_t << 1) | ((insn[0] << 21) >> 31);
1091   return tie_t;
1092 }
1093
1094 static void
1095 Field_z_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
1096 {
1097   uint32 tie_t;
1098   tie_t = (val << 31) >> 31;
1099   insn[0] = (insn[0] & ~0x400) | (tie_t << 10);
1100 }
1101
1102 static unsigned
1103 Field_imm6_Slot_inst16a_get (const xtensa_insnbuf insn)
1104 {
1105   unsigned tie_t = 0;
1106   tie_t = (tie_t << 2) | ((insn[0] << 22) >> 30);
1107   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
1108   return tie_t;
1109 }
1110
1111 static void
1112 Field_imm6_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
1113 {
1114   uint32 tie_t;
1115   tie_t = (val << 28) >> 28;
1116   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
1117   tie_t = (val << 26) >> 30;
1118   insn[0] = (insn[0] & ~0x300) | (tie_t << 8);
1119 }
1120
1121 static unsigned
1122 Field_imm6_Slot_inst16b_get (const xtensa_insnbuf insn)
1123 {
1124   unsigned tie_t = 0;
1125   tie_t = (tie_t << 2) | ((insn[0] << 22) >> 30);
1126   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
1127   return tie_t;
1128 }
1129
1130 static void
1131 Field_imm6_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
1132 {
1133   uint32 tie_t;
1134   tie_t = (val << 28) >> 28;
1135   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
1136   tie_t = (val << 26) >> 30;
1137   insn[0] = (insn[0] & ~0x300) | (tie_t << 8);
1138 }
1139
1140 static unsigned
1141 Field_imm7_Slot_inst16a_get (const xtensa_insnbuf insn)
1142 {
1143   unsigned tie_t = 0;
1144   tie_t = (tie_t << 3) | ((insn[0] << 21) >> 29);
1145   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
1146   return tie_t;
1147 }
1148
1149 static void
1150 Field_imm7_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
1151 {
1152   uint32 tie_t;
1153   tie_t = (val << 28) >> 28;
1154   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
1155   tie_t = (val << 25) >> 29;
1156   insn[0] = (insn[0] & ~0x700) | (tie_t << 8);
1157 }
1158
1159 static unsigned
1160 Field_imm7_Slot_inst16b_get (const xtensa_insnbuf insn)
1161 {
1162   unsigned tie_t = 0;
1163   tie_t = (tie_t << 3) | ((insn[0] << 21) >> 29);
1164   tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
1165   return tie_t;
1166 }
1167
1168 static void
1169 Field_imm7_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
1170 {
1171   uint32 tie_t;
1172   tie_t = (val << 28) >> 28;
1173   insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
1174   tie_t = (val << 25) >> 29;
1175   insn[0] = (insn[0] & ~0x700) | (tie_t << 8);
1176 }
1177
1178 static void
1179 Implicit_Field_set (xtensa_insnbuf insn ATTRIBUTE_UNUSED,
1180                     uint32 val ATTRIBUTE_UNUSED)
1181 {
1182   /* Do nothing.  */
1183 }
1184
1185 static unsigned
1186 Implicit_Field_ar0_get (const xtensa_insnbuf insn ATTRIBUTE_UNUSED)
1187 {
1188   return 0;
1189 }
1190
1191 static unsigned
1192 Implicit_Field_ar4_get (const xtensa_insnbuf insn ATTRIBUTE_UNUSED)
1193 {
1194   return 4;
1195 }
1196
1197 static unsigned
1198 Implicit_Field_ar8_get (const xtensa_insnbuf insn ATTRIBUTE_UNUSED)
1199 {
1200   return 8;
1201 }
1202
1203 static unsigned
1204 Implicit_Field_ar12_get (const xtensa_insnbuf insn ATTRIBUTE_UNUSED)
1205 {
1206   return 12;
1207 }
1208
1209 \f
1210 /* Functional units.  */
1211
1212 static xtensa_funcUnit_internal funcUnits[] = {
1213
1214 };
1215
1216 \f
1217 /* Register files.  */
1218
1219 static xtensa_regfile_internal regfiles[] = {
1220   { "AR", "a", 0, 32, 64 }
1221 };
1222
1223 \f
1224 /* Interfaces.  */
1225
1226 static xtensa_interface_internal interfaces[] = {
1227
1228 };
1229
1230 \f
1231 /* Constant tables.  */
1232
1233 /* constant table ai4c */
1234 static const unsigned CONST_TBL_ai4c_0[] = {
1235   0xffffffff,
1236   0x1,
1237   0x2,
1238   0x3,
1239   0x4,
1240   0x5,
1241   0x6,
1242   0x7,
1243   0x8,
1244   0x9,
1245   0xa,
1246   0xb,
1247   0xc,
1248   0xd,
1249   0xe,
1250   0xf,
1251   0
1252 };
1253
1254 /* constant table b4c */
1255 static const unsigned CONST_TBL_b4c_0[] = {
1256   0xffffffff,
1257   0x1,
1258   0x2,
1259   0x3,
1260   0x4,
1261   0x5,
1262   0x6,
1263   0x7,
1264   0x8,
1265   0xa,
1266   0xc,
1267   0x10,
1268   0x20,
1269   0x40,
1270   0x80,
1271   0x100,
1272   0
1273 };
1274
1275 /* constant table b4cu */
1276 static const unsigned CONST_TBL_b4cu_0[] = {
1277   0x8000,
1278   0x10000,
1279   0x2,
1280   0x3,
1281   0x4,
1282   0x5,
1283   0x6,
1284   0x7,
1285   0x8,
1286   0xa,
1287   0xc,
1288   0x10,
1289   0x20,
1290   0x40,
1291   0x80,
1292   0x100,
1293   0
1294 };
1295
1296 \f
1297 /* Instruction operands.  */
1298
1299 static int
1300 Operand_soffsetx4_decode (uint32 *valp)
1301 {
1302   unsigned soffsetx4_0, offset_0;
1303   offset_0 = *valp & 0x3ffff;
1304   soffsetx4_0 = 0x4 + ((((int) offset_0 << 14) >> 14) << 2);
1305   *valp = soffsetx4_0;
1306   return 0;
1307 }
1308
1309 static int
1310 Operand_soffsetx4_encode (uint32 *valp)
1311 {
1312   unsigned offset_0, soffsetx4_0;
1313   soffsetx4_0 = *valp;
1314   offset_0 = ((soffsetx4_0 - 0x4) >> 2) & 0x3ffff;
1315   *valp = offset_0;
1316   return 0;
1317 }
1318
1319 static int
1320 Operand_soffsetx4_ator (uint32 *valp, uint32 pc)
1321 {
1322   *valp -= (pc & ~0x3);
1323   return 0;
1324 }
1325
1326 static int
1327 Operand_soffsetx4_rtoa (uint32 *valp, uint32 pc)
1328 {
1329   *valp += (pc & ~0x3);
1330   return 0;
1331 }
1332
1333 static int
1334 Operand_uimm12x8_decode (uint32 *valp)
1335 {
1336   unsigned uimm12x8_0, imm12_0;
1337   imm12_0 = *valp & 0xfff;
1338   uimm12x8_0 = imm12_0 << 3;
1339   *valp = uimm12x8_0;
1340   return 0;
1341 }
1342
1343 static int
1344 Operand_uimm12x8_encode (uint32 *valp)
1345 {
1346   unsigned imm12_0, uimm12x8_0;
1347   uimm12x8_0 = *valp;
1348   imm12_0 = ((uimm12x8_0 >> 3) & 0xfff);
1349   *valp = imm12_0;
1350   return 0;
1351 }
1352
1353 static int
1354 Operand_simm4_decode (uint32 *valp)
1355 {
1356   unsigned simm4_0, mn_0;
1357   mn_0 = *valp & 0xf;
1358   simm4_0 = ((int) mn_0 << 28) >> 28;
1359   *valp = simm4_0;
1360   return 0;
1361 }
1362
1363 static int
1364 Operand_simm4_encode (uint32 *valp)
1365 {
1366   unsigned mn_0, simm4_0;
1367   simm4_0 = *valp;
1368   mn_0 = (simm4_0 & 0xf);
1369   *valp = mn_0;
1370   return 0;
1371 }
1372
1373 static int
1374 Operand_arr_decode (uint32 *valp ATTRIBUTE_UNUSED)
1375 {
1376   return 0;
1377 }
1378
1379 static int
1380 Operand_arr_encode (uint32 *valp)
1381 {
1382   return (*valp & ~0xf) != 0;
1383 }
1384
1385 static int
1386 Operand_ars_decode (uint32 *valp ATTRIBUTE_UNUSED)
1387 {
1388   return 0;
1389 }
1390
1391 static int
1392 Operand_ars_encode (uint32 *valp)
1393 {
1394   return (*valp & ~0xf) != 0;
1395 }
1396
1397 static int
1398 Operand_art_decode (uint32 *valp ATTRIBUTE_UNUSED)
1399 {
1400   return 0;
1401 }
1402
1403 static int
1404 Operand_art_encode (uint32 *valp)
1405 {
1406   return (*valp & ~0xf) != 0;
1407 }
1408
1409 static int
1410 Operand_ar0_decode (uint32 *valp ATTRIBUTE_UNUSED)
1411 {
1412   return 0;
1413 }
1414
1415 static int
1416 Operand_ar0_encode (uint32 *valp)
1417 {
1418   return (*valp & ~0x3f) != 0;
1419 }
1420
1421 static int
1422 Operand_ar4_decode (uint32 *valp ATTRIBUTE_UNUSED)
1423 {
1424   return 0;
1425 }
1426
1427 static int
1428 Operand_ar4_encode (uint32 *valp)
1429 {
1430   return (*valp & ~0x3f) != 0;
1431 }
1432
1433 static int
1434 Operand_ar8_decode (uint32 *valp ATTRIBUTE_UNUSED)
1435 {
1436   return 0;
1437 }
1438
1439 static int
1440 Operand_ar8_encode (uint32 *valp)
1441 {
1442   return (*valp & ~0x3f) != 0;
1443 }
1444
1445 static int
1446 Operand_ar12_decode (uint32 *valp ATTRIBUTE_UNUSED)
1447 {
1448   return 0;
1449 }
1450
1451 static int
1452 Operand_ar12_encode (uint32 *valp)
1453 {
1454   return (*valp & ~0x3f) != 0;
1455 }
1456
1457 static int
1458 Operand_ars_entry_decode (uint32 *valp ATTRIBUTE_UNUSED)
1459 {
1460   return 0;
1461 }
1462
1463 static int
1464 Operand_ars_entry_encode (uint32 *valp)
1465 {
1466   return (*valp & ~0x3f) != 0;
1467 }
1468
1469 static int
1470 Operand_immrx4_decode (uint32 *valp)
1471 {
1472   unsigned immrx4_0, r_0;
1473   r_0 = *valp & 0xf;
1474   immrx4_0 = ((((0xfffffff)) << 4) | r_0) << 2;
1475   *valp = immrx4_0;
1476   return 0;
1477 }
1478
1479 static int
1480 Operand_immrx4_encode (uint32 *valp)
1481 {
1482   unsigned r_0, immrx4_0;
1483   immrx4_0 = *valp;
1484   r_0 = ((immrx4_0 >> 2) & 0xf);
1485   *valp = r_0;
1486   return 0;
1487 }
1488
1489 static int
1490 Operand_lsi4x4_decode (uint32 *valp)
1491 {
1492   unsigned lsi4x4_0, r_0;
1493   r_0 = *valp & 0xf;
1494   lsi4x4_0 = r_0 << 2;
1495   *valp = lsi4x4_0;
1496   return 0;
1497 }
1498
1499 static int
1500 Operand_lsi4x4_encode (uint32 *valp)
1501 {
1502   unsigned r_0, lsi4x4_0;
1503   lsi4x4_0 = *valp;
1504   r_0 = ((lsi4x4_0 >> 2) & 0xf);
1505   *valp = r_0;
1506   return 0;
1507 }
1508
1509 static int
1510 Operand_simm7_decode (uint32 *valp)
1511 {
1512   unsigned simm7_0, imm7_0;
1513   imm7_0 = *valp & 0x7f;
1514   simm7_0 = ((((-((((imm7_0 >> 6) & 1)) & (((imm7_0 >> 5) & 1)))) & 0x1ffffff)) << 7) | imm7_0;
1515   *valp = simm7_0;
1516   return 0;
1517 }
1518
1519 static int
1520 Operand_simm7_encode (uint32 *valp)
1521 {
1522   unsigned imm7_0, simm7_0;
1523   simm7_0 = *valp;
1524   imm7_0 = (simm7_0 & 0x7f);
1525   *valp = imm7_0;
1526   return 0;
1527 }
1528
1529 static int
1530 Operand_uimm6_decode (uint32 *valp)
1531 {
1532   unsigned uimm6_0, imm6_0;
1533   imm6_0 = *valp & 0x3f;
1534   uimm6_0 = 0x4 + ((((0)) << 6) | imm6_0);
1535   *valp = uimm6_0;
1536   return 0;
1537 }
1538
1539 static int
1540 Operand_uimm6_encode (uint32 *valp)
1541 {
1542   unsigned imm6_0, uimm6_0;
1543   uimm6_0 = *valp;
1544   imm6_0 = (uimm6_0 - 0x4) & 0x3f;
1545   *valp = imm6_0;
1546   return 0;
1547 }
1548
1549 static int
1550 Operand_uimm6_ator (uint32 *valp, uint32 pc)
1551 {
1552   *valp -= pc;
1553   return 0;
1554 }
1555
1556 static int
1557 Operand_uimm6_rtoa (uint32 *valp, uint32 pc)
1558 {
1559   *valp += pc;
1560   return 0;
1561 }
1562
1563 static int
1564 Operand_ai4const_decode (uint32 *valp)
1565 {
1566   unsigned ai4const_0, t_0;
1567   t_0 = *valp & 0xf;
1568   ai4const_0 = CONST_TBL_ai4c_0[t_0 & 0xf];
1569   *valp = ai4const_0;
1570   return 0;
1571 }
1572
1573 static int
1574 Operand_ai4const_encode (uint32 *valp)
1575 {
1576   unsigned t_0, ai4const_0;
1577   ai4const_0 = *valp;
1578   switch (ai4const_0)
1579     {
1580     case 0xffffffff: t_0 = 0; break;
1581     case 0x1: t_0 = 0x1; break;
1582     case 0x2: t_0 = 0x2; break;
1583     case 0x3: t_0 = 0x3; break;
1584     case 0x4: t_0 = 0x4; break;
1585     case 0x5: t_0 = 0x5; break;
1586     case 0x6: t_0 = 0x6; break;
1587     case 0x7: t_0 = 0x7; break;
1588     case 0x8: t_0 = 0x8; break;
1589     case 0x9: t_0 = 0x9; break;
1590     case 0xa: t_0 = 0xa; break;
1591     case 0xb: t_0 = 0xb; break;
1592     case 0xc: t_0 = 0xc; break;
1593     case 0xd: t_0 = 0xd; break;
1594     case 0xe: t_0 = 0xe; break;
1595     default: t_0 = 0xf; break;
1596     }
1597   *valp = t_0;
1598   return 0;
1599 }
1600
1601 static int
1602 Operand_b4const_decode (uint32 *valp)
1603 {
1604   unsigned b4const_0, r_0;
1605   r_0 = *valp & 0xf;
1606   b4const_0 = CONST_TBL_b4c_0[r_0 & 0xf];
1607   *valp = b4const_0;
1608   return 0;
1609 }
1610
1611 static int
1612 Operand_b4const_encode (uint32 *valp)
1613 {
1614   unsigned r_0, b4const_0;
1615   b4const_0 = *valp;
1616   switch (b4const_0)
1617     {
1618     case 0xffffffff: r_0 = 0; break;
1619     case 0x1: r_0 = 0x1; break;
1620     case 0x2: r_0 = 0x2; break;
1621     case 0x3: r_0 = 0x3; break;
1622     case 0x4: r_0 = 0x4; break;
1623     case 0x5: r_0 = 0x5; break;
1624     case 0x6: r_0 = 0x6; break;
1625     case 0x7: r_0 = 0x7; break;
1626     case 0x8: r_0 = 0x8; break;
1627     case 0xa: r_0 = 0x9; break;
1628     case 0xc: r_0 = 0xa; break;
1629     case 0x10: r_0 = 0xb; break;
1630     case 0x20: r_0 = 0xc; break;
1631     case 0x40: r_0 = 0xd; break;
1632     case 0x80: r_0 = 0xe; break;
1633     default: r_0 = 0xf; break;
1634     }
1635   *valp = r_0;
1636   return 0;
1637 }
1638
1639 static int
1640 Operand_b4constu_decode (uint32 *valp)
1641 {
1642   unsigned b4constu_0, r_0;
1643   r_0 = *valp & 0xf;
1644   b4constu_0 = CONST_TBL_b4cu_0[r_0 & 0xf];
1645   *valp = b4constu_0;
1646   return 0;
1647 }
1648
1649 static int
1650 Operand_b4constu_encode (uint32 *valp)
1651 {
1652   unsigned r_0, b4constu_0;
1653   b4constu_0 = *valp;
1654   switch (b4constu_0)
1655     {
1656     case 0x8000: r_0 = 0; break;
1657     case 0x10000: r_0 = 0x1; break;
1658     case 0x2: r_0 = 0x2; break;
1659     case 0x3: r_0 = 0x3; break;
1660     case 0x4: r_0 = 0x4; break;
1661     case 0x5: r_0 = 0x5; break;
1662     case 0x6: r_0 = 0x6; break;
1663     case 0x7: r_0 = 0x7; break;
1664     case 0x8: r_0 = 0x8; break;
1665     case 0xa: r_0 = 0x9; break;
1666     case 0xc: r_0 = 0xa; break;
1667     case 0x10: r_0 = 0xb; break;
1668     case 0x20: r_0 = 0xc; break;
1669     case 0x40: r_0 = 0xd; break;
1670     case 0x80: r_0 = 0xe; break;
1671     default: r_0 = 0xf; break;
1672     }
1673   *valp = r_0;
1674   return 0;
1675 }
1676
1677 static int
1678 Operand_uimm8_decode (uint32 *valp)
1679 {
1680   unsigned uimm8_0, imm8_0;
1681   imm8_0 = *valp & 0xff;
1682   uimm8_0 = imm8_0;
1683   *valp = uimm8_0;
1684   return 0;
1685 }
1686
1687 static int
1688 Operand_uimm8_encode (uint32 *valp)
1689 {
1690   unsigned imm8_0, uimm8_0;
1691   uimm8_0 = *valp;
1692   imm8_0 = (uimm8_0 & 0xff);
1693   *valp = imm8_0;
1694   return 0;
1695 }
1696
1697 static int
1698 Operand_uimm8x2_decode (uint32 *valp)
1699 {
1700   unsigned uimm8x2_0, imm8_0;
1701   imm8_0 = *valp & 0xff;
1702   uimm8x2_0 = imm8_0 << 1;
1703   *valp = uimm8x2_0;
1704   return 0;
1705 }
1706
1707 static int
1708 Operand_uimm8x2_encode (uint32 *valp)
1709 {
1710   unsigned imm8_0, uimm8x2_0;
1711   uimm8x2_0 = *valp;
1712   imm8_0 = ((uimm8x2_0 >> 1) & 0xff);
1713   *valp = imm8_0;
1714   return 0;
1715 }
1716
1717 static int
1718 Operand_uimm8x4_decode (uint32 *valp)
1719 {
1720   unsigned uimm8x4_0, imm8_0;
1721   imm8_0 = *valp & 0xff;
1722   uimm8x4_0 = imm8_0 << 2;
1723   *valp = uimm8x4_0;
1724   return 0;
1725 }
1726
1727 static int
1728 Operand_uimm8x4_encode (uint32 *valp)
1729 {
1730   unsigned imm8_0, uimm8x4_0;
1731   uimm8x4_0 = *valp;
1732   imm8_0 = ((uimm8x4_0 >> 2) & 0xff);
1733   *valp = imm8_0;
1734   return 0;
1735 }
1736
1737 static int
1738 Operand_uimm4x16_decode (uint32 *valp)
1739 {
1740   unsigned uimm4x16_0, op2_0;
1741   op2_0 = *valp & 0xf;
1742   uimm4x16_0 = op2_0 << 4;
1743   *valp = uimm4x16_0;
1744   return 0;
1745 }
1746
1747 static int
1748 Operand_uimm4x16_encode (uint32 *valp)
1749 {
1750   unsigned op2_0, uimm4x16_0;
1751   uimm4x16_0 = *valp;
1752   op2_0 = ((uimm4x16_0 >> 4) & 0xf);
1753   *valp = op2_0;
1754   return 0;
1755 }
1756
1757 static int
1758 Operand_simm8_decode (uint32 *valp)
1759 {
1760   unsigned simm8_0, imm8_0;
1761   imm8_0 = *valp & 0xff;
1762   simm8_0 = ((int) imm8_0 << 24) >> 24;
1763   *valp = simm8_0;
1764   return 0;
1765 }
1766
1767 static int
1768 Operand_simm8_encode (uint32 *valp)
1769 {
1770   unsigned imm8_0, simm8_0;
1771   simm8_0 = *valp;
1772   imm8_0 = (simm8_0 & 0xff);
1773   *valp = imm8_0;
1774   return 0;
1775 }
1776
1777 static int
1778 Operand_simm8x256_decode (uint32 *valp)
1779 {
1780   unsigned simm8x256_0, imm8_0;
1781   imm8_0 = *valp & 0xff;
1782   simm8x256_0 = (((int) imm8_0 << 24) >> 24) << 8;
1783   *valp = simm8x256_0;
1784   return 0;
1785 }
1786
1787 static int
1788 Operand_simm8x256_encode (uint32 *valp)
1789 {
1790   unsigned imm8_0, simm8x256_0;
1791   simm8x256_0 = *valp;
1792   imm8_0 = ((simm8x256_0 >> 8) & 0xff);
1793   *valp = imm8_0;
1794   return 0;
1795 }
1796
1797 static int
1798 Operand_simm12b_decode (uint32 *valp)
1799 {
1800   unsigned simm12b_0, imm12b_0;
1801   imm12b_0 = *valp & 0xfff;
1802   simm12b_0 = ((int) imm12b_0 << 20) >> 20;
1803   *valp = simm12b_0;
1804   return 0;
1805 }
1806
1807 static int
1808 Operand_simm12b_encode (uint32 *valp)
1809 {
1810   unsigned imm12b_0, simm12b_0;
1811   simm12b_0 = *valp;
1812   imm12b_0 = (simm12b_0 & 0xfff);
1813   *valp = imm12b_0;
1814   return 0;
1815 }
1816
1817 static int
1818 Operand_msalp32_decode (uint32 *valp)
1819 {
1820   unsigned msalp32_0, sal_0;
1821   sal_0 = *valp & 0x1f;
1822   msalp32_0 = 0x20 - sal_0;
1823   *valp = msalp32_0;
1824   return 0;
1825 }
1826
1827 static int
1828 Operand_msalp32_encode (uint32 *valp)
1829 {
1830   unsigned sal_0, msalp32_0;
1831   msalp32_0 = *valp;
1832   sal_0 = (0x20 - msalp32_0) & 0x1f;
1833   *valp = sal_0;
1834   return 0;
1835 }
1836
1837 static int
1838 Operand_op2p1_decode (uint32 *valp)
1839 {
1840   unsigned op2p1_0, op2_0;
1841   op2_0 = *valp & 0xf;
1842   op2p1_0 = op2_0 + 0x1;
1843   *valp = op2p1_0;
1844   return 0;
1845 }
1846
1847 static int
1848 Operand_op2p1_encode (uint32 *valp)
1849 {
1850   unsigned op2_0, op2p1_0;
1851   op2p1_0 = *valp;
1852   op2_0 = (op2p1_0 - 0x1) & 0xf;
1853   *valp = op2_0;
1854   return 0;
1855 }
1856
1857 static int
1858 Operand_label8_decode (uint32 *valp)
1859 {
1860   unsigned label8_0, imm8_0;
1861   imm8_0 = *valp & 0xff;
1862   label8_0 = 0x4 + (((int) imm8_0 << 24) >> 24);
1863   *valp = label8_0;
1864   return 0;
1865 }
1866
1867 static int
1868 Operand_label8_encode (uint32 *valp)
1869 {
1870   unsigned imm8_0, label8_0;
1871   label8_0 = *valp;
1872   imm8_0 = (label8_0 - 0x4) & 0xff;
1873   *valp = imm8_0;
1874   return 0;
1875 }
1876
1877 static int
1878 Operand_label8_ator (uint32 *valp, uint32 pc)
1879 {
1880   *valp -= pc;
1881   return 0;
1882 }
1883
1884 static int
1885 Operand_label8_rtoa (uint32 *valp, uint32 pc)
1886 {
1887   *valp += pc;
1888   return 0;
1889 }
1890
1891 static int
1892 Operand_ulabel8_decode (uint32 *valp)
1893 {
1894   unsigned ulabel8_0, imm8_0;
1895   imm8_0 = *valp & 0xff;
1896   ulabel8_0 = 0x4 + ((((0)) << 8) | imm8_0);
1897   *valp = ulabel8_0;
1898   return 0;
1899 }
1900
1901 static int
1902 Operand_ulabel8_encode (uint32 *valp)
1903 {
1904   unsigned imm8_0, ulabel8_0;
1905   ulabel8_0 = *valp;
1906   imm8_0 = (ulabel8_0 - 0x4) & 0xff;
1907   *valp = imm8_0;
1908   return 0;
1909 }
1910
1911 static int
1912 Operand_ulabel8_ator (uint32 *valp, uint32 pc)
1913 {
1914   *valp -= pc;
1915   return 0;
1916 }
1917
1918 static int
1919 Operand_ulabel8_rtoa (uint32 *valp, uint32 pc)
1920 {
1921   *valp += pc;
1922   return 0;
1923 }
1924
1925 static int
1926 Operand_label12_decode (uint32 *valp)
1927 {
1928   unsigned label12_0, imm12_0;
1929   imm12_0 = *valp & 0xfff;
1930   label12_0 = 0x4 + (((int) imm12_0 << 20) >> 20);
1931   *valp = label12_0;
1932   return 0;
1933 }
1934
1935 static int
1936 Operand_label12_encode (uint32 *valp)
1937 {
1938   unsigned imm12_0, label12_0;
1939   label12_0 = *valp;
1940   imm12_0 = (label12_0 - 0x4) & 0xfff;
1941   *valp = imm12_0;
1942   return 0;
1943 }
1944
1945 static int
1946 Operand_label12_ator (uint32 *valp, uint32 pc)
1947 {
1948   *valp -= pc;
1949   return 0;
1950 }
1951
1952 static int
1953 Operand_label12_rtoa (uint32 *valp, uint32 pc)
1954 {
1955   *valp += pc;
1956   return 0;
1957 }
1958
1959 static int
1960 Operand_soffset_decode (uint32 *valp)
1961 {
1962   unsigned soffset_0, offset_0;
1963   offset_0 = *valp & 0x3ffff;
1964   soffset_0 = 0x4 + (((int) offset_0 << 14) >> 14);
1965   *valp = soffset_0;
1966   return 0;
1967 }
1968
1969 static int
1970 Operand_soffset_encode (uint32 *valp)
1971 {
1972   unsigned offset_0, soffset_0;
1973   soffset_0 = *valp;
1974   offset_0 = (soffset_0 - 0x4) & 0x3ffff;
1975   *valp = offset_0;
1976   return 0;
1977 }
1978
1979 static int
1980 Operand_soffset_ator (uint32 *valp, uint32 pc)
1981 {
1982   *valp -= pc;
1983   return 0;
1984 }
1985
1986 static int
1987 Operand_soffset_rtoa (uint32 *valp, uint32 pc)
1988 {
1989   *valp += pc;
1990   return 0;
1991 }
1992
1993 static int
1994 Operand_uimm16x4_decode (uint32 *valp)
1995 {
1996   unsigned uimm16x4_0, imm16_0;
1997   imm16_0 = *valp & 0xffff;
1998   uimm16x4_0 = ((((0xffff)) << 16) | imm16_0) << 2;
1999   *valp = uimm16x4_0;
2000   return 0;
2001 }
2002
2003 static int
2004 Operand_uimm16x4_encode (uint32 *valp)
2005 {
2006   unsigned imm16_0, uimm16x4_0;
2007   uimm16x4_0 = *valp;
2008   imm16_0 = (uimm16x4_0 >> 2) & 0xffff;
2009   *valp = imm16_0;
2010   return 0;
2011 }
2012
2013 static int
2014 Operand_uimm16x4_ator (uint32 *valp, uint32 pc)
2015 {
2016   *valp -= ((pc + 3) & ~0x3);
2017   return 0;
2018 }
2019
2020 static int
2021 Operand_uimm16x4_rtoa (uint32 *valp, uint32 pc)
2022 {
2023   *valp += ((pc + 3) & ~0x3);
2024   return 0;
2025 }
2026
2027 static int
2028 Operand_immt_decode (uint32 *valp)
2029 {
2030   unsigned immt_0, t_0;
2031   t_0 = *valp & 0xf;
2032   immt_0 = t_0;
2033   *valp = immt_0;
2034   return 0;
2035 }
2036
2037 static int
2038 Operand_immt_encode (uint32 *valp)
2039 {
2040   unsigned t_0, immt_0;
2041   immt_0 = *valp;
2042   t_0 = immt_0 & 0xf;
2043   *valp = t_0;
2044   return 0;
2045 }
2046
2047 static int
2048 Operand_imms_decode (uint32 *valp)
2049 {
2050   unsigned imms_0, s_0;
2051   s_0 = *valp & 0xf;
2052   imms_0 = s_0;
2053   *valp = imms_0;
2054   return 0;
2055 }
2056
2057 static int
2058 Operand_imms_encode (uint32 *valp)
2059 {
2060   unsigned s_0, imms_0;
2061   imms_0 = *valp;
2062   s_0 = imms_0 & 0xf;
2063   *valp = s_0;
2064   return 0;
2065 }
2066
2067 static xtensa_operand_internal operands[] = {
2068   { "soffsetx4", 10, -1, 0,
2069     XTENSA_OPERAND_IS_PCRELATIVE,
2070     Operand_soffsetx4_encode, Operand_soffsetx4_decode,
2071     Operand_soffsetx4_ator, Operand_soffsetx4_rtoa },
2072   { "uimm12x8", 3, -1, 0,
2073     0,
2074     Operand_uimm12x8_encode, Operand_uimm12x8_decode,
2075     0, 0 },
2076   { "simm4", 26, -1, 0,
2077     0,
2078     Operand_simm4_encode, Operand_simm4_decode,
2079     0, 0 },
2080   { "arr", 14, 0, 1,
2081     XTENSA_OPERAND_IS_REGISTER,
2082     Operand_arr_encode, Operand_arr_decode,
2083     0, 0 },
2084   { "ars", 5, 0, 1,
2085     XTENSA_OPERAND_IS_REGISTER,
2086     Operand_ars_encode, Operand_ars_decode,
2087     0, 0 },
2088   { "*ars_invisible", 5, 0, 1,
2089     XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE,
2090     Operand_ars_encode, Operand_ars_decode,
2091     0, 0 },
2092   { "art", 0, 0, 1,
2093     XTENSA_OPERAND_IS_REGISTER,
2094     Operand_art_encode, Operand_art_decode,
2095     0, 0 },
2096   { "ar0", 35, 0, 1,
2097     XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE,
2098     Operand_ar0_encode, Operand_ar0_decode,
2099     0, 0 },
2100   { "ar4", 36, 0, 1,
2101     XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE,
2102     Operand_ar4_encode, Operand_ar4_decode,
2103     0, 0 },
2104   { "ar8", 37, 0, 1,
2105     XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE,
2106     Operand_ar8_encode, Operand_ar8_decode,
2107     0, 0 },
2108   { "ar12", 38, 0, 1,
2109     XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE,
2110     Operand_ar12_encode, Operand_ar12_decode,
2111     0, 0 },
2112   { "ars_entry", 5, 0, 1,
2113     XTENSA_OPERAND_IS_REGISTER,
2114     Operand_ars_entry_encode, Operand_ars_entry_decode,
2115     0, 0 },
2116   { "immrx4", 14, -1, 0,
2117     0,
2118     Operand_immrx4_encode, Operand_immrx4_decode,
2119     0, 0 },
2120   { "lsi4x4", 14, -1, 0,
2121     0,
2122     Operand_lsi4x4_encode, Operand_lsi4x4_decode,
2123     0, 0 },
2124   { "simm7", 34, -1, 0,
2125     0,
2126     Operand_simm7_encode, Operand_simm7_decode,
2127     0, 0 },
2128   { "uimm6", 33, -1, 0,
2129     XTENSA_OPERAND_IS_PCRELATIVE,
2130     Operand_uimm6_encode, Operand_uimm6_decode,
2131     Operand_uimm6_ator, Operand_uimm6_rtoa },
2132   { "ai4const", 0, -1, 0,
2133     0,
2134     Operand_ai4const_encode, Operand_ai4const_decode,
2135     0, 0 },
2136   { "b4const", 14, -1, 0,
2137     0,
2138     Operand_b4const_encode, Operand_b4const_decode,
2139     0, 0 },
2140   { "b4constu", 14, -1, 0,
2141     0,
2142     Operand_b4constu_encode, Operand_b4constu_decode,
2143     0, 0 },
2144   { "uimm8", 4, -1, 0,
2145     0,
2146     Operand_uimm8_encode, Operand_uimm8_decode,
2147     0, 0 },
2148   { "uimm8x2", 4, -1, 0,
2149     0,
2150     Operand_uimm8x2_encode, Operand_uimm8x2_decode,
2151     0, 0 },
2152   { "uimm8x4", 4, -1, 0,
2153     0,
2154     Operand_uimm8x4_encode, Operand_uimm8x4_decode,
2155     0, 0 },
2156   { "uimm4x16", 13, -1, 0,
2157     0,
2158     Operand_uimm4x16_encode, Operand_uimm4x16_decode,
2159     0, 0 },
2160   { "simm8", 4, -1, 0,
2161     0,
2162     Operand_simm8_encode, Operand_simm8_decode,
2163     0, 0 },
2164   { "simm8x256", 4, -1, 0,
2165     0,
2166     Operand_simm8x256_encode, Operand_simm8x256_decode,
2167     0, 0 },
2168   { "simm12b", 6, -1, 0,
2169     0,
2170     Operand_simm12b_encode, Operand_simm12b_decode,
2171     0, 0 },
2172   { "msalp32", 18, -1, 0,
2173     0,
2174     Operand_msalp32_encode, Operand_msalp32_decode,
2175     0, 0 },
2176   { "op2p1", 13, -1, 0,
2177     0,
2178     Operand_op2p1_encode, Operand_op2p1_decode,
2179     0, 0 },
2180   { "label8", 4, -1, 0,
2181     XTENSA_OPERAND_IS_PCRELATIVE,
2182     Operand_label8_encode, Operand_label8_decode,
2183     Operand_label8_ator, Operand_label8_rtoa },
2184   { "ulabel8", 4, -1, 0,
2185     XTENSA_OPERAND_IS_PCRELATIVE,
2186     Operand_ulabel8_encode, Operand_ulabel8_decode,
2187     Operand_ulabel8_ator, Operand_ulabel8_rtoa },
2188   { "label12", 3, -1, 0,
2189     XTENSA_OPERAND_IS_PCRELATIVE,
2190     Operand_label12_encode, Operand_label12_decode,
2191     Operand_label12_ator, Operand_label12_rtoa },
2192   { "soffset", 10, -1, 0,
2193     XTENSA_OPERAND_IS_PCRELATIVE,
2194     Operand_soffset_encode, Operand_soffset_decode,
2195     Operand_soffset_ator, Operand_soffset_rtoa },
2196   { "uimm16x4", 7, -1, 0,
2197     XTENSA_OPERAND_IS_PCRELATIVE,
2198     Operand_uimm16x4_encode, Operand_uimm16x4_decode,
2199     Operand_uimm16x4_ator, Operand_uimm16x4_rtoa },
2200   { "immt", 0, -1, 0,
2201     0,
2202     Operand_immt_encode, Operand_immt_decode,
2203     0, 0 },
2204   { "imms", 5, -1, 0,
2205     0,
2206     Operand_imms_encode, Operand_imms_decode,
2207     0, 0 },
2208   { "t", 0, -1, 0, 0, 0, 0, 0, 0 },
2209   { "bbi4", 1, -1, 0, 0, 0, 0, 0, 0 },
2210   { "bbi", 2, -1, 0, 0, 0, 0, 0, 0 },
2211   { "imm12", 3, -1, 0, 0, 0, 0, 0, 0 },
2212   { "imm8", 4, -1, 0, 0, 0, 0, 0, 0 },
2213   { "s", 5, -1, 0, 0, 0, 0, 0, 0 },
2214   { "imm12b", 6, -1, 0, 0, 0, 0, 0, 0 },
2215   { "imm16", 7, -1, 0, 0, 0, 0, 0, 0 },
2216   { "m", 8, -1, 0, 0, 0, 0, 0, 0 },
2217   { "n", 9, -1, 0, 0, 0, 0, 0, 0 },
2218   { "offset", 10, -1, 0, 0, 0, 0, 0, 0 },
2219   { "op0", 11, -1, 0, 0, 0, 0, 0, 0 },
2220   { "op1", 12, -1, 0, 0, 0, 0, 0, 0 },
2221   { "op2", 13, -1, 0, 0, 0, 0, 0, 0 },
2222   { "r", 14, -1, 0, 0, 0, 0, 0, 0 },
2223   { "sa4", 15, -1, 0, 0, 0, 0, 0, 0 },
2224   { "sae4", 16, -1, 0, 0, 0, 0, 0, 0 },
2225   { "sae", 17, -1, 0, 0, 0, 0, 0, 0 },
2226   { "sal", 18, -1, 0, 0, 0, 0, 0, 0 },
2227   { "sargt", 19, -1, 0, 0, 0, 0, 0, 0 },
2228   { "sas4", 20, -1, 0, 0, 0, 0, 0, 0 },
2229   { "sas", 21, -1, 0, 0, 0, 0, 0, 0 },
2230   { "sr", 22, -1, 0, 0, 0, 0, 0, 0 },
2231   { "st", 23, -1, 0, 0, 0, 0, 0, 0 },
2232   { "thi3", 24, -1, 0, 0, 0, 0, 0, 0 },
2233   { "imm4", 25, -1, 0, 0, 0, 0, 0, 0 },
2234   { "mn", 26, -1, 0, 0, 0, 0, 0, 0 },
2235   { "i", 27, -1, 0, 0, 0, 0, 0, 0 },
2236   { "imm6lo", 28, -1, 0, 0, 0, 0, 0, 0 },
2237   { "imm6hi", 29, -1, 0, 0, 0, 0, 0, 0 },
2238   { "imm7lo", 30, -1, 0, 0, 0, 0, 0, 0 },
2239   { "imm7hi", 31, -1, 0, 0, 0, 0, 0, 0 },
2240   { "z", 32, -1, 0, 0, 0, 0, 0, 0 },
2241   { "imm6", 33, -1, 0, 0, 0, 0, 0, 0 },
2242   { "imm7", 34, -1, 0, 0, 0, 0, 0, 0 }
2243 };
2244
2245 \f
2246 /* Iclass table.  */
2247
2248 static xtensa_arg_internal Iclass_xt_iclass_rfe_stateArgs[] = {
2249   { { STATE_PSRING }, 'i' },
2250   { { STATE_PSEXCM }, 'm' },
2251   { { STATE_EPC1 }, 'i' }
2252 };
2253
2254 static xtensa_arg_internal Iclass_xt_iclass_rfde_stateArgs[] = {
2255   { { STATE_PSEXCM }, 'i' },
2256   { { STATE_PSRING }, 'i' },
2257   { { STATE_DEPC }, 'i' }
2258 };
2259
2260 static xtensa_arg_internal Iclass_xt_iclass_call12_args[] = {
2261   { { 0 /* soffsetx4 */ }, 'i' },
2262   { { 10 /* ar12 */ }, 'o' }
2263 };
2264
2265 static xtensa_arg_internal Iclass_xt_iclass_call12_stateArgs[] = {
2266   { { STATE_PSCALLINC }, 'o' }
2267 };
2268
2269 static xtensa_arg_internal Iclass_xt_iclass_call8_args[] = {
2270   { { 0 /* soffsetx4 */ }, 'i' },
2271   { { 9 /* ar8 */ }, 'o' }
2272 };
2273
2274 static xtensa_arg_internal Iclass_xt_iclass_call8_stateArgs[] = {
2275   { { STATE_PSCALLINC }, 'o' }
2276 };
2277
2278 static xtensa_arg_internal Iclass_xt_iclass_call4_args[] = {
2279   { { 0 /* soffsetx4 */ }, 'i' },
2280   { { 8 /* ar4 */ }, 'o' }
2281 };
2282
2283 static xtensa_arg_internal Iclass_xt_iclass_call4_stateArgs[] = {
2284   { { STATE_PSCALLINC }, 'o' }
2285 };
2286
2287 static xtensa_arg_internal Iclass_xt_iclass_callx12_args[] = {
2288   { { 4 /* ars */ }, 'i' },
2289   { { 10 /* ar12 */ }, 'o' }
2290 };
2291
2292 static xtensa_arg_internal Iclass_xt_iclass_callx12_stateArgs[] = {
2293   { { STATE_PSCALLINC }, 'o' }
2294 };
2295
2296 static xtensa_arg_internal Iclass_xt_iclass_callx8_args[] = {
2297   { { 4 /* ars */ }, 'i' },
2298   { { 9 /* ar8 */ }, 'o' }
2299 };
2300
2301 static xtensa_arg_internal Iclass_xt_iclass_callx8_stateArgs[] = {
2302   { { STATE_PSCALLINC }, 'o' }
2303 };
2304
2305 static xtensa_arg_internal Iclass_xt_iclass_callx4_args[] = {
2306   { { 4 /* ars */ }, 'i' },
2307   { { 8 /* ar4 */ }, 'o' }
2308 };
2309
2310 static xtensa_arg_internal Iclass_xt_iclass_callx4_stateArgs[] = {
2311   { { STATE_PSCALLINC }, 'o' }
2312 };
2313
2314 static xtensa_arg_internal Iclass_xt_iclass_entry_args[] = {
2315   { { 11 /* ars_entry */ }, 's' },
2316   { { 4 /* ars */ }, 'i' },
2317   { { 1 /* uimm12x8 */ }, 'i' }
2318 };
2319
2320 static xtensa_arg_internal Iclass_xt_iclass_entry_stateArgs[] = {
2321   { { STATE_PSCALLINC }, 'i' },
2322   { { STATE_PSEXCM }, 'i' },
2323   { { STATE_PSWOE }, 'i' },
2324   { { STATE_WindowBase }, 'm' },
2325   { { STATE_WindowStart }, 'm' }
2326 };
2327
2328 static xtensa_arg_internal Iclass_xt_iclass_movsp_args[] = {
2329   { { 6 /* art */ }, 'o' },
2330   { { 4 /* ars */ }, 'i' }
2331 };
2332
2333 static xtensa_arg_internal Iclass_xt_iclass_movsp_stateArgs[] = {
2334   { { STATE_WindowBase }, 'i' },
2335   { { STATE_WindowStart }, 'i' }
2336 };
2337
2338 static xtensa_arg_internal Iclass_xt_iclass_rotw_args[] = {
2339   { { 2 /* simm4 */ }, 'i' }
2340 };
2341
2342 static xtensa_arg_internal Iclass_xt_iclass_rotw_stateArgs[] = {
2343   { { STATE_PSEXCM }, 'i' },
2344   { { STATE_PSRING }, 'i' },
2345   { { STATE_WindowBase }, 'm' }
2346 };
2347
2348 static xtensa_arg_internal Iclass_xt_iclass_retw_args[] = {
2349   { { 5 /* *ars_invisible */ }, 'i' }
2350 };
2351
2352 static xtensa_arg_internal Iclass_xt_iclass_retw_stateArgs[] = {
2353   { { STATE_WindowBase }, 'm' },
2354   { { STATE_WindowStart }, 'm' },
2355   { { STATE_PSEXCM }, 'i' },
2356   { { STATE_PSWOE }, 'i' }
2357 };
2358
2359 static xtensa_arg_internal Iclass_xt_iclass_rfwou_stateArgs[] = {
2360   { { STATE_EPC1 }, 'i' },
2361   { { STATE_PSEXCM }, 'm' },
2362   { { STATE_PSRING }, 'i' },
2363   { { STATE_WindowBase }, 'm' },
2364   { { STATE_WindowStart }, 'm' },
2365   { { STATE_PSOWB }, 'i' }
2366 };
2367
2368 static xtensa_arg_internal Iclass_xt_iclass_l32e_args[] = {
2369   { { 6 /* art */ }, 'o' },
2370   { { 4 /* ars */ }, 'i' },
2371   { { 12 /* immrx4 */ }, 'i' }
2372 };
2373
2374 static xtensa_arg_internal Iclass_xt_iclass_l32e_stateArgs[] = {
2375   { { STATE_PSEXCM }, 'i' },
2376   { { STATE_PSRING }, 'i' }
2377 };
2378
2379 static xtensa_arg_internal Iclass_xt_iclass_s32e_args[] = {
2380   { { 6 /* art */ }, 'i' },
2381   { { 4 /* ars */ }, 'i' },
2382   { { 12 /* immrx4 */ }, 'i' }
2383 };
2384
2385 static xtensa_arg_internal Iclass_xt_iclass_s32e_stateArgs[] = {
2386   { { STATE_PSEXCM }, 'i' },
2387   { { STATE_PSRING }, 'i' }
2388 };
2389
2390 static xtensa_arg_internal Iclass_xt_iclass_rsr_windowbase_args[] = {
2391   { { 6 /* art */ }, 'o' }
2392 };
2393
2394 static xtensa_arg_internal Iclass_xt_iclass_rsr_windowbase_stateArgs[] = {
2395   { { STATE_PSEXCM }, 'i' },
2396   { { STATE_PSRING }, 'i' },
2397   { { STATE_WindowBase }, 'i' }
2398 };
2399
2400 static xtensa_arg_internal Iclass_xt_iclass_wsr_windowbase_args[] = {
2401   { { 6 /* art */ }, 'i' }
2402 };
2403
2404 static xtensa_arg_internal Iclass_xt_iclass_wsr_windowbase_stateArgs[] = {
2405   { { STATE_PSEXCM }, 'i' },
2406   { { STATE_PSRING }, 'i' },
2407   { { STATE_WindowBase }, 'o' }
2408 };
2409
2410 static xtensa_arg_internal Iclass_xt_iclass_xsr_windowbase_args[] = {
2411   { { 6 /* art */ }, 'm' }
2412 };
2413
2414 static xtensa_arg_internal Iclass_xt_iclass_xsr_windowbase_stateArgs[] = {
2415   { { STATE_PSEXCM }, 'i' },
2416   { { STATE_PSRING }, 'i' },
2417   { { STATE_WindowBase }, 'm' }
2418 };
2419
2420 static xtensa_arg_internal Iclass_xt_iclass_rsr_windowstart_args[] = {
2421   { { 6 /* art */ }, 'o' }
2422 };
2423
2424 static xtensa_arg_internal Iclass_xt_iclass_rsr_windowstart_stateArgs[] = {
2425   { { STATE_PSEXCM }, 'i' },
2426   { { STATE_PSRING }, 'i' },
2427   { { STATE_WindowStart }, 'i' }
2428 };
2429
2430 static xtensa_arg_internal Iclass_xt_iclass_wsr_windowstart_args[] = {
2431   { { 6 /* art */ }, 'i' }
2432 };
2433
2434 static xtensa_arg_internal Iclass_xt_iclass_wsr_windowstart_stateArgs[] = {
2435   { { STATE_PSEXCM }, 'i' },
2436   { { STATE_PSRING }, 'i' },
2437   { { STATE_WindowStart }, 'o' }
2438 };
2439
2440 static xtensa_arg_internal Iclass_xt_iclass_xsr_windowstart_args[] = {
2441   { { 6 /* art */ }, 'm' }
2442 };
2443
2444 static xtensa_arg_internal Iclass_xt_iclass_xsr_windowstart_stateArgs[] = {
2445   { { STATE_PSEXCM }, 'i' },
2446   { { STATE_PSRING }, 'i' },
2447   { { STATE_WindowStart }, 'm' }
2448 };
2449
2450 static xtensa_arg_internal Iclass_xt_iclass_add_n_args[] = {
2451   { { 3 /* arr */ }, 'o' },
2452   { { 4 /* ars */ }, 'i' },
2453   { { 6 /* art */ }, 'i' }
2454 };
2455
2456 static xtensa_arg_internal Iclass_xt_iclass_addi_n_args[] = {
2457   { { 3 /* arr */ }, 'o' },
2458   { { 4 /* ars */ }, 'i' },
2459   { { 16 /* ai4const */ }, 'i' }
2460 };
2461
2462 static xtensa_arg_internal Iclass_xt_iclass_bz6_args[] = {
2463   { { 4 /* ars */ }, 'i' },
2464   { { 15 /* uimm6 */ }, 'i' }
2465 };
2466
2467 static xtensa_arg_internal Iclass_xt_iclass_loadi4_args[] = {
2468   { { 6 /* art */ }, 'o' },
2469   { { 4 /* ars */ }, 'i' },
2470   { { 13 /* lsi4x4 */ }, 'i' }
2471 };
2472
2473 static xtensa_arg_internal Iclass_xt_iclass_mov_n_args[] = {
2474   { { 6 /* art */ }, 'o' },
2475   { { 4 /* ars */ }, 'i' }
2476 };
2477
2478 static xtensa_arg_internal Iclass_xt_iclass_movi_n_args[] = {
2479   { { 4 /* ars */ }, 'o' },
2480   { { 14 /* simm7 */ }, 'i' }
2481 };
2482
2483 static xtensa_arg_internal Iclass_xt_iclass_retn_args[] = {
2484   { { 5 /* *ars_invisible */ }, 'i' }
2485 };
2486
2487 static xtensa_arg_internal Iclass_xt_iclass_storei4_args[] = {
2488   { { 6 /* art */ }, 'i' },
2489   { { 4 /* ars */ }, 'i' },
2490   { { 13 /* lsi4x4 */ }, 'i' }
2491 };
2492
2493 static xtensa_arg_internal Iclass_xt_iclass_addi_args[] = {
2494   { { 6 /* art */ }, 'o' },
2495   { { 4 /* ars */ }, 'i' },
2496   { { 23 /* simm8 */ }, 'i' }
2497 };
2498
2499 static xtensa_arg_internal Iclass_xt_iclass_addmi_args[] = {
2500   { { 6 /* art */ }, 'o' },
2501   { { 4 /* ars */ }, 'i' },
2502   { { 24 /* simm8x256 */ }, 'i' }
2503 };
2504
2505 static xtensa_arg_internal Iclass_xt_iclass_addsub_args[] = {
2506   { { 3 /* arr */ }, 'o' },
2507   { { 4 /* ars */ }, 'i' },
2508   { { 6 /* art */ }, 'i' }
2509 };
2510
2511 static xtensa_arg_internal Iclass_xt_iclass_bit_args[] = {
2512   { { 3 /* arr */ }, 'o' },
2513   { { 4 /* ars */ }, 'i' },
2514   { { 6 /* art */ }, 'i' }
2515 };
2516
2517 static xtensa_arg_internal Iclass_xt_iclass_bsi8_args[] = {
2518   { { 4 /* ars */ }, 'i' },
2519   { { 17 /* b4const */ }, 'i' },
2520   { { 28 /* label8 */ }, 'i' }
2521 };
2522
2523 static xtensa_arg_internal Iclass_xt_iclass_bsi8b_args[] = {
2524   { { 4 /* ars */ }, 'i' },
2525   { { 37 /* bbi */ }, 'i' },
2526   { { 28 /* label8 */ }, 'i' }
2527 };
2528
2529 static xtensa_arg_internal Iclass_xt_iclass_bsi8u_args[] = {
2530   { { 4 /* ars */ }, 'i' },
2531   { { 18 /* b4constu */ }, 'i' },
2532   { { 28 /* label8 */ }, 'i' }
2533 };
2534
2535 static xtensa_arg_internal Iclass_xt_iclass_bst8_args[] = {
2536   { { 4 /* ars */ }, 'i' },
2537   { { 6 /* art */ }, 'i' },
2538   { { 28 /* label8 */ }, 'i' }
2539 };
2540
2541 static xtensa_arg_internal Iclass_xt_iclass_bsz12_args[] = {
2542   { { 4 /* ars */ }, 'i' },
2543   { { 30 /* label12 */ }, 'i' }
2544 };
2545
2546 static xtensa_arg_internal Iclass_xt_iclass_call0_args[] = {
2547   { { 0 /* soffsetx4 */ }, 'i' },
2548   { { 7 /* ar0 */ }, 'o' }
2549 };
2550
2551 static xtensa_arg_internal Iclass_xt_iclass_callx0_args[] = {
2552   { { 4 /* ars */ }, 'i' },
2553   { { 7 /* ar0 */ }, 'o' }
2554 };
2555
2556 static xtensa_arg_internal Iclass_xt_iclass_exti_args[] = {
2557   { { 3 /* arr */ }, 'o' },
2558   { { 6 /* art */ }, 'i' },
2559   { { 52 /* sae */ }, 'i' },
2560   { { 27 /* op2p1 */ }, 'i' }
2561 };
2562
2563 static xtensa_arg_internal Iclass_xt_iclass_jump_args[] = {
2564   { { 31 /* soffset */ }, 'i' }
2565 };
2566
2567 static xtensa_arg_internal Iclass_xt_iclass_jumpx_args[] = {
2568   { { 4 /* ars */ }, 'i' }
2569 };
2570
2571 static xtensa_arg_internal Iclass_xt_iclass_l16ui_args[] = {
2572   { { 6 /* art */ }, 'o' },
2573   { { 4 /* ars */ }, 'i' },
2574   { { 20 /* uimm8x2 */ }, 'i' }
2575 };
2576
2577 static xtensa_arg_internal Iclass_xt_iclass_l16si_args[] = {
2578   { { 6 /* art */ }, 'o' },
2579   { { 4 /* ars */ }, 'i' },
2580   { { 20 /* uimm8x2 */ }, 'i' }
2581 };
2582
2583 static xtensa_arg_internal Iclass_xt_iclass_l32i_args[] = {
2584   { { 6 /* art */ }, 'o' },
2585   { { 4 /* ars */ }, 'i' },
2586   { { 21 /* uimm8x4 */ }, 'i' }
2587 };
2588
2589 static xtensa_arg_internal Iclass_xt_iclass_l32r_args[] = {
2590   { { 6 /* art */ }, 'o' },
2591   { { 32 /* uimm16x4 */ }, 'i' }
2592 };
2593
2594 static xtensa_arg_internal Iclass_xt_iclass_l32r_stateArgs[] = {
2595   { { STATE_LITBADDR }, 'i' },
2596   { { STATE_LITBEN }, 'i' }
2597 };
2598
2599 static xtensa_arg_internal Iclass_xt_iclass_l8i_args[] = {
2600   { { 6 /* art */ }, 'o' },
2601   { { 4 /* ars */ }, 'i' },
2602   { { 19 /* uimm8 */ }, 'i' }
2603 };
2604
2605 static xtensa_arg_internal Iclass_xt_iclass_loop_args[] = {
2606   { { 4 /* ars */ }, 'i' },
2607   { { 29 /* ulabel8 */ }, 'i' }
2608 };
2609
2610 static xtensa_arg_internal Iclass_xt_iclass_loop_stateArgs[] = {
2611   { { STATE_LBEG }, 'o' },
2612   { { STATE_LEND }, 'o' },
2613   { { STATE_LCOUNT }, 'o' }
2614 };
2615
2616 static xtensa_arg_internal Iclass_xt_iclass_loopz_args[] = {
2617   { { 4 /* ars */ }, 'i' },
2618   { { 29 /* ulabel8 */ }, 'i' }
2619 };
2620
2621 static xtensa_arg_internal Iclass_xt_iclass_loopz_stateArgs[] = {
2622   { { STATE_LBEG }, 'o' },
2623   { { STATE_LEND }, 'o' },
2624   { { STATE_LCOUNT }, 'o' }
2625 };
2626
2627 static xtensa_arg_internal Iclass_xt_iclass_movi_args[] = {
2628   { { 6 /* art */ }, 'o' },
2629   { { 25 /* simm12b */ }, 'i' }
2630 };
2631
2632 static xtensa_arg_internal Iclass_xt_iclass_movz_args[] = {
2633   { { 3 /* arr */ }, 'm' },
2634   { { 4 /* ars */ }, 'i' },
2635   { { 6 /* art */ }, 'i' }
2636 };
2637
2638 static xtensa_arg_internal Iclass_xt_iclass_neg_args[] = {
2639   { { 3 /* arr */ }, 'o' },
2640   { { 6 /* art */ }, 'i' }
2641 };
2642
2643 static xtensa_arg_internal Iclass_xt_iclass_return_args[] = {
2644   { { 5 /* *ars_invisible */ }, 'i' }
2645 };
2646
2647 static xtensa_arg_internal Iclass_xt_iclass_s16i_args[] = {
2648   { { 6 /* art */ }, 'i' },
2649   { { 4 /* ars */ }, 'i' },
2650   { { 20 /* uimm8x2 */ }, 'i' }
2651 };
2652
2653 static xtensa_arg_internal Iclass_xt_iclass_s32i_args[] = {
2654   { { 6 /* art */ }, 'i' },
2655   { { 4 /* ars */ }, 'i' },
2656   { { 21 /* uimm8x4 */ }, 'i' }
2657 };
2658
2659 static xtensa_arg_internal Iclass_xt_iclass_s8i_args[] = {
2660   { { 6 /* art */ }, 'i' },
2661   { { 4 /* ars */ }, 'i' },
2662   { { 19 /* uimm8 */ }, 'i' }
2663 };
2664
2665 static xtensa_arg_internal Iclass_xt_iclass_sar_args[] = {
2666   { { 4 /* ars */ }, 'i' }
2667 };
2668
2669 static xtensa_arg_internal Iclass_xt_iclass_sar_stateArgs[] = {
2670   { { STATE_SAR }, 'o' }
2671 };
2672
2673 static xtensa_arg_internal Iclass_xt_iclass_sari_args[] = {
2674   { { 56 /* sas */ }, 'i' }
2675 };
2676
2677 static xtensa_arg_internal Iclass_xt_iclass_sari_stateArgs[] = {
2678   { { STATE_SAR }, 'o' }
2679 };
2680
2681 static xtensa_arg_internal Iclass_xt_iclass_shifts_args[] = {
2682   { { 3 /* arr */ }, 'o' },
2683   { { 4 /* ars */ }, 'i' }
2684 };
2685
2686 static xtensa_arg_internal Iclass_xt_iclass_shifts_stateArgs[] = {
2687   { { STATE_SAR }, 'i' }
2688 };
2689
2690 static xtensa_arg_internal Iclass_xt_iclass_shiftst_args[] = {
2691   { { 3 /* arr */ }, 'o' },
2692   { { 4 /* ars */ }, 'i' },
2693   { { 6 /* art */ }, 'i' }
2694 };
2695
2696 static xtensa_arg_internal Iclass_xt_iclass_shiftst_stateArgs[] = {
2697   { { STATE_SAR }, 'i' }
2698 };
2699
2700 static xtensa_arg_internal Iclass_xt_iclass_shiftt_args[] = {
2701   { { 3 /* arr */ }, 'o' },
2702   { { 6 /* art */ }, 'i' }
2703 };
2704
2705 static xtensa_arg_internal Iclass_xt_iclass_shiftt_stateArgs[] = {
2706   { { STATE_SAR }, 'i' }
2707 };
2708
2709 static xtensa_arg_internal Iclass_xt_iclass_slli_args[] = {
2710   { { 3 /* arr */ }, 'o' },
2711   { { 4 /* ars */ }, 'i' },
2712   { { 26 /* msalp32 */ }, 'i' }
2713 };
2714
2715 static xtensa_arg_internal Iclass_xt_iclass_srai_args[] = {
2716   { { 3 /* arr */ }, 'o' },
2717   { { 6 /* art */ }, 'i' },
2718   { { 54 /* sargt */ }, 'i' }
2719 };
2720
2721 static xtensa_arg_internal Iclass_xt_iclass_srli_args[] = {
2722   { { 3 /* arr */ }, 'o' },
2723   { { 6 /* art */ }, 'i' },
2724   { { 40 /* s */ }, 'i' }
2725 };
2726
2727 static xtensa_arg_internal Iclass_xt_iclass_sync_stateArgs[] = {
2728   { { STATE_XTSYNC }, 'i' }
2729 };
2730
2731 static xtensa_arg_internal Iclass_xt_iclass_rsil_args[] = {
2732   { { 6 /* art */ }, 'o' },
2733   { { 40 /* s */ }, 'i' }
2734 };
2735
2736 static xtensa_arg_internal Iclass_xt_iclass_rsil_stateArgs[] = {
2737   { { STATE_PSWOE }, 'i' },
2738   { { STATE_PSCALLINC }, 'i' },
2739   { { STATE_PSOWB }, 'i' },
2740   { { STATE_PSRING }, 'i' },
2741   { { STATE_PSUM }, 'i' },
2742   { { STATE_PSEXCM }, 'i' },
2743   { { STATE_PSINTLEVEL }, 'm' }
2744 };
2745
2746 static xtensa_arg_internal Iclass_xt_iclass_rsr_lend_args[] = {
2747   { { 6 /* art */ }, 'o' }
2748 };
2749
2750 static xtensa_arg_internal Iclass_xt_iclass_rsr_lend_stateArgs[] = {
2751   { { STATE_LEND }, 'i' }
2752 };
2753
2754 static xtensa_arg_internal Iclass_xt_iclass_wsr_lend_args[] = {
2755   { { 6 /* art */ }, 'i' }
2756 };
2757
2758 static xtensa_arg_internal Iclass_xt_iclass_wsr_lend_stateArgs[] = {
2759   { { STATE_LEND }, 'o' }
2760 };
2761
2762 static xtensa_arg_internal Iclass_xt_iclass_xsr_lend_args[] = {
2763   { { 6 /* art */ }, 'm' }
2764 };
2765
2766 static xtensa_arg_internal Iclass_xt_iclass_xsr_lend_stateArgs[] = {
2767   { { STATE_LEND }, 'm' }
2768 };
2769
2770 static xtensa_arg_internal Iclass_xt_iclass_rsr_lcount_args[] = {
2771   { { 6 /* art */ }, 'o' }
2772 };
2773
2774 static xtensa_arg_internal Iclass_xt_iclass_rsr_lcount_stateArgs[] = {
2775   { { STATE_LCOUNT }, 'i' }
2776 };
2777
2778 static xtensa_arg_internal Iclass_xt_iclass_wsr_lcount_args[] = {
2779   { { 6 /* art */ }, 'i' }
2780 };
2781
2782 static xtensa_arg_internal Iclass_xt_iclass_wsr_lcount_stateArgs[] = {
2783   { { STATE_XTSYNC }, 'o' },
2784   { { STATE_LCOUNT }, 'o' }
2785 };
2786
2787 static xtensa_arg_internal Iclass_xt_iclass_xsr_lcount_args[] = {
2788   { { 6 /* art */ }, 'm' }
2789 };
2790
2791 static xtensa_arg_internal Iclass_xt_iclass_xsr_lcount_stateArgs[] = {
2792   { { STATE_XTSYNC }, 'o' },
2793   { { STATE_LCOUNT }, 'm' }
2794 };
2795
2796 static xtensa_arg_internal Iclass_xt_iclass_rsr_lbeg_args[] = {
2797   { { 6 /* art */ }, 'o' }
2798 };
2799
2800 static xtensa_arg_internal Iclass_xt_iclass_rsr_lbeg_stateArgs[] = {
2801   { { STATE_LBEG }, 'i' }
2802 };
2803
2804 static xtensa_arg_internal Iclass_xt_iclass_wsr_lbeg_args[] = {
2805   { { 6 /* art */ }, 'i' }
2806 };
2807
2808 static xtensa_arg_internal Iclass_xt_iclass_wsr_lbeg_stateArgs[] = {
2809   { { STATE_LBEG }, 'o' }
2810 };
2811
2812 static xtensa_arg_internal Iclass_xt_iclass_xsr_lbeg_args[] = {
2813   { { 6 /* art */ }, 'm' }
2814 };
2815
2816 static xtensa_arg_internal Iclass_xt_iclass_xsr_lbeg_stateArgs[] = {
2817   { { STATE_LBEG }, 'm' }
2818 };
2819
2820 static xtensa_arg_internal Iclass_xt_iclass_rsr_sar_args[] = {
2821   { { 6 /* art */ }, 'o' }
2822 };
2823
2824 static xtensa_arg_internal Iclass_xt_iclass_rsr_sar_stateArgs[] = {
2825   { { STATE_SAR }, 'i' }
2826 };
2827
2828 static xtensa_arg_internal Iclass_xt_iclass_wsr_sar_args[] = {
2829   { { 6 /* art */ }, 'i' }
2830 };
2831
2832 static xtensa_arg_internal Iclass_xt_iclass_wsr_sar_stateArgs[] = {
2833   { { STATE_SAR }, 'o' },
2834   { { STATE_XTSYNC }, 'o' }
2835 };
2836
2837 static xtensa_arg_internal Iclass_xt_iclass_xsr_sar_args[] = {
2838   { { 6 /* art */ }, 'm' }
2839 };
2840
2841 static xtensa_arg_internal Iclass_xt_iclass_xsr_sar_stateArgs[] = {
2842   { { STATE_SAR }, 'm' }
2843 };
2844
2845 static xtensa_arg_internal Iclass_xt_iclass_rsr_litbase_args[] = {
2846   { { 6 /* art */ }, 'o' }
2847 };
2848
2849 static xtensa_arg_internal Iclass_xt_iclass_rsr_litbase_stateArgs[] = {
2850   { { STATE_LITBADDR }, 'i' },
2851   { { STATE_LITBEN }, 'i' }
2852 };
2853
2854 static xtensa_arg_internal Iclass_xt_iclass_wsr_litbase_args[] = {
2855   { { 6 /* art */ }, 'i' }
2856 };
2857
2858 static xtensa_arg_internal Iclass_xt_iclass_wsr_litbase_stateArgs[] = {
2859   { { STATE_LITBADDR }, 'o' },
2860   { { STATE_LITBEN }, 'o' }
2861 };
2862
2863 static xtensa_arg_internal Iclass_xt_iclass_xsr_litbase_args[] = {
2864   { { 6 /* art */ }, 'm' }
2865 };
2866
2867 static xtensa_arg_internal Iclass_xt_iclass_xsr_litbase_stateArgs[] = {
2868   { { STATE_LITBADDR }, 'm' },
2869   { { STATE_LITBEN }, 'm' }
2870 };
2871
2872 static xtensa_arg_internal Iclass_xt_iclass_rsr_176_args[] = {
2873   { { 6 /* art */ }, 'o' }
2874 };
2875
2876 static xtensa_arg_internal Iclass_xt_iclass_rsr_176_stateArgs[] = {
2877   { { STATE_PSEXCM }, 'i' },
2878   { { STATE_PSRING }, 'i' }
2879 };
2880
2881 static xtensa_arg_internal Iclass_xt_iclass_rsr_208_args[] = {
2882   { { 6 /* art */ }, 'o' }
2883 };
2884
2885 static xtensa_arg_internal Iclass_xt_iclass_rsr_208_stateArgs[] = {
2886   { { STATE_PSEXCM }, 'i' },
2887   { { STATE_PSRING }, 'i' }
2888 };
2889
2890 static xtensa_arg_internal Iclass_xt_iclass_rsr_ps_args[] = {
2891   { { 6 /* art */ }, 'o' }
2892 };
2893
2894 static xtensa_arg_internal Iclass_xt_iclass_rsr_ps_stateArgs[] = {
2895   { { STATE_PSWOE }, 'i' },
2896   { { STATE_PSCALLINC }, 'i' },
2897   { { STATE_PSOWB }, 'i' },
2898   { { STATE_PSRING }, 'i' },
2899   { { STATE_PSUM }, 'i' },
2900   { { STATE_PSEXCM }, 'i' },
2901   { { STATE_PSINTLEVEL }, 'i' }
2902 };
2903
2904 static xtensa_arg_internal Iclass_xt_iclass_wsr_ps_args[] = {
2905   { { 6 /* art */ }, 'i' }
2906 };
2907
2908 static xtensa_arg_internal Iclass_xt_iclass_wsr_ps_stateArgs[] = {
2909   { { STATE_PSWOE }, 'o' },
2910   { { STATE_PSCALLINC }, 'o' },
2911   { { STATE_PSOWB }, 'o' },
2912   { { STATE_PSRING }, 'm' },
2913   { { STATE_PSUM }, 'o' },
2914   { { STATE_PSEXCM }, 'm' },
2915   { { STATE_PSINTLEVEL }, 'o' }
2916 };
2917
2918 static xtensa_arg_internal Iclass_xt_iclass_xsr_ps_args[] = {
2919   { { 6 /* art */ }, 'm' }
2920 };
2921
2922 static xtensa_arg_internal Iclass_xt_iclass_xsr_ps_stateArgs[] = {
2923   { { STATE_PSWOE }, 'm' },
2924   { { STATE_PSCALLINC }, 'm' },
2925   { { STATE_PSOWB }, 'm' },
2926   { { STATE_PSRING }, 'm' },
2927   { { STATE_PSUM }, 'm' },
2928   { { STATE_PSEXCM }, 'm' },
2929   { { STATE_PSINTLEVEL }, 'm' }
2930 };
2931
2932 static xtensa_arg_internal Iclass_xt_iclass_rsr_epc1_args[] = {
2933   { { 6 /* art */ }, 'o' }
2934 };
2935
2936 static xtensa_arg_internal Iclass_xt_iclass_rsr_epc1_stateArgs[] = {
2937   { { STATE_PSEXCM }, 'i' },
2938   { { STATE_PSRING }, 'i' },
2939   { { STATE_EPC1 }, 'i' }
2940 };
2941
2942 static xtensa_arg_internal Iclass_xt_iclass_wsr_epc1_args[] = {
2943   { { 6 /* art */ }, 'i' }
2944 };
2945
2946 static xtensa_arg_internal Iclass_xt_iclass_wsr_epc1_stateArgs[] = {
2947   { { STATE_PSEXCM }, 'i' },
2948   { { STATE_PSRING }, 'i' },
2949   { { STATE_EPC1 }, 'o' }
2950 };
2951
2952 static xtensa_arg_internal Iclass_xt_iclass_xsr_epc1_args[] = {
2953   { { 6 /* art */ }, 'm' }
2954 };
2955
2956 static xtensa_arg_internal Iclass_xt_iclass_xsr_epc1_stateArgs[] = {
2957   { { STATE_PSEXCM }, 'i' },
2958   { { STATE_PSRING }, 'i' },
2959   { { STATE_EPC1 }, 'm' }
2960 };
2961
2962 static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave1_args[] = {
2963   { { 6 /* art */ }, 'o' }
2964 };
2965
2966 static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave1_stateArgs[] = {
2967   { { STATE_PSEXCM }, 'i' },
2968   { { STATE_PSRING }, 'i' },
2969   { { STATE_EXCSAVE1 }, 'i' }
2970 };
2971
2972 static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave1_args[] = {
2973   { { 6 /* art */ }, 'i' }
2974 };
2975
2976 static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave1_stateArgs[] = {
2977   { { STATE_PSEXCM }, 'i' },
2978   { { STATE_PSRING }, 'i' },
2979   { { STATE_EXCSAVE1 }, 'o' }
2980 };
2981
2982 static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave1_args[] = {
2983   { { 6 /* art */ }, 'm' }
2984 };
2985
2986 static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave1_stateArgs[] = {
2987   { { STATE_PSEXCM }, 'i' },
2988   { { STATE_PSRING }, 'i' },
2989   { { STATE_EXCSAVE1 }, 'm' }
2990 };
2991
2992 static xtensa_arg_internal Iclass_xt_iclass_rsr_epc2_args[] = {
2993   { { 6 /* art */ }, 'o' }
2994 };
2995
2996 static xtensa_arg_internal Iclass_xt_iclass_rsr_epc2_stateArgs[] = {
2997   { { STATE_PSEXCM }, 'i' },
2998   { { STATE_PSRING }, 'i' },
2999   { { STATE_EPC2 }, 'i' }
3000 };
3001
3002 static xtensa_arg_internal Iclass_xt_iclass_wsr_epc2_args[] = {
3003   { { 6 /* art */ }, 'i' }
3004 };
3005
3006 static xtensa_arg_internal Iclass_xt_iclass_wsr_epc2_stateArgs[] = {
3007   { { STATE_PSEXCM }, 'i' },
3008   { { STATE_PSRING }, 'i' },
3009   { { STATE_EPC2 }, 'o' }
3010 };
3011
3012 static xtensa_arg_internal Iclass_xt_iclass_xsr_epc2_args[] = {
3013   { { 6 /* art */ }, 'm' }
3014 };
3015
3016 static xtensa_arg_internal Iclass_xt_iclass_xsr_epc2_stateArgs[] = {
3017   { { STATE_PSEXCM }, 'i' },
3018   { { STATE_PSRING }, 'i' },
3019   { { STATE_EPC2 }, 'm' }
3020 };
3021
3022 static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave2_args[] = {
3023   { { 6 /* art */ }, 'o' }
3024 };
3025
3026 static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave2_stateArgs[] = {
3027   { { STATE_PSEXCM }, 'i' },
3028   { { STATE_PSRING }, 'i' },
3029   { { STATE_EXCSAVE2 }, 'i' }
3030 };
3031
3032 static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave2_args[] = {
3033   { { 6 /* art */ }, 'i' }
3034 };
3035
3036 static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave2_stateArgs[] = {
3037   { { STATE_PSEXCM }, 'i' },
3038   { { STATE_PSRING }, 'i' },
3039   { { STATE_EXCSAVE2 }, 'o' }
3040 };
3041
3042 static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave2_args[] = {
3043   { { 6 /* art */ }, 'm' }
3044 };
3045
3046 static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave2_stateArgs[] = {
3047   { { STATE_PSEXCM }, 'i' },
3048   { { STATE_PSRING }, 'i' },
3049   { { STATE_EXCSAVE2 }, 'm' }
3050 };
3051
3052 static xtensa_arg_internal Iclass_xt_iclass_rsr_epc3_args[] = {
3053   { { 6 /* art */ }, 'o' }
3054 };
3055
3056 static xtensa_arg_internal Iclass_xt_iclass_rsr_epc3_stateArgs[] = {
3057   { { STATE_PSEXCM }, 'i' },
3058   { { STATE_PSRING }, 'i' },
3059   { { STATE_EPC3 }, 'i' }
3060 };
3061
3062 static xtensa_arg_internal Iclass_xt_iclass_wsr_epc3_args[] = {
3063   { { 6 /* art */ }, 'i' }
3064 };
3065
3066 static xtensa_arg_internal Iclass_xt_iclass_wsr_epc3_stateArgs[] = {
3067   { { STATE_PSEXCM }, 'i' },
3068   { { STATE_PSRING }, 'i' },
3069   { { STATE_EPC3 }, 'o' }
3070 };
3071
3072 static xtensa_arg_internal Iclass_xt_iclass_xsr_epc3_args[] = {
3073   { { 6 /* art */ }, 'm' }
3074 };
3075
3076 static xtensa_arg_internal Iclass_xt_iclass_xsr_epc3_stateArgs[] = {
3077   { { STATE_PSEXCM }, 'i' },
3078   { { STATE_PSRING }, 'i' },
3079   { { STATE_EPC3 }, 'm' }
3080 };
3081
3082 static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave3_args[] = {
3083   { { 6 /* art */ }, 'o' }
3084 };
3085
3086 static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave3_stateArgs[] = {
3087   { { STATE_PSEXCM }, 'i' },
3088   { { STATE_PSRING }, 'i' },
3089   { { STATE_EXCSAVE3 }, 'i' }
3090 };
3091
3092 static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave3_args[] = {
3093   { { 6 /* art */ }, 'i' }
3094 };
3095
3096 static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave3_stateArgs[] = {
3097   { { STATE_PSEXCM }, 'i' },
3098   { { STATE_PSRING }, 'i' },
3099   { { STATE_EXCSAVE3 }, 'o' }
3100 };
3101
3102 static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave3_args[] = {
3103   { { 6 /* art */ }, 'm' }
3104 };
3105
3106 static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave3_stateArgs[] = {
3107   { { STATE_PSEXCM }, 'i' },
3108   { { STATE_PSRING }, 'i' },
3109   { { STATE_EXCSAVE3 }, 'm' }
3110 };
3111
3112 static xtensa_arg_internal Iclass_xt_iclass_rsr_epc4_args[] = {
3113   { { 6 /* art */ }, 'o' }
3114 };
3115
3116 static xtensa_arg_internal Iclass_xt_iclass_rsr_epc4_stateArgs[] = {
3117   { { STATE_PSEXCM }, 'i' },
3118   { { STATE_PSRING }, 'i' },
3119   { { STATE_EPC4 }, 'i' }
3120 };
3121
3122 static xtensa_arg_internal Iclass_xt_iclass_wsr_epc4_args[] = {
3123   { { 6 /* art */ }, 'i' }
3124 };
3125
3126 static xtensa_arg_internal Iclass_xt_iclass_wsr_epc4_stateArgs[] = {
3127   { { STATE_PSEXCM }, 'i' },
3128   { { STATE_PSRING }, 'i' },
3129   { { STATE_EPC4 }, 'o' }
3130 };
3131
3132 static xtensa_arg_internal Iclass_xt_iclass_xsr_epc4_args[] = {
3133   { { 6 /* art */ }, 'm' }
3134 };
3135
3136 static xtensa_arg_internal Iclass_xt_iclass_xsr_epc4_stateArgs[] = {
3137   { { STATE_PSEXCM }, 'i' },
3138   { { STATE_PSRING }, 'i' },
3139   { { STATE_EPC4 }, 'm' }
3140 };
3141
3142 static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave4_args[] = {
3143   { { 6 /* art */ }, 'o' }
3144 };
3145
3146 static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave4_stateArgs[] = {
3147   { { STATE_PSEXCM }, 'i' },
3148   { { STATE_PSRING }, 'i' },
3149   { { STATE_EXCSAVE4 }, 'i' }
3150 };
3151
3152 static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave4_args[] = {
3153   { { 6 /* art */ }, 'i' }
3154 };
3155
3156 static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave4_stateArgs[] = {
3157   { { STATE_PSEXCM }, 'i' },
3158   { { STATE_PSRING }, 'i' },
3159   { { STATE_EXCSAVE4 }, 'o' }
3160 };
3161
3162 static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave4_args[] = {
3163   { { 6 /* art */ }, 'm' }
3164 };
3165
3166 static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave4_stateArgs[] = {
3167   { { STATE_PSEXCM }, 'i' },
3168   { { STATE_PSRING }, 'i' },
3169   { { STATE_EXCSAVE4 }, 'm' }
3170 };
3171
3172 static xtensa_arg_internal Iclass_xt_iclass_rsr_eps2_args[] = {
3173   { { 6 /* art */ }, 'o' }
3174 };
3175
3176 static xtensa_arg_internal Iclass_xt_iclass_rsr_eps2_stateArgs[] = {
3177   { { STATE_PSEXCM }, 'i' },
3178   { { STATE_PSRING }, 'i' },
3179   { { STATE_EPS2 }, 'i' }
3180 };
3181
3182 static xtensa_arg_internal Iclass_xt_iclass_wsr_eps2_args[] = {
3183   { { 6 /* art */ }, 'i' }
3184 };
3185
3186 static xtensa_arg_internal Iclass_xt_iclass_wsr_eps2_stateArgs[] = {
3187   { { STATE_PSEXCM }, 'i' },
3188   { { STATE_PSRING }, 'i' },
3189   { { STATE_EPS2 }, 'o' }
3190 };
3191
3192 static xtensa_arg_internal Iclass_xt_iclass_xsr_eps2_args[] = {
3193   { { 6 /* art */ }, 'm' }
3194 };
3195
3196 static xtensa_arg_internal Iclass_xt_iclass_xsr_eps2_stateArgs[] = {
3197   { { STATE_PSEXCM }, 'i' },
3198   { { STATE_PSRING }, 'i' },
3199   { { STATE_EPS2 }, 'm' }
3200 };
3201
3202 static xtensa_arg_internal Iclass_xt_iclass_rsr_eps3_args[] = {
3203   { { 6 /* art */ }, 'o' }
3204 };
3205
3206 static xtensa_arg_internal Iclass_xt_iclass_rsr_eps3_stateArgs[] = {
3207   { { STATE_PSEXCM }, 'i' },
3208   { { STATE_PSRING }, 'i' },
3209   { { STATE_EPS3 }, 'i' }
3210 };
3211
3212 static xtensa_arg_internal Iclass_xt_iclass_wsr_eps3_args[] = {
3213   { { 6 /* art */ }, 'i' }
3214 };
3215
3216 static xtensa_arg_internal Iclass_xt_iclass_wsr_eps3_stateArgs[] = {
3217   { { STATE_PSEXCM }, 'i' },
3218   { { STATE_PSRING }, 'i' },
3219   { { STATE_EPS3 }, 'o' }
3220 };
3221
3222 static xtensa_arg_internal Iclass_xt_iclass_xsr_eps3_args[] = {
3223   { { 6 /* art */ }, 'm' }
3224 };
3225
3226 static xtensa_arg_internal Iclass_xt_iclass_xsr_eps3_stateArgs[] = {
3227   { { STATE_PSEXCM }, 'i' },
3228   { { STATE_PSRING }, 'i' },
3229   { { STATE_EPS3 }, 'm' }
3230 };
3231
3232 static xtensa_arg_internal Iclass_xt_iclass_rsr_eps4_args[] = {
3233   { { 6 /* art */ }, 'o' }
3234 };
3235
3236 static xtensa_arg_internal Iclass_xt_iclass_rsr_eps4_stateArgs[] = {
3237   { { STATE_PSEXCM }, 'i' },
3238   { { STATE_PSRING }, 'i' },
3239   { { STATE_EPS4 }, 'i' }
3240 };
3241
3242 static xtensa_arg_internal Iclass_xt_iclass_wsr_eps4_args[] = {
3243   { { 6 /* art */ }, 'i' }
3244 };
3245
3246 static xtensa_arg_internal Iclass_xt_iclass_wsr_eps4_stateArgs[] = {
3247   { { STATE_PSEXCM }, 'i' },
3248   { { STATE_PSRING }, 'i' },
3249   { { STATE_EPS4 }, 'o' }
3250 };
3251
3252 static xtensa_arg_internal Iclass_xt_iclass_xsr_eps4_args[] = {
3253   { { 6 /* art */ }, 'm' }
3254 };
3255
3256 static xtensa_arg_internal Iclass_xt_iclass_xsr_eps4_stateArgs[] = {
3257   { { STATE_PSEXCM }, 'i' },
3258   { { STATE_PSRING }, 'i' },
3259   { { STATE_EPS4 }, 'm' }
3260 };
3261
3262 static xtensa_arg_internal Iclass_xt_iclass_rsr_excvaddr_args[] = {
3263   { { 6 /* art */ }, 'o' }
3264 };
3265
3266 static xtensa_arg_internal Iclass_xt_iclass_rsr_excvaddr_stateArgs[] = {
3267   { { STATE_PSEXCM }, 'i' },
3268   { { STATE_PSRING }, 'i' },
3269   { { STATE_EXCVADDR }, 'i' }
3270 };
3271
3272 static xtensa_arg_internal Iclass_xt_iclass_wsr_excvaddr_args[] = {
3273   { { 6 /* art */ }, 'i' }
3274 };
3275
3276 static xtensa_arg_internal Iclass_xt_iclass_wsr_excvaddr_stateArgs[] = {
3277   { { STATE_PSEXCM }, 'i' },
3278   { { STATE_PSRING }, 'i' },
3279   { { STATE_EXCVADDR }, 'o' }
3280 };
3281
3282 static xtensa_arg_internal Iclass_xt_iclass_xsr_excvaddr_args[] = {
3283   { { 6 /* art */ }, 'm' }
3284 };
3285
3286 static xtensa_arg_internal Iclass_xt_iclass_xsr_excvaddr_stateArgs[] = {
3287   { { STATE_PSEXCM }, 'i' },
3288   { { STATE_PSRING }, 'i' },
3289   { { STATE_EXCVADDR }, 'm' }
3290 };
3291
3292 static xtensa_arg_internal Iclass_xt_iclass_rsr_depc_args[] = {
3293   { { 6 /* art */ }, 'o' }
3294 };
3295
3296 static xtensa_arg_internal Iclass_xt_iclass_rsr_depc_stateArgs[] = {
3297   { { STATE_PSEXCM }, 'i' },
3298   { { STATE_PSRING }, 'i' },
3299   { { STATE_DEPC }, 'i' }
3300 };
3301
3302 static xtensa_arg_internal Iclass_xt_iclass_wsr_depc_args[] = {
3303   { { 6 /* art */ }, 'i' }
3304 };
3305
3306 static xtensa_arg_internal Iclass_xt_iclass_wsr_depc_stateArgs[] = {
3307   { { STATE_PSEXCM }, 'i' },
3308   { { STATE_PSRING }, 'i' },
3309   { { STATE_DEPC }, 'o' }
3310 };
3311
3312 static xtensa_arg_internal Iclass_xt_iclass_xsr_depc_args[] = {
3313   { { 6 /* art */ }, 'm' }
3314 };
3315
3316 static xtensa_arg_internal Iclass_xt_iclass_xsr_depc_stateArgs[] = {
3317   { { STATE_PSEXCM }, 'i' },
3318   { { STATE_PSRING }, 'i' },
3319   { { STATE_DEPC }, 'm' }
3320 };
3321
3322 static xtensa_arg_internal Iclass_xt_iclass_rsr_exccause_args[] = {
3323   { { 6 /* art */ }, 'o' }
3324 };
3325
3326 static xtensa_arg_internal Iclass_xt_iclass_rsr_exccause_stateArgs[] = {
3327   { { STATE_PSEXCM }, 'i' },
3328   { { STATE_PSRING }, 'i' },
3329   { { STATE_EXCCAUSE }, 'i' },
3330   { { STATE_XTSYNC }, 'i' }
3331 };
3332
3333 static xtensa_arg_internal Iclass_xt_iclass_wsr_exccause_args[] = {
3334   { { 6 /* art */ }, 'i' }
3335 };
3336
3337 static xtensa_arg_internal Iclass_xt_iclass_wsr_exccause_stateArgs[] = {
3338   { { STATE_PSEXCM }, 'i' },
3339   { { STATE_PSRING }, 'i' },
3340   { { STATE_EXCCAUSE }, 'o' }
3341 };
3342
3343 static xtensa_arg_internal Iclass_xt_iclass_xsr_exccause_args[] = {
3344   { { 6 /* art */ }, 'm' }
3345 };
3346
3347 static xtensa_arg_internal Iclass_xt_iclass_xsr_exccause_stateArgs[] = {
3348   { { STATE_PSEXCM }, 'i' },
3349   { { STATE_PSRING }, 'i' },
3350   { { STATE_EXCCAUSE }, 'm' }
3351 };
3352
3353 static xtensa_arg_internal Iclass_xt_iclass_rsr_misc0_args[] = {
3354   { { 6 /* art */ }, 'o' }
3355 };
3356
3357 static xtensa_arg_internal Iclass_xt_iclass_rsr_misc0_stateArgs[] = {
3358   { { STATE_PSEXCM }, 'i' },
3359   { { STATE_PSRING }, 'i' },
3360   { { STATE_MISC0 }, 'i' }
3361 };
3362
3363 static xtensa_arg_internal Iclass_xt_iclass_wsr_misc0_args[] = {
3364   { { 6 /* art */ }, 'i' }
3365 };
3366
3367 static xtensa_arg_internal Iclass_xt_iclass_wsr_misc0_stateArgs[] = {
3368   { { STATE_PSEXCM }, 'i' },
3369   { { STATE_PSRING }, 'i' },
3370   { { STATE_MISC0 }, 'o' }
3371 };
3372
3373 static xtensa_arg_internal Iclass_xt_iclass_xsr_misc0_args[] = {
3374   { { 6 /* art */ }, 'm' }
3375 };
3376
3377 static xtensa_arg_internal Iclass_xt_iclass_xsr_misc0_stateArgs[] = {
3378   { { STATE_PSEXCM }, 'i' },
3379   { { STATE_PSRING }, 'i' },
3380   { { STATE_MISC0 }, 'm' }
3381 };
3382
3383 static xtensa_arg_internal Iclass_xt_iclass_rsr_misc1_args[] = {
3384   { { 6 /* art */ }, 'o' }
3385 };
3386
3387 static xtensa_arg_internal Iclass_xt_iclass_rsr_misc1_stateArgs[] = {
3388   { { STATE_PSEXCM }, 'i' },
3389   { { STATE_PSRING }, 'i' },
3390   { { STATE_MISC1 }, 'i' }
3391 };
3392
3393 static xtensa_arg_internal Iclass_xt_iclass_wsr_misc1_args[] = {
3394   { { 6 /* art */ }, 'i' }
3395 };
3396
3397 static xtensa_arg_internal Iclass_xt_iclass_wsr_misc1_stateArgs[] = {
3398   { { STATE_PSEXCM }, 'i' },
3399   { { STATE_PSRING }, 'i' },
3400   { { STATE_MISC1 }, 'o' }
3401 };
3402
3403 static xtensa_arg_internal Iclass_xt_iclass_xsr_misc1_args[] = {
3404   { { 6 /* art */ }, 'm' }
3405 };
3406
3407 static xtensa_arg_internal Iclass_xt_iclass_xsr_misc1_stateArgs[] = {
3408   { { STATE_PSEXCM }, 'i' },
3409   { { STATE_PSRING }, 'i' },
3410   { { STATE_MISC1 }, 'm' }
3411 };
3412
3413 static xtensa_arg_internal Iclass_xt_iclass_rsr_prid_args[] = {
3414   { { 6 /* art */ }, 'o' }
3415 };
3416
3417 static xtensa_arg_internal Iclass_xt_iclass_rsr_prid_stateArgs[] = {
3418   { { STATE_PSEXCM }, 'i' },
3419   { { STATE_PSRING }, 'i' }
3420 };
3421
3422 static xtensa_arg_internal Iclass_xt_iclass_rfi_args[] = {
3423   { { 40 /* s */ }, 'i' }
3424 };
3425
3426 static xtensa_arg_internal Iclass_xt_iclass_rfi_stateArgs[] = {
3427   { { STATE_PSWOE }, 'o' },
3428   { { STATE_PSCALLINC }, 'o' },
3429   { { STATE_PSOWB }, 'o' },
3430   { { STATE_PSRING }, 'm' },
3431   { { STATE_PSUM }, 'o' },
3432   { { STATE_PSEXCM }, 'm' },
3433   { { STATE_PSINTLEVEL }, 'o' },
3434   { { STATE_EPC1 }, 'i' },
3435   { { STATE_EPC2 }, 'i' },
3436   { { STATE_EPC3 }, 'i' },
3437   { { STATE_EPC4 }, 'i' },
3438   { { STATE_EPS2 }, 'i' },
3439   { { STATE_EPS3 }, 'i' },
3440   { { STATE_EPS4 }, 'i' },
3441   { { STATE_InOCDMode }, 'm' }
3442 };
3443
3444 static xtensa_arg_internal Iclass_xt_iclass_wait_args[] = {
3445   { { 40 /* s */ }, 'i' }
3446 };
3447
3448 static xtensa_arg_internal Iclass_xt_iclass_wait_stateArgs[] = {
3449   { { STATE_PSEXCM }, 'i' },
3450   { { STATE_PSRING }, 'i' },
3451   { { STATE_PSINTLEVEL }, 'o' }
3452 };
3453
3454 static xtensa_arg_internal Iclass_xt_iclass_rsr_interrupt_args[] = {
3455   { { 6 /* art */ }, 'o' }
3456 };
3457
3458 static xtensa_arg_internal Iclass_xt_iclass_rsr_interrupt_stateArgs[] = {
3459   { { STATE_PSEXCM }, 'i' },
3460   { { STATE_PSRING }, 'i' },
3461   { { STATE_INTERRUPT }, 'i' }
3462 };
3463
3464 static xtensa_arg_internal Iclass_xt_iclass_wsr_intset_args[] = {
3465   { { 6 /* art */ }, 'i' }
3466 };
3467
3468 static xtensa_arg_internal Iclass_xt_iclass_wsr_intset_stateArgs[] = {
3469   { { STATE_PSEXCM }, 'i' },
3470   { { STATE_PSRING }, 'i' },
3471   { { STATE_XTSYNC }, 'o' },
3472   { { STATE_INTERRUPT }, 'm' }
3473 };
3474
3475 static xtensa_arg_internal Iclass_xt_iclass_wsr_intclear_args[] = {
3476   { { 6 /* art */ }, 'i' }
3477 };
3478
3479 static xtensa_arg_internal Iclass_xt_iclass_wsr_intclear_stateArgs[] = {
3480   { { STATE_PSEXCM }, 'i' },
3481   { { STATE_PSRING }, 'i' },
3482   { { STATE_XTSYNC }, 'o' },
3483   { { STATE_INTERRUPT }, 'm' }
3484 };
3485
3486 static xtensa_arg_internal Iclass_xt_iclass_rsr_intenable_args[] = {
3487   { { 6 /* art */ }, 'o' }
3488 };
3489
3490 static xtensa_arg_internal Iclass_xt_iclass_rsr_intenable_stateArgs[] = {
3491   { { STATE_PSEXCM }, 'i' },
3492   { { STATE_PSRING }, 'i' },
3493   { { STATE_INTENABLE }, 'i' }
3494 };
3495
3496 static xtensa_arg_internal Iclass_xt_iclass_wsr_intenable_args[] = {
3497   { { 6 /* art */ }, 'i' }
3498 };
3499
3500 static xtensa_arg_internal Iclass_xt_iclass_wsr_intenable_stateArgs[] = {
3501   { { STATE_PSEXCM }, 'i' },
3502   { { STATE_PSRING }, 'i' },
3503   { { STATE_INTENABLE }, 'o' }
3504 };
3505
3506 static xtensa_arg_internal Iclass_xt_iclass_xsr_intenable_args[] = {
3507   { { 6 /* art */ }, 'm' }
3508 };
3509
3510 static xtensa_arg_internal Iclass_xt_iclass_xsr_intenable_stateArgs[] = {
3511   { { STATE_PSEXCM }, 'i' },
3512   { { STATE_PSRING }, 'i' },
3513   { { STATE_INTENABLE }, 'm' }
3514 };
3515
3516 static xtensa_arg_internal Iclass_xt_iclass_break_args[] = {
3517   { { 34 /* imms */ }, 'i' },
3518   { { 33 /* immt */ }, 'i' }
3519 };
3520
3521 static xtensa_arg_internal Iclass_xt_iclass_break_stateArgs[] = {
3522   { { STATE_PSEXCM }, 'i' },
3523   { { STATE_PSINTLEVEL }, 'i' }
3524 };
3525
3526 static xtensa_arg_internal Iclass_xt_iclass_break_n_args[] = {
3527   { { 34 /* imms */ }, 'i' }
3528 };
3529
3530 static xtensa_arg_internal Iclass_xt_iclass_break_n_stateArgs[] = {
3531   { { STATE_PSEXCM }, 'i' },
3532   { { STATE_PSINTLEVEL }, 'i' }
3533 };
3534
3535 static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka0_args[] = {
3536   { { 6 /* art */ }, 'o' }
3537 };
3538
3539 static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka0_stateArgs[] = {
3540   { { STATE_PSEXCM }, 'i' },
3541   { { STATE_PSRING }, 'i' },
3542   { { STATE_DBREAKA0 }, 'i' }
3543 };
3544
3545 static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka0_args[] = {
3546   { { 6 /* art */ }, 'i' }
3547 };
3548
3549 static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka0_stateArgs[] = {
3550   { { STATE_PSEXCM }, 'i' },
3551   { { STATE_PSRING }, 'i' },
3552   { { STATE_DBREAKA0 }, 'o' },
3553   { { STATE_XTSYNC }, 'o' }
3554 };
3555
3556 static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka0_args[] = {
3557   { { 6 /* art */ }, 'm' }
3558 };
3559
3560 static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka0_stateArgs[] = {
3561   { { STATE_PSEXCM }, 'i' },
3562   { { STATE_PSRING }, 'i' },
3563   { { STATE_DBREAKA0 }, 'm' },
3564   { { STATE_XTSYNC }, 'o' }
3565 };
3566
3567 static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc0_args[] = {
3568   { { 6 /* art */ }, 'o' }
3569 };
3570
3571 static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc0_stateArgs[] = {
3572   { { STATE_PSEXCM }, 'i' },
3573   { { STATE_PSRING }, 'i' },
3574   { { STATE_DBREAKC0 }, 'i' }
3575 };
3576
3577 static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc0_args[] = {
3578   { { 6 /* art */ }, 'i' }
3579 };
3580
3581 static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc0_stateArgs[] = {
3582   { { STATE_PSEXCM }, 'i' },
3583   { { STATE_PSRING }, 'i' },
3584   { { STATE_DBREAKC0 }, 'o' },
3585   { { STATE_XTSYNC }, 'o' }
3586 };
3587
3588 static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc0_args[] = {
3589   { { 6 /* art */ }, 'm' }
3590 };
3591
3592 static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc0_stateArgs[] = {
3593   { { STATE_PSEXCM }, 'i' },
3594   { { STATE_PSRING }, 'i' },
3595   { { STATE_DBREAKC0 }, 'm' },
3596   { { STATE_XTSYNC }, 'o' }
3597 };
3598
3599 static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka1_args[] = {
3600   { { 6 /* art */ }, 'o' }
3601 };
3602
3603 static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka1_stateArgs[] = {
3604   { { STATE_PSEXCM }, 'i' },
3605   { { STATE_PSRING }, 'i' },
3606   { { STATE_DBREAKA1 }, 'i' }
3607 };
3608
3609 static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka1_args[] = {
3610   { { 6 /* art */ }, 'i' }
3611 };
3612
3613 static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka1_stateArgs[] = {
3614   { { STATE_PSEXCM }, 'i' },
3615   { { STATE_PSRING }, 'i' },
3616   { { STATE_DBREAKA1 }, 'o' },
3617   { { STATE_XTSYNC }, 'o' }
3618 };
3619
3620 static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka1_args[] = {
3621   { { 6 /* art */ }, 'm' }
3622 };
3623
3624 static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka1_stateArgs[] = {
3625   { { STATE_PSEXCM }, 'i' },
3626   { { STATE_PSRING }, 'i' },
3627   { { STATE_DBREAKA1 }, 'm' },
3628   { { STATE_XTSYNC }, 'o' }
3629 };
3630
3631 static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc1_args[] = {
3632   { { 6 /* art */ }, 'o' }
3633 };
3634
3635 static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc1_stateArgs[] = {
3636   { { STATE_PSEXCM }, 'i' },
3637   { { STATE_PSRING }, 'i' },
3638   { { STATE_DBREAKC1 }, 'i' }
3639 };
3640
3641 static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc1_args[] = {
3642   { { 6 /* art */ }, 'i' }
3643 };
3644
3645 static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc1_stateArgs[] = {
3646   { { STATE_PSEXCM }, 'i' },
3647   { { STATE_PSRING }, 'i' },
3648   { { STATE_DBREAKC1 }, 'o' },
3649   { { STATE_XTSYNC }, 'o' }
3650 };
3651
3652 static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc1_args[] = {
3653   { { 6 /* art */ }, 'm' }
3654 };
3655
3656 static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc1_stateArgs[] = {
3657   { { STATE_PSEXCM }, 'i' },
3658   { { STATE_PSRING }, 'i' },
3659   { { STATE_DBREAKC1 }, 'm' },
3660   { { STATE_XTSYNC }, 'o' }
3661 };
3662
3663 static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka0_args[] = {
3664   { { 6 /* art */ }, 'o' }
3665 };
3666
3667 static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka0_stateArgs[] = {
3668   { { STATE_PSEXCM }, 'i' },
3669   { { STATE_PSRING }, 'i' },
3670   { { STATE_IBREAKA0 }, 'i' }
3671 };
3672
3673 static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka0_args[] = {
3674   { { 6 /* art */ }, 'i' }
3675 };
3676
3677 static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka0_stateArgs[] = {
3678   { { STATE_PSEXCM }, 'i' },
3679   { { STATE_PSRING }, 'i' },
3680   { { STATE_IBREAKA0 }, 'o' }
3681 };
3682
3683 static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka0_args[] = {
3684   { { 6 /* art */ }, 'm' }
3685 };
3686
3687 static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka0_stateArgs[] = {
3688   { { STATE_PSEXCM }, 'i' },
3689   { { STATE_PSRING }, 'i' },
3690   { { STATE_IBREAKA0 }, 'm' }
3691 };
3692
3693 static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka1_args[] = {
3694   { { 6 /* art */ }, 'o' }
3695 };
3696
3697 static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka1_stateArgs[] = {
3698   { { STATE_PSEXCM }, 'i' },
3699   { { STATE_PSRING }, 'i' },
3700   { { STATE_IBREAKA1 }, 'i' }
3701 };
3702
3703 static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka1_args[] = {
3704   { { 6 /* art */ }, 'i' }
3705 };
3706
3707 static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka1_stateArgs[] = {
3708   { { STATE_PSEXCM }, 'i' },
3709   { { STATE_PSRING }, 'i' },
3710   { { STATE_IBREAKA1 }, 'o' }
3711 };
3712
3713 static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka1_args[] = {
3714   { { 6 /* art */ }, 'm' }
3715 };
3716
3717 static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka1_stateArgs[] = {
3718   { { STATE_PSEXCM }, 'i' },
3719   { { STATE_PSRING }, 'i' },
3720   { { STATE_IBREAKA1 }, 'm' }
3721 };
3722
3723 static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreakenable_args[] = {
3724   { { 6 /* art */ }, 'o' }
3725 };
3726
3727 static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreakenable_stateArgs[] = {
3728   { { STATE_PSEXCM }, 'i' },
3729   { { STATE_PSRING }, 'i' },
3730   { { STATE_IBREAKENABLE }, 'i' }
3731 };
3732
3733 static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreakenable_args[] = {
3734   { { 6 /* art */ }, 'i' }
3735 };
3736
3737 static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreakenable_stateArgs[] = {
3738   { { STATE_PSEXCM }, 'i' },
3739   { { STATE_PSRING }, 'i' },
3740   { { STATE_IBREAKENABLE }, 'o' }
3741 };
3742
3743 static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreakenable_args[] = {
3744   { { 6 /* art */ }, 'm' }
3745 };
3746
3747 static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreakenable_stateArgs[] = {
3748   { { STATE_PSEXCM }, 'i' },
3749   { { STATE_PSRING }, 'i' },
3750   { { STATE_IBREAKENABLE }, 'm' }
3751 };
3752
3753 static xtensa_arg_internal Iclass_xt_iclass_rsr_debugcause_args[] = {
3754   { { 6 /* art */ }, 'o' }
3755 };
3756
3757 static xtensa_arg_internal Iclass_xt_iclass_rsr_debugcause_stateArgs[] = {
3758   { { STATE_PSEXCM }, 'i' },
3759   { { STATE_PSRING }, 'i' },
3760   { { STATE_DEBUGCAUSE }, 'i' },
3761   { { STATE_DBNUM }, 'i' }
3762 };
3763
3764 static xtensa_arg_internal Iclass_xt_iclass_wsr_debugcause_args[] = {
3765   { { 6 /* art */ }, 'i' }
3766 };
3767
3768 static xtensa_arg_internal Iclass_xt_iclass_wsr_debugcause_stateArgs[] = {
3769   { { STATE_PSEXCM }, 'i' },
3770   { { STATE_PSRING }, 'i' },
3771   { { STATE_DEBUGCAUSE }, 'o' },
3772   { { STATE_DBNUM }, 'o' }
3773 };
3774
3775 static xtensa_arg_internal Iclass_xt_iclass_xsr_debugcause_args[] = {
3776   { { 6 /* art */ }, 'm' }
3777 };
3778
3779 static xtensa_arg_internal Iclass_xt_iclass_xsr_debugcause_stateArgs[] = {
3780   { { STATE_PSEXCM }, 'i' },
3781   { { STATE_PSRING }, 'i' },
3782   { { STATE_DEBUGCAUSE }, 'm' },
3783   { { STATE_DBNUM }, 'm' }
3784 };
3785
3786 static xtensa_arg_internal Iclass_xt_iclass_rsr_icount_args[] = {
3787   { { 6 /* art */ }, 'o' }
3788 };
3789
3790 static xtensa_arg_internal Iclass_xt_iclass_rsr_icount_stateArgs[] = {
3791   { { STATE_PSEXCM }, 'i' },
3792   { { STATE_PSRING }, 'i' },
3793   { { STATE_ICOUNT }, 'i' }
3794 };
3795
3796 static xtensa_arg_internal Iclass_xt_iclass_wsr_icount_args[] = {
3797   { { 6 /* art */ }, 'i' }
3798 };
3799
3800 static xtensa_arg_internal Iclass_xt_iclass_wsr_icount_stateArgs[] = {
3801   { { STATE_PSEXCM }, 'i' },
3802   { { STATE_PSRING }, 'i' },
3803   { { STATE_XTSYNC }, 'o' },
3804   { { STATE_ICOUNT }, 'o' }
3805 };
3806
3807 static xtensa_arg_internal Iclass_xt_iclass_xsr_icount_args[] = {
3808   { { 6 /* art */ }, 'm' }
3809 };
3810
3811 static xtensa_arg_internal Iclass_xt_iclass_xsr_icount_stateArgs[] = {
3812   { { STATE_PSEXCM }, 'i' },
3813   { { STATE_PSRING }, 'i' },
3814   { { STATE_XTSYNC }, 'o' },
3815   { { STATE_ICOUNT }, 'm' }
3816 };
3817
3818 static xtensa_arg_internal Iclass_xt_iclass_rsr_icountlevel_args[] = {
3819   { { 6 /* art */ }, 'o' }
3820 };
3821
3822 static xtensa_arg_internal Iclass_xt_iclass_rsr_icountlevel_stateArgs[] = {
3823   { { STATE_PSEXCM }, 'i' },
3824   { { STATE_PSRING }, 'i' },
3825   { { STATE_ICOUNTLEVEL }, 'i' }
3826 };
3827
3828 static xtensa_arg_internal Iclass_xt_iclass_wsr_icountlevel_args[] = {
3829   { { 6 /* art */ }, 'i' }
3830 };
3831
3832 static xtensa_arg_internal Iclass_xt_iclass_wsr_icountlevel_stateArgs[] = {
3833   { { STATE_PSEXCM }, 'i' },
3834   { { STATE_PSRING }, 'i' },
3835   { { STATE_ICOUNTLEVEL }, 'o' }
3836 };
3837
3838 static xtensa_arg_internal Iclass_xt_iclass_xsr_icountlevel_args[] = {
3839   { { 6 /* art */ }, 'm' }
3840 };
3841
3842 static xtensa_arg_internal Iclass_xt_iclass_xsr_icountlevel_stateArgs[] = {
3843   { { STATE_PSEXCM }, 'i' },
3844   { { STATE_PSRING }, 'i' },
3845   { { STATE_ICOUNTLEVEL }, 'm' }
3846 };
3847
3848 static xtensa_arg_internal Iclass_xt_iclass_rsr_ddr_args[] = {
3849   { { 6 /* art */ }, 'o' }
3850 };
3851
3852 static xtensa_arg_internal Iclass_xt_iclass_rsr_ddr_stateArgs[] = {
3853   { { STATE_PSEXCM }, 'i' },
3854   { { STATE_PSRING }, 'i' },
3855   { { STATE_DDR }, 'i' }
3856 };
3857
3858 static xtensa_arg_internal Iclass_xt_iclass_wsr_ddr_args[] = {
3859   { { 6 /* art */ }, 'i' }
3860 };
3861
3862 static xtensa_arg_internal Iclass_xt_iclass_wsr_ddr_stateArgs[] = {
3863   { { STATE_PSEXCM }, 'i' },
3864   { { STATE_PSRING }, 'i' },
3865   { { STATE_XTSYNC }, 'o' },
3866   { { STATE_DDR }, 'o' }
3867 };
3868
3869 static xtensa_arg_internal Iclass_xt_iclass_xsr_ddr_args[] = {
3870   { { 6 /* art */ }, 'm' }
3871 };