* xtensa-modules.c: Update tables with Xtensa MMU features.
[deliverable/binutils-gdb.git] / bfd / xtensa-modules.c
CommitLineData
e0001a05 1/* Xtensa configuration-specific ISA information.
f075ee0c 2 Copyright 2003, 2004, 2005 Free Software Foundation, Inc.
e0001a05
NC
3
4 This file is part of BFD, the Binary File Descriptor library.
5
43cd72b9
BW
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.
e0001a05
NC
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
43cd72b9
BW
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
e0001a05
NC
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
3e110533 18 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
53e09e0a 19 02110-1301, USA. */
e0001a05 20
43cd72b9 21#include "ansidecl.h"
e0001a05
NC
22#include <xtensa-isa.h>
23#include "xtensa-isa-internal.h"
e0001a05 24
43cd72b9
BW
25\f
26/* Sysregs. */
27
28static xtensa_sysreg_internal sysregs[] = {
29 { "LBEG", 0, 0 },
30 { "LEND", 1, 0 },
31 { "LCOUNT", 2, 0 },
074f5109 32 { "PTEVADDR", 83, 0 },
43cd72b9
BW
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 },
074f5109
BW
74 { "DEBUGCAUSE", 233, 0 },
75 { "RASID", 90, 0 },
76 { "ITLBCFG", 91, 0 },
77 { "DTLBCFG", 92, 0 }
43cd72b9
BW
78};
79
074f5109 80#define NUM_SYSREGS 49
43cd72b9
BW
81#define MAX_SPECIAL_REG 245
82#define MAX_USER_REG 0
83
84\f
85/* Processor states. */
86
87static 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 },
074f5109
BW
103 { "EPS2", 15, 0 },
104 { "EPS3", 15, 0 },
105 { "EPS4", 15, 0 },
43cd72b9
BW
106 { "EXCCAUSE", 6, 0 },
107 { "PSINTLEVEL", 4, 0 },
108 { "PSUM", 1, 0 },
109 { "PSWOE", 1, 0 },
074f5109 110 { "PSRING", 2, 0 },
43cd72b9
BW
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 },
074f5109
BW
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 }
43cd72b9
BW
146};
147
074f5109 148#define NUM_STATES 58
43cd72b9
BW
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
074f5109
BW
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
43cd72b9
BW
211
212\f
213/* Field definitions. */
214
215static unsigned
216Field_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
223static void
224Field_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
231static unsigned
232Field_s_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 233{
43cd72b9
BW
234 unsigned tie_t = 0;
235 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
236 return tie_t;
e0001a05
NC
237}
238
43cd72b9
BW
239static void
240Field_s_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 241{
43cd72b9
BW
242 uint32 tie_t;
243 tie_t = (val << 28) >> 28;
244 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
e0001a05
NC
245}
246
43cd72b9
BW
247static unsigned
248Field_r_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 249{
43cd72b9
BW
250 unsigned tie_t = 0;
251 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
252 return tie_t;
e0001a05
NC
253}
254
43cd72b9
BW
255static void
256Field_r_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 257{
43cd72b9
BW
258 uint32 tie_t;
259 tie_t = (val << 28) >> 28;
260 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
e0001a05
NC
261}
262
43cd72b9
BW
263static unsigned
264Field_op2_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 265{
43cd72b9
BW
266 unsigned tie_t = 0;
267 tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
268 return tie_t;
e0001a05
NC
269}
270
43cd72b9
BW
271static void
272Field_op2_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 273{
43cd72b9
BW
274 uint32 tie_t;
275 tie_t = (val << 28) >> 28;
276 insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
e0001a05
NC
277}
278
43cd72b9
BW
279static unsigned
280Field_op1_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 281{
43cd72b9
BW
282 unsigned tie_t = 0;
283 tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
284 return tie_t;
e0001a05
NC
285}
286
43cd72b9
BW
287static void
288Field_op1_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 289{
43cd72b9
BW
290 uint32 tie_t;
291 tie_t = (val << 28) >> 28;
292 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
e0001a05
NC
293}
294
43cd72b9
BW
295static unsigned
296Field_op0_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 297{
43cd72b9
BW
298 unsigned tie_t = 0;
299 tie_t = (tie_t << 4) | ((insn[0] << 8) >> 28);
300 return tie_t;
e0001a05
NC
301}
302
43cd72b9
BW
303static void
304Field_op0_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 305{
43cd72b9
BW
306 uint32 tie_t;
307 tie_t = (val << 28) >> 28;
308 insn[0] = (insn[0] & ~0xf00000) | (tie_t << 20);
e0001a05
NC
309}
310
43cd72b9
BW
311static unsigned
312Field_n_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 313{
43cd72b9
BW
314 unsigned tie_t = 0;
315 tie_t = (tie_t << 2) | ((insn[0] << 12) >> 30);
316 return tie_t;
e0001a05
NC
317}
318
43cd72b9
BW
319static void
320Field_n_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 321{
43cd72b9
BW
322 uint32 tie_t;
323 tie_t = (val << 30) >> 30;
324 insn[0] = (insn[0] & ~0xc0000) | (tie_t << 18);
e0001a05
NC
325}
326
43cd72b9
BW
327static unsigned
328Field_m_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 329{
43cd72b9
BW
330 unsigned tie_t = 0;
331 tie_t = (tie_t << 2) | ((insn[0] << 14) >> 30);
332 return tie_t;
e0001a05
NC
333}
334
43cd72b9
BW
335static void
336Field_m_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 337{
43cd72b9
BW
338 uint32 tie_t;
339 tie_t = (val << 30) >> 30;
340 insn[0] = (insn[0] & ~0x30000) | (tie_t << 16);
e0001a05
NC
341}
342
43cd72b9
BW
343static unsigned
344Field_sr_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 345{
43cd72b9
BW
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;
e0001a05
NC
350}
351
43cd72b9
BW
352static void
353Field_sr_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 354{
43cd72b9
BW
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);
e0001a05
NC
360}
361
43cd72b9
BW
362static unsigned
363Field_thi3_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 364{
43cd72b9
BW
365 unsigned tie_t = 0;
366 tie_t = (tie_t << 3) | ((insn[0] << 12) >> 29);
367 return tie_t;
e0001a05
NC
368}
369
43cd72b9
BW
370static void
371Field_thi3_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 372{
43cd72b9
BW
373 uint32 tie_t;
374 tie_t = (val << 29) >> 29;
375 insn[0] = (insn[0] & ~0xe0000) | (tie_t << 17);
e0001a05
NC
376}
377
43cd72b9
BW
378static unsigned
379Field_op0_Slot_inst16a_get (const xtensa_insnbuf insn)
e0001a05 380{
43cd72b9
BW
381 unsigned tie_t = 0;
382 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
383 return tie_t;
e0001a05
NC
384}
385
43cd72b9
BW
386static void
387Field_op0_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 388{
43cd72b9
BW
389 uint32 tie_t;
390 tie_t = (val << 28) >> 28;
391 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
e0001a05
NC
392}
393
43cd72b9
BW
394static unsigned
395Field_t_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 396{
43cd72b9
BW
397 unsigned tie_t = 0;
398 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
399 return tie_t;
e0001a05
NC
400}
401
43cd72b9
BW
402static void
403Field_t_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
e0001a05 404{
43cd72b9
BW
405 uint32 tie_t;
406 tie_t = (val << 28) >> 28;
407 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
e0001a05
NC
408}
409
43cd72b9
BW
410static unsigned
411Field_r_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 412{
43cd72b9
BW
413 unsigned tie_t = 0;
414 tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
415 return tie_t;
e0001a05
NC
416}
417
43cd72b9
BW
418static void
419Field_r_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
e0001a05 420{
43cd72b9
BW
421 uint32 tie_t;
422 tie_t = (val << 28) >> 28;
423 insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
e0001a05
NC
424}
425
43cd72b9
BW
426static unsigned
427Field_op0_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 428{
43cd72b9
BW
429 unsigned tie_t = 0;
430 tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28);
431 return tie_t;
e0001a05
NC
432}
433
43cd72b9
BW
434static void
435Field_op0_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
e0001a05 436{
43cd72b9
BW
437 uint32 tie_t;
438 tie_t = (val << 28) >> 28;
439 insn[0] = (insn[0] & ~0xf000) | (tie_t << 12);
e0001a05
NC
440}
441
43cd72b9
BW
442static unsigned
443Field_z_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 444{
43cd72b9
BW
445 unsigned tie_t = 0;
446 tie_t = (tie_t << 1) | ((insn[0] << 21) >> 31);
447 return tie_t;
e0001a05
NC
448}
449
43cd72b9
BW
450static void
451Field_z_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
e0001a05 452{
43cd72b9
BW
453 uint32 tie_t;
454 tie_t = (val << 31) >> 31;
455 insn[0] = (insn[0] & ~0x400) | (tie_t << 10);
e0001a05
NC
456}
457
43cd72b9
BW
458static unsigned
459Field_i_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 460{
43cd72b9
BW
461 unsigned tie_t = 0;
462 tie_t = (tie_t << 1) | ((insn[0] << 20) >> 31);
463 return tie_t;
e0001a05
NC
464}
465
43cd72b9
BW
466static void
467Field_i_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
e0001a05 468{
43cd72b9
BW
469 uint32 tie_t;
470 tie_t = (val << 31) >> 31;
471 insn[0] = (insn[0] & ~0x800) | (tie_t << 11);
e0001a05
NC
472}
473
43cd72b9
BW
474static unsigned
475Field_s_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 476{
43cd72b9
BW
477 unsigned tie_t = 0;
478 tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
479 return tie_t;
e0001a05
NC
480}
481
43cd72b9
BW
482static void
483Field_s_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
e0001a05 484{
43cd72b9
BW
485 uint32 tie_t;
486 tie_t = (val << 28) >> 28;
487 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
e0001a05
NC
488}
489
43cd72b9
BW
490static unsigned
491Field_t_Slot_inst16a_get (const xtensa_insnbuf insn)
e0001a05 492{
43cd72b9
BW
493 unsigned tie_t = 0;
494 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
495 return tie_t;
e0001a05
NC
496}
497
43cd72b9
BW
498static void
499Field_t_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 500{
43cd72b9
BW
501 uint32 tie_t;
502 tie_t = (val << 28) >> 28;
503 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
e0001a05
NC
504}
505
43cd72b9
BW
506static unsigned
507Field_bbi4_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 508{
43cd72b9
BW
509 unsigned tie_t = 0;
510 tie_t = (tie_t << 1) | ((insn[0] << 23) >> 31);
511 return tie_t;
e0001a05
NC
512}
513
43cd72b9
BW
514static void
515Field_bbi4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 516{
43cd72b9
BW
517 uint32 tie_t;
518 tie_t = (val << 31) >> 31;
519 insn[0] = (insn[0] & ~0x100) | (tie_t << 8);
e0001a05
NC
520}
521
43cd72b9
BW
522static unsigned
523Field_bbi_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 524{
43cd72b9
BW
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;
e0001a05
NC
529}
530
43cd72b9
BW
531static void
532Field_bbi_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 533{
43cd72b9
BW
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);
e0001a05
NC
539}
540
43cd72b9
BW
541static unsigned
542Field_imm12_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 543{
43cd72b9
BW
544 unsigned tie_t = 0;
545 tie_t = (tie_t << 12) | ((insn[0] << 20) >> 20);
546 return tie_t;
e0001a05
NC
547}
548
43cd72b9
BW
549static void
550Field_imm12_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 551{
43cd72b9
BW
552 uint32 tie_t;
553 tie_t = (val << 20) >> 20;
554 insn[0] = (insn[0] & ~0xfff) | (tie_t << 0);
e0001a05
NC
555}
556
43cd72b9
BW
557static unsigned
558Field_imm8_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 559{
43cd72b9
BW
560 unsigned tie_t = 0;
561 tie_t = (tie_t << 8) | ((insn[0] << 24) >> 24);
562 return tie_t;
e0001a05
NC
563}
564
43cd72b9
BW
565static void
566Field_imm8_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 567{
43cd72b9
BW
568 uint32 tie_t;
569 tie_t = (val << 24) >> 24;
570 insn[0] = (insn[0] & ~0xff) | (tie_t << 0);
e0001a05
NC
571}
572
43cd72b9
BW
573static unsigned
574Field_s_Slot_inst16a_get (const xtensa_insnbuf insn)
e0001a05 575{
43cd72b9
BW
576 unsigned tie_t = 0;
577 tie_t = (tie_t << 4) | ((insn[0] << 24) >> 28);
578 return tie_t;
e0001a05
NC
579}
580
43cd72b9
BW
581static void
582Field_s_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 583{
43cd72b9
BW
584 uint32 tie_t;
585 tie_t = (val << 28) >> 28;
586 insn[0] = (insn[0] & ~0xf0) | (tie_t << 4);
e0001a05
NC
587}
588
43cd72b9
BW
589static unsigned
590Field_imm12b_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 591{
43cd72b9
BW
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;
e0001a05
NC
596}
597
43cd72b9
BW
598static void
599Field_imm12b_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 600{
43cd72b9
BW
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);
e0001a05
NC
606}
607
43cd72b9
BW
608static unsigned
609Field_imm16_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 610{
43cd72b9
BW
611 unsigned tie_t = 0;
612 tie_t = (tie_t << 16) | ((insn[0] << 16) >> 16);
613 return tie_t;
e0001a05
NC
614}
615
43cd72b9
BW
616static void
617Field_imm16_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 618{
43cd72b9
BW
619 uint32 tie_t;
620 tie_t = (val << 16) >> 16;
621 insn[0] = (insn[0] & ~0xffff) | (tie_t << 0);
e0001a05
NC
622}
623
43cd72b9
BW
624static unsigned
625Field_offset_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 626{
43cd72b9
BW
627 unsigned tie_t = 0;
628 tie_t = (tie_t << 18) | ((insn[0] << 14) >> 14);
629 return tie_t;
e0001a05
NC
630}
631
43cd72b9
BW
632static void
633Field_offset_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 634{
43cd72b9
BW
635 uint32 tie_t;
636 tie_t = (val << 14) >> 14;
637 insn[0] = (insn[0] & ~0x3ffff) | (tie_t << 0);
e0001a05
NC
638}
639
43cd72b9
BW
640static unsigned
641Field_r_Slot_inst16a_get (const xtensa_insnbuf insn)
e0001a05 642{
43cd72b9
BW
643 unsigned tie_t = 0;
644 tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
645 return tie_t;
e0001a05
NC
646}
647
43cd72b9
BW
648static void
649Field_r_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 650{
43cd72b9
BW
651 uint32 tie_t;
652 tie_t = (val << 28) >> 28;
653 insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
e0001a05
NC
654}
655
43cd72b9
BW
656static unsigned
657Field_sa4_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 658{
43cd72b9
BW
659 unsigned tie_t = 0;
660 tie_t = (tie_t << 1) | ((insn[0] << 31) >> 31);
661 return tie_t;
e0001a05
NC
662}
663
43cd72b9
BW
664static void
665Field_sa4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 666{
43cd72b9
BW
667 uint32 tie_t;
668 tie_t = (val << 31) >> 31;
669 insn[0] = (insn[0] & ~0x1) | (tie_t << 0);
e0001a05
NC
670}
671
43cd72b9
BW
672static unsigned
673Field_sae4_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 674{
43cd72b9
BW
675 unsigned tie_t = 0;
676 tie_t = (tie_t << 1) | ((insn[0] << 27) >> 31);
677 return tie_t;
e0001a05
NC
678}
679
43cd72b9
BW
680static void
681Field_sae4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 682{
43cd72b9
BW
683 uint32 tie_t;
684 tie_t = (val << 31) >> 31;
685 insn[0] = (insn[0] & ~0x10) | (tie_t << 4);
e0001a05
NC
686}
687
43cd72b9
BW
688static unsigned
689Field_sae_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 690{
43cd72b9
BW
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;
e0001a05
NC
695}
696
43cd72b9
BW
697static void
698Field_sae_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 699{
43cd72b9
BW
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);
e0001a05
NC
705}
706
43cd72b9
BW
707static unsigned
708Field_sal_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 709{
43cd72b9
BW
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;
e0001a05
NC
714}
715
43cd72b9
BW
716static void
717Field_sal_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 718{
43cd72b9
BW
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);
e0001a05
NC
724}
725
43cd72b9
BW
726static unsigned
727Field_sargt_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 728{
43cd72b9
BW
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;
e0001a05
NC
733}
734
43cd72b9
BW
735static void
736Field_sargt_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 737{
43cd72b9
BW
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);
e0001a05
NC
743}
744
43cd72b9
BW
745static unsigned
746Field_sas4_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 747{
43cd72b9
BW
748 unsigned tie_t = 0;
749 tie_t = (tie_t << 1) | ((insn[0] << 15) >> 31);
750 return tie_t;
e0001a05
NC
751}
752
43cd72b9
BW
753static void
754Field_sas4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 755{
43cd72b9
BW
756 uint32 tie_t;
757 tie_t = (val << 31) >> 31;
758 insn[0] = (insn[0] & ~0x10000) | (tie_t << 16);
e0001a05
NC
759}
760
43cd72b9
BW
761static unsigned
762Field_sas_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 763{
43cd72b9
BW
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;
e0001a05
NC
768}
769
43cd72b9
BW
770static void
771Field_sas_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 772{
43cd72b9
BW
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);
e0001a05
NC
778}
779
43cd72b9
BW
780static unsigned
781Field_sr_Slot_inst16a_get (const xtensa_insnbuf insn)
e0001a05 782{
43cd72b9
BW
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;
e0001a05
NC
787}
788
43cd72b9
BW
789static void
790Field_sr_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 791{
43cd72b9
BW
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);
e0001a05
NC
797}
798
43cd72b9
BW
799static unsigned
800Field_sr_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 801{
43cd72b9
BW
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;
e0001a05
NC
806}
807
43cd72b9
BW
808static void
809Field_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}
e0001a05 817
43cd72b9
BW
818static unsigned
819Field_st_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 820{
43cd72b9
BW
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;
e0001a05
NC
825}
826
43cd72b9
BW
827static void
828Field_st_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 829{
43cd72b9
BW
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);
e0001a05
NC
835}
836
43cd72b9
BW
837static unsigned
838Field_st_Slot_inst16a_get (const xtensa_insnbuf insn)
e0001a05 839{
43cd72b9
BW
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;
e0001a05
NC
844}
845
43cd72b9
BW
846static void
847Field_st_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 848{
43cd72b9
BW
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);
e0001a05
NC
854}
855
43cd72b9
BW
856static unsigned
857Field_st_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 858{
43cd72b9
BW
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;
e0001a05
NC
863}
864
43cd72b9
BW
865static void
866Field_st_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
e0001a05 867{
43cd72b9
BW
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);
e0001a05
NC
873}
874
43cd72b9
BW
875static unsigned
876Field_imm4_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 877{
43cd72b9
BW
878 unsigned tie_t = 0;
879 tie_t = (tie_t << 4) | ((insn[0] << 20) >> 28);
880 return tie_t;
e0001a05
NC
881}
882
43cd72b9
BW
883static void
884Field_imm4_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 885{
43cd72b9
BW
886 uint32 tie_t;
887 tie_t = (val << 28) >> 28;
888 insn[0] = (insn[0] & ~0xf00) | (tie_t << 8);
e0001a05
NC
889}
890
43cd72b9
BW
891static unsigned
892Field_imm4_Slot_inst16a_get (const xtensa_insnbuf insn)
e0001a05 893{
43cd72b9
BW
894 unsigned tie_t = 0;
895 tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
896 return tie_t;
e0001a05
NC
897}
898
43cd72b9
BW
899static void
900Field_imm4_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 901{
43cd72b9
BW
902 uint32 tie_t;
903 tie_t = (val << 28) >> 28;
904 insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
e0001a05
NC
905}
906
43cd72b9
BW
907static unsigned
908Field_imm4_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 909{
43cd72b9
BW
910 unsigned tie_t = 0;
911 tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
912 return tie_t;
e0001a05
NC
913}
914
43cd72b9
BW
915static void
916Field_imm4_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
e0001a05 917{
43cd72b9
BW
918 uint32 tie_t;
919 tie_t = (val << 28) >> 28;
920 insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
e0001a05
NC
921}
922
43cd72b9
BW
923static unsigned
924Field_mn_Slot_inst_get (const xtensa_insnbuf insn)
e0001a05 925{
43cd72b9
BW
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;
e0001a05
NC
930}
931
43cd72b9
BW
932static void
933Field_mn_Slot_inst_set (xtensa_insnbuf insn, uint32 val)
e0001a05 934{
43cd72b9
BW
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);
e0001a05
NC
940}
941
43cd72b9
BW
942static unsigned
943Field_i_Slot_inst16a_get (const xtensa_insnbuf insn)
e0001a05 944{
43cd72b9
BW
945 unsigned tie_t = 0;
946 tie_t = (tie_t << 1) | ((insn[0] << 20) >> 31);
947 return tie_t;
e0001a05
NC
948}
949
43cd72b9
BW
950static void
951Field_i_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 952{
43cd72b9
BW
953 uint32 tie_t;
954 tie_t = (val << 31) >> 31;
955 insn[0] = (insn[0] & ~0x800) | (tie_t << 11);
e0001a05
NC
956}
957
43cd72b9
BW
958static unsigned
959Field_imm6lo_Slot_inst16a_get (const xtensa_insnbuf insn)
e0001a05 960{
43cd72b9
BW
961 unsigned tie_t = 0;
962 tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
963 return tie_t;
e0001a05
NC
964}
965
43cd72b9
BW
966static void
967Field_imm6lo_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 968{
43cd72b9
BW
969 uint32 tie_t;
970 tie_t = (val << 28) >> 28;
971 insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
e0001a05
NC
972}
973
43cd72b9
BW
974static unsigned
975Field_imm6lo_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 976{
43cd72b9
BW
977 unsigned tie_t = 0;
978 tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
979 return tie_t;
e0001a05
NC
980}
981
43cd72b9
BW
982static void
983Field_imm6lo_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
e0001a05 984{
43cd72b9
BW
985 uint32 tie_t;
986 tie_t = (val << 28) >> 28;
987 insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
e0001a05
NC
988}
989
43cd72b9
BW
990static unsigned
991Field_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}
e0001a05 997
43cd72b9
BW
998static void
999Field_imm6hi_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 1000{
43cd72b9
BW
1001 uint32 tie_t;
1002 tie_t = (val << 30) >> 30;
1003 insn[0] = (insn[0] & ~0x300) | (tie_t << 8);
e0001a05
NC
1004}
1005
43cd72b9
BW
1006static unsigned
1007Field_imm6hi_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 1008{
43cd72b9
BW
1009 unsigned tie_t = 0;
1010 tie_t = (tie_t << 2) | ((insn[0] << 22) >> 30);
1011 return tie_t;
e0001a05
NC
1012}
1013
43cd72b9
BW
1014static void
1015Field_imm6hi_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
e0001a05 1016{
43cd72b9
BW
1017 uint32 tie_t;
1018 tie_t = (val << 30) >> 30;
1019 insn[0] = (insn[0] & ~0x300) | (tie_t << 8);
e0001a05
NC
1020}
1021
43cd72b9
BW
1022static unsigned
1023Field_imm7lo_Slot_inst16a_get (const xtensa_insnbuf insn)
e0001a05 1024{
43cd72b9
BW
1025 unsigned tie_t = 0;
1026 tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
1027 return tie_t;
e0001a05
NC
1028}
1029
43cd72b9
BW
1030static void
1031Field_imm7lo_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 1032{
43cd72b9
BW
1033 uint32 tie_t;
1034 tie_t = (val << 28) >> 28;
1035 insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
e0001a05
NC
1036}
1037
43cd72b9
BW
1038static unsigned
1039Field_imm7lo_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 1040{
43cd72b9
BW
1041 unsigned tie_t = 0;
1042 tie_t = (tie_t << 4) | ((insn[0] << 28) >> 28);
1043 return tie_t;
e0001a05
NC
1044}
1045
43cd72b9
BW
1046static void
1047Field_imm7lo_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
e0001a05 1048{
43cd72b9
BW
1049 uint32 tie_t;
1050 tie_t = (val << 28) >> 28;
1051 insn[0] = (insn[0] & ~0xf) | (tie_t << 0);
e0001a05
NC
1052}
1053
43cd72b9
BW
1054static unsigned
1055Field_imm7hi_Slot_inst16a_get (const xtensa_insnbuf insn)
e0001a05 1056{
43cd72b9
BW
1057 unsigned tie_t = 0;
1058 tie_t = (tie_t << 3) | ((insn[0] << 21) >> 29);
1059 return tie_t;
e0001a05
NC
1060}
1061
43cd72b9
BW
1062static void
1063Field_imm7hi_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 1064{
43cd72b9
BW
1065 uint32 tie_t;
1066 tie_t = (val << 29) >> 29;
1067 insn[0] = (insn[0] & ~0x700) | (tie_t << 8);
e0001a05
NC
1068}
1069
43cd72b9
BW
1070static unsigned
1071Field_imm7hi_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 1072{
43cd72b9
BW
1073 unsigned tie_t = 0;
1074 tie_t = (tie_t << 3) | ((insn[0] << 21) >> 29);
1075 return tie_t;
e0001a05
NC
1076}
1077
43cd72b9
BW
1078static void
1079Field_imm7hi_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
e0001a05 1080{
43cd72b9
BW
1081 uint32 tie_t;
1082 tie_t = (val << 29) >> 29;
1083 insn[0] = (insn[0] & ~0x700) | (tie_t << 8);
e0001a05
NC
1084}
1085
43cd72b9
BW
1086static unsigned
1087Field_z_Slot_inst16a_get (const xtensa_insnbuf insn)
e0001a05 1088{
43cd72b9
BW
1089 unsigned tie_t = 0;
1090 tie_t = (tie_t << 1) | ((insn[0] << 21) >> 31);
1091 return tie_t;
e0001a05
NC
1092}
1093
43cd72b9
BW
1094static void
1095Field_z_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 1096{
43cd72b9
BW
1097 uint32 tie_t;
1098 tie_t = (val << 31) >> 31;
1099 insn[0] = (insn[0] & ~0x400) | (tie_t << 10);
e0001a05
NC
1100}
1101
43cd72b9
BW
1102static unsigned
1103Field_imm6_Slot_inst16a_get (const xtensa_insnbuf insn)
e0001a05 1104{
43cd72b9
BW
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;
e0001a05
NC
1109}
1110
43cd72b9
BW
1111static void
1112Field_imm6_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 1113{
43cd72b9
BW
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);
e0001a05
NC
1119}
1120
43cd72b9
BW
1121static unsigned
1122Field_imm6_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 1123{
43cd72b9
BW
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;
e0001a05
NC
1128}
1129
43cd72b9
BW
1130static void
1131Field_imm6_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
e0001a05 1132{
43cd72b9
BW
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);
e0001a05
NC
1138}
1139
43cd72b9
BW
1140static unsigned
1141Field_imm7_Slot_inst16a_get (const xtensa_insnbuf insn)
e0001a05 1142{
43cd72b9
BW
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;
e0001a05
NC
1147}
1148
43cd72b9
BW
1149static void
1150Field_imm7_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val)
e0001a05 1151{
43cd72b9
BW
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);
e0001a05
NC
1157}
1158
43cd72b9
BW
1159static unsigned
1160Field_imm7_Slot_inst16b_get (const xtensa_insnbuf insn)
e0001a05 1161{
43cd72b9
BW
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;
e0001a05
NC
1166}
1167
43cd72b9
BW
1168static void
1169Field_imm7_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val)
e0001a05 1170{
43cd72b9
BW
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);
e0001a05
NC
1176}
1177
43cd72b9
BW
1178static void
1179Implicit_Field_set (xtensa_insnbuf insn ATTRIBUTE_UNUSED,
1180 uint32 val ATTRIBUTE_UNUSED)
e0001a05 1181{
43cd72b9 1182 /* Do nothing. */
e0001a05
NC
1183}
1184
43cd72b9
BW
1185static unsigned
1186Implicit_Field_ar0_get (const xtensa_insnbuf insn ATTRIBUTE_UNUSED)
e0001a05 1187{
43cd72b9 1188 return 0;
e0001a05
NC
1189}
1190
43cd72b9
BW
1191static unsigned
1192Implicit_Field_ar4_get (const xtensa_insnbuf insn ATTRIBUTE_UNUSED)
e0001a05 1193{
43cd72b9 1194 return 4;
e0001a05
NC
1195}
1196
43cd72b9
BW
1197static unsigned
1198Implicit_Field_ar8_get (const xtensa_insnbuf insn ATTRIBUTE_UNUSED)
e0001a05 1199{
43cd72b9 1200 return 8;
e0001a05
NC
1201}
1202
43cd72b9
BW
1203static unsigned
1204Implicit_Field_ar12_get (const xtensa_insnbuf insn ATTRIBUTE_UNUSED)
e0001a05 1205{
43cd72b9 1206 return 12;
e0001a05
NC
1207}
1208
43cd72b9
BW
1209\f
1210/* Functional units. */
1211
1212static xtensa_funcUnit_internal funcUnits[] = {
1213
1214};
1215
1216\f
1217/* Register files. */
1218
1219static xtensa_regfile_internal regfiles[] = {
1220 { "AR", "a", 0, 32, 64 }
1221};
1222
1223\f
1224/* Interfaces. */
1225
1226static xtensa_interface_internal interfaces[] = {
1227
1228};
1229
1230\f
1231/* Constant tables. */
1232
1233/* constant table ai4c */
1234static 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 */
1255static 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 */
1276static 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
1299static int
1300Operand_soffsetx4_decode (uint32 *valp)
e0001a05 1301{
43cd72b9
BW
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;
e0001a05
NC
1307}
1308
43cd72b9
BW
1309static int
1310Operand_soffsetx4_encode (uint32 *valp)
e0001a05 1311{
43cd72b9
BW
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;
e0001a05
NC
1317}
1318
43cd72b9
BW
1319static int
1320Operand_soffsetx4_ator (uint32 *valp, uint32 pc)
e0001a05 1321{
43cd72b9
BW
1322 *valp -= (pc & ~0x3);
1323 return 0;
e0001a05
NC
1324}
1325
43cd72b9
BW
1326static int
1327Operand_soffsetx4_rtoa (uint32 *valp, uint32 pc)
e0001a05 1328{
43cd72b9
BW
1329 *valp += (pc & ~0x3);
1330 return 0;
e0001a05
NC
1331}
1332
43cd72b9
BW
1333static int
1334Operand_uimm12x8_decode (uint32 *valp)
e0001a05 1335{
43cd72b9
BW
1336 unsigned uimm12x8_0, imm12_0;
1337 imm12_0 = *valp & 0xfff;
1338 uimm12x8_0 = imm12_0 << 3;
1339 *valp = uimm12x8_0;
1340 return 0;
e0001a05
NC
1341}
1342
43cd72b9
BW
1343static int
1344Operand_uimm12x8_encode (uint32 *valp)
e0001a05 1345{
43cd72b9
BW
1346 unsigned imm12_0, uimm12x8_0;
1347 uimm12x8_0 = *valp;
1348 imm12_0 = ((uimm12x8_0 >> 3) & 0xfff);
1349 *valp = imm12_0;
1350 return 0;
e0001a05
NC
1351}
1352
43cd72b9
BW
1353static int
1354Operand_simm4_decode (uint32 *valp)
e0001a05 1355{
43cd72b9
BW
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;
e0001a05
NC
1361}
1362
43cd72b9
BW
1363static int
1364Operand_simm4_encode (uint32 *valp)
e0001a05 1365{
43cd72b9
BW
1366 unsigned mn_0, simm4_0;
1367 simm4_0 = *valp;
1368 mn_0 = (simm4_0 & 0xf);
1369 *valp = mn_0;
1370 return 0;
e0001a05
NC
1371}
1372
43cd72b9
BW
1373static int
1374Operand_arr_decode (uint32 *valp ATTRIBUTE_UNUSED)
e0001a05 1375{
43cd72b9 1376 return 0;
e0001a05
NC
1377}
1378
43cd72b9
BW
1379static int
1380Operand_arr_encode (uint32 *valp)
e0001a05 1381{
43cd72b9
BW
1382 int error;
1383 error = (*valp & ~0xf) != 0;
1384 return error;
e0001a05
NC
1385}
1386
43cd72b9
BW
1387static int
1388Operand_ars_decode (uint32 *valp ATTRIBUTE_UNUSED)
e0001a05 1389{
43cd72b9 1390 return 0;
e0001a05
NC
1391}
1392
43cd72b9
BW
1393static int
1394Operand_ars_encode (uint32 *valp)
e0001a05 1395{
43cd72b9
BW
1396 int error;
1397 error = (*valp & ~0xf) != 0;
1398 return error;
e0001a05
NC
1399}
1400
43cd72b9
BW
1401static int
1402Operand_art_decode (uint32 *valp ATTRIBUTE_UNUSED)
1403{
1404 return 0;
1405}
e0001a05 1406
43cd72b9
BW
1407static int
1408Operand_art_encode (uint32 *valp)
e0001a05 1409{
43cd72b9
BW
1410 int error;
1411 error = (*valp & ~0xf) != 0;
1412 return error;
e0001a05
NC
1413}
1414
43cd72b9
BW
1415static int
1416Operand_ar0_decode (uint32 *valp ATTRIBUTE_UNUSED)
e0001a05 1417{
43cd72b9 1418 return 0;
e0001a05
NC
1419}
1420
43cd72b9
BW
1421static int
1422Operand_ar0_encode (uint32 *valp)
e0001a05 1423{
43cd72b9
BW
1424 int error;
1425 error = (*valp & ~0x3f) != 0;
1426 return error;
e0001a05
NC
1427}
1428
43cd72b9
BW
1429static int
1430Operand_ar4_decode (uint32 *valp ATTRIBUTE_UNUSED)
e0001a05 1431{
43cd72b9 1432 return 0;
e0001a05
NC
1433}
1434
43cd72b9
BW
1435static int
1436Operand_ar4_encode (uint32 *valp)
1437{
1438 int error;
1439 error = (*valp & ~0x3f) != 0;
1440 return error;
e0001a05
NC
1441}
1442
43cd72b9
BW
1443static int
1444Operand_ar8_decode (uint32 *valp ATTRIBUTE_UNUSED)
e0001a05 1445{
43cd72b9 1446 return 0;
e0001a05
NC
1447}
1448
43cd72b9
BW
1449static int
1450Operand_ar8_encode (uint32 *valp)
e0001a05 1451{
43cd72b9
BW
1452 int error;
1453 error = (*valp & ~0x3f) != 0;
1454 return error;
e0001a05
NC
1455}
1456
43cd72b9
BW
1457static int
1458Operand_ar12_decode (uint32 *valp ATTRIBUTE_UNUSED)
e0001a05 1459{
43cd72b9 1460 return 0;
e0001a05
NC
1461}
1462
43cd72b9
BW
1463static int
1464Operand_ar12_encode (uint32 *valp)
e0001a05 1465{
43cd72b9
BW
1466 int error;
1467 error = (*valp & ~0x3f) != 0;
1468 return error;
e0001a05
NC
1469}
1470
43cd72b9
BW
1471static int
1472Operand_ars_entry_decode (uint32 *valp ATTRIBUTE_UNUSED)
1473{
1474 return 0;
1475}
e0001a05 1476
43cd72b9
BW
1477static int
1478Operand_ars_entry_encode (uint32 *valp)
e0001a05 1479{
43cd72b9
BW
1480 int error;
1481 error = (*valp & ~0x3f) != 0;
1482 return error;
e0001a05
NC
1483}
1484
43cd72b9
BW
1485static int
1486Operand_immrx4_decode (uint32 *valp)
e0001a05 1487{
43cd72b9
BW
1488 unsigned immrx4_0, r_0;
1489 r_0 = *valp & 0xf;
1490 immrx4_0 = ((((0xfffffff)) << 4) | r_0) << 2;
1491 *valp = immrx4_0;
1492 return 0;
e0001a05
NC
1493}
1494
43cd72b9
BW
1495static int
1496Operand_immrx4_encode (uint32 *valp)
e0001a05 1497{
43cd72b9
BW
1498 unsigned r_0, immrx4_0;
1499 immrx4_0 = *valp;
1500 r_0 = ((immrx4_0 >> 2) & 0xf);
1501 *valp = r_0;
1502 return 0;
e0001a05
NC
1503}
1504
43cd72b9
BW
1505static int
1506Operand_lsi4x4_decode (uint32 *valp)
e0001a05 1507{
43cd72b9
BW
1508 unsigned lsi4x4_0, r_0;
1509 r_0 = *valp & 0xf;
1510 lsi4x4_0 = r_0 << 2;
1511 *valp = lsi4x4_0;
1512 return 0;
e0001a05
NC
1513}
1514
43cd72b9
BW
1515static int
1516Operand_lsi4x4_encode (uint32 *valp)
e0001a05 1517{
43cd72b9
BW
1518 unsigned r_0, lsi4x4_0;
1519 lsi4x4_0 = *valp;
1520 r_0 = ((lsi4x4_0 >> 2) & 0xf);
1521 *valp = r_0;
1522 return 0;
e0001a05
NC
1523}
1524
43cd72b9
BW
1525static int
1526Operand_simm7_decode (uint32 *valp)
e0001a05 1527{
43cd72b9
BW
1528 unsigned simm7_0, imm7_0;
1529 imm7_0 = *valp & 0x7f;
1530 simm7_0 = ((((-((((imm7_0 >> 6) & 1)) & (((imm7_0 >> 5) & 1)))) & 0x1ffffff)) << 7) | imm7_0;
1531 *valp = simm7_0;
1532 return 0;
e0001a05
NC
1533}
1534
43cd72b9
BW
1535static int
1536Operand_simm7_encode (uint32 *valp)
e0001a05 1537{
43cd72b9
BW
1538 unsigned imm7_0, simm7_0;
1539 simm7_0 = *valp;
1540 imm7_0 = (simm7_0 & 0x7f);
1541 *valp = imm7_0;
1542 return 0;
e0001a05
NC
1543}
1544
43cd72b9
BW
1545static int
1546Operand_uimm6_decode (uint32 *valp)
e0001a05 1547{
43cd72b9
BW
1548 unsigned uimm6_0, imm6_0;
1549 imm6_0 = *valp & 0x3f;
1550 uimm6_0 = 0x4 + ((((0)) << 6) | imm6_0);
1551 *valp = uimm6_0;
1552 return 0;
e0001a05
NC
1553}
1554
43cd72b9
BW
1555static int
1556Operand_uimm6_encode (uint32 *valp)
e0001a05 1557{
43cd72b9
BW
1558 unsigned imm6_0, uimm6_0;
1559 uimm6_0 = *valp;
1560 imm6_0 = (uimm6_0 - 0x4) & 0x3f;
1561 *valp = imm6_0;
1562 return 0;
e0001a05
NC
1563}
1564
43cd72b9
BW
1565static int
1566Operand_uimm6_ator (uint32 *valp, uint32 pc)
e0001a05 1567{
43cd72b9
BW
1568 *valp -= pc;
1569 return 0;
e0001a05
NC
1570}
1571
43cd72b9
BW
1572static int
1573Operand_uimm6_rtoa (uint32 *valp, uint32 pc)
e0001a05 1574{
43cd72b9
BW
1575 *valp += pc;
1576 return 0;
e0001a05
NC
1577}
1578
43cd72b9
BW
1579static int
1580Operand_ai4const_decode (uint32 *valp)
e0001a05 1581{
43cd72b9
BW
1582 unsigned ai4const_0, t_0;
1583 t_0 = *valp & 0xf;
1584 ai4const_0 = CONST_TBL_ai4c_0[t_0 & 0xf];
1585 *valp = ai4const_0;
1586 return 0;
e0001a05
NC
1587}
1588
43cd72b9
BW
1589static int
1590Operand_ai4const_encode (uint32 *valp)
e0001a05 1591{
43cd72b9
BW
1592 unsigned t_0, ai4const_0;
1593 ai4const_0 = *valp;
1594 switch (ai4const_0)
1595 {
1596 case 0xffffffff: t_0 = 0; break;
1597 case 0x1: t_0 = 0x1; break;
1598 case 0x2: t_0 = 0x2; break;
1599 case 0x3: t_0 = 0x3; break;
1600 case 0x4: t_0 = 0x4; break;
1601 case 0x5: t_0 = 0x5; break;
1602 case 0x6: t_0 = 0x6; break;
1603 case 0x7: t_0 = 0x7; break;
1604 case 0x8: t_0 = 0x8; break;
1605 case 0x9: t_0 = 0x9; break;
1606 case 0xa: t_0 = 0xa; break;
1607 case 0xb: t_0 = 0xb; break;
1608 case 0xc: t_0 = 0xc; break;
1609 case 0xd: t_0 = 0xd; break;
1610 case 0xe: t_0 = 0xe; break;
1611 default: t_0 = 0xf; break;
1612 }
1613 *valp = t_0;
1614 return 0;
e0001a05
NC
1615}
1616
43cd72b9
BW
1617static int
1618Operand_b4const_decode (uint32 *valp)
e0001a05 1619{
43cd72b9
BW
1620 unsigned b4const_0, r_0;
1621 r_0 = *valp & 0xf;
1622 b4const_0 = CONST_TBL_b4c_0[r_0 & 0xf];
1623 *valp = b4const_0;
1624 return 0;
e0001a05
NC
1625}
1626
43cd72b9
BW
1627static int
1628Operand_b4const_encode (uint32 *valp)
e0001a05 1629{
43cd72b9
BW
1630 unsigned r_0, b4const_0;
1631 b4const_0 = *valp;
1632 switch (b4const_0)
1633 {
1634 case 0xffffffff: r_0 = 0; break;
1635 case 0x1: r_0 = 0x1; break;
1636 case 0x2: r_0 = 0x2; break;
1637 case 0x3: r_0 = 0x3; break;
1638 case 0x4: r_0 = 0x4; break;
1639 case 0x5: r_0 = 0x5; break;
1640 case 0x6: r_0 = 0x6; break;
1641 case 0x7: r_0 = 0x7; break;
1642 case 0x8: r_0 = 0x8; break;
1643 case 0xa: r_0 = 0x9; break;
1644 case 0xc: r_0 = 0xa; break;
1645 case 0x10: r_0 = 0xb; break;
1646 case 0x20: r_0 = 0xc; break;
1647 case 0x40: r_0 = 0xd; break;
1648 case 0x80: r_0 = 0xe; break;
1649 default: r_0 = 0xf; break;
1650 }
1651 *valp = r_0;
1652 return 0;
e0001a05
NC
1653}
1654
43cd72b9
BW
1655static int
1656Operand_b4constu_decode (uint32 *valp)
e0001a05 1657{
43cd72b9
BW
1658 unsigned b4constu_0, r_0;
1659 r_0 = *valp & 0xf;
1660 b4constu_0 = CONST_TBL_b4cu_0[r_0 & 0xf];
1661 *valp = b4constu_0;
1662 return 0;
e0001a05
NC
1663}
1664
43cd72b9
BW
1665static int
1666Operand_b4constu_encode (uint32 *valp)
e0001a05 1667{
43cd72b9
BW
1668 unsigned r_0, b4constu_0;
1669 b4constu_0 = *valp;
1670 switch (b4constu_0)
1671 {
1672 case 0x8000: r_0 = 0; break;
1673 case 0x10000: r_0 = 0x1; break;
1674 case 0x2: r_0 = 0x2; break;
1675 case 0x3: r_0 = 0x3; break;
1676 case 0x4: r_0 = 0x4; break;
1677 case 0x5: r_0 = 0x5; break;
1678 case 0x6: r_0 = 0x6; break;
1679 case 0x7: r_0 = 0x7; break;
1680 case 0x8: r_0 = 0x8; break;
1681 case 0xa: r_0 = 0x9; break;
1682 case 0xc: r_0 = 0xa; break;
1683 case 0x10: r_0 = 0xb; break;
1684 case 0x20: r_0 = 0xc; break;
1685 case 0x40: r_0 = 0xd; break;
1686 case 0x80: r_0 = 0xe; break;
1687 default: r_0 = 0xf; break;
1688 }
1689 *valp = r_0;
1690 return 0;
e0001a05
NC
1691}
1692
43cd72b9
BW
1693static int
1694Operand_uimm8_decode (uint32 *valp)
e0001a05 1695{
43cd72b9
BW
1696 unsigned uimm8_0, imm8_0;
1697 imm8_0 = *valp & 0xff;
1698 uimm8_0 = imm8_0;
1699 *valp = uimm8_0;
1700 return 0;
e0001a05
NC
1701}
1702
43cd72b9
BW
1703static int
1704Operand_uimm8_encode (uint32 *valp)
e0001a05 1705{
43cd72b9
BW
1706 unsigned imm8_0, uimm8_0;
1707 uimm8_0 = *valp;
1708 imm8_0 = (uimm8_0 & 0xff);
1709 *valp = imm8_0;
1710 return 0;
e0001a05
NC
1711}
1712
43cd72b9
BW
1713static int
1714Operand_uimm8x2_decode (uint32 *valp)
e0001a05 1715{
43cd72b9
BW
1716 unsigned uimm8x2_0, imm8_0;
1717 imm8_0 = *valp & 0xff;
1718 uimm8x2_0 = imm8_0 << 1;
1719 *valp = uimm8x2_0;
1720 return 0;
e0001a05
NC
1721}
1722
43cd72b9
BW
1723static int
1724Operand_uimm8x2_encode (uint32 *valp)
e0001a05 1725{
43cd72b9
BW
1726 unsigned imm8_0, uimm8x2_0;
1727 uimm8x2_0 = *valp;
1728 imm8_0 = ((uimm8x2_0 >> 1) & 0xff);
1729 *valp = imm8_0;
1730 return 0;
e0001a05
NC
1731}
1732
43cd72b9
BW
1733static int
1734Operand_uimm8x4_decode (uint32 *valp)
e0001a05 1735{
43cd72b9
BW
1736 unsigned uimm8x4_0, imm8_0;
1737 imm8_0 = *valp & 0xff;
1738 uimm8x4_0 = imm8_0 << 2;
1739 *valp = uimm8x4_0;
1740 return 0;
e0001a05
NC
1741}
1742
43cd72b9
BW
1743static int
1744Operand_uimm8x4_encode (uint32 *valp)
e0001a05 1745{
43cd72b9
BW
1746 unsigned imm8_0, uimm8x4_0;
1747 uimm8x4_0 = *valp;
1748 imm8_0 = ((uimm8x4_0 >> 2) & 0xff);
1749 *valp = imm8_0;
1750 return 0;
e0001a05
NC
1751}
1752
43cd72b9
BW
1753static int
1754Operand_uimm4x16_decode (uint32 *valp)
e0001a05 1755{
43cd72b9
BW
1756 unsigned uimm4x16_0, op2_0;
1757 op2_0 = *valp & 0xf;
1758 uimm4x16_0 = op2_0 << 4;
1759 *valp = uimm4x16_0;
1760 return 0;
e0001a05
NC
1761}
1762
43cd72b9
BW
1763static int
1764Operand_uimm4x16_encode (uint32 *valp)
e0001a05 1765{
43cd72b9
BW
1766 unsigned op2_0, uimm4x16_0;
1767 uimm4x16_0 = *valp;
1768 op2_0 = ((uimm4x16_0 >> 4) & 0xf);
1769 *valp = op2_0;
1770 return 0;
e0001a05
NC
1771}
1772
43cd72b9
BW
1773static int
1774Operand_simm8_decode (uint32 *valp)
e0001a05 1775{
43cd72b9
BW
1776 unsigned simm8_0, imm8_0;
1777 imm8_0 = *valp & 0xff;
1778 simm8_0 = ((int) imm8_0 << 24) >> 24;
1779 *valp = simm8_0;
1780 return 0;
e0001a05
NC
1781}
1782
43cd72b9
BW
1783static int
1784Operand_simm8_encode (uint32 *valp)
e0001a05 1785{
43cd72b9
BW
1786 unsigned imm8_0, simm8_0;
1787 simm8_0 = *valp;
1788 imm8_0 = (simm8_0 & 0xff);
1789 *valp = imm8_0;
1790 return 0;
e0001a05
NC
1791}
1792
43cd72b9
BW
1793static int
1794Operand_simm8x256_decode (uint32 *valp)
e0001a05 1795{
43cd72b9
BW
1796 unsigned simm8x256_0, imm8_0;
1797 imm8_0 = *valp & 0xff;
1798 simm8x256_0 = (((int) imm8_0 << 24) >> 24) << 8;
1799 *valp = simm8x256_0;
1800 return 0;
e0001a05
NC
1801}
1802
43cd72b9
BW
1803static int
1804Operand_simm8x256_encode (uint32 *valp)
e0001a05 1805{
43cd72b9
BW
1806 unsigned imm8_0, simm8x256_0;
1807 simm8x256_0 = *valp;
1808 imm8_0 = ((simm8x256_0 >> 8) & 0xff);
1809 *valp = imm8_0;
1810 return 0;
e0001a05
NC
1811}
1812
43cd72b9
BW
1813static int
1814Operand_simm12b_decode (uint32 *valp)
e0001a05 1815{
43cd72b9
BW
1816 unsigned simm12b_0, imm12b_0;
1817 imm12b_0 = *valp & 0xfff;
1818 simm12b_0 = ((int) imm12b_0 << 20) >> 20;
1819 *valp = simm12b_0;
1820 return 0;
e0001a05
NC
1821}
1822
43cd72b9
BW
1823static int
1824Operand_simm12b_encode (uint32 *valp)
e0001a05 1825{
43cd72b9
BW
1826 unsigned imm12b_0, simm12b_0;
1827 simm12b_0 = *valp;
1828 imm12b_0 = (simm12b_0 & 0xfff);
1829 *valp = imm12b_0;
1830 return 0;
e0001a05
NC
1831}
1832
43cd72b9
BW
1833static int
1834Operand_msalp32_decode (uint32 *valp)
e0001a05 1835{
43cd72b9
BW
1836 unsigned msalp32_0, sal_0;
1837 sal_0 = *valp & 0x1f;
1838 msalp32_0 = 0x20 - sal_0;
1839 *valp = msalp32_0;
1840 return 0;
e0001a05
NC
1841}
1842
43cd72b9
BW
1843static int
1844Operand_msalp32_encode (uint32 *valp)
e0001a05 1845{
43cd72b9
BW
1846 unsigned sal_0, msalp32_0;
1847 msalp32_0 = *valp;
1848 sal_0 = (0x20 - msalp32_0) & 0x1f;
1849 *valp = sal_0;
1850 return 0;
e0001a05
NC
1851}
1852
43cd72b9
BW
1853static int
1854Operand_op2p1_decode (uint32 *valp)
e0001a05 1855{
43cd72b9
BW
1856 unsigned op2p1_0, op2_0;
1857 op2_0 = *valp & 0xf;
1858 op2p1_0 = op2_0 + 0x1;
1859 *valp = op2p1_0;
1860 return 0;
e0001a05
NC
1861}
1862
43cd72b9
BW
1863static int
1864Operand_op2p1_encode (uint32 *valp)
e0001a05 1865{
43cd72b9
BW
1866 unsigned op2_0, op2p1_0;
1867 op2p1_0 = *valp;
1868 op2_0 = (op2p1_0 - 0x1) & 0xf;
1869 *valp = op2_0;
1870 return 0;
e0001a05
NC
1871}
1872
43cd72b9
BW
1873static int
1874Operand_label8_decode (uint32 *valp)
e0001a05 1875{
43cd72b9
BW
1876 unsigned label8_0, imm8_0;
1877 imm8_0 = *valp & 0xff;
1878 label8_0 = 0x4 + (((int) imm8_0 << 24) >> 24);
1879 *valp = label8_0;
1880 return 0;
e0001a05
NC
1881}
1882
43cd72b9
BW
1883static int
1884Operand_label8_encode (uint32 *valp)
e0001a05 1885{
43cd72b9
BW
1886 unsigned imm8_0, label8_0;
1887 label8_0 = *valp;
1888 imm8_0 = (label8_0 - 0x4) & 0xff;
1889 *valp = imm8_0;
1890 return 0;
e0001a05
NC
1891}
1892
43cd72b9
BW
1893static int
1894Operand_label8_ator (uint32 *valp, uint32 pc)
e0001a05 1895{
43cd72b9
BW
1896 *valp -= pc;
1897 return 0;
e0001a05
NC
1898}
1899
43cd72b9
BW
1900static int
1901Operand_label8_rtoa (uint32 *valp, uint32 pc)
e0001a05 1902{
43cd72b9
BW
1903 *valp += pc;
1904 return 0;
e0001a05
NC
1905}
1906
43cd72b9
BW
1907static int
1908Operand_ulabel8_decode (uint32 *valp)
e0001a05 1909{
43cd72b9
BW
1910 unsigned ulabel8_0, imm8_0;
1911 imm8_0 = *valp & 0xff;
1912 ulabel8_0 = 0x4 + ((((0)) << 8) | imm8_0);
1913 *valp = ulabel8_0;
1914 return 0;
e0001a05
NC
1915}
1916
43cd72b9
BW
1917static int
1918Operand_ulabel8_encode (uint32 *valp)
e0001a05 1919{
43cd72b9
BW
1920 unsigned imm8_0, ulabel8_0;
1921 ulabel8_0 = *valp;
1922 imm8_0 = (ulabel8_0 - 0x4) & 0xff;
1923 *valp = imm8_0;
1924 return 0;
e0001a05
NC
1925}
1926
43cd72b9
BW
1927static int
1928Operand_ulabel8_ator (uint32 *valp, uint32 pc)
e0001a05 1929{
43cd72b9
BW
1930 *valp -= pc;
1931 return 0;
e0001a05
NC
1932}
1933
43cd72b9
BW
1934static int
1935Operand_ulabel8_rtoa (uint32 *valp, uint32 pc)
e0001a05 1936{
43cd72b9
BW
1937 *valp += pc;
1938 return 0;
e0001a05
NC
1939}
1940
43cd72b9
BW
1941static int
1942Operand_label12_decode (uint32 *valp)
e0001a05 1943{
43cd72b9
BW
1944 unsigned label12_0, imm12_0;
1945 imm12_0 = *valp & 0xfff;
1946 label12_0 = 0x4 + (((int) imm12_0 << 20) >> 20);
1947 *valp = label12_0;
1948 return 0;
e0001a05
NC
1949}
1950
43cd72b9
BW
1951static int
1952Operand_label12_encode (uint32 *valp)
1953{
1954 unsigned imm12_0, label12_0;
1955 label12_0 = *valp;
1956 imm12_0 = (label12_0 - 0x4) & 0xfff;
1957 *valp = imm12_0;
1958 return 0;
1959}
e0001a05 1960
43cd72b9
BW
1961static int
1962Operand_label12_ator (uint32 *valp, uint32 pc)
1963{
1964 *valp -= pc;
1965 return 0;
1966}
e0001a05 1967
43cd72b9
BW
1968static int
1969Operand_label12_rtoa (uint32 *valp, uint32 pc)
1970{
1971 *valp += pc;
1972 return 0;
1973}
e0001a05 1974
43cd72b9
BW
1975static int
1976Operand_soffset_decode (uint32 *valp)
1977{
1978 unsigned soffset_0, offset_0;
1979 offset_0 = *valp & 0x3ffff;
1980 soffset_0 = 0x4 + (((int) offset_0 << 14) >> 14);
1981 *valp = soffset_0;
1982 return 0;
1983}
e0001a05 1984
43cd72b9
BW
1985static int
1986Operand_soffset_encode (uint32 *valp)
e0001a05 1987{
43cd72b9
BW
1988 unsigned offset_0, soffset_0;
1989 soffset_0 = *valp;
1990 offset_0 = (soffset_0 - 0x4) & 0x3ffff;
1991 *valp = offset_0;
1992 return 0;
e0001a05
NC
1993}
1994
43cd72b9
BW
1995static int
1996Operand_soffset_ator (uint32 *valp, uint32 pc)
e0001a05 1997{
43cd72b9
BW
1998 *valp -= pc;
1999 return 0;
e0001a05
NC
2000}
2001
43cd72b9
BW
2002static int
2003Operand_soffset_rtoa (uint32 *valp, uint32 pc)
e0001a05 2004{
43cd72b9
BW
2005 *valp += pc;
2006 return 0;
e0001a05
NC
2007}
2008
43cd72b9
BW
2009static int
2010Operand_uimm16x4_decode (uint32 *valp)
e0001a05 2011{
43cd72b9
BW
2012 unsigned uimm16x4_0, imm16_0;
2013 imm16_0 = *valp & 0xffff;
2014 uimm16x4_0 = ((((0xffff)) << 16) | imm16_0) << 2;
2015 *valp = uimm16x4_0;
2016 return 0;
e0001a05
NC
2017}
2018
43cd72b9
BW
2019static int
2020Operand_uimm16x4_encode (uint32 *valp)
e0001a05 2021{
43cd72b9
BW
2022 unsigned imm16_0, uimm16x4_0;
2023 uimm16x4_0 = *valp;
2024 imm16_0 = (uimm16x4_0 >> 2) & 0xffff;
2025 *valp = imm16_0;
2026 return 0;
e0001a05
NC
2027}
2028
43cd72b9
BW
2029static int
2030Operand_uimm16x4_ator (uint32 *valp, uint32 pc)
e0001a05 2031{
43cd72b9
BW
2032 *valp -= ((pc + 3) & ~0x3);
2033 return 0;
e0001a05
NC
2034}
2035
43cd72b9
BW
2036static int
2037Operand_uimm16x4_rtoa (uint32 *valp, uint32 pc)
2038{
2039 *valp += ((pc + 3) & ~0x3);
2040 return 0;
2041}
2042
2043static int
2044Operand_immt_decode (uint32 *valp)
2045{
2046 unsigned immt_0, t_0;
2047 t_0 = *valp & 0xf;
2048 immt_0 = t_0;
2049 *valp = immt_0;
2050 return 0;
2051}
2052
2053static int
2054Operand_immt_encode (uint32 *valp)
2055{
2056 unsigned t_0, immt_0;
2057 immt_0 = *valp;
2058 t_0 = immt_0 & 0xf;
2059 *valp = t_0;
2060 return 0;
2061}
2062
2063static int
2064Operand_imms_decode (uint32 *valp)
2065{
2066 unsigned imms_0, s_0;
2067 s_0 = *valp & 0xf;
2068 imms_0 = s_0;
2069 *valp = imms_0;
2070 return 0;
2071}
2072
2073static int
2074Operand_imms_encode (uint32 *valp)
2075{
2076 unsigned s_0, imms_0;
2077 imms_0 = *valp;
2078 s_0 = imms_0 & 0xf;
2079 *valp = s_0;
2080 return 0;
2081}
2082
2083static xtensa_operand_internal operands[] = {
2084 { "soffsetx4", 10, -1, 0,
2085 XTENSA_OPERAND_IS_PCRELATIVE,
2086 Operand_soffsetx4_encode, Operand_soffsetx4_decode,
2087 Operand_soffsetx4_ator, Operand_soffsetx4_rtoa },
2088 { "uimm12x8", 3, -1, 0,
2089 0,
2090 Operand_uimm12x8_encode, Operand_uimm12x8_decode,
2091 0, 0 },
2092 { "simm4", 26, -1, 0,
2093 0,
2094 Operand_simm4_encode, Operand_simm4_decode,
2095 0, 0 },
2096 { "arr", 14, 0, 1,
2097 XTENSA_OPERAND_IS_REGISTER,
2098 Operand_arr_encode, Operand_arr_decode,
2099 0, 0 },
2100 { "ars", 5, 0, 1,
2101 XTENSA_OPERAND_IS_REGISTER,
2102 Operand_ars_encode, Operand_ars_decode,
2103 0, 0 },
2104 { "*ars_invisible", 5, 0, 1,
2105 XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE,
2106 Operand_ars_encode, Operand_ars_decode,
2107 0, 0 },
2108 { "art", 0, 0, 1,
2109 XTENSA_OPERAND_IS_REGISTER,
2110 Operand_art_encode, Operand_art_decode,
2111 0, 0 },
2112 { "ar0", 35, 0, 1,
2113 XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE,
2114 Operand_ar0_encode, Operand_ar0_decode,
2115 0, 0 },
2116 { "ar4", 36, 0, 1,
2117 XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE,
2118 Operand_ar4_encode, Operand_ar4_decode,
2119 0, 0 },
2120 { "ar8", 37, 0, 1,
2121 XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE,
2122 Operand_ar8_encode, Operand_ar8_decode,
2123 0, 0 },
2124 { "ar12", 38, 0, 1,
2125 XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE,
2126 Operand_ar12_encode, Operand_ar12_decode,
2127 0, 0 },
2128 { "ars_entry", 5, 0, 1,
2129 XTENSA_OPERAND_IS_REGISTER,
2130 Operand_ars_entry_encode, Operand_ars_entry_decode,
2131 0, 0 },
2132 { "immrx4", 14, -1, 0,
2133 0,
2134 Operand_immrx4_encode, Operand_immrx4_decode,
2135 0, 0 },
2136 { "lsi4x4", 14, -1, 0,
2137 0,
2138 Operand_lsi4x4_encode, Operand_lsi4x4_decode,
2139 0, 0 },
2140 { "simm7", 34, -1, 0,
2141 0,
2142 Operand_simm7_encode, Operand_simm7_decode,
2143 0, 0 },
2144 { "uimm6", 33, -1, 0,
2145 XTENSA_OPERAND_IS_PCRELATIVE,
2146 Operand_uimm6_encode, Operand_uimm6_decode,
2147 Operand_uimm6_ator, Operand_uimm6_rtoa },
2148 { "ai4const", 0, -1, 0,
2149 0,
2150 Operand_ai4const_encode, Operand_ai4const_decode,
2151 0, 0 },
2152 { "b4const", 14, -1, 0,
2153 0,
2154 Operand_b4const_encode, Operand_b4const_decode,
2155 0, 0 },
2156 { "b4constu", 14, -1, 0,
2157 0,
2158 Operand_b4constu_encode, Operand_b4constu_decode,
2159 0, 0 },
2160 { "uimm8", 4, -1, 0,
2161 0,
2162 Operand_uimm8_encode, Operand_uimm8_decode,
2163 0, 0 },
2164 { "uimm8x2", 4, -1, 0,
2165 0,
2166 Operand_uimm8x2_encode, Operand_uimm8x2_decode,
2167 0, 0 },
2168 { "uimm8x4", 4, -1, 0,
2169 0,
2170 Operand_uimm8x4_encode, Operand_uimm8x4_decode,
2171 0, 0 },
2172 { "uimm4x16", 13, -1, 0,
2173 0,
2174 Operand_uimm4x16_encode, Operand_uimm4x16_decode,
2175 0, 0 },
2176 { "simm8", 4, -1, 0,
2177 0,
2178 Operand_simm8_encode, Operand_simm8_decode,
2179 0, 0 },
2180 { "simm8x256", 4, -1, 0,
2181 0,
2182 Operand_simm8x256_encode, Operand_simm8x256_decode,
2183 0, 0 },
2184 { "simm12b", 6, -1, 0,
2185 0,
2186 Operand_simm12b_encode, Operand_simm12b_decode,
2187 0, 0 },
2188 { "msalp32", 18, -1, 0,
2189 0,
2190 Operand_msalp32_encode, Operand_msalp32_decode,
2191 0, 0 },
2192 { "op2p1", 13, -1, 0,
2193 0,
2194 Operand_op2p1_encode, Operand_op2p1_decode,
2195 0, 0 },
2196 { "label8", 4, -1, 0,
2197 XTENSA_OPERAND_IS_PCRELATIVE,
2198 Operand_label8_encode, Operand_label8_decode,
2199 Operand_label8_ator, Operand_label8_rtoa },
2200 { "ulabel8", 4, -1, 0,
2201 XTENSA_OPERAND_IS_PCRELATIVE,
2202 Operand_ulabel8_encode, Operand_ulabel8_decode,
2203 Operand_ulabel8_ator, Operand_ulabel8_rtoa },
2204 { "label12", 3, -1, 0,
2205 XTENSA_OPERAND_IS_PCRELATIVE,
2206 Operand_label12_encode, Operand_label12_decode,
2207 Operand_label12_ator, Operand_label12_rtoa },
2208 { "soffset", 10, -1, 0,
2209 XTENSA_OPERAND_IS_PCRELATIVE,
2210 Operand_soffset_encode, Operand_soffset_decode,
2211 Operand_soffset_ator, Operand_soffset_rtoa },
2212 { "uimm16x4", 7, -1, 0,
2213 XTENSA_OPERAND_IS_PCRELATIVE,
2214 Operand_uimm16x4_encode, Operand_uimm16x4_decode,
2215 Operand_uimm16x4_ator, Operand_uimm16x4_rtoa },
2216 { "immt", 0, -1, 0,
2217 0,
2218 Operand_immt_encode, Operand_immt_decode,
2219 0, 0 },
2220 { "imms", 5, -1, 0,
2221 0,
2222 Operand_imms_encode, Operand_imms_decode,
2223 0, 0 },
2224 { "t", 0, -1, 0, 0, 0, 0, 0, 0 },
2225 { "bbi4", 1, -1, 0, 0, 0, 0, 0, 0 },
2226 { "bbi", 2, -1, 0, 0, 0, 0, 0, 0 },
2227 { "imm12", 3, -1, 0, 0, 0, 0, 0, 0 },
2228 { "imm8", 4, -1, 0, 0, 0, 0, 0, 0 },
2229 { "s", 5, -1, 0, 0, 0, 0, 0, 0 },
2230 { "imm12b", 6, -1, 0, 0, 0, 0, 0, 0 },
2231 { "imm16", 7, -1, 0, 0, 0, 0, 0, 0 },
2232 { "m", 8, -1, 0, 0, 0, 0, 0, 0 },
2233 { "n", 9, -1, 0, 0, 0, 0, 0, 0 },
2234 { "offset", 10, -1, 0, 0, 0, 0, 0, 0 },
2235 { "op0", 11, -1, 0, 0, 0, 0, 0, 0 },
2236 { "op1", 12, -1, 0, 0, 0, 0, 0, 0 },
2237 { "op2", 13, -1, 0, 0, 0, 0, 0, 0 },
2238 { "r", 14, -1, 0, 0, 0, 0, 0, 0 },
2239 { "sa4", 15, -1, 0, 0, 0, 0, 0, 0 },
2240 { "sae4", 16, -1, 0, 0, 0, 0, 0, 0 },
2241 { "sae", 17, -1, 0, 0, 0, 0, 0, 0 },
2242 { "sal", 18, -1, 0, 0, 0, 0, 0, 0 },
2243 { "sargt", 19, -1, 0, 0, 0, 0, 0, 0 },
2244 { "sas4", 20, -1, 0, 0, 0, 0, 0, 0 },
2245 { "sas", 21, -1, 0, 0, 0, 0, 0, 0 },
2246 { "sr", 22, -1, 0, 0, 0, 0, 0, 0 },
2247 { "st", 23, -1, 0, 0, 0, 0, 0, 0 },
2248 { "thi3", 24, -1, 0, 0, 0, 0, 0, 0 },
2249 { "imm4", 25, -1, 0, 0, 0, 0, 0, 0 },
2250 { "mn", 26, -1, 0, 0, 0, 0, 0, 0 },
2251 { "i", 27, -1, 0, 0, 0, 0, 0, 0 },
2252 { "imm6lo", 28, -1, 0, 0, 0, 0, 0, 0 },
2253 { "imm6hi", 29, -1, 0, 0, 0, 0, 0, 0 },
2254 { "imm7lo", 30, -1, 0, 0, 0, 0, 0, 0 },
2255 { "imm7hi", 31, -1, 0, 0, 0, 0, 0, 0 },
2256 { "z", 32, -1, 0, 0, 0, 0, 0, 0 },
2257 { "imm6", 33, -1, 0, 0, 0, 0, 0, 0 },
2258 { "imm7", 34, -1, 0, 0, 0, 0, 0, 0 }
2259};
2260
2261\f
2262/* Iclass table. */
2263
2264static xtensa_arg_internal Iclass_xt_iclass_rfe_stateArgs[] = {
074f5109
BW
2265 { { STATE_PSRING }, 'i' },
2266 { { STATE_PSEXCM }, 'm' },
43cd72b9
BW
2267 { { STATE_EPC1 }, 'i' }
2268};
2269
2270static xtensa_arg_internal Iclass_xt_iclass_rfde_stateArgs[] = {
074f5109
BW
2271 { { STATE_PSEXCM }, 'i' },
2272 { { STATE_PSRING }, 'i' },
43cd72b9
BW
2273 { { STATE_DEPC }, 'i' }
2274};
2275
2276static xtensa_arg_internal Iclass_xt_iclass_call12_args[] = {
2277 { { 0 /* soffsetx4 */ }, 'i' },
2278 { { 10 /* ar12 */ }, 'o' }
2279};
2280
2281static xtensa_arg_internal Iclass_xt_iclass_call12_stateArgs[] = {
2282 { { STATE_PSCALLINC }, 'o' }
2283};
2284
2285static xtensa_arg_internal Iclass_xt_iclass_call8_args[] = {
2286 { { 0 /* soffsetx4 */ }, 'i' },
2287 { { 9 /* ar8 */ }, 'o' }
e0001a05
NC
2288};
2289
43cd72b9
BW
2290static xtensa_arg_internal Iclass_xt_iclass_call8_stateArgs[] = {
2291 { { STATE_PSCALLINC }, 'o' }
e0001a05
NC
2292};
2293
43cd72b9
BW
2294static xtensa_arg_internal Iclass_xt_iclass_call4_args[] = {
2295 { { 0 /* soffsetx4 */ }, 'i' },
2296 { { 8 /* ar4 */ }, 'o' }
e0001a05
NC
2297};
2298
43cd72b9
BW
2299static xtensa_arg_internal Iclass_xt_iclass_call4_stateArgs[] = {
2300 { { STATE_PSCALLINC }, 'o' }
e0001a05
NC
2301};
2302
43cd72b9
BW
2303static xtensa_arg_internal Iclass_xt_iclass_callx12_args[] = {
2304 { { 4 /* ars */ }, 'i' },
2305 { { 10 /* ar12 */ }, 'o' }
e0001a05
NC
2306};
2307
43cd72b9
BW
2308static xtensa_arg_internal Iclass_xt_iclass_callx12_stateArgs[] = {
2309 { { STATE_PSCALLINC }, 'o' }
e0001a05
NC
2310};
2311
43cd72b9
BW
2312static xtensa_arg_internal Iclass_xt_iclass_callx8_args[] = {
2313 { { 4 /* ars */ }, 'i' },
2314 { { 9 /* ar8 */ }, 'o' }
e0001a05
NC
2315};
2316
43cd72b9
BW
2317static xtensa_arg_internal Iclass_xt_iclass_callx8_stateArgs[] = {
2318 { { STATE_PSCALLINC }, 'o' }
e0001a05
NC
2319};
2320
43cd72b9
BW
2321static xtensa_arg_internal Iclass_xt_iclass_callx4_args[] = {
2322 { { 4 /* ars */ }, 'i' },
2323 { { 8 /* ar4 */ }, 'o' }
e0001a05
NC
2324};
2325
43cd72b9
BW
2326static xtensa_arg_internal Iclass_xt_iclass_callx4_stateArgs[] = {
2327 { { STATE_PSCALLINC }, 'o' }
e0001a05
NC
2328};
2329
43cd72b9
BW
2330static xtensa_arg_internal Iclass_xt_iclass_entry_args[] = {
2331 { { 11 /* ars_entry */ }, 's' },
2332 { { 4 /* ars */ }, 'i' },
2333 { { 1 /* uimm12x8 */ }, 'i' }
e0001a05
NC
2334};
2335
43cd72b9
BW
2336static xtensa_arg_internal Iclass_xt_iclass_entry_stateArgs[] = {
2337 { { STATE_PSCALLINC }, 'i' },
2338 { { STATE_PSEXCM }, 'i' },
2339 { { STATE_PSWOE }, 'i' },
2340 { { STATE_WindowBase }, 'm' },
2341 { { STATE_WindowStart }, 'm' }
e0001a05
NC
2342};
2343
43cd72b9
BW
2344static xtensa_arg_internal Iclass_xt_iclass_movsp_args[] = {
2345 { { 6 /* art */ }, 'o' },
2346 { { 4 /* ars */ }, 'i' }
e0001a05
NC
2347};
2348
43cd72b9
BW
2349static xtensa_arg_internal Iclass_xt_iclass_movsp_stateArgs[] = {
2350 { { STATE_WindowBase }, 'i' },
2351 { { STATE_WindowStart }, 'i' }
e0001a05
NC
2352};
2353
43cd72b9
BW
2354static xtensa_arg_internal Iclass_xt_iclass_rotw_args[] = {
2355 { { 2 /* simm4 */ }, 'i' }
e0001a05
NC
2356};
2357
43cd72b9 2358static xtensa_arg_internal Iclass_xt_iclass_rotw_stateArgs[] = {
074f5109
BW
2359 { { STATE_PSEXCM }, 'i' },
2360 { { STATE_PSRING }, 'i' },
43cd72b9 2361 { { STATE_WindowBase }, 'm' }
e0001a05
NC
2362};
2363
43cd72b9
BW
2364static xtensa_arg_internal Iclass_xt_iclass_retw_args[] = {
2365 { { 5 /* *ars_invisible */ }, 'i' }
e0001a05
NC
2366};
2367
43cd72b9
BW
2368static xtensa_arg_internal Iclass_xt_iclass_retw_stateArgs[] = {
2369 { { STATE_WindowBase }, 'm' },
2370 { { STATE_WindowStart }, 'm' },
2371 { { STATE_PSEXCM }, 'i' },
2372 { { STATE_PSWOE }, 'i' }
e0001a05
NC
2373};
2374
43cd72b9
BW
2375static xtensa_arg_internal Iclass_xt_iclass_rfwou_stateArgs[] = {
2376 { { STATE_EPC1 }, 'i' },
074f5109
BW
2377 { { STATE_PSEXCM }, 'm' },
2378 { { STATE_PSRING }, 'i' },
43cd72b9
BW
2379 { { STATE_WindowBase }, 'm' },
2380 { { STATE_WindowStart }, 'm' },
2381 { { STATE_PSOWB }, 'i' }
e0001a05
NC
2382};
2383
43cd72b9
BW
2384static xtensa_arg_internal Iclass_xt_iclass_l32e_args[] = {
2385 { { 6 /* art */ }, 'o' },
2386 { { 4 /* ars */ }, 'i' },
2387 { { 12 /* immrx4 */ }, 'i' }
e0001a05
NC
2388};
2389
074f5109
BW
2390static xtensa_arg_internal Iclass_xt_iclass_l32e_stateArgs[] = {
2391 { { STATE_PSEXCM }, 'i' },
2392 { { STATE_PSRING }, 'i' }
2393};
2394
43cd72b9
BW
2395static xtensa_arg_internal Iclass_xt_iclass_s32e_args[] = {
2396 { { 6 /* art */ }, 'i' },
2397 { { 4 /* ars */ }, 'i' },
2398 { { 12 /* immrx4 */ }, 'i' }
e0001a05
NC
2399};
2400
074f5109
BW
2401static xtensa_arg_internal Iclass_xt_iclass_s32e_stateArgs[] = {
2402 { { STATE_PSEXCM }, 'i' },
2403 { { STATE_PSRING }, 'i' }
2404};
2405
43cd72b9
BW
2406static xtensa_arg_internal Iclass_xt_iclass_rsr_windowbase_args[] = {
2407 { { 6 /* art */ }, 'o' }
e0001a05
NC
2408};
2409
43cd72b9 2410static xtensa_arg_internal Iclass_xt_iclass_rsr_windowbase_stateArgs[] = {
074f5109
BW
2411 { { STATE_PSEXCM }, 'i' },
2412 { { STATE_PSRING }, 'i' },
43cd72b9 2413 { { STATE_WindowBase }, 'i' }
e0001a05
NC
2414};
2415
43cd72b9
BW
2416static xtensa_arg_internal Iclass_xt_iclass_wsr_windowbase_args[] = {
2417 { { 6 /* art */ }, 'i' }
e0001a05
NC
2418};
2419
43cd72b9 2420static xtensa_arg_internal Iclass_xt_iclass_wsr_windowbase_stateArgs[] = {
074f5109
BW
2421 { { STATE_PSEXCM }, 'i' },
2422 { { STATE_PSRING }, 'i' },
43cd72b9 2423 { { STATE_WindowBase }, 'o' }
e0001a05
NC
2424};
2425
43cd72b9
BW
2426static xtensa_arg_internal Iclass_xt_iclass_xsr_windowbase_args[] = {
2427 { { 6 /* art */ }, 'm' }
e0001a05
NC
2428};
2429
43cd72b9 2430static xtensa_arg_internal Iclass_xt_iclass_xsr_windowbase_stateArgs[] = {
074f5109
BW
2431 { { STATE_PSEXCM }, 'i' },
2432 { { STATE_PSRING }, 'i' },
43cd72b9 2433 { { STATE_WindowBase }, 'm' }
e0001a05
NC
2434};
2435
43cd72b9
BW
2436static xtensa_arg_internal Iclass_xt_iclass_rsr_windowstart_args[] = {
2437 { { 6 /* art */ }, 'o' }
e0001a05
NC
2438};
2439
43cd72b9 2440static xtensa_arg_internal Iclass_xt_iclass_rsr_windowstart_stateArgs[] = {
074f5109
BW
2441 { { STATE_PSEXCM }, 'i' },
2442 { { STATE_PSRING }, 'i' },
43cd72b9 2443 { { STATE_WindowStart }, 'i' }
e0001a05
NC
2444};
2445
43cd72b9
BW
2446static xtensa_arg_internal Iclass_xt_iclass_wsr_windowstart_args[] = {
2447 { { 6 /* art */ }, 'i' }
e0001a05
NC
2448};
2449
43cd72b9 2450static xtensa_arg_internal Iclass_xt_iclass_wsr_windowstart_stateArgs[] = {
074f5109
BW
2451 { { STATE_PSEXCM }, 'i' },
2452 { { STATE_PSRING }, 'i' },
43cd72b9 2453 { { STATE_WindowStart }, 'o' }
e0001a05
NC
2454};
2455
43cd72b9
BW
2456static xtensa_arg_internal Iclass_xt_iclass_xsr_windowstart_args[] = {
2457 { { 6 /* art */ }, 'm' }
e0001a05
NC
2458};
2459
43cd72b9 2460static xtensa_arg_internal Iclass_xt_iclass_xsr_windowstart_stateArgs[] = {
074f5109
BW
2461 { { STATE_PSEXCM }, 'i' },
2462 { { STATE_PSRING }, 'i' },
43cd72b9 2463 { { STATE_WindowStart }, 'm' }
e0001a05
NC
2464};
2465
43cd72b9
BW
2466static xtensa_arg_internal Iclass_xt_iclass_add_n_args[] = {
2467 { { 3 /* arr */ }, 'o' },
2468 { { 4 /* ars */ }, 'i' },
2469 { { 6 /* art */ }, 'i' }
e0001a05
NC
2470};
2471
43cd72b9
BW
2472static xtensa_arg_internal Iclass_xt_iclass_addi_n_args[] = {
2473 { { 3 /* arr */ }, 'o' },
2474 { { 4 /* ars */ }, 'i' },
2475 { { 16 /* ai4const */ }, 'i' }
e0001a05
NC
2476};
2477
43cd72b9
BW
2478static xtensa_arg_internal Iclass_xt_iclass_bz6_args[] = {
2479 { { 4 /* ars */ }, 'i' },
2480 { { 15 /* uimm6 */ }, 'i' }
e0001a05
NC
2481};
2482
43cd72b9
BW
2483static xtensa_arg_internal Iclass_xt_iclass_loadi4_args[] = {
2484 { { 6 /* art */ }, 'o' },
2485 { { 4 /* ars */ }, 'i' },
2486 { { 13 /* lsi4x4 */ }, 'i' }
e0001a05
NC
2487};
2488
43cd72b9
BW
2489static xtensa_arg_internal Iclass_xt_iclass_mov_n_args[] = {
2490 { { 6 /* art */ }, 'o' },
2491 { { 4 /* ars */ }, 'i' }
e0001a05
NC
2492};
2493
43cd72b9
BW
2494static xtensa_arg_internal Iclass_xt_iclass_movi_n_args[] = {
2495 { { 4 /* ars */ }, 'o' },
2496 { { 14 /* simm7 */ }, 'i' }
e0001a05
NC
2497};
2498
43cd72b9
BW
2499static xtensa_arg_internal Iclass_xt_iclass_retn_args[] = {
2500 { { 5 /* *ars_invisible */ }, 'i' }
e0001a05
NC
2501};
2502
43cd72b9
BW
2503static xtensa_arg_internal Iclass_xt_iclass_storei4_args[] = {
2504 { { 6 /* art */ }, 'i' },
2505 { { 4 /* ars */ }, 'i' },
2506 { { 13 /* lsi4x4 */ }, 'i' }
e0001a05
NC
2507};
2508
43cd72b9
BW
2509static xtensa_arg_internal Iclass_xt_iclass_addi_args[] = {
2510 { { 6 /* art */ }, 'o' },
2511 { { 4 /* ars */ }, 'i' },
2512 { { 23 /* simm8 */ }, 'i' }
e0001a05
NC
2513};
2514
43cd72b9
BW
2515static xtensa_arg_internal Iclass_xt_iclass_addmi_args[] = {
2516 { { 6 /* art */ }, 'o' },
2517 { { 4 /* ars */ }, 'i' },
2518 { { 24 /* simm8x256 */ }, 'i' }
e0001a05
NC
2519};
2520
43cd72b9
BW
2521static xtensa_arg_internal Iclass_xt_iclass_addsub_args[] = {
2522 { { 3 /* arr */ }, 'o' },
2523 { { 4 /* ars */ }, 'i' },
2524 { { 6 /* art */ }, 'i' }
e0001a05
NC
2525};
2526
43cd72b9
BW
2527static xtensa_arg_internal Iclass_xt_iclass_bit_args[] = {
2528 { { 3 /* arr */ }, 'o' },
2529 { { 4 /* ars */ }, 'i' },
2530 { { 6 /* art */ }, 'i' }
e0001a05
NC
2531};
2532
43cd72b9
BW
2533static xtensa_arg_internal Iclass_xt_iclass_bsi8_args[] = {
2534 { { 4 /* ars */ }, 'i' },
2535 { { 17 /* b4const */ }, 'i' },
2536 { { 28 /* label8 */ }, 'i' }
e0001a05
NC
2537};
2538
43cd72b9
BW
2539static xtensa_arg_internal Iclass_xt_iclass_bsi8b_args[] = {
2540 { { 4 /* ars */ }, 'i' },
2541 { { 37 /* bbi */ }, 'i' },
2542 { { 28 /* label8 */ }, 'i' }
e0001a05
NC
2543};
2544
43cd72b9
BW
2545static xtensa_arg_internal Iclass_xt_iclass_bsi8u_args[] = {
2546 { { 4 /* ars */ }, 'i' },
2547 { { 18 /* b4constu */ }, 'i' },
2548 { { 28 /* label8 */ }, 'i' }
e0001a05
NC
2549};
2550
43cd72b9
BW
2551static xtensa_arg_internal Iclass_xt_iclass_bst8_args[] = {
2552 { { 4 /* ars */ }, 'i' },
2553 { { 6 /* art */ }, 'i' },
2554 { { 28 /* label8 */ }, 'i' }
e0001a05
NC
2555};
2556
43cd72b9
BW
2557static xtensa_arg_internal Iclass_xt_iclass_bsz12_args[] = {
2558 { { 4 /* ars */ }, 'i' },
2559 { { 30 /* label12 */ }, 'i' }
e0001a05
NC
2560};
2561
43cd72b9
BW
2562static xtensa_arg_internal Iclass_xt_iclass_call0_args[] = {
2563 { { 0 /* soffsetx4 */ }, 'i' },
2564 { { 7 /* ar0 */ }, 'o' }
e0001a05
NC
2565};
2566
43cd72b9
BW
2567static xtensa_arg_internal Iclass_xt_iclass_callx0_args[] = {
2568 { { 4 /* ars */ }, 'i' },
2569 { { 7 /* ar0 */ }, 'o' }
e0001a05
NC
2570};
2571
43cd72b9
BW
2572static xtensa_arg_internal Iclass_xt_iclass_exti_args[] = {
2573 { { 3 /* arr */ }, 'o' },
2574 { { 6 /* art */ }, 'i' },
2575 { { 52 /* sae */ }, 'i' },
2576 { { 27 /* op2p1 */ }, 'i' }
e0001a05
NC
2577};
2578
43cd72b9
BW
2579static xtensa_arg_internal Iclass_xt_iclass_jump_args[] = {
2580 { { 31 /* soffset */ }, 'i' }
e0001a05
NC
2581};
2582
43cd72b9
BW
2583static xtensa_arg_internal Iclass_xt_iclass_jumpx_args[] = {
2584 { { 4 /* ars */ }, 'i' }
e0001a05
NC
2585};
2586
43cd72b9
BW
2587static xtensa_arg_internal Iclass_xt_iclass_l16ui_args[] = {
2588 { { 6 /* art */ }, 'o' },
2589 { { 4 /* ars */ }, 'i' },
2590 { { 20 /* uimm8x2 */ }, 'i' }
e0001a05
NC
2591};
2592
43cd72b9
BW
2593static xtensa_arg_internal Iclass_xt_iclass_l16si_args[] = {
2594 { { 6 /* art */ }, 'o' },
2595 { { 4 /* ars */ }, 'i' },
2596 { { 20 /* uimm8x2 */ }, 'i' }
e0001a05
NC
2597};
2598
43cd72b9
BW
2599static xtensa_arg_internal Iclass_xt_iclass_l32i_args[] = {
2600 { { 6 /* art */ }, 'o' },
2601 { { 4 /* ars */ }, 'i' },
2602 { { 21 /* uimm8x4 */ }, 'i' }
e0001a05
NC
2603};
2604
43cd72b9
BW
2605static xtensa_arg_internal Iclass_xt_iclass_l32r_args[] = {
2606 { { 6 /* art */ }, 'o' },
2607 { { 32 /* uimm16x4 */ }, 'i' }
e0001a05
NC
2608};
2609
43cd72b9
BW
2610static xtensa_arg_internal Iclass_xt_iclass_l32r_stateArgs[] = {
2611 { { STATE_LITBADDR }, 'i' },
2612 { { STATE_LITBEN }, 'i' }
e0001a05
NC
2613};
2614
43cd72b9
BW
2615static xtensa_arg_internal Iclass_xt_iclass_l8i_args[] = {
2616 { { 6 /* art */ }, 'o' },
2617 { { 4 /* ars */ }, 'i' },
2618 { { 19 /* uimm8 */ }, 'i' }
e0001a05
NC
2619};
2620
43cd72b9
BW
2621static xtensa_arg_internal Iclass_xt_iclass_loop_args[] = {
2622 { { 4 /* ars */ }, 'i' },
2623 { { 29 /* ulabel8 */ }, 'i' }
e0001a05
NC
2624};
2625
43cd72b9
BW
2626static xtensa_arg_internal Iclass_xt_iclass_loop_stateArgs[] = {
2627 { { STATE_LBEG }, 'o' },
2628 { { STATE_LEND }, 'o' },
2629 { { STATE_LCOUNT }, 'o' }
e0001a05
NC
2630};
2631
43cd72b9
BW
2632static xtensa_arg_internal Iclass_xt_iclass_loopz_args[] = {
2633 { { 4 /* ars */ }, 'i' },
2634 { { 29 /* ulabel8 */ }, 'i' }
e0001a05
NC
2635};
2636
43cd72b9
BW
2637static xtensa_arg_internal Iclass_xt_iclass_loopz_stateArgs[] = {
2638 { { STATE_LBEG }, 'o' },
2639 { { STATE_LEND }, 'o' },
2640 { { STATE_LCOUNT }, 'o' }
e0001a05
NC
2641};
2642
43cd72b9
BW
2643static xtensa_arg_internal Iclass_xt_iclass_movi_args[] = {
2644 { { 6 /* art */ }, 'o' },
2645 { { 25 /* simm12b */ }, 'i' }
e0001a05
NC
2646};
2647
43cd72b9
BW
2648static xtensa_arg_internal Iclass_xt_iclass_movz_args[] = {
2649 { { 3 /* arr */ }, 'm' },
2650 { { 4 /* ars */ }, 'i' },
2651 { { 6 /* art */ }, 'i' }
e0001a05
NC
2652};
2653
43cd72b9
BW
2654static xtensa_arg_internal Iclass_xt_iclass_neg_args[] = {
2655 { { 3 /* arr */ }, 'o' },
2656 { { 6 /* art */ }, 'i' }
e0001a05
NC
2657};
2658
43cd72b9
BW
2659static xtensa_arg_internal Iclass_xt_iclass_return_args[] = {
2660 { { 5 /* *ars_invisible */ }, 'i' }
e0001a05
NC
2661};
2662
43cd72b9
BW
2663static xtensa_arg_internal Iclass_xt_iclass_s16i_args[] = {
2664 { { 6 /* art */ }, 'i' },
2665 { { 4 /* ars */ }, 'i' },
2666 { { 20 /* uimm8x2 */ }, 'i' }
e0001a05
NC
2667};
2668
43cd72b9
BW
2669static xtensa_arg_internal Iclass_xt_iclass_s32i_args[] = {
2670 { { 6 /* art */ }, 'i' },
2671 { { 4 /* ars */ }, 'i' },
2672 { { 21 /* uimm8x4 */ }, 'i' }
e0001a05
NC
2673};
2674
43cd72b9
BW
2675static xtensa_arg_internal Iclass_xt_iclass_s8i_args[] = {
2676 { { 6 /* art */ }, 'i' },
2677 { { 4 /* ars */ }, 'i' },
2678 { { 19 /* uimm8 */ }, 'i' }
e0001a05
NC
2679};
2680
43cd72b9
BW
2681static xtensa_arg_internal Iclass_xt_iclass_sar_args[] = {
2682 { { 4 /* ars */ }, 'i' }
e0001a05
NC
2683};
2684
43cd72b9
BW
2685static xtensa_arg_internal Iclass_xt_iclass_sar_stateArgs[] = {
2686 { { STATE_SAR }, 'o' }
e0001a05
NC
2687};
2688
43cd72b9
BW
2689static xtensa_arg_internal Iclass_xt_iclass_sari_args[] = {
2690 { { 56 /* sas */ }, 'i' }
e0001a05
NC
2691};
2692
43cd72b9
BW
2693static xtensa_arg_internal Iclass_xt_iclass_sari_stateArgs[] = {
2694 { { STATE_SAR }, 'o' }
e0001a05
NC
2695};
2696
43cd72b9
BW
2697static xtensa_arg_internal Iclass_xt_iclass_shifts_args[] = {
2698 { { 3 /* arr */ }, 'o' },
2699 { { 4 /* ars */ }, 'i' }
e0001a05
NC
2700};
2701
43cd72b9
BW
2702static xtensa_arg_internal Iclass_xt_iclass_shifts_stateArgs[] = {
2703 { { STATE_SAR }, 'i' }
e0001a05
NC
2704};
2705
43cd72b9
BW
2706static xtensa_arg_internal Iclass_xt_iclass_shiftst_args[] = {
2707 { { 3 /* arr */ }, 'o' },
2708 { { 4 /* ars */ }, 'i' },
2709 { { 6 /* art */ }, 'i' }
e0001a05
NC
2710};
2711
43cd72b9
BW
2712static xtensa_arg_internal Iclass_xt_iclass_shiftst_stateArgs[] = {
2713 { { STATE_SAR }, 'i' }
e0001a05
NC
2714};
2715
43cd72b9
BW
2716static xtensa_arg_internal Iclass_xt_iclass_shiftt_args[] = {
2717 { { 3 /* arr */ }, 'o' },
2718 { { 6 /* art */ }, 'i' }
e0001a05
NC
2719};
2720
43cd72b9
BW
2721static xtensa_arg_internal Iclass_xt_iclass_shiftt_stateArgs[] = {
2722 { { STATE_SAR }, 'i' }
e0001a05
NC
2723};
2724
43cd72b9
BW
2725static xtensa_arg_internal Iclass_xt_iclass_slli_args[] = {
2726 { { 3 /* arr */ }, 'o' },
2727 { { 4 /* ars */ }, 'i' },
2728 { { 26 /* msalp32 */ }, 'i' }
e0001a05
NC
2729};
2730
43cd72b9
BW
2731static xtensa_arg_internal Iclass_xt_iclass_srai_args[] = {
2732 { { 3 /* arr */ }, 'o' },
2733 { { 6 /* art */ }, 'i' },
2734 { { 54 /* sargt */ }, 'i' }
e0001a05
NC
2735};
2736
43cd72b9
BW
2737static xtensa_arg_internal Iclass_xt_iclass_srli_args[] = {
2738 { { 3 /* arr */ }, 'o' },
2739 { { 6 /* art */ }, 'i' },
2740 { { 40 /* s */ }, 'i' }
e0001a05
NC
2741};
2742
43cd72b9
BW
2743static xtensa_arg_internal Iclass_xt_iclass_sync_stateArgs[] = {
2744 { { STATE_XTSYNC }, 'i' }
e0001a05
NC
2745};
2746
43cd72b9
BW
2747static xtensa_arg_internal Iclass_xt_iclass_rsil_args[] = {
2748 { { 6 /* art */ }, 'o' },
2749 { { 40 /* s */ }, 'i' }
e0001a05
NC
2750};
2751
43cd72b9
BW
2752static xtensa_arg_internal Iclass_xt_iclass_rsil_stateArgs[] = {
2753 { { STATE_PSWOE }, 'i' },
2754 { { STATE_PSCALLINC }, 'i' },
2755 { { STATE_PSOWB }, 'i' },
074f5109 2756 { { STATE_PSRING }, 'i' },
43cd72b9
BW
2757 { { STATE_PSUM }, 'i' },
2758 { { STATE_PSEXCM }, 'i' },
2759 { { STATE_PSINTLEVEL }, 'm' }
e0001a05
NC
2760};
2761
43cd72b9
BW
2762static xtensa_arg_internal Iclass_xt_iclass_rsr_lend_args[] = {
2763 { { 6 /* art */ }, 'o' }
e0001a05
NC
2764};
2765
43cd72b9
BW
2766static xtensa_arg_internal Iclass_xt_iclass_rsr_lend_stateArgs[] = {
2767 { { STATE_LEND }, 'i' }
e0001a05
NC
2768};
2769
43cd72b9
BW
2770static xtensa_arg_internal Iclass_xt_iclass_wsr_lend_args[] = {
2771 { { 6 /* art */ }, 'i' }
e0001a05
NC
2772};
2773
43cd72b9
BW
2774static xtensa_arg_internal Iclass_xt_iclass_wsr_lend_stateArgs[] = {
2775 { { STATE_LEND }, 'o' }
e0001a05
NC
2776};
2777
43cd72b9
BW
2778static xtensa_arg_internal Iclass_xt_iclass_xsr_lend_args[] = {
2779 { { 6 /* art */ }, 'm' }
e0001a05
NC
2780};
2781
43cd72b9
BW
2782static xtensa_arg_internal Iclass_xt_iclass_xsr_lend_stateArgs[] = {
2783 { { STATE_LEND }, 'm' }
e0001a05
NC
2784};
2785
43cd72b9
BW
2786static xtensa_arg_internal Iclass_xt_iclass_rsr_lcount_args[] = {
2787 { { 6 /* art */ }, 'o' }
e0001a05
NC
2788};
2789
43cd72b9
BW
2790static xtensa_arg_internal Iclass_xt_iclass_rsr_lcount_stateArgs[] = {
2791 { { STATE_LCOUNT }, 'i' }
e0001a05
NC
2792};
2793
43cd72b9
BW
2794static xtensa_arg_internal Iclass_xt_iclass_wsr_lcount_args[] = {
2795 { { 6 /* art */ }, 'i' }
e0001a05
NC
2796};
2797
43cd72b9
BW
2798static xtensa_arg_internal Iclass_xt_iclass_wsr_lcount_stateArgs[] = {
2799 { { STATE_XTSYNC }, 'o' },
2800 { { STATE_LCOUNT }, 'o' }
e0001a05
NC
2801};
2802
43cd72b9
BW
2803static xtensa_arg_internal Iclass_xt_iclass_xsr_lcount_args[] = {
2804 { { 6 /* art */ }, 'm' }
e0001a05
NC
2805};
2806
43cd72b9
BW
2807static xtensa_arg_internal Iclass_xt_iclass_xsr_lcount_stateArgs[] = {
2808 { { STATE_XTSYNC }, 'o' },
2809 { { STATE_LCOUNT }, 'm' }
e0001a05
NC
2810};
2811
43cd72b9
BW
2812static xtensa_arg_internal Iclass_xt_iclass_rsr_lbeg_args[] = {
2813 { { 6 /* art */ }, 'o' }
e0001a05
NC
2814};
2815
43cd72b9
BW
2816static xtensa_arg_internal Iclass_xt_iclass_rsr_lbeg_stateArgs[] = {
2817 { { STATE_LBEG }, 'i' }
e0001a05
NC
2818};
2819
43cd72b9
BW
2820static xtensa_arg_internal Iclass_xt_iclass_wsr_lbeg_args[] = {
2821 { { 6 /* art */ }, 'i' }
e0001a05
NC
2822};
2823
43cd72b9
BW
2824static xtensa_arg_internal Iclass_xt_iclass_wsr_lbeg_stateArgs[] = {
2825 { { STATE_LBEG }, 'o' }
e0001a05
NC
2826};
2827
43cd72b9
BW
2828static xtensa_arg_internal Iclass_xt_iclass_xsr_lbeg_args[] = {
2829 { { 6 /* art */ }, 'm' }
e0001a05
NC
2830};
2831
43cd72b9
BW
2832static xtensa_arg_internal Iclass_xt_iclass_xsr_lbeg_stateArgs[] = {
2833 { { STATE_LBEG }, 'm' }
e0001a05
NC
2834};
2835
43cd72b9
BW
2836static xtensa_arg_internal Iclass_xt_iclass_rsr_sar_args[] = {
2837 { { 6 /* art */ }, 'o' }
e0001a05
NC
2838};
2839
43cd72b9
BW
2840static xtensa_arg_internal Iclass_xt_iclass_rsr_sar_stateArgs[] = {
2841 { { STATE_SAR }, 'i' }
e0001a05
NC
2842};
2843
43cd72b9
BW
2844static xtensa_arg_internal Iclass_xt_iclass_wsr_sar_args[] = {
2845 { { 6 /* art */ }, 'i' }
e0001a05
NC
2846};
2847
43cd72b9
BW
2848static xtensa_arg_internal Iclass_xt_iclass_wsr_sar_stateArgs[] = {
2849 { { STATE_SAR }, 'o' },
2850 { { STATE_XTSYNC }, 'o' }
e0001a05
NC
2851};
2852
43cd72b9
BW
2853static xtensa_arg_internal Iclass_xt_iclass_xsr_sar_args[] = {
2854 { { 6 /* art */ }, 'm' }
e0001a05
NC
2855};
2856
43cd72b9
BW
2857static xtensa_arg_internal Iclass_xt_iclass_xsr_sar_stateArgs[] = {
2858 { { STATE_SAR }, 'm' }
e0001a05
NC
2859};
2860
43cd72b9
BW
2861static xtensa_arg_internal Iclass_xt_iclass_rsr_litbase_args[] = {
2862 { { 6 /* art */ }, 'o' }
e0001a05
NC
2863};
2864
43cd72b9
BW
2865static xtensa_arg_internal Iclass_xt_iclass_rsr_litbase_stateArgs[] = {
2866 { { STATE_LITBADDR }, 'i' },
2867 { { STATE_LITBEN }, 'i' }
e0001a05
NC
2868};
2869
43cd72b9
BW
2870static xtensa_arg_internal Iclass_xt_iclass_wsr_litbase_args[] = {
2871 { { 6 /* art */ }, 'i' }
e0001a05
NC
2872};
2873
43cd72b9
BW
2874static xtensa_arg_internal Iclass_xt_iclass_wsr_litbase_stateArgs[] = {
2875 { { STATE_LITBADDR }, 'o' },
2876 { { STATE_LITBEN }, 'o' }
e0001a05
NC
2877};
2878
43cd72b9
BW
2879static xtensa_arg_internal Iclass_xt_iclass_xsr_litbase_args[] = {
2880 { { 6 /* art */ }, 'm' }
e0001a05
NC
2881};
2882
43cd72b9
BW
2883static xtensa_arg_internal Iclass_xt_iclass_xsr_litbase_stateArgs[] = {
2884 { { STATE_LITBADDR }, 'm' },
2885 { { STATE_LITBEN }, 'm' }
e0001a05
NC
2886};
2887
43cd72b9
BW
2888static xtensa_arg_internal Iclass_xt_iclass_rsr_176_args[] = {
2889 { { 6 /* art */ }, 'o' }
e0001a05
NC
2890};
2891
074f5109
BW
2892static xtensa_arg_internal Iclass_xt_iclass_rsr_176_stateArgs[] = {
2893 { { STATE_PSEXCM }, 'i' },
2894 { { STATE_PSRING }, 'i' }
2895};
2896
43cd72b9
BW
2897static xtensa_arg_internal Iclass_xt_iclass_rsr_208_args[] = {
2898 { { 6 /* art */ }, 'o' }
e0001a05
NC
2899};
2900
074f5109
BW
2901static xtensa_arg_internal Iclass_xt_iclass_rsr_208_stateArgs[] = {
2902 { { STATE_PSEXCM }, 'i' },
2903 { { STATE_PSRING }, 'i' }
2904};
2905
43cd72b9
BW
2906static xtensa_arg_internal Iclass_xt_iclass_rsr_ps_args[] = {
2907 { { 6 /* art */ }, 'o' }
e0001a05
NC
2908};
2909
43cd72b9
BW
2910static xtensa_arg_internal Iclass_xt_iclass_rsr_ps_stateArgs[] = {
2911 { { STATE_PSWOE }, 'i' },
2912 { { STATE_PSCALLINC }, 'i' },
2913 { { STATE_PSOWB }, 'i' },
074f5109 2914 { { STATE_PSRING }, 'i' },
43cd72b9
BW
2915 { { STATE_PSUM }, 'i' },
2916 { { STATE_PSEXCM }, 'i' },
2917 { { STATE_PSINTLEVEL }, 'i' }
e0001a05
NC
2918};
2919
43cd72b9
BW
2920static xtensa_arg_internal Iclass_xt_iclass_wsr_ps_args[] = {
2921 { { 6 /* art */ }, 'i' }
e0001a05
NC
2922};
2923
43cd72b9
BW
2924static xtensa_arg_internal Iclass_xt_iclass_wsr_ps_stateArgs[] = {
2925 { { STATE_PSWOE }, 'o' },
2926 { { STATE_PSCALLINC }, 'o' },
2927 { { STATE_PSOWB }, 'o' },
074f5109 2928 { { STATE_PSRING }, 'm' },
43cd72b9 2929 { { STATE_PSUM }, 'o' },
074f5109 2930 { { STATE_PSEXCM }, 'm' },
43cd72b9 2931 { { STATE_PSINTLEVEL }, 'o' }
e0001a05
NC
2932};
2933
43cd72b9
BW
2934static xtensa_arg_internal Iclass_xt_iclass_xsr_ps_args[] = {
2935 { { 6 /* art */ }, 'm' }
e0001a05
NC
2936};
2937
43cd72b9
BW
2938static xtensa_arg_internal Iclass_xt_iclass_xsr_ps_stateArgs[] = {
2939 { { STATE_PSWOE }, 'm' },
2940 { { STATE_PSCALLINC }, 'm' },
2941 { { STATE_PSOWB }, 'm' },
074f5109 2942 { { STATE_PSRING }, 'm' },
43cd72b9
BW
2943 { { STATE_PSUM }, 'm' },
2944 { { STATE_PSEXCM }, 'm' },
2945 { { STATE_PSINTLEVEL }, 'm' }
e0001a05
NC
2946};
2947
43cd72b9
BW
2948static xtensa_arg_internal Iclass_xt_iclass_rsr_epc1_args[] = {
2949 { { 6 /* art */ }, 'o' }
e0001a05
NC
2950};
2951
43cd72b9 2952static xtensa_arg_internal Iclass_xt_iclass_rsr_epc1_stateArgs[] = {
074f5109
BW
2953 { { STATE_PSEXCM }, 'i' },
2954 { { STATE_PSRING }, 'i' },
43cd72b9 2955 { { STATE_EPC1 }, 'i' }
e0001a05
NC
2956};
2957
43cd72b9
BW
2958static xtensa_arg_internal Iclass_xt_iclass_wsr_epc1_args[] = {
2959 { { 6 /* art */ }, 'i' }
e0001a05
NC
2960};
2961
43cd72b9 2962static xtensa_arg_internal Iclass_xt_iclass_wsr_epc1_stateArgs[] = {
074f5109
BW
2963 { { STATE_PSEXCM }, 'i' },
2964 { { STATE_PSRING }, 'i' },
43cd72b9 2965 { { STATE_EPC1 }, 'o' }
e0001a05
NC
2966};
2967
43cd72b9
BW
2968static xtensa_arg_internal Iclass_xt_iclass_xsr_epc1_args[] = {
2969 { { 6 /* art */ }, 'm' }
e0001a05
NC
2970};
2971
43cd72b9 2972static xtensa_arg_internal Iclass_xt_iclass_xsr_epc1_stateArgs[] = {
074f5109
BW
2973 { { STATE_PSEXCM }, 'i' },
2974 { { STATE_PSRING }, 'i' },
43cd72b9 2975 { { STATE_EPC1 }, 'm' }
e0001a05
NC
2976};
2977
43cd72b9
BW
2978static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave1_args[] = {
2979 { { 6 /* art */ }, 'o' }
e0001a05
NC
2980};
2981
43cd72b9 2982static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave1_stateArgs[] = {
074f5109
BW
2983 { { STATE_PSEXCM }, 'i' },
2984 { { STATE_PSRING }, 'i' },
43cd72b9 2985 { { STATE_EXCSAVE1 }, 'i' }
e0001a05
NC
2986};
2987
43cd72b9
BW
2988static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave1_args[] = {
2989 { { 6 /* art */ }, 'i' }
e0001a05
NC
2990};
2991
43cd72b9 2992static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave1_stateArgs[] = {
074f5109
BW
2993 { { STATE_PSEXCM }, 'i' },
2994 { { STATE_PSRING }, 'i' },
43cd72b9 2995 { { STATE_EXCSAVE1 }, 'o' }
e0001a05
NC
2996};
2997
43cd72b9
BW
2998static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave1_args[] = {
2999 { { 6 /* art */ }, 'm' }
e0001a05
NC
3000};
3001
43cd72b9 3002static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave1_stateArgs[] = {
074f5109
BW
3003 { { STATE_PSEXCM }, 'i' },
3004 { { STATE_PSRING }, 'i' },
43cd72b9 3005 { { STATE_EXCSAVE1 }, 'm' }
e0001a05
NC
3006};
3007
43cd72b9
BW
3008static xtensa_arg_internal Iclass_xt_iclass_rsr_epc2_args[] = {
3009 { { 6 /* art */ }, 'o' }
e0001a05
NC
3010};
3011
43cd72b9 3012static xtensa_arg_internal Iclass_xt_iclass_rsr_epc2_stateArgs[] = {
074f5109
BW
3013 { { STATE_PSEXCM }, 'i' },
3014 { { STATE_PSRING }, 'i' },
43cd72b9 3015 { { STATE_EPC2 }, 'i' }
e0001a05
NC
3016};
3017
43cd72b9
BW
3018static xtensa_arg_internal Iclass_xt_iclass_wsr_epc2_args[] = {
3019 { { 6 /* art */ }, 'i' }
e0001a05
NC
3020};
3021
43cd72b9 3022static xtensa_arg_internal Iclass_xt_iclass_wsr_epc2_stateArgs[] = {
074f5109
BW
3023 { { STATE_PSEXCM }, 'i' },
3024 { { STATE_PSRING }, 'i' },
43cd72b9 3025 { { STATE_EPC2 }, 'o' }
e0001a05
NC
3026};
3027
43cd72b9
BW
3028static xtensa_arg_internal Iclass_xt_iclass_xsr_epc2_args[] = {
3029 { { 6 /* art */ }, 'm' }
e0001a05
NC
3030};
3031
43cd72b9 3032static xtensa_arg_internal Iclass_xt_iclass_xsr_epc2_stateArgs[] = {
074f5109
BW
3033 { { STATE_PSEXCM }, 'i' },
3034 { { STATE_PSRING }, 'i' },
43cd72b9 3035 { { STATE_EPC2 }, 'm' }
e0001a05
NC
3036};
3037
43cd72b9
BW
3038static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave2_args[] = {
3039 { { 6 /* art */ }, 'o' }
e0001a05
NC
3040};
3041
43cd72b9 3042static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave2_stateArgs[] = {
074f5109
BW
3043 { { STATE_PSEXCM }, 'i' },
3044 { { STATE_PSRING }, 'i' },
43cd72b9 3045 { { STATE_EXCSAVE2 }, 'i' }
e0001a05
NC
3046};
3047
43cd72b9
BW
3048static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave2_args[] = {
3049 { { 6 /* art */ }, 'i' }
e0001a05
NC
3050};
3051
43cd72b9 3052static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave2_stateArgs[] = {
074f5109
BW
3053 { { STATE_PSEXCM }, 'i' },
3054 { { STATE_PSRING }, 'i' },
43cd72b9 3055 { { STATE_EXCSAVE2 }, 'o' }
e0001a05
NC
3056};
3057
43cd72b9
BW
3058static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave2_args[] = {
3059 { { 6 /* art */ }, 'm' }
e0001a05
NC
3060};
3061
43cd72b9 3062static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave2_stateArgs[] = {
074f5109
BW
3063 { { STATE_PSEXCM }, 'i' },
3064 { { STATE_PSRING }, 'i' },
43cd72b9 3065 { { STATE_EXCSAVE2 }, 'm' }
e0001a05
NC
3066};
3067
43cd72b9
BW
3068static xtensa_arg_internal Iclass_xt_iclass_rsr_epc3_args[] = {
3069 { { 6 /* art */ }, 'o' }
e0001a05
NC
3070};
3071
43cd72b9 3072static xtensa_arg_internal Iclass_xt_iclass_rsr_epc3_stateArgs[] = {
074f5109
BW
3073 { { STATE_PSEXCM }, 'i' },
3074 { { STATE_PSRING }, 'i' },
43cd72b9 3075 { { STATE_EPC3 }, 'i' }
e0001a05
NC
3076};
3077
43cd72b9
BW
3078static xtensa_arg_internal Iclass_xt_iclass_wsr_epc3_args[] = {
3079 { { 6 /* art */ }, 'i' }
e0001a05
NC
3080};
3081
43cd72b9 3082static xtensa_arg_internal Iclass_xt_iclass_wsr_epc3_stateArgs[] = {
074f5109
BW
3083 { { STATE_PSEXCM }, 'i' },
3084 { { STATE_PSRING }, 'i' },
43cd72b9 3085 { { STATE_EPC3 }, 'o' }
e0001a05
NC
3086};
3087
43cd72b9
BW
3088static xtensa_arg_internal Iclass_xt_iclass_xsr_epc3_args[] = {
3089 { { 6 /* art */ }, 'm' }
e0001a05
NC
3090};
3091
43cd72b9 3092static xtensa_arg_internal Iclass_xt_iclass_xsr_epc3_stateArgs[] = {
074f5109
BW
3093 { { STATE_PSEXCM }, 'i' },
3094 { { STATE_PSRING }, 'i' },
43cd72b9 3095 { { STATE_EPC3 }, 'm' }
e0001a05
NC
3096};
3097
43cd72b9
BW
3098static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave3_args[] = {
3099 { { 6 /* art */ }, 'o' }
e0001a05
NC
3100};
3101
43cd72b9 3102static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave3_stateArgs[] = {
074f5109
BW
3103 { { STATE_PSEXCM }, 'i' },
3104 { { STATE_PSRING }, 'i' },
43cd72b9 3105 { { STATE_EXCSAVE3 }, 'i' }
e0001a05
NC
3106};
3107
43cd72b9
BW
3108static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave3_args[] = {
3109 { { 6 /* art */ }, 'i' }
e0001a05
NC
3110};
3111
43cd72b9 3112static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave3_stateArgs[] = {
074f5109
BW
3113 { { STATE_PSEXCM }, 'i' },
3114 { { STATE_PSRING }, 'i' },
43cd72b9 3115 { { STATE_EXCSAVE3 }, 'o' }
e0001a05
NC
3116};
3117
43cd72b9
BW
3118static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave3_args[] = {
3119 { { 6 /* art */ }, 'm' }
e0001a05
NC
3120};
3121
43cd72b9 3122static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave3_stateArgs[] = {
074f5109
BW
3123 { { STATE_PSEXCM }, 'i' },
3124 { { STATE_PSRING }, 'i' },
43cd72b9 3125 { { STATE_EXCSAVE3 }, 'm' }
e0001a05
NC
3126};
3127
43cd72b9
BW
3128static xtensa_arg_internal Iclass_xt_iclass_rsr_epc4_args[] = {
3129 { { 6 /* art */ }, 'o' }
e0001a05
NC
3130};
3131
43cd72b9 3132static xtensa_arg_internal Iclass_xt_iclass_rsr_epc4_stateArgs[] = {
074f5109
BW
3133 { { STATE_PSEXCM }, 'i' },
3134 { { STATE_PSRING }, 'i' },
43cd72b9 3135 { { STATE_EPC4 }, 'i' }
e0001a05
NC
3136};
3137
43cd72b9
BW
3138static xtensa_arg_internal Iclass_xt_iclass_wsr_epc4_args[] = {
3139 { { 6 /* art */ }, 'i' }
e0001a05
NC
3140};
3141
43cd72b9 3142static xtensa_arg_internal Iclass_xt_iclass_wsr_epc4_stateArgs[] = {
074f5109
BW
3143 { { STATE_PSEXCM }, 'i' },
3144 { { STATE_PSRING }, 'i' },
43cd72b9 3145 { { STATE_EPC4 }, 'o' }
e0001a05
NC
3146};
3147
43cd72b9
BW
3148static xtensa_arg_internal Iclass_xt_iclass_xsr_epc4_args[] = {
3149 { { 6 /* art */ }, 'm' }
e0001a05
NC
3150};
3151
43cd72b9 3152static xtensa_arg_internal Iclass_xt_iclass_xsr_epc4_stateArgs[] = {
074f5109
BW
3153 { { STATE_PSEXCM }, 'i' },
3154 { { STATE_PSRING }, 'i' },
43cd72b9 3155 { { STATE_EPC4 }, 'm' }
e0001a05
NC
3156};
3157
43cd72b9
BW
3158static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave4_args[] = {
3159 { { 6 /* art */ }, 'o' }
e0001a05
NC
3160};
3161
43cd72b9 3162static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave4_stateArgs[] = {
074f5109
BW
3163 { { STATE_PSEXCM }, 'i' },
3164 { { STATE_PSRING }, 'i' },
43cd72b9 3165 { { STATE_EXCSAVE4 }, 'i' }
e0001a05
NC
3166};
3167
43cd72b9
BW
3168static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave4_args[] = {
3169 { { 6 /* art */ }, 'i' }
e0001a05
NC
3170};
3171
43cd72b9 3172static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave4_stateArgs[] = {
074f5109
BW
3173 { { STATE_PSEXCM }, 'i' },
3174 { { STATE_PSRING }, 'i' },
43cd72b9 3175 { { STATE_EXCSAVE4 }, 'o' }
e0001a05
NC
3176};
3177
43cd72b9
BW
3178static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave4_args[] = {
3179 { { 6 /* art */ }, 'm' }
e0001a05
NC
3180};
3181
43cd72b9 3182static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave4_stateArgs[] = {
074f5109
BW
3183 { { STATE_PSEXCM }, 'i' },
3184 { { STATE_PSRING }, 'i' },
43cd72b9 3185 { { STATE_EXCSAVE4 }, 'm' }
e0001a05
NC
3186};
3187
43cd72b9
BW
3188static xtensa_arg_internal Iclass_xt_iclass_rsr_eps2_args[] = {
3189 { { 6 /* art */ }, 'o' }
e0001a05
NC
3190};
3191
43cd72b9 3192static xtensa_arg_internal Iclass_xt_iclass_rsr_eps2_stateArgs[] = {
074f5109
BW
3193 { { STATE_PSEXCM }, 'i' },
3194 { { STATE_PSRING }, 'i' },
43cd72b9 3195 { { STATE_EPS2 }, 'i' }
e0001a05
NC
3196};
3197
43cd72b9
BW
3198static xtensa_arg_internal Iclass_xt_iclass_wsr_eps2_args[] = {
3199 { { 6 /* art */ }, 'i' }
e0001a05
NC
3200};
3201
43cd72b9 3202static xtensa_arg_internal Iclass_xt_iclass_wsr_eps2_stateArgs[] = {
074f5109
BW
3203 { { STATE_PSEXCM }, 'i' },
3204 { { STATE_PSRING }, 'i' },
43cd72b9 3205 { { STATE_EPS2 }, 'o' }
e0001a05
NC
3206};
3207
43cd72b9
BW
3208static xtensa_arg_internal Iclass_xt_iclass_xsr_eps2_args[] = {
3209 { { 6 /* art */ }, 'm' }
e0001a05
NC
3210};
3211
43cd72b9 3212static xtensa_arg_internal Iclass_xt_iclass_xsr_eps2_stateArgs[] = {
074f5109
BW
3213 { { STATE_PSEXCM }, 'i' },
3214 { { STATE_PSRING }, 'i' },
43cd72b9 3215 { { STATE_EPS2 }, 'm' }
e0001a05
NC
3216};
3217
43cd72b9
BW
3218static xtensa_arg_internal Iclass_xt_iclass_rsr_eps3_args[] = {
3219 { { 6 /* art */ }, 'o' }
e0001a05
NC
3220};
3221
43cd72b9 3222static xtensa_arg_internal Iclass_xt_iclass_rsr_eps3_stateArgs[] = {
074f5109
BW
3223 { { STATE_PSEXCM }, 'i' },
3224 { { STATE_PSRING }, 'i' },
43cd72b9 3225 { { STATE_EPS3 }, 'i' }
e0001a05
NC
3226};
3227
43cd72b9
BW
3228static xtensa_arg_internal Iclass_xt_iclass_wsr_eps3_args[] = {
3229 { { 6 /* art */ }, 'i' }
3230};
e0001a05 3231
43cd72b9 3232static xtensa_arg_internal Iclass_xt_iclass_wsr_eps3_stateArgs[] = {
074f5109
BW
3233 { { STATE_PSEXCM }, 'i' },
3234 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3235 { { STATE_EPS3 }, 'o' }
3236};
e0001a05 3237
43cd72b9
BW
3238static xtensa_arg_internal Iclass_xt_iclass_xsr_eps3_args[] = {
3239 { { 6 /* art */ }, 'm' }
3240};
e0001a05 3241
43cd72b9 3242static xtensa_arg_internal Iclass_xt_iclass_xsr_eps3_stateArgs[] = {
074f5109
BW
3243 { { STATE_PSEXCM }, 'i' },
3244 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3245 { { STATE_EPS3 }, 'm' }
3246};
3247
3248static xtensa_arg_internal Iclass_xt_iclass_rsr_eps4_args[] = {
3249 { { 6 /* art */ }, 'o' }
3250};
3251
3252static xtensa_arg_internal Iclass_xt_iclass_rsr_eps4_stateArgs[] = {
074f5109
BW
3253 { { STATE_PSEXCM }, 'i' },
3254 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3255 { { STATE_EPS4 }, 'i' }
3256};
3257
3258static xtensa_arg_internal Iclass_xt_iclass_wsr_eps4_args[] = {
3259 { { 6 /* art */ }, 'i' }
3260};
3261
3262static xtensa_arg_internal Iclass_xt_iclass_wsr_eps4_stateArgs[] = {
074f5109
BW
3263 { { STATE_PSEXCM }, 'i' },
3264 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3265 { { STATE_EPS4 }, 'o' }
3266};
3267
3268static xtensa_arg_internal Iclass_xt_iclass_xsr_eps4_args[] = {
3269 { { 6 /* art */ }, 'm' }
3270};
3271
3272static xtensa_arg_internal Iclass_xt_iclass_xsr_eps4_stateArgs[] = {
074f5109
BW
3273 { { STATE_PSEXCM }, 'i' },
3274 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3275 { { STATE_EPS4 }, 'm' }
3276};
3277
3278static xtensa_arg_internal Iclass_xt_iclass_rsr_excvaddr_args[] = {
3279 { { 6 /* art */ }, 'o' }
3280};
3281
3282static xtensa_arg_internal Iclass_xt_iclass_rsr_excvaddr_stateArgs[] = {
074f5109
BW
3283 { { STATE_PSEXCM }, 'i' },
3284 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3285 { { STATE_EXCVADDR }, 'i' }
3286};
3287
3288static xtensa_arg_internal Iclass_xt_iclass_wsr_excvaddr_args[] = {
3289 { { 6 /* art */ }, 'i' }
3290};
3291
3292static xtensa_arg_internal Iclass_xt_iclass_wsr_excvaddr_stateArgs[] = {
074f5109
BW
3293 { { STATE_PSEXCM }, 'i' },
3294 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3295 { { STATE_EXCVADDR }, 'o' }
3296};
3297
3298static xtensa_arg_internal Iclass_xt_iclass_xsr_excvaddr_args[] = {
3299 { { 6 /* art */ }, 'm' }
3300};
3301
3302static xtensa_arg_internal Iclass_xt_iclass_xsr_excvaddr_stateArgs[] = {
074f5109
BW
3303 { { STATE_PSEXCM }, 'i' },
3304 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3305 { { STATE_EXCVADDR }, 'm' }
3306};
3307
3308static xtensa_arg_internal Iclass_xt_iclass_rsr_depc_args[] = {
3309 { { 6 /* art */ }, 'o' }
3310};
3311
3312static xtensa_arg_internal Iclass_xt_iclass_rsr_depc_stateArgs[] = {
074f5109
BW
3313 { { STATE_PSEXCM }, 'i' },
3314 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3315 { { STATE_DEPC }, 'i' }
3316};
3317
3318static xtensa_arg_internal Iclass_xt_iclass_wsr_depc_args[] = {
3319 { { 6 /* art */ }, 'i' }
3320};
3321
3322static xtensa_arg_internal Iclass_xt_iclass_wsr_depc_stateArgs[] = {
074f5109
BW
3323 { { STATE_PSEXCM }, 'i' },
3324 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3325 { { STATE_DEPC }, 'o' }
3326};
3327
3328static xtensa_arg_internal Iclass_xt_iclass_xsr_depc_args[] = {
3329 { { 6 /* art */ }, 'm' }
3330};
3331
3332static xtensa_arg_internal Iclass_xt_iclass_xsr_depc_stateArgs[] = {
074f5109
BW
3333 { { STATE_PSEXCM }, 'i' },
3334 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3335 { { STATE_DEPC }, 'm' }
3336};
3337
3338static xtensa_arg_internal Iclass_xt_iclass_rsr_exccause_args[] = {
3339 { { 6 /* art */ }, 'o' }
3340};
3341
3342static xtensa_arg_internal Iclass_xt_iclass_rsr_exccause_stateArgs[] = {
074f5109
BW
3343 { { STATE_PSEXCM }, 'i' },
3344 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3345 { { STATE_EXCCAUSE }, 'i' },
3346 { { STATE_XTSYNC }, 'i' }
3347};
3348
3349static xtensa_arg_internal Iclass_xt_iclass_wsr_exccause_args[] = {
3350 { { 6 /* art */ }, 'i' }
3351};
3352
3353static xtensa_arg_internal Iclass_xt_iclass_wsr_exccause_stateArgs[] = {
074f5109
BW
3354 { { STATE_PSEXCM }, 'i' },
3355 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3356 { { STATE_EXCCAUSE }, 'o' }
3357};
3358
3359static xtensa_arg_internal Iclass_xt_iclass_xsr_exccause_args[] = {
3360 { { 6 /* art */ }, 'm' }
3361};
3362
3363static xtensa_arg_internal Iclass_xt_iclass_xsr_exccause_stateArgs[] = {
074f5109
BW
3364 { { STATE_PSEXCM }, 'i' },
3365 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3366 { { STATE_EXCCAUSE }, 'm' }
3367};
3368
3369static xtensa_arg_internal Iclass_xt_iclass_rsr_misc0_args[] = {
3370 { { 6 /* art */ }, 'o' }
3371};
3372
3373static xtensa_arg_internal Iclass_xt_iclass_rsr_misc0_stateArgs[] = {
074f5109
BW
3374 { { STATE_PSEXCM }, 'i' },
3375 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3376 { { STATE_MISC0 }, 'i' }
3377};
3378
3379static xtensa_arg_internal Iclass_xt_iclass_wsr_misc0_args[] = {
3380 { { 6 /* art */ }, 'i' }
3381};
3382
3383static xtensa_arg_internal Iclass_xt_iclass_wsr_misc0_stateArgs[] = {
074f5109
BW
3384 { { STATE_PSEXCM }, 'i' },
3385 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3386 { { STATE_MISC0 }, 'o' }
3387};
3388
3389static xtensa_arg_internal Iclass_xt_iclass_xsr_misc0_args[] = {
3390 { { 6 /* art */ }, 'm' }
3391};
3392
3393static xtensa_arg_internal Iclass_xt_iclass_xsr_misc0_stateArgs[] = {
074f5109
BW
3394 { { STATE_PSEXCM }, 'i' },
3395 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3396 { { STATE_MISC0 }, 'm' }
3397};
3398
3399static xtensa_arg_internal Iclass_xt_iclass_rsr_misc1_args[] = {
3400 { { 6 /* art */ }, 'o' }
3401};
3402
3403static xtensa_arg_internal Iclass_xt_iclass_rsr_misc1_stateArgs[] = {
074f5109
BW
3404 { { STATE_PSEXCM }, 'i' },
3405 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3406 { { STATE_MISC1 }, 'i' }
3407};
3408
3409static xtensa_arg_internal Iclass_xt_iclass_wsr_misc1_args[] = {
3410 { { 6 /* art */ }, 'i' }
3411};
3412
3413static xtensa_arg_internal Iclass_xt_iclass_wsr_misc1_stateArgs[] = {
074f5109
BW
3414 { { STATE_PSEXCM }, 'i' },
3415 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3416 { { STATE_MISC1 }, 'o' }
3417};
3418
3419static xtensa_arg_internal Iclass_xt_iclass_xsr_misc1_args[] = {
3420 { { 6 /* art */ }, 'm' }
3421};
3422
3423static xtensa_arg_internal Iclass_xt_iclass_xsr_misc1_stateArgs[] = {
074f5109
BW
3424 { { STATE_PSEXCM }, 'i' },
3425 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3426 { { STATE_MISC1 }, 'm' }
3427};
3428
3429static xtensa_arg_internal Iclass_xt_iclass_rsr_prid_args[] = {
3430 { { 6 /* art */ }, 'o' }
3431};
3432
074f5109
BW
3433static xtensa_arg_internal Iclass_xt_iclass_rsr_prid_stateArgs[] = {
3434 { { STATE_PSEXCM }, 'i' },
3435 { { STATE_PSRING }, 'i' }
3436};
3437
43cd72b9
BW
3438static xtensa_arg_internal Iclass_xt_iclass_rfi_args[] = {
3439 { { 40 /* s */ }, 'i' }
3440};
3441
3442static xtensa_arg_internal Iclass_xt_iclass_rfi_stateArgs[] = {
3443 { { STATE_PSWOE }, 'o' },
3444 { { STATE_PSCALLINC }, 'o' },
3445 { { STATE_PSOWB }, 'o' },
074f5109 3446 { { STATE_PSRING }, 'm' },
43cd72b9 3447 { { STATE_PSUM }, 'o' },
074f5109 3448 { { STATE_PSEXCM }, 'm' },
43cd72b9
BW
3449 { { STATE_PSINTLEVEL }, 'o' },
3450 { { STATE_EPC1 }, 'i' },
3451 { { STATE_EPC2 }, 'i' },
3452 { { STATE_EPC3 }, 'i' },
3453 { { STATE_EPC4 }, 'i' },
3454 { { STATE_EPS2 }, 'i' },
3455 { { STATE_EPS3 }, 'i' },
3456 { { STATE_EPS4 }, 'i' },
3457 { { STATE_InOCDMode }, 'm' }
3458};
3459
3460static xtensa_arg_internal Iclass_xt_iclass_wait_args[] = {
3461 { { 40 /* s */ }, 'i' }
3462};
3463
3464static xtensa_arg_internal Iclass_xt_iclass_wait_stateArgs[] = {
074f5109
BW
3465 { { STATE_PSEXCM }, 'i' },
3466 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3467 { { STATE_PSINTLEVEL }, 'o' }
3468};
3469
3470static xtensa_arg_internal Iclass_xt_iclass_rsr_interrupt_args[] = {
3471 { { 6 /* art */ }, 'o' }
3472};
3473
3474static xtensa_arg_internal Iclass_xt_iclass_rsr_interrupt_stateArgs[] = {
074f5109
BW
3475 { { STATE_PSEXCM }, 'i' },
3476 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3477 { { STATE_INTERRUPT }, 'i' }
3478};
3479
3480static xtensa_arg_internal Iclass_xt_iclass_wsr_intset_args[] = {
3481 { { 6 /* art */ }, 'i' }
3482};
3483
3484static xtensa_arg_internal Iclass_xt_iclass_wsr_intset_stateArgs[] = {
074f5109
BW
3485 { { STATE_PSEXCM }, 'i' },
3486 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3487 { { STATE_XTSYNC }, 'o' },
3488 { { STATE_INTERRUPT }, 'm' }
3489};
3490
3491static xtensa_arg_internal Iclass_xt_iclass_wsr_intclear_args[] = {
3492 { { 6 /* art */ }, 'i' }
3493};
3494
3495static xtensa_arg_internal Iclass_xt_iclass_wsr_intclear_stateArgs[] = {
074f5109
BW
3496 { { STATE_PSEXCM }, 'i' },
3497 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3498 { { STATE_XTSYNC }, 'o' },
3499 { { STATE_INTERRUPT }, 'm' }
3500};
3501
3502static xtensa_arg_internal Iclass_xt_iclass_rsr_intenable_args[] = {
3503 { { 6 /* art */ }, 'o' }
3504};
3505
3506static xtensa_arg_internal Iclass_xt_iclass_rsr_intenable_stateArgs[] = {
074f5109
BW
3507 { { STATE_PSEXCM }, 'i' },
3508 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3509 { { STATE_INTENABLE }, 'i' }
3510};
3511
3512static xtensa_arg_internal Iclass_xt_iclass_wsr_intenable_args[] = {
3513 { { 6 /* art */ }, 'i' }
3514};
3515
3516static xtensa_arg_internal Iclass_xt_iclass_wsr_intenable_stateArgs[] = {
074f5109
BW
3517 { { STATE_PSEXCM }, 'i' },
3518 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3519 { { STATE_INTENABLE }, 'o' }
3520};
3521
3522static xtensa_arg_internal Iclass_xt_iclass_xsr_intenable_args[] = {
3523 { { 6 /* art */ }, 'm' }
3524};
3525
3526static xtensa_arg_internal Iclass_xt_iclass_xsr_intenable_stateArgs[] = {
074f5109
BW
3527 { { STATE_PSEXCM }, 'i' },
3528 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3529 { { STATE_INTENABLE }, 'm' }
3530};
3531
3532static xtensa_arg_internal Iclass_xt_iclass_break_args[] = {
3533 { { 34 /* imms */ }, 'i' },
3534 { { 33 /* immt */ }, 'i' }
3535};
3536
3537static xtensa_arg_internal Iclass_xt_iclass_break_stateArgs[] = {
3538 { { STATE_PSEXCM }, 'i' },
3539 { { STATE_PSINTLEVEL }, 'i' }
3540};
3541
3542static xtensa_arg_internal Iclass_xt_iclass_break_n_args[] = {
3543 { { 34 /* imms */ }, 'i' }
3544};
3545
3546static xtensa_arg_internal Iclass_xt_iclass_break_n_stateArgs[] = {
3547 { { STATE_PSEXCM }, 'i' },
3548 { { STATE_PSINTLEVEL }, 'i' }
3549};
3550
3551static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka0_args[] = {
3552 { { 6 /* art */ }, 'o' }
3553};
3554
3555static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka0_stateArgs[] = {
074f5109
BW
3556 { { STATE_PSEXCM }, 'i' },
3557 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3558 { { STATE_DBREAKA0 }, 'i' }
3559};
3560
3561static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka0_args[] = {
3562 { { 6 /* art */ }, 'i' }
3563};
3564
3565static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka0_stateArgs[] = {
074f5109
BW
3566 { { STATE_PSEXCM }, 'i' },
3567 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3568 { { STATE_DBREAKA0 }, 'o' },
3569 { { STATE_XTSYNC }, 'o' }
3570};
3571
3572static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka0_args[] = {
3573 { { 6 /* art */ }, 'm' }
3574};
3575
3576static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka0_stateArgs[] = {
074f5109
BW
3577 { { STATE_PSEXCM }, 'i' },
3578 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3579 { { STATE_DBREAKA0 }, 'm' },
3580 { { STATE_XTSYNC }, 'o' }
3581};
3582
3583static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc0_args[] = {
3584 { { 6 /* art */ }, 'o' }
3585};
3586
3587static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc0_stateArgs[] = {
074f5109
BW
3588 { { STATE_PSEXCM }, 'i' },
3589 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3590 { { STATE_DBREAKC0 }, 'i' }
3591};
3592
3593static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc0_args[] = {
3594 { { 6 /* art */ }, 'i' }
3595};
3596
3597static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc0_stateArgs[] = {
074f5109
BW
3598 { { STATE_PSEXCM }, 'i' },
3599 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3600 { { STATE_DBREAKC0 }, 'o' },
3601 { { STATE_XTSYNC }, 'o' }
3602};
3603
3604static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc0_args[] = {
3605 { { 6 /* art */ }, 'm' }
3606};
3607
3608static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc0_stateArgs[] = {
074f5109
BW
3609 { { STATE_PSEXCM }, 'i' },
3610 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3611 { { STATE_DBREAKC0 }, 'm' },
3612 { { STATE_XTSYNC }, 'o' }
3613};
3614
3615static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka1_args[] = {
3616 { { 6 /* art */ }, 'o' }
3617};
3618
3619static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka1_stateArgs[] = {
074f5109
BW
3620 { { STATE_PSEXCM }, 'i' },
3621 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3622 { { STATE_DBREAKA1 }, 'i' }
3623};
3624
3625static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka1_args[] = {
3626 { { 6 /* art */ }, 'i' }
3627};
3628
3629static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka1_stateArgs[] = {
074f5109
BW
3630 { { STATE_PSEXCM }, 'i' },
3631 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3632 { { STATE_DBREAKA1 }, 'o' },
3633 { { STATE_XTSYNC }, 'o' }
3634};
3635
3636static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka1_args[] = {
3637 { { 6 /* art */ }, 'm' }
3638};
3639
3640static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka1_stateArgs[] = {
074f5109
BW
3641 { { STATE_PSEXCM }, 'i' },
3642 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3643 { { STATE_DBREAKA1 }, 'm' },
3644 { { STATE_XTSYNC }, 'o' }
3645};
3646
3647static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc1_args[] = {
3648 { { 6 /* art */ }, 'o' }
3649};
3650
3651static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc1_stateArgs[] = {
074f5109
BW
3652 { { STATE_PSEXCM }, 'i' },
3653 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3654 { { STATE_DBREAKC1 }, 'i' }
3655};
3656
3657static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc1_args[] = {
3658 { { 6 /* art */ }, 'i' }
3659};
3660
3661static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc1_stateArgs[] = {
074f5109
BW
3662 { { STATE_PSEXCM }, 'i' },
3663 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3664 { { STATE_DBREAKC1 }, 'o' },
3665 { { STATE_XTSYNC }, 'o' }
3666};
3667
3668static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc1_args[] = {
3669 { { 6 /* art */ }, 'm' }
3670};
3671
3672static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc1_stateArgs[] = {
074f5109
BW
3673 { { STATE_PSEXCM }, 'i' },
3674 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3675 { { STATE_DBREAKC1 }, 'm' },
3676 { { STATE_XTSYNC }, 'o' }
3677};
3678
3679static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka0_args[] = {
3680 { { 6 /* art */ }, 'o' }
3681};
3682
3683static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka0_stateArgs[] = {
074f5109
BW
3684 { { STATE_PSEXCM }, 'i' },
3685 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3686 { { STATE_IBREAKA0 }, 'i' }
3687};
3688
3689static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka0_args[] = {
3690 { { 6 /* art */ }, 'i' }
3691};
3692
3693static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka0_stateArgs[] = {
074f5109
BW
3694 { { STATE_PSEXCM }, 'i' },
3695 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3696 { { STATE_IBREAKA0 }, 'o' }
3697};
3698
3699static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka0_args[] = {
3700 { { 6 /* art */ }, 'm' }
3701};
3702
3703static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka0_stateArgs[] = {
074f5109
BW
3704 { { STATE_PSEXCM }, 'i' },
3705 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3706 { { STATE_IBREAKA0 }, 'm' }
3707};
3708
3709static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka1_args[] = {
3710 { { 6 /* art */ }, 'o' }
3711};
3712
3713static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka1_stateArgs[] = {
074f5109
BW
3714 { { STATE_PSEXCM }, 'i' },
3715 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3716 { { STATE_IBREAKA1 }, 'i' }
3717};
3718
3719static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka1_args[] = {
3720 { { 6 /* art */ }, 'i' }
3721};
3722
3723static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka1_stateArgs[] = {
074f5109
BW
3724 { { STATE_PSEXCM }, 'i' },
3725 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3726 { { STATE_IBREAKA1 }, 'o' }
3727};
3728
3729static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka1_args[] = {
3730 { { 6 /* art */ }, 'm' }
3731};
3732
3733static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka1_stateArgs[] = {
074f5109
BW
3734 { { STATE_PSEXCM }, 'i' },
3735 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3736 { { STATE_IBREAKA1 }, 'm' }
3737};
3738
3739static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreakenable_args[] = {
3740 { { 6 /* art */ }, 'o' }
3741};
3742
3743static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreakenable_stateArgs[] = {
074f5109
BW
3744 { { STATE_PSEXCM }, 'i' },
3745 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3746 { { STATE_IBREAKENABLE }, 'i' }
3747};
3748
3749static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreakenable_args[] = {
3750 { { 6 /* art */ }, 'i' }
3751};
3752
3753static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreakenable_stateArgs[] = {
074f5109
BW
3754 { { STATE_PSEXCM }, 'i' },
3755 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3756 { { STATE_IBREAKENABLE }, 'o' }
3757};
3758
3759static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreakenable_args[] = {
3760 { { 6 /* art */ }, 'm' }
3761};
3762
3763static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreakenable_stateArgs[] = {
074f5109
BW
3764 { { STATE_PSEXCM }, 'i' },
3765 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3766 { { STATE_IBREAKENABLE }, 'm' }
3767};
3768
3769static xtensa_arg_internal Iclass_xt_iclass_rsr_debugcause_args[] = {
3770 { { 6 /* art */ }, 'o' }
3771};
3772
3773static xtensa_arg_internal Iclass_xt_iclass_rsr_debugcause_stateArgs[] = {
074f5109
BW
3774 { { STATE_PSEXCM }, 'i' },
3775 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3776 { { STATE_DEBUGCAUSE }, 'i' },
3777 { { STATE_DBNUM }, 'i' }
3778};
3779
3780static xtensa_arg_internal Iclass_xt_iclass_wsr_debugcause_args[] = {
3781 { { 6 /* art */ }, 'i' }
3782};
3783
3784static xtensa_arg_internal Iclass_xt_iclass_wsr_debugcause_stateArgs[] = {
074f5109
BW
3785 { { STATE_PSEXCM }, 'i' },
3786 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3787 { { STATE_DEBUGCAUSE }, 'o' },
3788 { { STATE_DBNUM }, 'o' }
3789};
3790
3791static xtensa_arg_internal Iclass_xt_iclass_xsr_debugcause_args[] = {
3792 { { 6 /* art */ }, 'm' }
3793};
3794
3795static xtensa_arg_internal Iclass_xt_iclass_xsr_debugcause_stateArgs[] = {
074f5109
BW
3796 { { STATE_PSEXCM }, 'i' },
3797 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3798 { { STATE_DEBUGCAUSE }, 'm' },
3799 { { STATE_DBNUM }, 'm' }
3800};
3801
3802static xtensa_arg_internal Iclass_xt_iclass_rsr_icount_args[] = {
3803 { { 6 /* art */ }, 'o' }
3804};
3805
3806static xtensa_arg_internal Iclass_xt_iclass_rsr_icount_stateArgs[] = {
074f5109
BW
3807 { { STATE_PSEXCM }, 'i' },
3808 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3809 { { STATE_ICOUNT }, 'i' }
3810};
3811
3812static xtensa_arg_internal Iclass_xt_iclass_wsr_icount_args[] = {
3813 { { 6 /* art */ }, 'i' }
3814};
3815
3816static xtensa_arg_internal Iclass_xt_iclass_wsr_icount_stateArgs[] = {
074f5109
BW
3817 { { STATE_PSEXCM }, 'i' },
3818 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3819 { { STATE_XTSYNC }, 'o' },
3820 { { STATE_ICOUNT }, 'o' }
3821};
3822
3823static xtensa_arg_internal Iclass_xt_iclass_xsr_icount_args[] = {
3824 { { 6 /* art */ }, 'm' }
3825};
3826
3827static xtensa_arg_internal Iclass_xt_iclass_xsr_icount_stateArgs[] = {
074f5109
BW
3828 { { STATE_PSEXCM }, 'i' },
3829 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3830 { { STATE_XTSYNC }, 'o' },
3831 { { STATE_ICOUNT }, 'm' }
3832};
3833
3834static xtensa_arg_internal Iclass_xt_iclass_rsr_icountlevel_args[] = {
3835 { { 6 /* art */ }, 'o' }
3836};
3837
3838static xtensa_arg_internal Iclass_xt_iclass_rsr_icountlevel_stateArgs[] = {
074f5109
BW
3839 { { STATE_PSEXCM }, 'i' },
3840 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3841 { { STATE_ICOUNTLEVEL }, 'i' }
3842};
3843
3844static xtensa_arg_internal Iclass_xt_iclass_wsr_icountlevel_args[] = {
3845 { { 6 /* art */ }, 'i' }
3846};
3847
3848static xtensa_arg_internal Iclass_xt_iclass_wsr_icountlevel_stateArgs[] = {
074f5109
BW
3849 { { STATE_PSEXCM }, 'i' },
3850 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3851 { { STATE_ICOUNTLEVEL }, 'o' }
3852};
3853
3854static xtensa_arg_internal Iclass_xt_iclass_xsr_icountlevel_args[] = {
3855 { { 6 /* art */ }, 'm' }
3856};
3857
3858static xtensa_arg_internal Iclass_xt_iclass_xsr_icountlevel_stateArgs[] = {
074f5109
BW
3859 { { STATE_PSEXCM }, 'i' },
3860 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3861 { { STATE_ICOUNTLEVEL }, 'm' }
3862};
3863
3864static xtensa_arg_internal Iclass_xt_iclass_rsr_ddr_args[] = {
3865 { { 6 /* art */ }, 'o' }
3866};
3867
3868static xtensa_arg_internal Iclass_xt_iclass_rsr_ddr_stateArgs[] = {
074f5109
BW
3869 { { STATE_PSEXCM }, 'i' },
3870 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3871 { { STATE_DDR }, 'i' }
3872};
3873
3874static xtensa_arg_internal Iclass_xt_iclass_wsr_ddr_args[] = {
3875 { { 6 /* art */ }, 'i' }
3876};
3877
3878static xtensa_arg_internal Iclass_xt_iclass_wsr_ddr_stateArgs[] = {
074f5109
BW
3879 { { STATE_PSEXCM }, 'i' },
3880 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3881 { { STATE_XTSYNC }, 'o' },
3882 { { STATE_DDR }, 'o' }
3883};
3884
3885static xtensa_arg_internal Iclass_xt_iclass_xsr_ddr_args[] = {
3886 { { 6 /* art */ }, 'm' }
3887};
3888
3889static xtensa_arg_internal Iclass_xt_iclass_xsr_ddr_stateArgs[] = {
074f5109
BW
3890 { { STATE_PSEXCM }, 'i' },
3891 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3892 { { STATE_XTSYNC }, 'o' },
3893 { { STATE_DDR }, 'm' }
3894};
3895
3896static xtensa_arg_internal Iclass_xt_iclass_rfdo_stateArgs[] = {
3897 { { STATE_InOCDMode }, 'm' },
3898 { { STATE_EPC4 }, 'i' },
3899 { { STATE_PSWOE }, 'o' },
3900 { { STATE_PSCALLINC }, 'o' },
3901 { { STATE_PSOWB }, 'o' },
074f5109 3902 { { STATE_PSRING }, 'o' },
43cd72b9
BW
3903 { { STATE_PSUM }, 'o' },
3904 { { STATE_PSEXCM }, 'o' },
3905 { { STATE_PSINTLEVEL }, 'o' },
3906 { { STATE_EPS4 }, 'i' }
3907};
3908
3909static xtensa_arg_internal Iclass_xt_iclass_rfdd_stateArgs[] = {
3910 { { STATE_InOCDMode }, 'm' }
3911};
3912
3913static xtensa_arg_internal Iclass_xt_iclass_rsr_ccount_args[] = {
3914 { { 6 /* art */ }, 'o' }
3915};
3916
3917static xtensa_arg_internal Iclass_xt_iclass_rsr_ccount_stateArgs[] = {
074f5109
BW
3918 { { STATE_PSEXCM }, 'i' },
3919 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3920 { { STATE_CCOUNT }, 'i' }
3921};
3922
3923static xtensa_arg_internal Iclass_xt_iclass_wsr_ccount_args[] = {
3924 { { 6 /* art */ }, 'i' }
3925};
3926
3927static xtensa_arg_internal Iclass_xt_iclass_wsr_ccount_stateArgs[] = {
074f5109
BW
3928 { { STATE_PSEXCM }, 'i' },
3929 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3930 { { STATE_XTSYNC }, 'o' },
3931 { { STATE_CCOUNT }, 'o' }
3932};
3933
3934static xtensa_arg_internal Iclass_xt_iclass_xsr_ccount_args[] = {
3935 { { 6 /* art */ }, 'm' }
3936};
3937
3938static xtensa_arg_internal Iclass_xt_iclass_xsr_ccount_stateArgs[] = {
074f5109
BW
3939 { { STATE_PSEXCM }, 'i' },
3940 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3941 { { STATE_XTSYNC }, 'o' },
3942 { { STATE_CCOUNT }, 'm' }
3943};
3944
3945static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare0_args[] = {
3946 { { 6 /* art */ }, 'o' }
3947};
3948
3949static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare0_stateArgs[] = {
074f5109
BW
3950 { { STATE_PSEXCM }, 'i' },
3951 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3952 { { STATE_CCOMPARE0 }, 'i' }
3953};
3954
3955static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare0_args[] = {
3956 { { 6 /* art */ }, 'i' }
3957};
3958
3959static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare0_stateArgs[] = {
074f5109
BW
3960 { { STATE_PSEXCM }, 'i' },
3961 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3962 { { STATE_CCOMPARE0 }, 'o' },
3963 { { STATE_INTERRUPT }, 'm' }
3964};
3965
3966static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare0_args[] = {
3967 { { 6 /* art */ }, 'm' }
3968};
3969
3970static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare0_stateArgs[] = {
074f5109
BW
3971 { { STATE_PSEXCM }, 'i' },
3972 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3973 { { STATE_CCOMPARE0 }, 'm' },
3974 { { STATE_INTERRUPT }, 'm' }
3975};
3976
3977static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare1_args[] = {
3978 { { 6 /* art */ }, 'o' }
3979};
3980
3981static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare1_stateArgs[] = {
074f5109
BW
3982 { { STATE_PSEXCM }, 'i' },
3983 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3984 { { STATE_CCOMPARE1 }, 'i' }
3985};
3986
3987static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare1_args[] = {
3988 { { 6 /* art */ }, 'i' }
3989};
3990
3991static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare1_stateArgs[] = {
074f5109
BW
3992 { { STATE_PSEXCM }, 'i' },
3993 { { STATE_PSRING }, 'i' },
43cd72b9
BW
3994 { { STATE_CCOMPARE1 }, 'o' },
3995 { { STATE_INTERRUPT }, 'm' }
3996};
3997
3998static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare1_args[] = {
3999 { { 6 /* art */ }, 'm' }
4000};
4001
4002static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare1_stateArgs[] = {
074f5109
BW
4003 { { STATE_PSEXCM }, 'i' },
4004 { { STATE_PSRING }, 'i' },
43cd72b9
BW
4005 { { STATE_CCOMPARE1 }, 'm' },
4006 { { STATE_INTERRUPT }, 'm' }
4007};
4008
4009static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare2_args[] = {
4010 { { 6 /* art */ }, 'o' }
4011};
4012
4013static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare2_stateArgs[] = {
074f5109
BW
4014 { { STATE_PSEXCM }, 'i' },
4015 { { STATE_PSRING }, 'i' },
43cd72b9
BW
4016 { { STATE_CCOMPARE2 }, 'i' }
4017};
4018
4019static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare2_args[] = {
4020 { { 6 /* art */ }, 'i' }
4021};
4022
4023static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare2_stateArgs[] = {
074f5109
BW
4024 { { STATE_PSEXCM }, 'i' },
4025 { { STATE_PSRING }, 'i' },
43cd72b9
BW
4026 { { STATE_CCOMPARE2 }, 'o' },
4027 { { STATE_INTERRUPT }, 'm' }
4028};
4029
4030static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare2_args[] = {
4031 { { 6 /* art */ }, 'm' }
4032};
4033
4034static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare2_stateArgs[] = {
074f5109
BW
4035 { { STATE_PSEXCM }, 'i' },
4036 { { STATE_PSRING }, 'i' },
43cd72b9
BW
4037 { { STATE_CCOMPARE2 }, 'm' },
4038 { { STATE_INTERRUPT }, 'm' }
4039};
4040
4041static xtensa_arg_internal Iclass_xt_iclass_icache_args[] = {
4042 { { 4 /* ars */ }, 'i' },
4043 { { 21 /* uimm8x4 */ }, 'i' }
4044};
4045
4046static xtensa_arg_internal Iclass_xt_iclass_icache_inv_args[] = {
4047 { { 4 /* ars */ }, 'i' },
4048 { { 21 /* uimm8x4 */ }, 'i' }
4049};
4050
074f5109
BW
4051static xtensa_arg_internal Iclass_xt_iclass_icache_inv_stateArgs[] = {
4052 { { STATE_PSEXCM }, 'i' },
4053 { { STATE_PSRING }, 'i' }
4054};
4055
43cd72b9
BW
4056static xtensa_arg_internal Iclass_xt_iclass_licx_args[] = {
4057 { { 6 /* art */ }, 'o' },
4058 { { 4 /* ars */ }, 'i' }
4059};
4060
074f5109
BW
4061static xtensa_arg_internal Iclass_xt_iclass_licx_stateArgs[] = {
4062 { { STATE_PSEXCM }, 'i' },
4063 { { STATE_PSRING }, 'i' }
4064};
4065
43cd72b9
BW
4066static xtensa_arg_internal Iclass_xt_iclass_sicx_args[] = {
4067 { { 6 /* art */ }, 'i' },
4068 { { 4 /* ars */ }, 'i' }
4069};
4070
074f5109
BW
4071static xtensa_arg_internal Iclass_xt_iclass_sicx_stateArgs[] = {
4072 { { STATE_PSEXCM }, 'i' },
4073 { { STATE_PSRING }, 'i' }
4074};
4075
43cd72b9
BW
4076static xtensa_arg_internal Iclass_xt_iclass_dcache_args[] = {
4077 { { 4 /* ars */ }, 'i' },
4078 { { 21 /* uimm8x4 */ }, 'i' }
4079};
4080
4081static xtensa_arg_internal Iclass_xt_iclass_dcache_ind_args[] = {
4082 { { 4 /* ars */ }, 'i' },
4083 { { 22 /* uimm4x16 */ }, 'i' }
4084};
4085
074f5109
BW
4086static xtensa_arg_internal Iclass_xt_iclass_dcache_ind_stateArgs[] = {
4087 { { STATE_PSEXCM }, 'i' },
4088 { { STATE_PSRING }, 'i' }
4089};
4090
43cd72b9
BW
4091static xtensa_arg_internal Iclass_xt_iclass_dcache_inv_args[] = {
4092 { { 4 /* ars */ }, 'i' },
4093 { { 21 /* uimm8x4 */ }, 'i' }
4094};
4095
074f5109
BW
4096static xtensa_arg_internal Iclass_xt_iclass_dcache_inv_stateArgs[] = {
4097 { { STATE_PSEXCM }, 'i' },
4098 { { STATE_PSRING }, 'i' }
4099};
4100
43cd72b9
BW
4101static xtensa_arg_internal Iclass_xt_iclass_dpf_args[] = {
4102 { { 4 /* ars */ }, 'i' },
4103 { { 21 /* uimm8x4 */ }, 'i' }
4104};
4105
4106static xtensa_arg_internal Iclass_xt_iclass_sdct_args[] = {
4107 { { 6 /* art */ }, 'i' },
4108 { { 4 /* ars */ }, 'i' }
4109};
4110
074f5109
BW
4111static xtensa_arg_internal Iclass_xt_iclass_sdct_stateArgs[] = {
4112 { { STATE_PSEXCM }, 'i' },
4113 { { STATE_PSRING }, 'i' }
4114};
4115
43cd72b9
BW
4116static xtensa_arg_internal Iclass_xt_iclass_ldct_args[] = {
4117 { { 6 /* art */ }, 'o' },
4118 { { 4 /* ars */ }, 'i' }
4119};
4120
074f5109
BW
4121static xtensa_arg_internal Iclass_xt_iclass_ldct_stateArgs[] = {
4122 { { STATE_PSEXCM }, 'i' },
4123 { { STATE_PSRING }, 'i' }
4124};
4125
4126static xtensa_arg_internal Iclass_xt_iclass_wsr_ptevaddr_args[] = {
4127 { { 6 /* art */ }, 'i' }
4128};
4129
4130static xtensa_arg_internal Iclass_xt_iclass_wsr_ptevaddr_stateArgs[] = {
4131 { { STATE_PSEXCM }, 'i' },
4132 { { STATE_PSRING }, 'i' },
4133 { { STATE_PTBASE }, 'o' },
4134 { { STATE_XTSYNC }, 'o' }
4135};
4136
4137static xtensa_arg_internal Iclass_xt_iclass_rsr_ptevaddr_args[] = {
4138 { { 6 /* art */ }, 'o' }
4139};
4140
4141static xtensa_arg_internal Iclass_xt_iclass_rsr_ptevaddr_stateArgs[] = {
4142 { { STATE_PSEXCM }, 'i' },
4143 { { STATE_PSRING }, 'i' },
4144 { { STATE_PTBASE }, 'i' },
4145 { { STATE_EXCVADDR }, 'i' }
4146};
4147
4148static xtensa_arg_internal Iclass_xt_iclass_xsr_ptevaddr_args[] = {
4149 { { 6 /* art */ }, 'm' }
4150};
4151
4152static xtensa_arg_internal Iclass_xt_iclass_xsr_ptevaddr_stateArgs[] = {
4153 { { STATE_PSEXCM }, 'i' },
4154 { { STATE_PSRING }, 'i' },
4155 { { STATE_PTBASE }, 'm' },
4156 { { STATE_EXCVADDR }, 'i' },
4157 { { STATE_XTSYNC }, 'o' }
4158};
4159
4160static xtensa_arg_internal Iclass_xt_iclass_rsr_rasid_args[] = {
4161 { { 6 /* art */ }, 'o' }
4162};
4163
4164static xtensa_arg_internal Iclass_xt_iclass_rsr_rasid_stateArgs[] = {
4165 { { STATE_PSEXCM }, 'i' },
4166 { { STATE_PSRING }, 'i' },
4167 { { STATE_ASID3 }, 'i' },
4168 { { STATE_ASID2 }, 'i' },
4169 { { STATE_ASID1 }, 'i' }
4170};
4171
4172static xtensa_arg_internal Iclass_xt_iclass_wsr_rasid_args[] = {
4173 { { 6 /* art */ }, 'i' }
4174};
4175
4176static xtensa_arg_internal Iclass_xt_iclass_wsr_rasid_stateArgs[] = {
4177 { { STATE_XTSYNC }, 'o' },
4178 { { STATE_PSEXCM }, 'i' },
4179 { { STATE_PSRING }, 'i' },
4180 { { STATE_ASID3 }, 'o' },
4181 { { STATE_ASID2 }, 'o' },
4182 { { STATE_ASID1 }, 'o' }
4183};
4184
4185static xtensa_arg_internal Iclass_xt_iclass_xsr_rasid_args[] = {
4186 { { 6 /* art */ }, 'm' }
4187};
4188
4189static xtensa_arg_internal Iclass_xt_iclass_xsr_rasid_stateArgs[] = {
4190 { { STATE_XTSYNC }, 'o' },
4191 { { STATE_PSEXCM }, 'i' },
4192 { { STATE_PSRING }, 'i' },
4193 { { STATE_ASID3 }, 'm' },
4194 { { STATE_ASID2 }, 'm' },
4195 { { STATE_ASID1 }, 'm' }
4196};
4197
4198static xtensa_arg_internal Iclass_xt_iclass_rsr_itlbcfg_args[] = {
4199 { { 6 /* art */ }, 'o' }
4200};
4201
4202static xtensa_arg_internal Iclass_xt_iclass_rsr_itlbcfg_stateArgs[] = {
4203 { { STATE_PSEXCM }, 'i' },
4204 { { STATE_PSRING }, 'i' },
4205 { { STATE_INSTPGSZID4 }, 'i' }
4206};
4207
4208static xtensa_arg_internal Iclass_xt_iclass_wsr_itlbcfg_args[] = {
4209 { { 6 /* art */ }, 'i' }
4210};
4211
4212static xtensa_arg_internal Iclass_xt_iclass_wsr_itlbcfg_stateArgs[] = {
4213 { { STATE_XTSYNC }, 'o' },
4214 { { STATE_PSEXCM }, 'i' },
4215 { { STATE_PSRING }, 'i' },
4216 { { STATE_INSTPGSZID4 }, 'o' }
4217};
4218
4219static xtensa_arg_internal Iclass_xt_iclass_xsr_itlbcfg_args[] = {
4220 { { 6 /* art */ }, 'm' }
4221};
4222
4223static xtensa_arg_internal Iclass_xt_iclass_xsr_itlbcfg_stateArgs[] = {
4224 { { STATE_XTSYNC }, 'o' },
4225 { { STATE_PSEXCM }, 'i' },
4226 { { STATE_PSRING }, 'i' },
4227 { { STATE_INSTPGSZID4 }, 'm' }
4228};
4229
4230static xtensa_arg_internal Iclass_xt_iclass_rsr_dtlbcfg_args[] = {
4231 { { 6 /* art */ }, 'o' }
4232};
4233
4234static xtensa_arg_internal Iclass_xt_iclass_rsr_dtlbcfg_stateArgs[] = {
4235 { { STATE_PSEXCM }, 'i' },
4236 { { STATE_PSRING }, 'i' },
4237 { { STATE_DATAPGSZID4 }, 'i' }
4238};
4239
4240static xtensa_arg_internal Iclass_xt_iclass_wsr_dtlbcfg_args[] = {
4241 { { 6 /* art */ }, 'i' }
4242};
4243
4244static xtensa_arg_internal Iclass_xt_iclass_wsr_dtlbcfg_stateArgs[] = {
4245 { { STATE_XTSYNC }, 'o' },
4246 { { STATE_PSEXCM }, 'i' },
4247 { { STATE_PSRING }, 'i' },
4248 { { STATE_DATAPGSZID4 }, 'o' }
4249};
4250
4251static xtensa_arg_internal Iclass_xt_iclass_xsr_dtlbcfg_args[] = {
4252 { { 6 /* art */ }, 'm' }
4253};
4254
4255static xtensa_arg_internal Iclass_xt_iclass_xsr_dtlbcfg_stateArgs[] = {
4256 { { STATE_XTSYNC }, 'o' },
4257 { { STATE_PSEXCM }, 'i' },
4258 { { STATE_PSRING }, 'i' },
4259 { { STATE_DATAPGSZID4 }, 'm' }
4260};
4261
43cd72b9
BW
4262static xtensa_arg_internal Iclass_xt_iclass_idtlb_args[] = {
4263 { { 4 /* ars */ }, 'i' }
4264};
4265
4266static xtensa_arg_internal Iclass_xt_iclass_idtlb_stateArgs[] = {
074f5109
BW
4267 { { STATE_PSEXCM }, 'i' },
4268 { { STATE_PSRING }, 'i' },
43cd72b9
BW
4269 { { STATE_XTSYNC }, 'o' }
4270};
4271
4272static xtensa_arg_internal Iclass_xt_iclass_rdtlb_args[] = {
4273 { { 6 /* art */ }, 'o' },
4274 { { 4 /* ars */ }, 'i' }
4275};
4276
074f5109
BW
4277static xtensa_arg_internal Iclass_xt_iclass_rdtlb_stateArgs[] = {
4278 { { STATE_PSEXCM }, 'i' },
4279 { { STATE_PSRING }, 'i' }
4280};
4281
43cd72b9
BW
4282static xtensa_arg_internal Iclass_xt_iclass_wdtlb_args[] = {
4283 { { 6 /* art */ }, 'i' },
4284 { { 4 /* ars */ }, 'i' }
4285};
4286
4287static xtensa_arg_internal Iclass_xt_iclass_wdtlb_stateArgs[] = {
074f5109
BW
4288 { { STATE_PSEXCM }, 'i' },
4289 { { STATE_PSRING }, 'i' },
43cd72b9
BW
4290 { { STATE_XTSYNC }, 'o' }
4291};
4292
4293static xtensa_arg_internal Iclass_xt_iclass_iitlb_args[] = {
4294 { { 4 /* ars */ }, 'i' }
4295};
4296
074f5109
BW
4297static xtensa_arg_internal Iclass_xt_iclass_iitlb_stateArgs[] = {
4298 { { STATE_PSEXCM }, 'i' },
4299 { { STATE_PSRING }, 'i' }
4300};
4301
43cd72b9
BW
4302static xtensa_arg_internal Iclass_xt_iclass_ritlb_args[] = {
4303 { { 6 /* art */ }, 'o' },
4304 { { 4 /* ars */ }, 'i' }
4305};
4306
074f5109
BW
4307static xtensa_arg_internal Iclass_xt_iclass_ritlb_stateArgs[] = {
4308 { { STATE_PSEXCM }, 'i' },
4309 { { STATE_PSRING }, 'i' }
4310};
4311
43cd72b9
BW
4312static xtensa_arg_internal Iclass_xt_iclass_witlb_args[] = {
4313 { { 6 /* art */ }, 'i' },
4314 { { 4 /* ars */ }, 'i' }
4315};
4316
074f5109
BW
4317static xtensa_arg_internal Iclass_xt_iclass_witlb_stateArgs[] = {
4318 { { STATE_PSEXCM }, 'i' },
4319 { { STATE_PSRING }, 'i' }
4320};
4321
4322static xtensa_arg_internal Iclass_xt_iclass_ldpte_stateArgs[] = {
4323 { { STATE_PTBASE }, 'i' },
4324 { { STATE_EXCVADDR }, 'i' }
4325};
4326
4327static xtensa_arg_internal Iclass_xt_iclass_hwwitlba_stateArgs[] = {
4328 { { STATE_EXCVADDR }, 'i' }
4329};
4330
4331static xtensa_arg_internal Iclass_xt_iclass_hwwdtlba_stateArgs[] = {
4332 { { STATE_EXCVADDR }, 'i' }
4333};
4334
43cd72b9
BW
4335static xtensa_arg_internal Iclass_xt_iclass_nsa_args[] = {
4336 { { 6 /* art */ }, 'o' },
4337 { { 4 /* ars */ }, 'i' }
4338};
4339
4340static xtensa_iclass_internal iclasses[] = {
4341 { 0, 0 /* xt_iclass_excw */,
4342 0, 0, 0, 0 },
4343 { 0, 0 /* xt_iclass_rfe */,
074f5109 4344 3, Iclass_xt_iclass_rfe_stateArgs, 0, 0 },
43cd72b9 4345 { 0, 0 /* xt_iclass_rfde */,
074f5109 4346 3, Iclass_xt_iclass_rfde_stateArgs, 0, 0 },
43cd72b9
BW
4347 { 0, 0 /* xt_iclass_syscall */,
4348 0, 0, 0, 0 },
4349 { 0, 0 /* xt_iclass_simcall */,
4350 0, 0, 0, 0 },
4351 { 2, Iclass_xt_iclass_call12_args,
4352 1, Iclass_xt_iclass_call12_stateArgs, 0, 0 },
4353 { 2, Iclass_xt_iclass_call8_args,
4354 1, Iclass_xt_iclass_call8_stateArgs, 0, 0 },
4355 { 2, Iclass_xt_iclass_call4_args,
4356 1, Iclass_xt_iclass_call4_stateArgs, 0, 0 },
4357 { 2, Iclass_xt_iclass_callx12_args,
4358 1, Iclass_xt_iclass_callx12_stateArgs, 0, 0 },
4359 { 2, Iclass_xt_iclass_callx8_args,
4360 1, Iclass_xt_iclass_callx8_stateArgs, 0, 0 },
4361 { 2, Iclass_xt_iclass_callx4_args,
4362 1, Iclass_xt_iclass_callx4_stateArgs, 0, 0 },
4363 { 3, Iclass_xt_iclass_entry_args,
4364 5, Iclass_xt_iclass_entry_stateArgs, 0, 0 },
4365 { 2, Iclass_xt_iclass_movsp_args,
4366 2, Iclass_xt_iclass_movsp_stateArgs, 0, 0 },
4367 { 1, Iclass_xt_iclass_rotw_args,
074f5109 4368 3, Iclass_xt_iclass_rotw_stateArgs, 0, 0 },
43cd72b9
BW
4369 { 1, Iclass_xt_iclass_retw_args,
4370 4, Iclass_xt_iclass_retw_stateArgs, 0, 0 },
4371 { 0, 0 /* xt_iclass_rfwou */,
074f5109 4372 6, Iclass_xt_iclass_rfwou_stateArgs, 0, 0 },
43cd72b9 4373 { 3, Iclass_xt_iclass_l32e_args,
074f5109 4374 2, Iclass_xt_iclass_l32e_stateArgs, 0, 0 },
43cd72b9 4375 { 3, Iclass_xt_iclass_s32e_args,
074f5109 4376 2, Iclass_xt_iclass_s32e_stateArgs, 0, 0 },
43cd72b9 4377 { 1, Iclass_xt_iclass_rsr_windowbase_args,
074f5109 4378 3, Iclass_xt_iclass_rsr_windowbase_stateArgs, 0, 0 },
43cd72b9 4379 { 1, Iclass_xt_iclass_wsr_windowbase_args,
074f5109 4380 3, Iclass_xt_iclass_wsr_windowbase_stateArgs, 0, 0 },
43cd72b9 4381 { 1, Iclass_xt_iclass_xsr_windowbase_args,
074f5109 4382 3, Iclass_xt_iclass_xsr_windowbase_stateArgs, 0, 0 },
43cd72b9 4383 { 1, Iclass_xt_iclass_rsr_windowstart_args,
074f5109 4384 3, Iclass_xt_iclass_rsr_windowstart_stateArgs, 0, 0 },
43cd72b9 4385 { 1, Iclass_xt_iclass_wsr_windowstart_args,
074f5109 4386 3, Iclass_xt_iclass_wsr_windowstart_stateArgs, 0, 0 },
43cd72b9 4387 { 1, Iclass_xt_iclass_xsr_windowstart_args,
074f5109 4388 3, Iclass_xt_iclass_xsr_windowstart_stateArgs, 0, 0 },
43cd72b9
BW
4389 { 3, Iclass_xt_iclass_add_n_args,
4390 0, 0, 0, 0 },
4391 { 3, Iclass_xt_iclass_addi_n_args,
4392 0, 0, 0, 0 },
4393 { 2, Iclass_xt_iclass_bz6_args,
4394 0, 0, 0, 0 },
4395 { 0, 0 /* xt_iclass_ill_n */,
4396 0, 0, 0, 0 },
4397 { 3, Iclass_xt_iclass_loadi4_args,
4398 0, 0, 0, 0 },
4399 { 2, Iclass_xt_iclass_mov_n_args,
4400 0, 0, 0, 0 },
4401 { 2, Iclass_xt_iclass_movi_n_args,
4402 0, 0, 0, 0 },
4403 { 0, 0 /* xt_iclass_nopn */,
4404 0, 0, 0, 0 },
4405 { 1, Iclass_xt_iclass_retn_args,
4406 0, 0, 0, 0 },
4407 { 3, Iclass_xt_iclass_storei4_args,
4408 0, 0, 0, 0 },
4409 { 3, Iclass_xt_iclass_addi_args,
4410 0, 0, 0, 0 },
4411 { 3, Iclass_xt_iclass_addmi_args,
4412 0, 0, 0, 0 },
4413 { 3, Iclass_xt_iclass_addsub_args,
4414 0, 0, 0, 0 },
4415 { 3, Iclass_xt_iclass_bit_args,
4416 0, 0, 0, 0 },
4417 { 3, Iclass_xt_iclass_bsi8_args,
4418 0, 0, 0, 0 },
4419 { 3, Iclass_xt_iclass_bsi8b_args,
4420 0, 0, 0, 0 },
4421 { 3, Iclass_xt_iclass_bsi8u_args,
4422 0, 0, 0, 0 },
4423 { 3, Iclass_xt_iclass_bst8_args,
4424 0, 0, 0, 0 },
4425 { 2, Iclass_xt_iclass_bsz12_args,
4426 0, 0, 0, 0 },
4427 { 2, Iclass_xt_iclass_call0_args,
4428 0, 0, 0, 0 },
4429 { 2, Iclass_xt_iclass_callx0_args,
4430 0, 0, 0, 0 },
4431 { 4, Iclass_xt_iclass_exti_args,
4432 0, 0, 0, 0 },
4433 { 0, 0 /* xt_iclass_ill */,
4434 0, 0, 0, 0 },
4435 { 1, Iclass_xt_iclass_jump_args,
4436 0, 0, 0, 0 },
4437 { 1, Iclass_xt_iclass_jumpx_args,
4438 0, 0, 0, 0 },
4439 { 3, Iclass_xt_iclass_l16ui_args,
4440 0, 0, 0, 0 },
4441 { 3, Iclass_xt_iclass_l16si_args,
4442 0, 0, 0, 0 },
4443 { 3, Iclass_xt_iclass_l32i_args,
4444 0, 0, 0, 0 },
4445 { 2, Iclass_xt_iclass_l32r_args,
4446 2, Iclass_xt_iclass_l32r_stateArgs, 0, 0 },
4447 { 3, Iclass_xt_iclass_l8i_args,
4448 0, 0, 0, 0 },
4449 { 2, Iclass_xt_iclass_loop_args,
4450 3, Iclass_xt_iclass_loop_stateArgs, 0, 0 },
4451 { 2, Iclass_xt_iclass_loopz_args,
4452 3, Iclass_xt_iclass_loopz_stateArgs, 0, 0 },
4453 { 2, Iclass_xt_iclass_movi_args,
4454 0, 0, 0, 0 },
4455 { 3, Iclass_xt_iclass_movz_args,
4456 0, 0, 0, 0 },
4457 { 2, Iclass_xt_iclass_neg_args,
4458 0, 0, 0, 0 },
4459 { 0, 0 /* xt_iclass_nop */,
4460 0, 0, 0, 0 },
4461 { 1, Iclass_xt_iclass_return_args,
4462 0, 0, 0, 0 },
4463 { 3, Iclass_xt_iclass_s16i_args,
4464 0, 0, 0, 0 },
4465 { 3, Iclass_xt_iclass_s32i_args,
4466 0, 0, 0, 0 },
4467 { 3, Iclass_xt_iclass_s8i_args,
4468 0, 0, 0, 0 },
4469 { 1, Iclass_xt_iclass_sar_args,
4470 1, Iclass_xt_iclass_sar_stateArgs, 0, 0 },
4471 { 1, Iclass_xt_iclass_sari_args,
4472 1, Iclass_xt_iclass_sari_stateArgs, 0, 0 },
4473 { 2, Iclass_xt_iclass_shifts_args,
4474 1, Iclass_xt_iclass_shifts_stateArgs, 0, 0 },
4475 { 3, Iclass_xt_iclass_shiftst_args,
4476 1, Iclass_xt_iclass_shiftst_stateArgs, 0, 0 },
4477 { 2, Iclass_xt_iclass_shiftt_args,
4478 1, Iclass_xt_iclass_shiftt_stateArgs, 0, 0 },
4479 { 3, Iclass_xt_iclass_slli_args,
4480 0, 0, 0, 0 },
4481 { 3, Iclass_xt_iclass_srai_args,
4482 0, 0, 0, 0 },
4483 { 3, Iclass_xt_iclass_srli_args,
4484 0, 0, 0, 0 },
4485 { 0, 0 /* xt_iclass_memw */,
4486 0, 0, 0, 0 },
4487 { 0, 0 /* xt_iclass_extw */,
4488 0, 0, 0, 0 },
4489 { 0, 0 /* xt_iclass_isync */,
4490 0, 0, 0, 0 },
4491 { 0, 0 /* xt_iclass_sync */,
4492 1, Iclass_xt_iclass_sync_stateArgs, 0, 0 },
4493 { 2, Iclass_xt_iclass_rsil_args,
074f5109 4494 7, Iclass_xt_iclass_rsil_stateArgs, 0, 0 },
43cd72b9
BW
4495 { 1, Iclass_xt_iclass_rsr_lend_args,
4496 1, Iclass_xt_iclass_rsr_lend_stateArgs, 0, 0 },
4497 { 1, Iclass_xt_iclass_wsr_lend_args,
4498 1, Iclass_xt_iclass_wsr_lend_stateArgs, 0, 0 },
4499 { 1, Iclass_xt_iclass_xsr_lend_args,
4500 1, Iclass_xt_iclass_xsr_lend_stateArgs, 0, 0 },
4501 { 1, Iclass_xt_iclass_rsr_lcount_args,
4502 1, Iclass_xt_iclass_rsr_lcount_stateArgs, 0, 0 },
4503 { 1, Iclass_xt_iclass_wsr_lcount_args,
4504 2, Iclass_xt_iclass_wsr_lcount_stateArgs, 0, 0 },
4505 { 1, Iclass_xt_iclass_xsr_lcount_args,
4506 2, Iclass_xt_iclass_xsr_lcount_stateArgs, 0, 0 },
4507 { 1, Iclass_xt_iclass_rsr_lbeg_args,
4508 1, Iclass_xt_iclass_rsr_lbeg_stateArgs, 0, 0 },
4509 { 1, Iclass_xt_iclass_wsr_lbeg_args,
4510 1, Iclass_xt_iclass_wsr_lbeg_stateArgs, 0, 0 },
4511 { 1, Iclass_xt_iclass_xsr_lbeg_args,
4512 1, Iclass_xt_iclass_xsr_lbeg_stateArgs, 0, 0 },
4513 { 1, Iclass_xt_iclass_rsr_sar_args,
4514 1, Iclass_xt_iclass_rsr_sar_stateArgs, 0, 0 },
4515 { 1, Iclass_xt_iclass_wsr_sar_args,
4516 2, Iclass_xt_iclass_wsr_sar_stateArgs, 0, 0 },
4517 { 1, Iclass_xt_iclass_xsr_sar_args,
4518 1, Iclass_xt_iclass_xsr_sar_stateArgs, 0, 0 },
4519 { 1, Iclass_xt_iclass_rsr_litbase_args,
4520 2, Iclass_xt_iclass_rsr_litbase_stateArgs, 0, 0 },
4521 { 1, Iclass_xt_iclass_wsr_litbase_args,
4522 2, Iclass_xt_iclass_wsr_litbase_stateArgs, 0, 0 },
4523 { 1, Iclass_xt_iclass_xsr_litbase_args,
4524 2, Iclass_xt_iclass_xsr_litbase_stateArgs, 0, 0 },
4525 { 1, Iclass_xt_iclass_rsr_176_args,
074f5109 4526 2, Iclass_xt_iclass_rsr_176_stateArgs, 0, 0 },
43cd72b9 4527 { 1, Iclass_xt_iclass_rsr_208_args,
074f5109 4528 2, Iclass_xt_iclass_rsr_208_stateArgs, 0, 0 },
43cd72b9 4529 { 1, Iclass_xt_iclass_rsr_ps_args,
074f5109 4530 7, Iclass_xt_iclass_rsr_ps_stateArgs, 0, 0 },
43cd72b9 4531 { 1, Iclass_xt_iclass_wsr_ps_args,
074f5109 4532 7, Iclass_xt_iclass_wsr_ps_stateArgs, 0, 0 },
43cd72b9 4533 { 1, Iclass_xt_iclass_xsr_ps_args,
074f5109 4534 7, Iclass_xt_iclass_xsr_ps_stateArgs, 0, 0 },
43cd72b9 4535 { 1, Iclass_xt_iclass_rsr_epc1_args,
074f5109 4536 3, Iclass_xt_iclass_rsr_epc1_stateArgs, 0, 0 },
43cd72b9 4537 { 1, Iclass_xt_iclass_wsr_epc1_args,
074f5109 4538 3, Iclass_xt_iclass_wsr_epc1_stateArgs, 0, 0 },
43cd72b9 4539 { 1, Iclass_xt_iclass_xsr_epc1_args,
074f5109 4540 3, Iclass_xt_iclass_xsr_epc1_stateArgs, 0, 0 },
43cd72b9 4541 { 1, Iclass_xt_iclass_rsr_excsave1_args,
074f5109 4542 3, Iclass_xt_iclass_rsr_excsave1_stateArgs, 0, 0 },
43cd72b9 4543 { 1, Iclass_xt_iclass_wsr_excsave1_args,
074f5109 4544 3, Iclass_xt_iclass_wsr_excsave1_stateArgs, 0, 0 },
43cd72b9 4545 { 1, Iclass_xt_iclass_xsr_excsave1_args,
074f5109 4546 3, Iclass_xt_iclass_xsr_excsave1_stateArgs, 0, 0 },
43cd72b9 4547 { 1, Iclass_xt_iclass_rsr_epc2_args,
074f5109 4548 3, Iclass_xt_iclass_rsr_epc2_stateArgs, 0, 0 },
43cd72b9 4549 { 1, Iclass_xt_iclass_wsr_epc2_args,
074f5109 4550 3, Iclass_xt_iclass_wsr_epc2_stateArgs, 0, 0 },
43cd72b9 4551 { 1, Iclass_xt_iclass_xsr_epc2_args,
074f5109 4552 3, Iclass_xt_iclass_xsr_epc2_stateArgs, 0, 0 },
43cd72b9 4553 { 1, Iclass_xt_iclass_rsr_excsave2_args,
074f5109 4554 3, Iclass_xt_iclass_rsr_excsave2_stateArgs, 0, 0 },
43cd72b9 4555 { 1, Iclass_xt_iclass_wsr_excsave2_args,
074f5109 4556 3, Iclass_xt_iclass_wsr_excsave2_stateArgs, 0, 0 },
43cd72b9 4557 { 1, Iclass_xt_iclass_xsr_excsave2_args,
074f5109 4558 3, Iclass_xt_iclass_xsr_excsave2_stateArgs, 0, 0 },
43cd72b9 4559 { 1, Iclass_xt_iclass_rsr_epc3_args,
074f5109 4560 3, Iclass_xt_iclass_rsr_epc3_stateArgs, 0, 0 },
43cd72b9 4561 { 1, Iclass_xt_iclass_wsr_epc3_args,
074f5109 4562 3, Iclass_xt_iclass_wsr_epc3_stateArgs, 0, 0 },
43cd72b9 4563 { 1, Iclass_xt_iclass_xsr_epc3_args,
074f5109 4564 3, Iclass_xt_iclass_xsr_epc3_stateArgs, 0, 0 },
43cd72b9 4565 { 1, Iclass_xt_iclass_rsr_excsave3_args,
074f5109 4566 3, Iclass_xt_iclass_rsr_excsave3_stateArgs, 0, 0 },
43cd72b9 4567 { 1, Iclass_xt_iclass_wsr_excsave3_args,
074f5109 4568 3, Iclass_xt_iclass_wsr_excsave3_stateArgs, 0, 0 },
43cd72b9 4569 { 1, Iclass_xt_iclass_xsr_excsave3_args,
074f5109 4570 3, Iclass_xt_iclass_xsr_excsave3_stateArgs, 0, 0 },
43cd72b9 4571 { 1, Iclass_xt_iclass_rsr_epc4_args,
074f5109 4572 3, Iclass_xt_iclass_rsr_epc4_stateArgs, 0, 0 },
43cd72b9 4573 { 1, Iclass_xt_iclass_wsr_epc4_args,
074f5109 4574 3, Iclass_xt_iclass_wsr_epc4_stateArgs, 0, 0 },
43cd72b9 4575 { 1, Iclass_xt_iclass_xsr_epc4_args,
074f5109 4576 3, Iclass_xt_iclass_xsr_epc4_stateArgs, 0, 0 },
43cd72b9 4577 { 1, Iclass_xt_iclass_rsr_excsave4_args,
074f5109 4578 3, Iclass_xt_iclass_rsr_excsave4_stateArgs, 0, 0 },
43cd72b9 4579 { 1, Iclass_xt_iclass_wsr_excsave4_args,
074f5109 4580 3, Iclass_xt_iclass_wsr_excsave4_stateArgs, 0, 0 },
43cd72b9 4581 { 1, Iclass_xt_iclass_xsr_excsave4_args,
074f5109 4582 3, Iclass_xt_iclass_xsr_excsave4_stateArgs, 0, 0 },
43cd72b9 4583 { 1, Iclass_xt_iclass_rsr_eps2_args,
074f5109 4584 3, Iclass_xt_iclass_rsr_eps2_stateArgs, 0, 0 },
43cd72b9 4585 { 1, Iclass_xt_iclass_wsr_eps2_args,
074f5109 4586 3, Iclass_xt_iclass_wsr_eps2_stateArgs, 0, 0 },
43cd72b9 4587 { 1, Iclass_xt_iclass_xsr_eps2_args,
074f5109 4588 3, Iclass_xt_iclass_xsr_eps2_stateArgs, 0, 0 },
43cd72b9 4589 { 1, Iclass_xt_iclass_rsr_eps3_args,
074f5109 4590 3, Iclass_xt_iclass_rsr_eps3_stateArgs, 0, 0 },
43cd72b9 4591 { 1, Iclass_xt_iclass_wsr_eps3_args,
074f5109 4592 3, Iclass_xt_iclass_wsr_eps3_stateArgs, 0, 0 },
43cd72b9 4593 { 1, Iclass_xt_iclass_xsr_eps3_args,
074f5109 4594 3, Iclass_xt_iclass_xsr_eps3_stateArgs, 0, 0 },
43cd72b9 4595 { 1, Iclass_xt_iclass_rsr_eps4_args,
074f5109 4596 3, Iclass_xt_iclass_rsr_eps4_stateArgs, 0, 0 },
43cd72b9 4597 { 1, Iclass_xt_iclass_wsr_eps4_args,
074f5109 4598 3, Iclass_xt_iclass_wsr_eps4_stateArgs, 0, 0 },
43cd72b9 4599 { 1, Iclass_xt_iclass_xsr_eps4_args,
074f5109 4600 3, Iclass_xt_iclass_xsr_eps4_stateArgs, 0, 0 },
43cd72b9 4601 { 1, Iclass_xt_iclass_rsr_excvaddr_args,
074f5109 4602 3, Iclass_xt_iclass_rsr_excvaddr_stateArgs, 0, 0 },
43cd72b9 4603 { 1, Iclass_xt_iclass_wsr_excvaddr_args,
074f5109 4604 3, Iclass_xt_iclass_wsr_excvaddr_stateArgs, 0, 0 },
43cd72b9 4605 { 1, Iclass_xt_iclass_xsr_excvaddr_args,
074f5109 4606 3, Iclass_xt_iclass_xsr_excvaddr_stateArgs, 0, 0 },
43cd72b9 4607 { 1, Iclass_xt_iclass_rsr_depc_args,
074f5109 4608 3, Iclass_xt_iclass_rsr_depc_stateArgs, 0, 0 },
43cd72b9 4609 { 1, Iclass_xt_iclass_wsr_depc_args,
074f5109 4610 3, Iclass_xt_iclass_wsr_depc_stateArgs, 0, 0 },
43cd72b9 4611 { 1, Iclass_xt_iclass_xsr_depc_args,
074f5109 4612 3, Iclass_xt_iclass_xsr_depc_stateArgs, 0, 0 },
43cd72b9 4613 { 1, Iclass_xt_iclass_rsr_exccause_args,
074f5109 4614 4, Iclass_xt_iclass_rsr_exccause_stateArgs, 0, 0 },
43cd72b9 4615 { 1, Iclass_xt_iclass_wsr_exccause_args,
074f5109 4616 3, Iclass_xt_iclass_wsr_exccause_stateArgs, 0, 0 },
43cd72b9 4617 { 1, Iclass_xt_iclass_xsr_exccause_args,
074f5109 4618 3, Iclass_xt_iclass_xsr_exccause_stateArgs, 0, 0 },
43cd72b9 4619 { 1, Iclass_xt_iclass_rsr_misc0_args,
074f5109 4620 3, Iclass_xt_iclass_rsr_misc0_stateArgs, 0, 0 },
43cd72b9 4621 { 1, Iclass_xt_iclass_wsr_misc0_args,
074f5109 4622 3, Iclass_xt_iclass_wsr_misc0_stateArgs, 0, 0 },
43cd72b9 4623 { 1, Iclass_xt_iclass_xsr_misc0_args,
074f5109 4624 3, Iclass_xt_iclass_xsr_misc0_stateArgs, 0, 0 },
43cd72b9 4625 { 1, Iclass_xt_iclass_rsr_misc1_args,
074f5109 4626 3, Iclass_xt_iclass_rsr_misc1_stateArgs, 0, 0 },
43cd72b9 4627 { 1, Iclass_xt_iclass_wsr_misc1_args,
074f5109 4628 3, Iclass_xt_iclass_wsr_misc1_stateArgs, 0, 0 },
43cd72b9 4629 { 1, Iclass_xt_iclass_xsr_misc1_args,
074f5109 4630 3, Iclass_xt_iclass_xsr_misc1_stateArgs, 0, 0 },
43cd72b9 4631 { 1, Iclass_xt_iclass_rsr_prid_args,
074f5109 4632 2, Iclass_xt_iclass_rsr_prid_stateArgs, 0, 0 },
43cd72b9 4633 { 1, Iclass_xt_iclass_rfi_args,
074f5109 4634 15, Iclass_xt_iclass_rfi_stateArgs, 0, 0 },
43cd72b9 4635 { 1, Iclass_xt_iclass_wait_args,
074f5109 4636 3, Iclass_xt_iclass_wait_stateArgs, 0, 0 },
43cd72b9 4637 { 1, Iclass_xt_iclass_rsr_interrupt_args,
074f5109 4638 3, Iclass_xt_iclass_rsr_interrupt_stateArgs, 0, 0 },
43cd72b9 4639 { 1, Iclass_xt_iclass_wsr_intset_args,
074f5109 4640 4, Iclass_xt_iclass_wsr_intset_stateArgs, 0, 0 },
43cd72b9 4641 { 1, Iclass_xt_iclass_wsr_intclear_args,
074f5109 4642 4, Iclass_xt_iclass_wsr_intclear_stateArgs, 0, 0 },
43cd72b9 4643 { 1, Iclass_xt_iclass_rsr_intenable_args,
074f5109 4644 3, Iclass_xt_iclass_rsr_intenable_stateArgs, 0, 0 },
43cd72b9 4645 { 1, Iclass_xt_iclass_wsr_intenable_args,
074f5109 4646 3, Iclass_xt_iclass_wsr_intenable_stateArgs, 0, 0 },
43cd72b9 4647 { 1, Iclass_xt_iclass_xsr_intenable_args,
074f5109 4648 3, Iclass_xt_iclass_xsr_intenable_stateArgs, 0, 0 },
43cd72b9
BW
4649 { 2, Iclass_xt_iclass_break_args,
4650 2, Iclass_xt_iclass_break_stateArgs, 0, 0 },
4651 { 1, Iclass_xt_iclass_break_n_args,
4652 2, Iclass_xt_iclass_break_n_stateArgs, 0, 0 },
4653 { 1, Iclass_xt_iclass_rsr_dbreaka0_args,
074f5109 4654 3, Iclass_xt_iclass_rsr_dbreaka0_stateArgs, 0, 0 },
43cd72b9 4655 { 1, Iclass_xt_iclass_wsr_dbreaka0_args,
074f5109 4656 4, Iclass_xt_iclass_wsr_dbreaka0_stateArgs, 0, 0 },
43cd72b9 4657 { 1, Iclass_xt_iclass_xsr_dbreaka0_args,
074f5109 4658 4, Iclass_xt_iclass_xsr_dbreaka0_stateArgs, 0, 0 },
43cd72b9 4659 { 1, Iclass_xt_iclass_rsr_dbreakc0_args,
074f5109 4660 3, Iclass_xt_iclass_rsr_dbreakc0_stateArgs, 0, 0 },
43cd72b9 4661 { 1, Iclass_xt_iclass_wsr_dbreakc0_args,
074f5109 4662 4, Iclass_xt_iclass_wsr_dbreakc0_stateArgs, 0, 0 },
43cd72b9 4663 { 1, Iclass_xt_iclass_xsr_dbreakc0_args,
074f5109 4664 4, Iclass_xt_iclass_xsr_dbreakc0_stateArgs, 0, 0 },
43cd72b9 4665 { 1, Iclass_xt_iclass_rsr_dbreaka1_args,
074f5109 4666 3, Iclass_xt_iclass_rsr_dbreaka1_stateArgs, 0, 0 },
43cd72b9 4667 { 1, Iclass_xt_iclass_wsr_dbreaka1_args,
074f5109 4668 4, Iclass_xt_iclass_wsr_dbreaka1_stateArgs, 0, 0 },
43cd72b9 4669 { 1, Iclass_xt_iclass_xsr_dbreaka1_args,
074f5109 4670 4, Iclass_xt_iclass_xsr_dbreaka1_stateArgs, 0, 0 },
43cd72b9 4671 { 1, Iclass_xt_iclass_rsr_dbreakc1_args,
074f5109 4672 3, Iclass_xt_iclass_rsr_dbreakc1_stateArgs, 0, 0 },
43cd72b9 4673 { 1, Iclass_xt_iclass_wsr_dbreakc1_args,
074f5109 4674 4, Iclass_xt_iclass_wsr_dbreakc1_stateArgs, 0, 0 },
43cd72b9 4675 { 1, Iclass_xt_iclass_xsr_dbreakc1_args,
074f5109 4676 4, Iclass_xt_iclass_xsr_dbreakc1_stateArgs, 0, 0 },
43cd72b9 4677 { 1, Iclass_xt_iclass_rsr_ibreaka0_args,
074f5109 4678 3, Iclass_xt_iclass_rsr_ibreaka0_stateArgs, 0, 0 },
43cd72b9 4679 { 1, Iclass_xt_iclass_wsr_ibreaka0_args,
074f5109 4680 3, Iclass_xt_iclass_wsr_ibreaka0_stateArgs, 0, 0 },
43cd72b9 4681 { 1, Iclass_xt_iclass_xsr_ibreaka0_args,
074f5109 4682 3, Iclass_xt_iclass_xsr_ibreaka0_stateArgs, 0, 0 },
43cd72b9 4683 { 1, Iclass_xt_iclass_rsr_ibreaka1_args,
074f5109 4684 3, Iclass_xt_iclass_rsr_ibreaka1_stateArgs, 0, 0 },
43cd72b9 4685 { 1, Iclass_xt_iclass_wsr_ibreaka1_args,
074f5109 4686 3, Iclass_xt_iclass_wsr_ibreaka1_stateArgs, 0, 0 },
43cd72b9 4687 { 1, Iclass_xt_iclass_xsr_ibreaka1_args,
074f5109 4688 3, Iclass_xt_iclass_xsr_ibreaka1_stateArgs, 0, 0 },
43cd72b9 4689 { 1, Iclass_xt_iclass_rsr_ibreakenable_args,
074f5109 4690 3, Iclass_xt_iclass_rsr_ibreakenable_stateArgs, 0, 0 },
43cd72b9 4691 { 1, Iclass_xt_iclass_wsr_ibreakenable_args,
074f5109 4692 3, Iclass_xt_iclass_wsr_ibreakenable_stateArgs, 0, 0 },
43cd72b9 4693 { 1, Iclass_xt_iclass_xsr_ibreakenable_args,
074f5109 4694 3, Iclass_xt_iclass_xsr_ibreakenable_stateArgs, 0, 0 },
43cd72b9 4695 { 1, Iclass_xt_iclass_rsr_debugcause_args,
074f5109 4696 4, Iclass_xt_iclass_rsr_debugcause_stateArgs, 0, 0 },
43cd72b9 4697 { 1, Iclass_xt_iclass_wsr_debugcause_args,
074f5109 4698 4, Iclass_xt_iclass_wsr_debugcause_stateArgs, 0, 0 },
43cd72b9 4699 { 1, Iclass_xt_iclass_xsr_debugcause_args,
074f5109 4700 4, Iclass_xt_iclass_xsr_debugcause_stateArgs, 0, 0 },
43cd72b9 4701 { 1, Iclass_xt_iclass_rsr_icount_args,
074f5109 4702 3, Iclass_xt_iclass_rsr_icount_stateArgs, 0, 0 },
43cd72b9 4703 { 1, Iclass_xt_iclass_wsr_icount_args,
074f5109 4704 4, Iclass_xt_iclass_wsr_icount_stateArgs, 0, 0 },
43cd72b9 4705 { 1, Iclass_xt_iclass_xsr_icount_args,
074f5109 4706 4, Iclass_xt_iclass_xsr_icount_stateArgs, 0, 0 },
43cd72b9 4707 { 1, Iclass_xt_iclass_rsr_icountlevel_args,
074f5109 4708 3, Iclass_xt_iclass_rsr_icountlevel_stateArgs, 0, 0 },
43cd72b9 4709 { 1, Iclass_xt_iclass_wsr_icountlevel_args,
074f5109 4710 3, Iclass_xt_iclass_wsr_icountlevel_stateArgs, 0, 0 },
43cd72b9 4711 { 1, Iclass_xt_iclass_xsr_icountlevel_args,
074f5109 4712 3, Iclass_xt_iclass_xsr_icountlevel_stateArgs, 0, 0 },
43cd72b9 4713 { 1, Iclass_xt_iclass_rsr_ddr_args,
074f5109 4714 3, Iclass_xt_iclass_rsr_ddr_stateArgs, 0, 0 },
43cd72b9 4715 { 1, Iclass_xt_iclass_wsr_ddr_args,
074f5109 4716 4, Iclass_xt_iclass_wsr_ddr_stateArgs, 0, 0 },
43cd72b9 4717 { 1, Iclass_xt_iclass_xsr_ddr_args,
074f5109 4718 4, Iclass_xt_iclass_xsr_ddr_stateArgs, 0, 0 },
43cd72b9 4719 { 0, 0 /* xt_iclass_rfdo */,
074f5109 4720 10, Iclass_xt_iclass_rfdo_stateArgs, 0, 0 },
43cd72b9
BW
4721 { 0, 0 /* xt_iclass_rfdd */,
4722 1, Iclass_xt_iclass_rfdd_stateArgs, 0, 0 },
4723 { 1, Iclass_xt_iclass_rsr_ccount_args,
074f5109 4724 3, Iclass_xt_iclass_rsr_ccount_stateArgs, 0, 0 },
43cd72b9 4725 { 1, Iclass_xt_iclass_wsr_ccount_args,
074f5109 4726 4, Iclass_xt_iclass_wsr_ccount_stateArgs, 0, 0 },
43cd72b9 4727 { 1, Iclass_xt_iclass_xsr_ccount_args,
074f5109 4728 4, Iclass_xt_iclass_xsr_ccount_stateArgs, 0, 0 },
43cd72b9 4729 { 1, Iclass_xt_iclass_rsr_ccompare0_args,
074f5109 4730 3, Iclass_xt_iclass_rsr_ccompare0_stateArgs, 0, 0 },
43cd72b9 4731 { 1, Iclass_xt_iclass_wsr_ccompare0_args,
074f5109 4732 4, Iclass_xt_iclass_wsr_ccompare0_stateArgs, 0, 0 },
43cd72b9 4733 { 1, Iclass_xt_iclass_xsr_ccompare0_args,
074f5109 4734 4, Iclass_xt_iclass_xsr_ccompare0_stateArgs, 0, 0 },
43cd72b9 4735 { 1, Iclass_xt_iclass_rsr_ccompare1_args,
074f5109 4736 3, Iclass_xt_iclass_rsr_ccompare1_stateArgs, 0, 0 },
43cd72b9 4737 { 1, Iclass_xt_iclass_wsr_ccompare1_args,
074f5109 4738 4, Iclass_xt_iclass_wsr_ccompare1_stateArgs, 0, 0 },
43cd72b9 4739 { 1, Iclass_xt_iclass_xsr_ccompare1_args,
074f5109 4740 4, Iclass_xt_iclass_xsr_ccompare1_stateArgs, 0, 0 },
43cd72b9 4741 { 1, Iclass_xt_iclass_rsr_ccompare2_args,
074f5109 4742 3, Iclass_xt_iclass_rsr_ccompare2_stateArgs, 0, 0 },
43cd72b9 4743 { 1, Iclass_xt_iclass_wsr_ccompare2_args,
074f5109 4744 4, Iclass_xt_iclass_wsr_ccompare2_stateArgs, 0, 0 },
43cd72b9 4745 { 1, Iclass_xt_iclass_xsr_ccompare2_args,
074f5109 4746 4, Iclass_xt_iclass_xsr_ccompare2_stateArgs, 0, 0 },
43cd72b9
BW
4747 { 2, Iclass_xt_iclass_icache_args,
4748 0, 0, 0, 0 },
4749 { 2, Iclass_xt_iclass_icache_inv_args,
074f5109 4750 2, Iclass_xt_iclass_icache_inv_stateArgs, 0, 0 },
43cd72b9 4751 { 2, Iclass_xt_iclass_licx_args,
074f5109 4752 2, Iclass_xt_iclass_licx_stateArgs, 0, 0 },
43cd72b9 4753 { 2, Iclass_xt_iclass_sicx_args,
074f5109 4754 2, Iclass_xt_iclass_sicx_stateArgs, 0, 0 },
43cd72b9
BW
4755 { 2, Iclass_xt_iclass_dcache_args,
4756 0, 0, 0, 0 },
4757 { 2, Iclass_xt_iclass_dcache_ind_args,
074f5109 4758 2, Iclass_xt_iclass_dcache_ind_stateArgs, 0, 0 },
43cd72b9 4759 { 2, Iclass_xt_iclass_dcache_inv_args,
074f5109 4760 2, Iclass_xt_iclass_dcache_inv_stateArgs, 0, 0 },
43cd72b9
BW
4761 { 2, Iclass_xt_iclass_dpf_args,
4762 0, 0, 0, 0 },
4763 { 2, Iclass_xt_iclass_sdct_args,
074f5109 4764 2, Iclass_xt_iclass_sdct_stateArgs, 0, 0 },
43cd72b9 4765 { 2, Iclass_xt_iclass_ldct_args,
074f5109
BW
4766 2, Iclass_xt_iclass_ldct_stateArgs, 0, 0 },
4767 { 1, Iclass_xt_iclass_wsr_ptevaddr_args,
4768 4, Iclass_xt_iclass_wsr_ptevaddr_stateArgs, 0, 0 },
4769 { 1, Iclass_xt_iclass_rsr_ptevaddr_args,
4770 4, Iclass_xt_iclass_rsr_ptevaddr_stateArgs, 0, 0 },
4771 { 1, Iclass_xt_iclass_xsr_ptevaddr_args,
4772 5, Iclass_xt_iclass_xsr_ptevaddr_stateArgs, 0, 0 },
4773 { 1, Iclass_xt_iclass_rsr_rasid_args,
4774 5, Iclass_xt_iclass_rsr_rasid_stateArgs, 0, 0 },
4775 { 1, Iclass_xt_iclass_wsr_rasid_args,
4776 6, Iclass_xt_iclass_wsr_rasid_stateArgs, 0, 0 },
4777 { 1, Iclass_xt_iclass_xsr_rasid_args,
4778 6, Iclass_xt_iclass_xsr_rasid_stateArgs, 0, 0 },
4779 { 1, Iclass_xt_iclass_rsr_itlbcfg_args,
4780 3, Iclass_xt_iclass_rsr_itlbcfg_stateArgs, 0, 0 },
4781 { 1, Iclass_xt_iclass_wsr_itlbcfg_args,
4782 4, Iclass_xt_iclass_wsr_itlbcfg_stateArgs, 0, 0 },
4783 { 1, Iclass_xt_iclass_xsr_itlbcfg_args,
4784 4, Iclass_xt_iclass_xsr_itlbcfg_stateArgs, 0, 0 },
4785 { 1, Iclass_xt_iclass_rsr_dtlbcfg_args,
4786 3, Iclass_xt_iclass_rsr_dtlbcfg_stateArgs, 0, 0 },
4787 { 1, Iclass_xt_iclass_wsr_dtlbcfg_args,
4788 4, Iclass_xt_iclass_wsr_dtlbcfg_stateArgs, 0, 0 },
4789 { 1, Iclass_xt_iclass_xsr_dtlbcfg_args,
4790 4, Iclass_xt_iclass_xsr_dtlbcfg_stateArgs, 0, 0 },
43cd72b9 4791 { 1, Iclass_xt_iclass_idtlb_args,
074f5109 4792 3, Iclass_xt_iclass_idtlb_stateArgs, 0, 0 },
43cd72b9 4793 { 2, Iclass_xt_iclass_rdtlb_args,
074f5109 4794 2, Iclass_xt_iclass_rdtlb_stateArgs, 0, 0 },
43cd72b9 4795 { 2, Iclass_xt_iclass_wdtlb_args,
074f5109 4796 3, Iclass_xt_iclass_wdtlb_stateArgs, 0, 0 },
43cd72b9 4797 { 1, Iclass_xt_iclass_iitlb_args,
074f5109 4798 2, Iclass_xt_iclass_iitlb_stateArgs, 0, 0 },
43cd72b9 4799 { 2, Iclass_xt_iclass_ritlb_args,
074f5109 4800 2, Iclass_xt_iclass_ritlb_stateArgs, 0, 0 },
43cd72b9 4801 { 2, Iclass_xt_iclass_witlb_args,
074f5109
BW
4802 2, Iclass_xt_iclass_witlb_stateArgs, 0, 0 },
4803 { 0, 0 /* xt_iclass_ldpte */,
4804 2, Iclass_xt_iclass_ldpte_stateArgs, 0, 0 },
4805 { 0, 0 /* xt_iclass_hwwitlba */,
4806 1, Iclass_xt_iclass_hwwitlba_stateArgs, 0, 0 },
4807 { 0, 0 /* xt_iclass_hwwdtlba */,
4808 1, Iclass_xt_iclass_hwwdtlba_stateArgs, 0, 0 },
43cd72b9
BW
4809 { 2, Iclass_xt_iclass_nsa_args,
4810 0, 0, 0, 0 }
4811};
4812
4813\f
4814/* Opcode encodings. */
4815
4816static void
4817Opcode_excw_Slot_inst_encode (xtensa_insnbuf slotbuf)
4818{
4819 slotbuf[0] = 0x80200;
4820}
4821
4822static void
4823Opcode_rfe_Slot_inst_encode (xtensa_insnbuf slotbuf)
4824{
4825 slotbuf[0] = 0x300;
4826}
4827
4828static void
4829Opcode_rfde_Slot_inst_encode (xtensa_insnbuf slotbuf)
4830{
4831 slotbuf[0] = 0x2300;
4832}
4833
4834static void
4835Opcode_syscall_Slot_inst_encode (xtensa_insnbuf slotbuf)
4836{
4837 slotbuf[0] = 0x500;
4838}
4839
4840static void
4841Opcode_simcall_Slot_inst_encode (xtensa_insnbuf slotbuf)
4842{
4843 slotbuf[0] = 0x1500;
4844}
4845
4846static void
4847Opcode_call12_Slot_inst_encode (xtensa_insnbuf slotbuf)
4848{
4849 slotbuf[0] = 0x5c0000;
4850}
4851
4852static void
4853Opcode_call8_Slot_inst_encode (xtensa_insnbuf slotbuf)
4854{
4855 slotbuf[0] = 0x580000;
4856}
4857
4858static void
4859Opcode_call4_Slot_inst_encode (xtensa_insnbuf slotbuf)
4860{
4861 slotbuf[0] = 0x540000;
4862}
4863
4864static void
4865Opcode_callx12_Slot_inst_encode (xtensa_insnbuf slotbuf)
4866{
4867 slotbuf[0] = 0xf0000;
4868}
4869
4870static void
4871Opcode_callx8_Slot_inst_encode (xtensa_insnbuf slotbuf)
4872{
4873 slotbuf[0] = 0xb0000;
4874}
4875
4876static void
4877Opcode_callx4_Slot_inst_encode (xtensa_insnbuf slotbuf)
4878{
4879 slotbuf[0] = 0x70000;
4880}
4881
4882static void
4883Opcode_entry_Slot_inst_encode (xtensa_insnbuf slotbuf)
4884{
4885 slotbuf[0] = 0x6c0000;
4886}
4887
4888static void
4889Opcode_movsp_Slot_inst_encode (xtensa_insnbuf slotbuf)
4890{
4891 slotbuf[0] = 0x100;
4892}
4893
4894static void
4895Opcode_rotw_Slot_inst_encode (xtensa_insnbuf slotbuf)
4896{
4897 slotbuf[0] = 0x804;
4898}
4899
4900static void
4901Opcode_retw_Slot_inst_encode (xtensa_insnbuf slotbuf)
4902{
4903 slotbuf[0] = 0x60000;
4904}
4905
4906static void
4907Opcode_retw_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
4908{
4909 slotbuf[0] = 0xd10f;
4910}
4911
4912static void
4913Opcode_rfwo_Slot_inst_encode (xtensa_insnbuf slotbuf)
4914{
4915 slotbuf[0] = 0x4300;
4916}
4917
4918static void
4919Opcode_rfwu_Slot_inst_encode (xtensa_insnbuf slotbuf)
4920{
4921 slotbuf[0] = 0x5300;
4922}
4923
4924static void
4925Opcode_l32e_Slot_inst_encode (xtensa_insnbuf slotbuf)
4926{
4927 slotbuf[0] = 0x90;
4928}
4929
4930static void
4931Opcode_s32e_Slot_inst_encode (xtensa_insnbuf slotbuf)
4932{
4933 slotbuf[0] = 0x94;
4934}
4935
4936static void
4937Opcode_rsr_windowbase_Slot_inst_encode (xtensa_insnbuf slotbuf)
4938{
4939 slotbuf[0] = 0x4830;
4940}
4941
4942static void
4943Opcode_wsr_windowbase_Slot_inst_encode (xtensa_insnbuf slotbuf)
4944{
4945 slotbuf[0] = 0x4831;
4946}
4947
4948static void
4949Opcode_xsr_windowbase_Slot_inst_encode (xtensa_insnbuf slotbuf)
4950{
4951 slotbuf[0] = 0x4816;
4952}
4953
4954static void
4955Opcode_rsr_windowstart_Slot_inst_encode (xtensa_insnbuf slotbuf)
4956{
4957 slotbuf[0] = 0x4930;
4958}
4959
4960static void
4961Opcode_wsr_windowstart_Slot_inst_encode (xtensa_insnbuf slotbuf)
4962{
4963 slotbuf[0] = 0x4931;
4964}
4965
4966static void
4967Opcode_xsr_windowstart_Slot_inst_encode (xtensa_insnbuf slotbuf)
4968{
4969 slotbuf[0] = 0x4916;
4970}
4971
4972static void
4973Opcode_add_n_Slot_inst16a_encode (xtensa_insnbuf slotbuf)
4974{
4975 slotbuf[0] = 0xa000;
4976}
4977
4978static void
4979Opcode_addi_n_Slot_inst16a_encode (xtensa_insnbuf slotbuf)
4980{
4981 slotbuf[0] = 0xb000;
4982}
4983
4984static void
4985Opcode_beqz_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
4986{
4987 slotbuf[0] = 0xc800;
4988}
4989
4990static void
4991Opcode_bnez_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
4992{
4993 slotbuf[0] = 0xcc00;
4994}
4995
4996static void
4997Opcode_ill_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
4998{
4999 slotbuf[0] = 0xd60f;
5000}
5001
5002static void
5003Opcode_l32i_n_Slot_inst16a_encode (xtensa_insnbuf slotbuf)
5004{
5005 slotbuf[0] = 0x8000;
5006}
5007
5008static void
5009Opcode_mov_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
5010{
5011 slotbuf[0] = 0xd000;
5012}
5013
5014static void
5015Opcode_movi_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
5016{
5017 slotbuf[0] = 0xc000;
5018}
5019
5020static void
5021Opcode_nop_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
5022{
5023 slotbuf[0] = 0xd30f;
5024}
5025
5026static void
5027Opcode_ret_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
5028{
5029 slotbuf[0] = 0xd00f;
5030}
5031
5032static void
5033Opcode_s32i_n_Slot_inst16a_encode (xtensa_insnbuf slotbuf)
5034{
5035 slotbuf[0] = 0x9000;
5036}
5037
5038static void
5039Opcode_addi_Slot_inst_encode (xtensa_insnbuf slotbuf)
5040{
5041 slotbuf[0] = 0x200c00;
5042}
5043
5044static void
5045Opcode_addmi_Slot_inst_encode (xtensa_insnbuf slotbuf)
5046{
5047 slotbuf[0] = 0x200d00;
5048}
5049
5050static void
5051Opcode_add_Slot_inst_encode (xtensa_insnbuf slotbuf)
5052{
5053 slotbuf[0] = 0x8;
5054}
5055
5056static void
5057Opcode_sub_Slot_inst_encode (xtensa_insnbuf slotbuf)
5058{
5059 slotbuf[0] = 0xc;
5060}
5061
5062static void
5063Opcode_addx2_Slot_inst_encode (xtensa_insnbuf slotbuf)
5064{
5065 slotbuf[0] = 0x9;
5066}
5067
5068static void
5069Opcode_addx4_Slot_inst_encode (xtensa_insnbuf slotbuf)
5070{
5071 slotbuf[0] = 0xa;
5072}
5073
5074static void
5075Opcode_addx8_Slot_inst_encode (xtensa_insnbuf slotbuf)
5076{
5077 slotbuf[0] = 0xb;
5078}
5079
5080static void
5081Opcode_subx2_Slot_inst_encode (xtensa_insnbuf slotbuf)
5082{
5083 slotbuf[0] = 0xd;
5084}
5085
5086static void
5087Opcode_subx4_Slot_inst_encode (xtensa_insnbuf slotbuf)
5088{
5089 slotbuf[0] = 0xe;
5090}
5091
5092static void
5093Opcode_subx8_Slot_inst_encode (xtensa_insnbuf slotbuf)
5094{
5095 slotbuf[0] = 0xf;
5096}
5097
5098static void
5099Opcode_and_Slot_inst_encode (xtensa_insnbuf slotbuf)
5100{
5101 slotbuf[0] = 0x1;
5102}
5103
5104static void
5105Opcode_or_Slot_inst_encode (xtensa_insnbuf slotbuf)
5106{
5107 slotbuf[0] = 0x2;
5108}
5109
5110static void
5111Opcode_xor_Slot_inst_encode (xtensa_insnbuf slotbuf)
5112{
5113 slotbuf[0] = 0x3;
5114}
5115
5116static void
5117Opcode_beqi_Slot_inst_encode (xtensa_insnbuf slotbuf)
5118{
5119 slotbuf[0] = 0x680000;
5120}
5121
5122static void
5123Opcode_bnei_Slot_inst_encode (xtensa_insnbuf slotbuf)
5124{
5125 slotbuf[0] = 0x690000;
5126}
5127
5128static void
5129Opcode_bgei_Slot_inst_encode (xtensa_insnbuf slotbuf)
5130{
5131 slotbuf[0] = 0x6b0000;
5132}
5133
5134static void
5135Opcode_blti_Slot_inst_encode (xtensa_insnbuf slotbuf)
5136{
5137 slotbuf[0] = 0x6a0000;
5138}
5139
5140static void
5141Opcode_bbci_Slot_inst_encode (xtensa_insnbuf slotbuf)
5142{
5143 slotbuf[0] = 0x700600;
5144}
5145
5146static void
5147Opcode_bbsi_Slot_inst_encode (xtensa_insnbuf slotbuf)
5148{
5149 slotbuf[0] = 0x700e00;
5150}
5151
5152static void
5153Opcode_bgeui_Slot_inst_encode (xtensa_insnbuf slotbuf)
5154{
5155 slotbuf[0] = 0x6f0000;
5156}
5157
5158static void
5159Opcode_bltui_Slot_inst_encode (xtensa_insnbuf slotbuf)
5160{
5161 slotbuf[0] = 0x6e0000;
5162}
5163
5164static void
5165Opcode_beq_Slot_inst_encode (xtensa_insnbuf slotbuf)
5166{
5167 slotbuf[0] = 0x700100;
5168}
5169
5170static void
5171Opcode_bne_Slot_inst_encode (xtensa_insnbuf slotbuf)
5172{
5173 slotbuf[0] = 0x700900;
5174}
5175
5176static void
5177Opcode_bge_Slot_inst_encode (xtensa_insnbuf slotbuf)
5178{
5179 slotbuf[0] = 0x700a00;
5180}
5181
5182static void
5183Opcode_blt_Slot_inst_encode (xtensa_insnbuf slotbuf)
5184{
5185 slotbuf[0] = 0x700200;
5186}
5187
5188static void
5189Opcode_bgeu_Slot_inst_encode (xtensa_insnbuf slotbuf)
5190{
5191 slotbuf[0] = 0x700b00;
5192}
5193
5194static void
5195Opcode_bltu_Slot_inst_encode (xtensa_insnbuf slotbuf)
5196{
5197 slotbuf[0] = 0x700300;
5198}
5199
5200static void
5201Opcode_bany_Slot_inst_encode (xtensa_insnbuf slotbuf)
5202{
5203 slotbuf[0] = 0x700800;
5204}
5205
5206static void
5207Opcode_bnone_Slot_inst_encode (xtensa_insnbuf slotbuf)
5208{
5209 slotbuf[0] = 0x700000;
5210}
5211
5212static void
5213Opcode_ball_Slot_inst_encode (xtensa_insnbuf slotbuf)
5214{
5215 slotbuf[0] = 0x700400;
5216}
5217
5218static void
5219Opcode_bnall_Slot_inst_encode (xtensa_insnbuf slotbuf)
5220{
5221 slotbuf[0] = 0x700c00;
5222}
5223
5224static void
5225Opcode_bbc_Slot_inst_encode (xtensa_insnbuf slotbuf)
5226{
5227 slotbuf[0] = 0x700500;
5228}
5229
5230static void
5231Opcode_bbs_Slot_inst_encode (xtensa_insnbuf slotbuf)
5232{
5233 slotbuf[0] = 0x700d00;
5234}
5235
5236static void
5237Opcode_beqz_Slot_inst_encode (xtensa_insnbuf slotbuf)
5238{
5239 slotbuf[0] = 0x640000;
5240}
5241
5242static void
5243Opcode_bnez_Slot_inst_encode (xtensa_insnbuf slotbuf)
5244{
5245 slotbuf[0] = 0x650000;
5246}
5247
5248static void
5249Opcode_bgez_Slot_inst_encode (xtensa_insnbuf slotbuf)
5250{
5251 slotbuf[0] = 0x670000;
5252}
5253
5254static void
5255Opcode_bltz_Slot_inst_encode (xtensa_insnbuf slotbuf)
5256{
5257 slotbuf[0] = 0x660000;
5258}
5259
5260static void
5261Opcode_call0_Slot_inst_encode (xtensa_insnbuf slotbuf)
5262{
5263 slotbuf[0] = 0x500000;
5264}
5265
5266static void
5267Opcode_callx0_Slot_inst_encode (xtensa_insnbuf slotbuf)
5268{
5269 slotbuf[0] = 0x30000;
5270}
5271
5272static void
5273Opcode_extui_Slot_inst_encode (xtensa_insnbuf slotbuf)
5274{
5275 slotbuf[0] = 0x40;
5276}
5277
5278static void
5279Opcode_ill_Slot_inst_encode (xtensa_insnbuf slotbuf)
5280{
5281 slotbuf[0] = 0;
5282}
5283
5284static void
5285Opcode_j_Slot_inst_encode (xtensa_insnbuf slotbuf)
5286{
5287 slotbuf[0] = 0x600000;
5288}
5289
5290static void
5291Opcode_jx_Slot_inst_encode (xtensa_insnbuf slotbuf)
5292{
5293 slotbuf[0] = 0xa0000;
5294}
5295
5296static void
5297Opcode_l16ui_Slot_inst_encode (xtensa_insnbuf slotbuf)
5298{
5299 slotbuf[0] = 0x200100;
5300}
5301
5302static void
5303Opcode_l16si_Slot_inst_encode (xtensa_insnbuf slotbuf)
5304{
5305 slotbuf[0] = 0x200900;
5306}
5307
5308static void
5309Opcode_l32i_Slot_inst_encode (xtensa_insnbuf slotbuf)
5310{
5311 slotbuf[0] = 0x200200;
5312}
5313
5314static void
5315Opcode_l32r_Slot_inst_encode (xtensa_insnbuf slotbuf)
5316{
5317 slotbuf[0] = 0x100000;
5318}
5319
5320static void
5321Opcode_l8ui_Slot_inst_encode (xtensa_insnbuf slotbuf)
5322{
5323 slotbuf[0] = 0x200000;
5324}
5325
5326static void
5327Opcode_loop_Slot_inst_encode (xtensa_insnbuf slotbuf)
5328{
5329 slotbuf[0] = 0x6d0800;
5330}
5331
5332static void
5333Opcode_loopnez_Slot_inst_encode (xtensa_insnbuf slotbuf)
5334{
5335 slotbuf[0] = 0x6d0900;
5336}
5337
5338static void
5339Opcode_loopgtz_Slot_inst_encode (xtensa_insnbuf slotbuf)
5340{
5341 slotbuf[0] = 0x6d0a00;
5342}
5343
5344static void
5345Opcode_movi_Slot_inst_encode (xtensa_insnbuf slotbuf)
5346{
5347 slotbuf[0] = 0x200a00;
5348}
5349
5350static void
5351Opcode_moveqz_Slot_inst_encode (xtensa_insnbuf slotbuf)
5352{
5353 slotbuf[0] = 0x38;
5354}
5355
5356static void
5357Opcode_movnez_Slot_inst_encode (xtensa_insnbuf slotbuf)
5358{
5359 slotbuf[0] = 0x39;
5360}
5361
5362static void
5363Opcode_movltz_Slot_inst_encode (xtensa_insnbuf slotbuf)
5364{
5365 slotbuf[0] = 0x3a;
5366}
5367
5368static void
5369Opcode_movgez_Slot_inst_encode (xtensa_insnbuf slotbuf)
5370{
5371 slotbuf[0] = 0x3b;
5372}
5373
5374static void
5375Opcode_neg_Slot_inst_encode (xtensa_insnbuf slotbuf)
5376{
5377 slotbuf[0] = 0x6;
5378}
5379
5380static void
5381Opcode_abs_Slot_inst_encode (xtensa_insnbuf slotbuf)
5382{
5383 slotbuf[0] = 0x1006;
5384}
5385
5386static void
5387Opcode_nop_Slot_inst_encode (xtensa_insnbuf slotbuf)
5388{
5389 slotbuf[0] = 0xf0200;
5390}
5391
5392static void
5393Opcode_ret_Slot_inst_encode (xtensa_insnbuf slotbuf)
5394{
5395 slotbuf[0] = 0x20000;
5396}
5397
5398static void
5399Opcode_s16i_Slot_inst_encode (xtensa_insnbuf slotbuf)
5400{
5401 slotbuf[0] = 0x200500;
5402}
5403
5404static void
5405Opcode_s32i_Slot_inst_encode (xtensa_insnbuf slotbuf)
5406{
5407 slotbuf[0] = 0x200600;
5408}
5409
5410static void
5411Opcode_s8i_Slot_inst_encode (xtensa_insnbuf slotbuf)
5412{
5413 slotbuf[0] = 0x200400;
5414}
5415
5416static void
5417Opcode_ssr_Slot_inst_encode (xtensa_insnbuf slotbuf)
5418{
5419 slotbuf[0] = 0x4;
5420}
5421
5422static void
5423Opcode_ssl_Slot_inst_encode (xtensa_insnbuf slotbuf)
5424{
5425 slotbuf[0] = 0x104;
5426}
5427
5428static void
5429Opcode_ssa8l_Slot_inst_encode (xtensa_insnbuf slotbuf)
5430{
5431 slotbuf[0] = 0x204;
5432}
5433
5434static void
5435Opcode_ssa8b_Slot_inst_encode (xtensa_insnbuf slotbuf)
5436{
5437 slotbuf[0] = 0x304;
5438}
5439
5440static void
5441Opcode_ssai_Slot_inst_encode (xtensa_insnbuf slotbuf)
5442{
5443 slotbuf[0] = 0x404;
5444}
5445
5446static void
5447Opcode_sll_Slot_inst_encode (xtensa_insnbuf slotbuf)
5448{
5449 slotbuf[0] = 0x1a;
5450}
5451
5452static void
5453Opcode_src_Slot_inst_encode (xtensa_insnbuf slotbuf)
5454{
5455 slotbuf[0] = 0x18;
5456}
5457
5458static void
5459Opcode_srl_Slot_inst_encode (xtensa_insnbuf slotbuf)
5460{
5461 slotbuf[0] = 0x19;
5462}
5463
5464static void
5465Opcode_sra_Slot_inst_encode (xtensa_insnbuf slotbuf)
5466{
5467 slotbuf[0] = 0x1b;
5468}
5469
5470static void
5471Opcode_slli_Slot_inst_encode (xtensa_insnbuf slotbuf)
5472{
5473 slotbuf[0] = 0x10;
5474}
5475
5476static void
5477Opcode_srai_Slot_inst_encode (xtensa_insnbuf slotbuf)
5478{
5479 slotbuf[0] = 0x12;
5480}
5481
5482static void
5483Opcode_srli_Slot_inst_encode (xtensa_insnbuf slotbuf)
5484{
5485 slotbuf[0] = 0x14;
5486}
5487
5488static void
5489Opcode_memw_Slot_inst_encode (xtensa_insnbuf slotbuf)
5490{
5491 slotbuf[0] = 0xc0200;
5492}
5493
5494static void
5495Opcode_extw_Slot_inst_encode (xtensa_insnbuf slotbuf)
5496{
5497 slotbuf[0] = 0xd0200;
5498}
5499
5500static void
5501Opcode_isync_Slot_inst_encode (xtensa_insnbuf slotbuf)
5502{
5503 slotbuf[0] = 0x200;
5504}
5505
5506static void
5507Opcode_rsync_Slot_inst_encode (xtensa_insnbuf slotbuf)
5508{
5509 slotbuf[0] = 0x10200;
5510}
5511
5512static void
5513Opcode_esync_Slot_inst_encode (xtensa_insnbuf slotbuf)
5514{
5515 slotbuf[0] = 0x20200;
5516}
5517
5518static void
5519Opcode_dsync_Slot_inst_encode (xtensa_insnbuf slotbuf)
5520{
5521 slotbuf[0] = 0x30200;
5522}
5523
5524static void
5525Opcode_rsil_Slot_inst_encode (xtensa_insnbuf slotbuf)
5526{
5527 slotbuf[0] = 0x600;
5528}
5529
5530static void
5531Opcode_rsr_lend_Slot_inst_encode (xtensa_insnbuf slotbuf)
5532{
5533 slotbuf[0] = 0x130;
5534}
5535
5536static void
5537Opcode_wsr_lend_Slot_inst_encode (xtensa_insnbuf slotbuf)
5538{
5539 slotbuf[0] = 0x131;
5540}
5541
5542static void
5543Opcode_xsr_lend_Slot_inst_encode (xtensa_insnbuf slotbuf)
5544{
5545 slotbuf[0] = 0x116;
5546}
5547
5548static void
5549Opcode_rsr_lcount_Slot_inst_encode (xtensa_insnbuf slotbuf)
5550{
5551 slotbuf[0] = 0x230;
5552}
5553
5554static void
5555Opcode_wsr_lcount_Slot_inst_encode (xtensa_insnbuf slotbuf)
5556{
5557 slotbuf[0] = 0x231;
5558}
5559
5560static void
5561Opcode_xsr_lcount_Slot_inst_encode (xtensa_insnbuf slotbuf)
5562{
5563 slotbuf[0] = 0x216;
5564}
5565
5566static void
5567Opcode_rsr_lbeg_Slot_inst_encode (xtensa_insnbuf slotbuf)
5568{
5569 slotbuf[0] = 0x30;
5570}
5571
5572static void
5573Opcode_wsr_lbeg_Slot_inst_encode (xtensa_insnbuf slotbuf)
5574{
5575 slotbuf[0] = 0x31;
5576}
5577
5578static void
5579Opcode_xsr_lbeg_Slot_inst_encode (xtensa_insnbuf slotbuf)
5580{
5581 slotbuf[0] = 0x16;
5582}
5583
5584static void
5585Opcode_rsr_sar_Slot_inst_encode (xtensa_insnbuf slotbuf)
5586{
5587 slotbuf[0] = 0x330;
5588}
5589
5590static void
5591Opcode_wsr_sar_Slot_inst_encode (xtensa_insnbuf slotbuf)
5592{
5593 slotbuf[0] = 0x331;
5594}
5595
5596static void
5597Opcode_xsr_sar_Slot_inst_encode (xtensa_insnbuf slotbuf)
5598{
5599 slotbuf[0] = 0x316;
5600}
5601
5602static void
5603Opcode_rsr_litbase_Slot_inst_encode (xtensa_insnbuf slotbuf)
5604{
5605 slotbuf[0] = 0x530;
5606}
5607
5608static void
5609Opcode_wsr_litbase_Slot_inst_encode (xtensa_insnbuf slotbuf)
5610{
5611 slotbuf[0] = 0x531;
5612}
5613
5614static void
5615Opcode_xsr_litbase_Slot_inst_encode (xtensa_insnbuf slotbuf)
5616{
5617 slotbuf[0] = 0x516;
5618}
5619
5620static void
5621Opcode_rsr_176_Slot_inst_encode (xtensa_insnbuf slotbuf)
5622{
5623 slotbuf[0] = 0xb030;
5624}
5625
5626static void
5627Opcode_rsr_208_Slot_inst_encode (xtensa_insnbuf slotbuf)
5628{
5629 slotbuf[0] = 0xd030;
5630}
5631
5632static void
5633Opcode_rsr_ps_Slot_inst_encode (xtensa_insnbuf slotbuf)
5634{
5635 slotbuf[0] = 0xe630;
5636}
5637
5638static void
5639Opcode_wsr_ps_Slot_inst_encode (xtensa_insnbuf slotbuf)
5640{
5641 slotbuf[0] = 0xe631;
5642}
5643
5644static void
5645Opcode_xsr_ps_Slot_inst_encode (xtensa_insnbuf slotbuf)
5646{
5647 slotbuf[0] = 0xe616;
5648}
5649
5650static void
5651Opcode_rsr_epc1_Slot_inst_encode (xtensa_insnbuf slotbuf)
5652{
5653 slotbuf[0] = 0xb130;
5654}
5655
5656static void
5657Opcode_wsr_epc1_Slot_inst_encode (xtensa_insnbuf slotbuf)
5658{
5659 slotbuf[0] = 0xb131;
5660}
5661
5662static void
5663Opcode_xsr_epc1_Slot_inst_encode (xtensa_insnbuf slotbuf)
5664{
5665 slotbuf[0] = 0xb116;
5666}
5667
5668static void
5669Opcode_rsr_excsave1_Slot_inst_encode (xtensa_insnbuf slotbuf)
5670{
5671 slotbuf[0] = 0xd130;
5672}
5673
5674static void
5675Opcode_wsr_excsave1_Slot_inst_encode (xtensa_insnbuf slotbuf)
5676{
5677 slotbuf[0] = 0xd131;
5678}
5679
5680static void
5681Opcode_xsr_excsave1_Slot_inst_encode (xtensa_insnbuf slotbuf)
5682{
5683 slotbuf[0] = 0xd116;
5684}
5685
5686static void
5687Opcode_rsr_epc2_Slot_inst_encode (xtensa_insnbuf slotbuf)
5688{
5689 slotbuf[0] = 0xb230;
5690}
5691
5692static void
5693Opcode_wsr_epc2_Slot_inst_encode (xtensa_insnbuf slotbuf)
5694{
5695 slotbuf[0] = 0xb231;
5696}
5697
5698static void
5699Opcode_xsr_epc2_Slot_inst_encode (xtensa_insnbuf slotbuf)
5700{
5701 slotbuf[0] = 0xb216;
5702}
5703
5704static void
5705Opcode_rsr_excsave2_Slot_inst_encode (xtensa_insnbuf slotbuf)
5706{
5707 slotbuf[0] = 0xd230;
5708}
5709
5710static void
5711Opcode_wsr_excsave2_Slot_inst_encode (xtensa_insnbuf slotbuf)
5712{
5713 slotbuf[0] = 0xd231;
5714}
5715
5716static void
5717Opcode_xsr_excsave2_Slot_inst_encode (xtensa_insnbuf slotbuf)
5718{
5719 slotbuf[0] = 0xd216;
5720}
5721
5722static void
5723Opcode_rsr_epc3_Slot_inst_encode (xtensa_insnbuf slotbuf)
5724{
5725 slotbuf[0] = 0xb330;
5726}
5727
5728static void
5729Opcode_wsr_epc3_Slot_inst_encode (xtensa_insnbuf slotbuf)
5730{
5731 slotbuf[0] = 0xb331;
5732}
5733
5734static void
5735Opcode_xsr_epc3_Slot_inst_encode (xtensa_insnbuf slotbuf)
5736{
5737 slotbuf[0] = 0xb316;
5738}
5739
5740static void
5741Opcode_rsr_excsave3_Slot_inst_encode (xtensa_insnbuf slotbuf)
5742{
5743 slotbuf[0] = 0xd330;
5744}
5745
5746static void
5747Opcode_wsr_excsave3_Slot_inst_encode (xtensa_insnbuf slotbuf)
5748{
5749 slotbuf[0] = 0xd331;
5750}
5751
5752static void
5753Opcode_xsr_excsave3_Slot_inst_encode (xtensa_insnbuf slotbuf)
5754{
5755 slotbuf[0] = 0xd316;
5756}
5757
5758static void
5759Opcode_rsr_epc4_Slot_inst_encode (xtensa_insnbuf slotbuf)
5760{
5761 slotbuf[0] = 0xb430;
5762}
5763
5764static void
5765Opcode_wsr_epc4_Slot_inst_encode (xtensa_insnbuf slotbuf)
5766{
5767 slotbuf[0] = 0xb431;
5768}
5769
5770static void
5771Opcode_xsr_epc4_Slot_inst_encode (xtensa_insnbuf slotbuf)
5772{
5773 slotbuf[0] = 0xb416;
5774}
5775
5776static void
5777Opcode_rsr_excsave4_Slot_inst_encode (xtensa_insnbuf slotbuf)
5778{
5779 slotbuf[0] = 0xd430;
5780}
5781
5782static void
5783Opcode_wsr_excsave4_Slot_inst_encode (xtensa_insnbuf slotbuf)
5784{
5785 slotbuf[0] = 0xd431;
5786}
5787
5788static void
5789Opcode_xsr_excsave4_Slot_inst_encode (xtensa_insnbuf slotbuf)
5790{
5791 slotbuf[0] = 0xd416;
5792}
5793
5794static void
5795Opcode_rsr_eps2_Slot_inst_encode (xtensa_insnbuf slotbuf)
5796{
5797 slotbuf[0] = 0xc230;
5798}
5799
5800static void
5801Opcode_wsr_eps2_Slot_inst_encode (xtensa_insnbuf slotbuf)
5802{
5803 slotbuf[0] = 0xc231;
5804}
5805
5806static void
5807Opcode_xsr_eps2_Slot_inst_encode (xtensa_insnbuf slotbuf)
5808{
5809 slotbuf[0] = 0xc216;
5810}
5811
5812static void
5813Opcode_rsr_eps3_Slot_inst_encode (xtensa_insnbuf slotbuf)
5814{
5815 slotbuf[0] = 0xc330;
5816}
5817
5818static void
5819Opcode_wsr_eps3_Slot_inst_encode (xtensa_insnbuf slotbuf)
5820{
5821 slotbuf[0] = 0xc331;
5822}
5823
5824static void
5825Opcode_xsr_eps3_Slot_inst_encode (xtensa_insnbuf slotbuf)
5826{
5827 slotbuf[0] = 0xc316;
5828}
5829
5830static void
5831Opcode_rsr_eps4_Slot_inst_encode (xtensa_insnbuf slotbuf)
5832{
5833 slotbuf[0] = 0xc430;
5834}
5835
5836static void
5837Opcode_wsr_eps4_Slot_inst_encode (xtensa_insnbuf slotbuf)
5838{
5839 slotbuf[0] = 0xc431;
5840}
5841
5842static void
5843Opcode_xsr_eps4_Slot_inst_encode (xtensa_insnbuf slotbuf)
5844{
5845 slotbuf[0] = 0xc416;
5846}
5847
5848static void
5849Opcode_rsr_excvaddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
5850{
5851 slotbuf[0] = 0xee30;
5852}
5853
5854static void
5855Opcode_wsr_excvaddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
5856{
5857 slotbuf[0] = 0xee31;
5858}
5859
5860static void
5861Opcode_xsr_excvaddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
5862{
5863 slotbuf[0] = 0xee16;
5864}
5865
5866static void
5867Opcode_rsr_depc_Slot_inst_encode (xtensa_insnbuf slotbuf)
5868{
5869 slotbuf[0] = 0xc030;
5870}
5871
5872static void
5873Opcode_wsr_depc_Slot_inst_encode (xtensa_insnbuf slotbuf)
5874{
5875 slotbuf[0] = 0xc031;
5876}
5877
5878static void
5879Opcode_xsr_depc_Slot_inst_encode (xtensa_insnbuf slotbuf)
5880{
5881 slotbuf[0] = 0xc016;
5882}
5883
5884static void
5885Opcode_rsr_exccause_Slot_inst_encode (xtensa_insnbuf slotbuf)
5886{
5887 slotbuf[0] = 0xe830;
5888}
5889
5890static void
5891Opcode_wsr_exccause_Slot_inst_encode (xtensa_insnbuf slotbuf)
5892{
5893 slotbuf[0] = 0xe831;
5894}
5895
5896static void
5897Opcode_xsr_exccause_Slot_inst_encode (xtensa_insnbuf slotbuf)
5898{
5899 slotbuf[0] = 0xe816;
5900}
5901
5902static void
5903Opcode_rsr_misc0_Slot_inst_encode (xtensa_insnbuf slotbuf)
5904{
5905 slotbuf[0] = 0xf430;
5906}
5907
5908static void
5909Opcode_wsr_misc0_Slot_inst_encode (xtensa_insnbuf slotbuf)
5910{
5911 slotbuf[0] = 0xf431;
5912}
5913
5914static void
5915Opcode_xsr_misc0_Slot_inst_encode (xtensa_insnbuf slotbuf)
5916{
5917 slotbuf[0] = 0xf416;
5918}
5919
5920static void
5921Opcode_rsr_misc1_Slot_inst_encode (xtensa_insnbuf slotbuf)
5922{
5923 slotbuf[0] = 0xf530;
5924}
5925
5926static void
5927Opcode_wsr_misc1_Slot_inst_encode (xtensa_insnbuf slotbuf)
5928{
5929 slotbuf[0] = 0xf531;
5930}
5931
5932static void
5933Opcode_xsr_misc1_Slot_inst_encode (xtensa_insnbuf slotbuf)
5934{
5935 slotbuf[0] = 0xf516;
5936}
5937
5938static void
5939Opcode_rsr_prid_Slot_inst_encode (xtensa_insnbuf slotbuf)
5940{
5941 slotbuf[0] = 0xeb30;
5942}
5943
5944static void
5945Opcode_rfi_Slot_inst_encode (xtensa_insnbuf slotbuf)
5946{
5947 slotbuf[0] = 0x10300;
5948}
5949
5950static void
5951Opcode_waiti_Slot_inst_encode (xtensa_insnbuf slotbuf)
5952{
5953 slotbuf[0] = 0x700;
5954}
5955
5956static void
5957Opcode_rsr_interrupt_Slot_inst_encode (xtensa_insnbuf slotbuf)
5958{
5959 slotbuf[0] = 0xe230;
5960}
5961
5962static void
5963Opcode_wsr_intset_Slot_inst_encode (xtensa_insnbuf slotbuf)
5964{
5965 slotbuf[0] = 0xe231;
5966}
5967
5968static void
5969Opcode_wsr_intclear_Slot_inst_encode (xtensa_insnbuf slotbuf)
5970{
5971 slotbuf[0] = 0xe331;
5972}
5973
5974static void
5975Opcode_rsr_intenable_Slot_inst_encode (xtensa_insnbuf slotbuf)
5976{
5977 slotbuf[0] = 0xe430;
5978}
5979
5980static void
5981Opcode_wsr_intenable_Slot_inst_encode (xtensa_insnbuf slotbuf)
5982{
5983 slotbuf[0] = 0xe431;
5984}
5985
5986static void
5987Opcode_xsr_intenable_Slot_inst_encode (xtensa_insnbuf slotbuf)
5988{
5989 slotbuf[0] = 0xe416;
5990}
5991
5992static void
5993Opcode_break_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 5994{
43cd72b9 5995 slotbuf[0] = 0x400;
e0001a05
NC
5996}
5997
43cd72b9
BW
5998static void
5999Opcode_break_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf)
e0001a05 6000{
43cd72b9 6001 slotbuf[0] = 0xd20f;
e0001a05
NC
6002}
6003
43cd72b9
BW
6004static void
6005Opcode_rsr_dbreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6006{
43cd72b9 6007 slotbuf[0] = 0x9030;
e0001a05
NC
6008}
6009
43cd72b9
BW
6010static void
6011Opcode_wsr_dbreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6012{
43cd72b9 6013 slotbuf[0] = 0x9031;
e0001a05
NC
6014}
6015
43cd72b9
BW
6016static void
6017Opcode_xsr_dbreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6018{
43cd72b9 6019 slotbuf[0] = 0x9016;
e0001a05
NC
6020}
6021
43cd72b9
BW
6022static void
6023Opcode_rsr_dbreakc0_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6024{
43cd72b9 6025 slotbuf[0] = 0xa030;
e0001a05
NC
6026}
6027
43cd72b9
BW
6028static void
6029Opcode_wsr_dbreakc0_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6030{
43cd72b9 6031 slotbuf[0] = 0xa031;
e0001a05
NC
6032}
6033
43cd72b9
BW
6034static void
6035Opcode_xsr_dbreakc0_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6036{
43cd72b9 6037 slotbuf[0] = 0xa016;
e0001a05
NC
6038}
6039
43cd72b9
BW
6040static void
6041Opcode_rsr_dbreaka1_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6042{
43cd72b9 6043 slotbuf[0] = 0x9130;
e0001a05
NC
6044}
6045
43cd72b9
BW
6046static void
6047Opcode_wsr_dbreaka1_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6048{
43cd72b9 6049 slotbuf[0] = 0x9131;
e0001a05
NC
6050}
6051
43cd72b9
BW
6052static void
6053Opcode_xsr_dbreaka1_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6054{
43cd72b9 6055 slotbuf[0] = 0x9116;
e0001a05
NC
6056}
6057
43cd72b9
BW
6058static void
6059Opcode_rsr_dbreakc1_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6060{
43cd72b9 6061 slotbuf[0] = 0xa130;
e0001a05
NC
6062}
6063
43cd72b9
BW
6064static void
6065Opcode_wsr_dbreakc1_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6066{
43cd72b9 6067 slotbuf[0] = 0xa131;
e0001a05
NC
6068}
6069
43cd72b9
BW
6070static void
6071Opcode_xsr_dbreakc1_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6072{
43cd72b9 6073 slotbuf[0] = 0xa116;
e0001a05
NC
6074}
6075
43cd72b9
BW
6076static void
6077Opcode_rsr_ibreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6078{
43cd72b9 6079 slotbuf[0] = 0x8030;
e0001a05
NC
6080}
6081
43cd72b9
BW
6082static void
6083Opcode_wsr_ibreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6084{
43cd72b9 6085 slotbuf[0] = 0x8031;
e0001a05
NC
6086}
6087
43cd72b9
BW
6088static void
6089Opcode_xsr_ibreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6090{
43cd72b9 6091 slotbuf[0] = 0x8016;
e0001a05
NC
6092}
6093
43cd72b9
BW
6094static void
6095Opcode_rsr_ibreaka1_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6096{
43cd72b9 6097 slotbuf[0] = 0x8130;
e0001a05
NC
6098}
6099
43cd72b9
BW
6100static void
6101Opcode_wsr_ibreaka1_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6102{
43cd72b9 6103 slotbuf[0] = 0x8131;
e0001a05
NC
6104}
6105
43cd72b9
BW
6106static void
6107Opcode_xsr_ibreaka1_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6108{
43cd72b9 6109 slotbuf[0] = 0x8116;
e0001a05
NC
6110}
6111
43cd72b9
BW
6112static void
6113Opcode_rsr_ibreakenable_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6114{
43cd72b9 6115 slotbuf[0] = 0x6030;
e0001a05
NC
6116}
6117
43cd72b9
BW
6118static void
6119Opcode_wsr_ibreakenable_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6120{
43cd72b9 6121 slotbuf[0] = 0x6031;
e0001a05
NC
6122}
6123
43cd72b9
BW
6124static void
6125Opcode_xsr_ibreakenable_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6126{
43cd72b9 6127 slotbuf[0] = 0x6016;
e0001a05
NC
6128}
6129
43cd72b9
BW
6130static void
6131Opcode_rsr_debugcause_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6132{
43cd72b9 6133 slotbuf[0] = 0xe930;
e0001a05
NC
6134}
6135
43cd72b9
BW
6136static void
6137Opcode_wsr_debugcause_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6138{
43cd72b9 6139 slotbuf[0] = 0xe931;
e0001a05
NC
6140}
6141
43cd72b9
BW
6142static void
6143Opcode_xsr_debugcause_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6144{
43cd72b9 6145 slotbuf[0] = 0xe916;
e0001a05
NC
6146}
6147
43cd72b9
BW
6148static void
6149Opcode_rsr_icount_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6150{
43cd72b9 6151 slotbuf[0] = 0xec30;
e0001a05
NC
6152}
6153
43cd72b9
BW
6154static void
6155Opcode_wsr_icount_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6156{
43cd72b9 6157 slotbuf[0] = 0xec31;
e0001a05
NC
6158}
6159
43cd72b9
BW
6160static void
6161Opcode_xsr_icount_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6162{
43cd72b9 6163 slotbuf[0] = 0xec16;
e0001a05
NC
6164}
6165
43cd72b9
BW
6166static void
6167Opcode_rsr_icountlevel_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6168{
43cd72b9 6169 slotbuf[0] = 0xed30;
e0001a05
NC
6170}
6171
43cd72b9
BW
6172static void
6173Opcode_wsr_icountlevel_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6174{
43cd72b9 6175 slotbuf[0] = 0xed31;
e0001a05
NC
6176}
6177
43cd72b9
BW
6178static void
6179Opcode_xsr_icountlevel_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6180{
43cd72b9 6181 slotbuf[0] = 0xed16;
e0001a05
NC
6182}
6183
43cd72b9
BW
6184static void
6185Opcode_rsr_ddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6186{
43cd72b9 6187 slotbuf[0] = 0x6830;
e0001a05
NC
6188}
6189
43cd72b9
BW
6190static void
6191Opcode_wsr_ddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6192{
43cd72b9 6193 slotbuf[0] = 0x6831;
e0001a05
NC
6194}
6195
43cd72b9
BW
6196static void
6197Opcode_xsr_ddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6198{
43cd72b9 6199 slotbuf[0] = 0x6816;
e0001a05
NC
6200}
6201
43cd72b9
BW
6202static void
6203Opcode_rfdo_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6204{
43cd72b9 6205 slotbuf[0] = 0xe1f;
e0001a05
NC
6206}
6207
43cd72b9
BW
6208static void
6209Opcode_rfdd_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6210{
43cd72b9 6211 slotbuf[0] = 0x10e1f;
e0001a05
NC
6212}
6213
43cd72b9
BW
6214static void
6215Opcode_rsr_ccount_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6216{
43cd72b9 6217 slotbuf[0] = 0xea30;
e0001a05
NC
6218}
6219
43cd72b9
BW
6220static void
6221Opcode_wsr_ccount_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6222{
43cd72b9 6223 slotbuf[0] = 0xea31;
e0001a05
NC
6224}
6225
43cd72b9
BW
6226static void
6227Opcode_xsr_ccount_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6228{
43cd72b9 6229 slotbuf[0] = 0xea16;
e0001a05
NC
6230}
6231
43cd72b9
BW
6232static void
6233Opcode_rsr_ccompare0_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6234{
43cd72b9 6235 slotbuf[0] = 0xf030;
e0001a05
NC
6236}
6237
43cd72b9
BW
6238static void
6239Opcode_wsr_ccompare0_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6240{
43cd72b9 6241 slotbuf[0] = 0xf031;
e0001a05
NC
6242}
6243
43cd72b9
BW
6244static void
6245Opcode_xsr_ccompare0_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6246{
43cd72b9 6247 slotbuf[0] = 0xf016;
e0001a05
NC
6248}
6249
43cd72b9
BW
6250static void
6251Opcode_rsr_ccompare1_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6252{
43cd72b9 6253 slotbuf[0] = 0xf130;
e0001a05
NC
6254}
6255
43cd72b9
BW
6256static void
6257Opcode_wsr_ccompare1_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6258{
43cd72b9 6259 slotbuf[0] = 0xf131;
e0001a05
NC
6260}
6261
43cd72b9
BW
6262static void
6263Opcode_xsr_ccompare1_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6264{
43cd72b9 6265 slotbuf[0] = 0xf116;
e0001a05
NC
6266}
6267
43cd72b9
BW
6268static void
6269Opcode_rsr_ccompare2_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6270{
43cd72b9 6271 slotbuf[0] = 0xf230;
e0001a05
NC
6272}
6273
43cd72b9
BW
6274static void
6275Opcode_wsr_ccompare2_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6276{
43cd72b9 6277 slotbuf[0] = 0xf231;
e0001a05
NC
6278}
6279
43cd72b9
BW
6280static void
6281Opcode_xsr_ccompare2_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6282{
43cd72b9 6283 slotbuf[0] = 0xf216;
e0001a05
NC
6284}
6285
43cd72b9
BW
6286static void
6287Opcode_ipf_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6288{
43cd72b9 6289 slotbuf[0] = 0x2c0700;
e0001a05
NC
6290}
6291
43cd72b9
BW
6292static void
6293Opcode_ihi_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6294{
43cd72b9 6295 slotbuf[0] = 0x2e0700;
e0001a05
NC
6296}
6297
43cd72b9
BW
6298static void
6299Opcode_iii_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6300{
43cd72b9 6301 slotbuf[0] = 0x2f0700;
e0001a05
NC
6302}
6303
43cd72b9
BW
6304static void
6305Opcode_lict_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6306{
43cd72b9 6307 slotbuf[0] = 0x1f;
e0001a05
NC
6308}
6309
43cd72b9
BW
6310static void
6311Opcode_licw_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6312{
43cd72b9 6313 slotbuf[0] = 0x21f;
e0001a05
NC
6314}
6315
43cd72b9
BW
6316static void
6317Opcode_sict_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6318{
43cd72b9 6319 slotbuf[0] = 0x11f;
e0001a05
NC
6320}
6321
43cd72b9
BW
6322static void
6323Opcode_sicw_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6324{
43cd72b9 6325 slotbuf[0] = 0x31f;
e0001a05
NC
6326}
6327
43cd72b9
BW
6328static void
6329Opcode_dhwb_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6330{
43cd72b9 6331 slotbuf[0] = 0x240700;
e0001a05
NC
6332}
6333
43cd72b9
BW
6334static void
6335Opcode_dhwbi_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6336{
43cd72b9 6337 slotbuf[0] = 0x250700;
e0001a05
NC
6338}
6339
43cd72b9
BW
6340static void
6341Opcode_diwb_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6342{
43cd72b9 6343 slotbuf[0] = 0x280740;
e0001a05
NC
6344}
6345
43cd72b9
BW
6346static void
6347Opcode_diwbi_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6348{
43cd72b9 6349 slotbuf[0] = 0x280750;
e0001a05
NC
6350}
6351
43cd72b9
BW
6352static void
6353Opcode_dhi_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6354{
43cd72b9 6355 slotbuf[0] = 0x260700;
e0001a05
NC
6356}
6357
43cd72b9
BW
6358static void
6359Opcode_dii_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6360{
43cd72b9 6361 slotbuf[0] = 0x270700;
e0001a05
NC
6362}
6363
43cd72b9
BW
6364static void
6365Opcode_dpfr_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6366{
43cd72b9 6367 slotbuf[0] = 0x200700;
e0001a05
NC
6368}
6369
43cd72b9
BW
6370static void
6371Opcode_dpfw_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6372{
43cd72b9 6373 slotbuf[0] = 0x210700;
e0001a05
NC
6374}
6375
43cd72b9
BW
6376static void
6377Opcode_dpfro_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6378{
43cd72b9 6379 slotbuf[0] = 0x220700;
e0001a05
NC
6380}
6381
43cd72b9
BW
6382static void
6383Opcode_dpfwo_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6384{
43cd72b9 6385 slotbuf[0] = 0x230700;
e0001a05
NC
6386}
6387
43cd72b9
BW
6388static void
6389Opcode_sdct_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6390{
43cd72b9 6391 slotbuf[0] = 0x91f;
e0001a05
NC
6392}
6393
43cd72b9
BW
6394static void
6395Opcode_ldct_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6396{
43cd72b9 6397 slotbuf[0] = 0x81f;
e0001a05
NC
6398}
6399
074f5109
BW
6400static void
6401Opcode_wsr_ptevaddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
6402{
6403 slotbuf[0] = 0x5331;
6404}
6405
6406static void
6407Opcode_rsr_ptevaddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
6408{
6409 slotbuf[0] = 0x5330;
6410}
6411
6412static void
6413Opcode_xsr_ptevaddr_Slot_inst_encode (xtensa_insnbuf slotbuf)
6414{
6415 slotbuf[0] = 0x5316;
6416}
6417
6418static void
6419Opcode_rsr_rasid_Slot_inst_encode (xtensa_insnbuf slotbuf)
6420{
6421 slotbuf[0] = 0x5a30;
6422}
6423
6424static void
6425Opcode_wsr_rasid_Slot_inst_encode (xtensa_insnbuf slotbuf)
6426{
6427 slotbuf[0] = 0x5a31;
6428}
6429
6430static void
6431Opcode_xsr_rasid_Slot_inst_encode (xtensa_insnbuf slotbuf)
6432{
6433 slotbuf[0] = 0x5a16;
6434}
6435
6436static void
6437Opcode_rsr_itlbcfg_Slot_inst_encode (xtensa_insnbuf slotbuf)
6438{
6439 slotbuf[0] = 0x5b30;
6440}
6441
6442static void
6443Opcode_wsr_itlbcfg_Slot_inst_encode (xtensa_insnbuf slotbuf)
6444{
6445 slotbuf[0] = 0x5b31;
6446}
6447
6448static void
6449Opcode_xsr_itlbcfg_Slot_inst_encode (xtensa_insnbuf slotbuf)
6450{
6451 slotbuf[0] = 0x5b16;
6452}
6453
6454static void
6455Opcode_rsr_dtlbcfg_Slot_inst_encode (xtensa_insnbuf slotbuf)
6456{
6457 slotbuf[0] = 0x5c30;
6458}
6459
6460static void
6461Opcode_wsr_dtlbcfg_Slot_inst_encode (xtensa_insnbuf slotbuf)
6462{
6463 slotbuf[0] = 0x5c31;
6464}
6465
6466static void
6467Opcode_xsr_dtlbcfg_Slot_inst_encode (xtensa_insnbuf slotbuf)
6468{
6469 slotbuf[0] = 0x5c16;
6470}
6471
43cd72b9
BW
6472static void
6473Opcode_idtlb_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6474{
43cd72b9 6475 slotbuf[0] = 0xc05;
e0001a05
NC
6476}
6477
43cd72b9
BW
6478static void
6479Opcode_pdtlb_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6480{
43cd72b9 6481 slotbuf[0] = 0xd05;
e0001a05
NC
6482}
6483
43cd72b9
BW
6484static void
6485Opcode_rdtlb0_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6486{
43cd72b9 6487 slotbuf[0] = 0xb05;
e0001a05
NC
6488}
6489
43cd72b9
BW
6490static void
6491Opcode_rdtlb1_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6492{
43cd72b9 6493 slotbuf[0] = 0xf05;
e0001a05
NC
6494}
6495
43cd72b9
BW
6496static void
6497Opcode_wdtlb_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6498{
43cd72b9 6499 slotbuf[0] = 0xe05;
e0001a05
NC
6500}
6501
43cd72b9
BW
6502static void
6503Opcode_iitlb_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6504{
43cd72b9 6505 slotbuf[0] = 0x405;
e0001a05
NC
6506}
6507
43cd72b9
BW
6508static void
6509Opcode_pitlb_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6510{
43cd72b9 6511 slotbuf[0] = 0x505;
e0001a05
NC
6512}
6513
43cd72b9
BW
6514static void
6515Opcode_ritlb0_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6516{
43cd72b9 6517 slotbuf[0] = 0x305;
e0001a05
NC
6518}
6519
43cd72b9
BW
6520static void
6521Opcode_ritlb1_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6522{
43cd72b9 6523 slotbuf[0] = 0x705;
e0001a05
NC
6524}
6525
43cd72b9
BW
6526static void
6527Opcode_witlb_Slot_inst_encode (xtensa_insnbuf slotbuf)
e0001a05 6528{
43cd72b9 6529 slotbuf[0] = 0x605;
e0001a05
NC
6530}
6531
074f5109
BW
6532static void
6533Opcode_ldpte_Slot_inst_encode (xtensa_insnbuf slotbuf)
6534{
6535 slotbuf[0] = 0xf1f;
6536}
6537
6538static void
6539Opcode_hwwitlba_Slot_inst_encode (xtensa_insnbuf slotbuf)
6540{
6541 slotbuf[0] = 0x105;
6542}
6543
6544static void
6545Opcode_hwwdtlba_Slot_inst_encode (xtensa_insnbuf slotbuf)
6546{
6547 slotbuf[0] = 0x905;
6548}
6549
43cd72b9
BW
6550static void
6551Opcode_nsa_Slot_inst_encode (xtensa_insnbuf slotbuf)
6552{
6553 slotbuf[0] = 0xe04;
6554}
6555
6556static void
6557Opcode_nsau_Slot_inst_encode (xtensa_insnbuf slotbuf)
6558{
6559 slotbuf[0] = 0xf04;
6560}
6561
6562xtensa_opcode_encode_fn Opcode_excw_encode_fns[] = {
6563 Opcode_excw_Slot_inst_encode, 0, 0
6564};
6565
6566xtensa_opcode_encode_fn Opcode_rfe_encode_fns[] = {
6567 Opcode_rfe_Slot_inst_encode, 0, 0
6568};
6569
6570xtensa_opcode_encode_fn Opcode_rfde_encode_fns[] = {
6571 Opcode_rfde_Slot_inst_encode, 0, 0
6572};
6573
6574xtensa_opcode_encode_fn Opcode_syscall_encode_fns[] = {
6575 Opcode_syscall_Slot_inst_encode, 0, 0
6576};
6577
6578xtensa_opcode_encode_fn Opcode_simcall_encode_fns[] = {
6579 Opcode_simcall_Slot_inst_encode, 0, 0
6580};
6581
6582xtensa_opcode_encode_fn Opcode_call12_encode_fns[] = {
6583 Opcode_call12_Slot_inst_encode, 0, 0
6584};
6585
6586xtensa_opcode_encode_fn Opcode_call8_encode_fns[] = {
6587 Opcode_call8_Slot_inst_encode, 0, 0
6588};
6589
6590xtensa_opcode_encode_fn Opcode_call4_encode_fns[] = {
6591 Opcode_call4_Slot_inst_encode, 0, 0
6592};
6593
6594xtensa_opcode_encode_fn Opcode_callx12_encode_fns[] = {
6595 Opcode_callx12_Slot_inst_encode, 0, 0
6596};
6597
6598xtensa_opcode_encode_fn Opcode_callx8_encode_fns[] = {
6599 Opcode_callx8_Slot_inst_encode, 0, 0
6600};
6601
6602xtensa_opcode_encode_fn Opcode_callx4_encode_fns[] = {
6603 Opcode_callx4_Slot_inst_encode, 0, 0
6604};
6605
6606xtensa_opcode_encode_fn Opcode_entry_encode_fns[] = {
6607 Opcode_entry_Slot_inst_encode, 0, 0
6608};
6609
6610xtensa_opcode_encode_fn Opcode_movsp_encode_fns[] = {
6611 Opcode_movsp_Slot_inst_encode, 0, 0
6612};
6613
6614xtensa_opcode_encode_fn Opcode_rotw_encode_fns[] = {
6615 Opcode_rotw_Slot_inst_encode, 0, 0
6616};
6617
6618xtensa_opcode_encode_fn Opcode_retw_encode_fns[] = {
6619 Opcode_retw_Slot_inst_encode, 0, 0
6620};
6621
6622xtensa_opcode_encode_fn Opcode_retw_n_encode_fns[] = {
6623 0, 0, Opcode_retw_n_Slot_inst16b_encode
6624};
6625
6626xtensa_opcode_encode_fn Opcode_rfwo_encode_fns[] = {
6627 Opcode_rfwo_Slot_inst_encode, 0, 0
6628};
6629
6630xtensa_opcode_encode_fn Opcode_rfwu_encode_fns[] = {
6631 Opcode_rfwu_Slot_inst_encode, 0, 0
6632};
6633
6634xtensa_opcode_encode_fn Opcode_l32e_encode_fns[] = {
6635 Opcode_l32e_Slot_inst_encode, 0, 0
6636};
6637
6638xtensa_opcode_encode_fn Opcode_s32e_encode_fns[] = {
6639 Opcode_s32e_Slot_inst_encode, 0, 0
6640};
6641
6642xtensa_opcode_encode_fn Opcode_rsr_windowbase_encode_fns[] = {
6643 Opcode_rsr_windowbase_Slot_inst_encode, 0, 0
6644};
6645
6646xtensa_opcode_encode_fn Opcode_wsr_windowbase_encode_fns[] = {
6647 Opcode_wsr_windowbase_Slot_inst_encode, 0, 0
6648};
6649
6650xtensa_opcode_encode_fn Opcode_xsr_windowbase_encode_fns[] = {
6651 Opcode_xsr_windowbase_Slot_inst_encode, 0, 0
6652};
6653
6654xtensa_opcode_encode_fn Opcode_rsr_windowstart_encode_fns[] = {
6655 Opcode_rsr_windowstart_Slot_inst_encode, 0, 0
6656};
6657
6658xtensa_opcode_encode_fn Opcode_wsr_windowstart_encode_fns[] = {
6659 Opcode_wsr_windowstart_Slot_inst_encode, 0, 0
6660};
6661
6662xtensa_opcode_encode_fn Opcode_xsr_windowstart_encode_fns[] = {
6663 Opcode_xsr_windowstart_Slot_inst_encode, 0, 0
6664};
6665
6666xtensa_opcode_encode_fn Opcode_add_n_encode_fns[] = {
6667 0, Opcode_add_n_Slot_inst16a_encode, 0
6668};
6669
6670xtensa_opcode_encode_fn Opcode_addi_n_encode_fns[] = {
6671 0, Opcode_addi_n_Slot_inst16a_encode, 0
6672};
6673
6674xtensa_opcode_encode_fn Opcode_beqz_n_encode_fns[] = {
6675 0, 0, Opcode_beqz_n_Slot_inst16b_encode
6676};
6677
6678xtensa_opcode_encode_fn Opcode_bnez_n_encode_fns[] = {
6679 0, 0, Opcode_bnez_n_Slot_inst16b_encode
6680};
6681
6682xtensa_opcode_encode_fn Opcode_ill_n_encode_fns[] = {
6683 0, 0, Opcode_ill_n_Slot_inst16b_encode
6684};
6685
6686xtensa_opcode_encode_fn Opcode_l32i_n_encode_fns[] = {
6687 0, Opcode_l32i_n_Slot_inst16a_encode, 0
6688};
6689
6690xtensa_opcode_encode_fn Opcode_mov_n_encode_fns[] = {
6691 0, 0, Opcode_mov_n_Slot_inst16b_encode
6692};
6693
6694xtensa_opcode_encode_fn Opcode_movi_n_encode_fns[] = {
6695 0, 0, Opcode_movi_n_Slot_inst16b_encode
6696};
6697
6698xtensa_opcode_encode_fn Opcode_nop_n_encode_fns[] = {
6699 0, 0, Opcode_nop_n_Slot_inst16b_encode
6700};
6701
6702xtensa_opcode_encode_fn Opcode_ret_n_encode_fns[] = {
6703 0, 0, Opcode_ret_n_Slot_inst16b_encode
6704};
6705
6706xtensa_opcode_encode_fn Opcode_s32i_n_encode_fns[] = {
6707 0, Opcode_s32i_n_Slot_inst16a_encode, 0
6708};
6709
6710xtensa_opcode_encode_fn Opcode_addi_encode_fns[] = {
6711 Opcode_addi_Slot_inst_encode, 0, 0
6712};
6713
6714xtensa_opcode_encode_fn Opcode_addmi_encode_fns[] = {
6715 Opcode_addmi_Slot_inst_encode, 0, 0
6716};
6717
6718xtensa_opcode_encode_fn Opcode_add_encode_fns[] = {
6719 Opcode_add_Slot_inst_encode, 0, 0
6720};
6721
6722xtensa_opcode_encode_fn Opcode_sub_encode_fns[] = {
6723 Opcode_sub_Slot_inst_encode, 0, 0
6724};
6725
6726xtensa_opcode_encode_fn Opcode_addx2_encode_fns[] = {
6727 Opcode_addx2_Slot_inst_encode, 0, 0
6728};
6729
6730xtensa_opcode_encode_fn Opcode_addx4_encode_fns[] = {
6731 Opcode_addx4_Slot_inst_encode, 0, 0
6732};
6733
6734xtensa_opcode_encode_fn Opcode_addx8_encode_fns[] = {
6735 Opcode_addx8_Slot_inst_encode, 0, 0
6736};
6737
6738xtensa_opcode_encode_fn Opcode_subx2_encode_fns[] = {
6739 Opcode_subx2_Slot_inst_encode, 0, 0
6740};
6741
6742xtensa_opcode_encode_fn Opcode_subx4_encode_fns[] = {
6743 Opcode_subx4_Slot_inst_encode, 0, 0
6744};
6745
6746xtensa_opcode_encode_fn Opcode_subx8_encode_fns[] = {
6747 Opcode_subx8_Slot_inst_encode, 0, 0
6748};
6749
6750xtensa_opcode_encode_fn Opcode_and_encode_fns[] = {
6751 Opcode_and_Slot_inst_encode, 0, 0
6752};
6753
6754xtensa_opcode_encode_fn Opcode_or_encode_fns[] = {
6755 Opcode_or_Slot_inst_encode, 0, 0
6756};
6757
6758xtensa_opcode_encode_fn Opcode_xor_encode_fns[] = {
6759 Opcode_xor_Slot_inst_encode, 0, 0
6760};
6761
6762xtensa_opcode_encode_fn Opcode_beqi_encode_fns[] = {
6763 Opcode_beqi_Slot_inst_encode, 0, 0
6764};
6765
6766xtensa_opcode_encode_fn Opcode_bnei_encode_fns[] = {
6767 Opcode_bnei_Slot_inst_encode, 0, 0
6768};
6769
6770xtensa_opcode_encode_fn Opcode_bgei_encode_fns[] = {
6771 Opcode_bgei_Slot_inst_encode, 0, 0
6772};
6773
6774xtensa_opcode_encode_fn Opcode_blti_encode_fns[] = {
6775 Opcode_blti_Slot_inst_encode, 0, 0
6776};
6777
6778xtensa_opcode_encode_fn Opcode_bbci_encode_fns[] = {
6779 Opcode_bbci_Slot_inst_encode, 0, 0
6780};
6781
6782xtensa_opcode_encode_fn Opcode_bbsi_encode_fns[] = {
6783 Opcode_bbsi_Slot_inst_encode, 0, 0
6784};
6785
6786xtensa_opcode_encode_fn Opcode_bgeui_encode_fns[] = {
6787 Opcode_bgeui_Slot_inst_encode, 0, 0
6788};
6789
6790xtensa_opcode_encode_fn Opcode_bltui_encode_fns[] = {
6791 Opcode_bltui_Slot_inst_encode, 0, 0
6792};
6793
6794xtensa_opcode_encode_fn Opcode_beq_encode_fns[] = {
6795 Opcode_beq_Slot_inst_encode, 0, 0
6796};
6797
6798xtensa_opcode_encode_fn Opcode_bne_encode_fns[] = {
6799 Opcode_bne_Slot_inst_encode, 0, 0
6800};
6801
6802xtensa_opcode_encode_fn Opcode_bge_encode_fns[] = {
6803 Opcode_bge_Slot_inst_encode, 0, 0
6804};
6805
6806xtensa_opcode_encode_fn Opcode_blt_encode_fns[] = {
6807 Opcode_blt_Slot_inst_encode, 0, 0
6808};
e0001a05 6809
43cd72b9
BW
6810xtensa_opcode_encode_fn Opcode_bgeu_encode_fns[] = {
6811 Opcode_bgeu_Slot_inst_encode, 0, 0
6812};
e0001a05 6813
43cd72b9
BW
6814xtensa_opcode_encode_fn Opcode_bltu_encode_fns[] = {
6815 Opcode_bltu_Slot_inst_encode, 0, 0
6816};
e0001a05 6817
43cd72b9
BW
6818xtensa_opcode_encode_fn Opcode_bany_encode_fns[] = {
6819 Opcode_bany_Slot_inst_encode, 0, 0
6820};
e0001a05 6821
43cd72b9
BW
6822xtensa_opcode_encode_fn Opcode_bnone_encode_fns[] = {
6823 Opcode_bnone_Slot_inst_encode, 0, 0
6824};
e0001a05 6825
43cd72b9
BW
6826xtensa_opcode_encode_fn Opcode_ball_encode_fns[] = {
6827 Opcode_ball_Slot_inst_encode, 0, 0
6828};
e0001a05 6829
43cd72b9
BW
6830xtensa_opcode_encode_fn Opcode_bnall_encode_fns[] = {
6831 Opcode_bnall_Slot_inst_encode, 0, 0
6832};
e0001a05 6833
43cd72b9
BW
6834xtensa_opcode_encode_fn Opcode_bbc_encode_fns[] = {
6835 Opcode_bbc_Slot_inst_encode, 0, 0
6836};
e0001a05 6837
43cd72b9
BW
6838xtensa_opcode_encode_fn Opcode_bbs_encode_fns[] = {
6839 Opcode_bbs_Slot_inst_encode, 0, 0
6840};
e0001a05 6841
43cd72b9
BW
6842xtensa_opcode_encode_fn Opcode_beqz_encode_fns[] = {
6843 Opcode_beqz_Slot_inst_encode, 0, 0
6844};
e0001a05 6845
43cd72b9
BW
6846xtensa_opcode_encode_fn Opcode_bnez_encode_fns[] = {
6847 Opcode_bnez_Slot_inst_encode, 0, 0
6848};
e0001a05 6849
43cd72b9
BW
6850xtensa_opcode_encode_fn Opcode_bgez_encode_fns[] = {
6851 Opcode_bgez_Slot_inst_encode, 0, 0
6852};
e0001a05 6853
43cd72b9
BW
6854xtensa_opcode_encode_fn Opcode_bltz_encode_fns[] = {
6855 Opcode_bltz_Slot_inst_encode, 0, 0
6856};
e0001a05 6857
43cd72b9
BW
6858xtensa_opcode_encode_fn Opcode_call0_encode_fns[] = {
6859 Opcode_call0_Slot_inst_encode, 0, 0
6860};
e0001a05 6861
43cd72b9
BW
6862xtensa_opcode_encode_fn Opcode_callx0_encode_fns[] = {
6863 Opcode_callx0_Slot_inst_encode, 0, 0
6864};
e0001a05 6865
43cd72b9
BW
6866xtensa_opcode_encode_fn Opcode_extui_encode_fns[] = {
6867 Opcode_extui_Slot_inst_encode, 0, 0
6868};
e0001a05 6869
43cd72b9
BW
6870xtensa_opcode_encode_fn Opcode_ill_encode_fns[] = {
6871 Opcode_ill_Slot_inst_encode, 0, 0
6872};
e0001a05 6873
43cd72b9
BW
6874xtensa_opcode_encode_fn Opcode_j_encode_fns[] = {
6875 Opcode_j_Slot_inst_encode, 0, 0
6876};
e0001a05 6877
43cd72b9
BW
6878xtensa_opcode_encode_fn Opcode_jx_encode_fns[] = {
6879 Opcode_jx_Slot_inst_encode, 0, 0
6880};
e0001a05 6881
43cd72b9
BW
6882xtensa_opcode_encode_fn Opcode_l16ui_encode_fns[] = {
6883 Opcode_l16ui_Slot_inst_encode, 0, 0
6884};
e0001a05 6885
43cd72b9
BW
6886xtensa_opcode_encode_fn Opcode_l16si_encode_fns[] = {
6887 Opcode_l16si_Slot_inst_encode, 0, 0
6888};
e0001a05 6889
43cd72b9
BW
6890xtensa_opcode_encode_fn Opcode_l32i_encode_fns[] = {
6891 Opcode_l32i_Slot_inst_encode, 0, 0
6892};
e0001a05 6893
43cd72b9
BW
6894xtensa_opcode_encode_fn Opcode_l32r_encode_fns[] = {
6895 Opcode_l32r_Slot_inst_encode, 0, 0
6896};
e0001a05 6897
43cd72b9
BW
6898xtensa_opcode_encode_fn Opcode_l8ui_encode_fns[] = {
6899 Opcode_l8ui_Slot_inst_encode, 0, 0
6900};
e0001a05 6901
43cd72b9
BW
6902xtensa_opcode_encode_fn Opcode_loop_encode_fns[] = {
6903 Opcode_loop_Slot_inst_encode, 0, 0
6904};
e0001a05 6905
43cd72b9
BW
6906xtensa_opcode_encode_fn Opcode_loopnez_encode_fns[] = {
6907 Opcode_loopnez_Slot_inst_encode, 0, 0
6908};
e0001a05 6909
43cd72b9
BW
6910xtensa_opcode_encode_fn Opcode_loopgtz_encode_fns[] = {
6911 Opcode_loopgtz_Slot_inst_encode, 0, 0
6912};
e0001a05 6913
43cd72b9
BW
6914xtensa_opcode_encode_fn Opcode_movi_encode_fns[] = {
6915 Opcode_movi_Slot_inst_encode, 0, 0
6916};
e0001a05 6917
43cd72b9
BW
6918xtensa_opcode_encode_fn Opcode_moveqz_encode_fns[] = {
6919 Opcode_moveqz_Slot_inst_encode, 0, 0
6920};
e0001a05 6921
43cd72b9
BW
6922xtensa_opcode_encode_fn Opcode_movnez_encode_fns[] = {
6923 Opcode_movnez_Slot_inst_encode, 0, 0
6924};
e0001a05 6925
43cd72b9
BW
6926xtensa_opcode_encode_fn Opcode_movltz_encode_fns[] = {
6927 Opcode_movltz_Slot_inst_encode, 0, 0
6928};
e0001a05 6929
43cd72b9
BW
6930xtensa_opcode_encode_fn Opcode_movgez_encode_fns[] = {
6931 Opcode_movgez_Slot_inst_encode, 0, 0
6932};
e0001a05 6933
43cd72b9
BW
6934xtensa_opcode_encode_fn Opcode_neg_encode_fns[] = {
6935 Opcode_neg_Slot_inst_encode, 0, 0
6936};
e0001a05 6937
43cd72b9
BW
6938xtensa_opcode_encode_fn Opcode_abs_encode_fns[] = {
6939 Opcode_abs_Slot_inst_encode, 0, 0
6940};
e0001a05 6941
43cd72b9
BW
6942xtensa_opcode_encode_fn Opcode_nop_encode_fns[] = {
6943 Opcode_nop_Slot_inst_encode, 0, 0
6944};
e0001a05 6945
43cd72b9
BW
6946xtensa_opcode_encode_fn Opcode_ret_encode_fns[] = {
6947 Opcode_ret_Slot_inst_encode, 0, 0
6948};
e0001a05 6949
43cd72b9
BW
6950xtensa_opcode_encode_fn Opcode_s16i_encode_fns[] = {
6951 Opcode_s16i_Slot_inst_encode, 0, 0
6952};
e0001a05 6953
43cd72b9
BW
6954xtensa_opcode_encode_fn Opcode_s32i_encode_fns[] = {
6955 Opcode_s32i_Slot_inst_encode, 0, 0
6956};
e0001a05 6957
43cd72b9
BW
6958xtensa_opcode_encode_fn Opcode_s8i_encode_fns[] = {
6959 Opcode_s8i_Slot_inst_encode, 0, 0
6960};
e0001a05 6961
43cd72b9
BW
6962xtensa_opcode_encode_fn Opcode_ssr_encode_fns[] = {
6963 Opcode_ssr_Slot_inst_encode, 0, 0
6964};
e0001a05 6965
43cd72b9
BW
6966xtensa_opcode_encode_fn Opcode_ssl_encode_fns[] = {
6967 Opcode_ssl_Slot_inst_encode, 0, 0
6968};
e0001a05 6969
43cd72b9
BW
6970xtensa_opcode_encode_fn Opcode_ssa8l_encode_fns[] = {
6971 Opcode_ssa8l_Slot_inst_encode, 0, 0
6972};
e0001a05 6973
43cd72b9
BW
6974xtensa_opcode_encode_fn Opcode_ssa8b_encode_fns[] = {
6975 Opcode_ssa8b_Slot_inst_encode, 0, 0
6976};
e0001a05 6977
43cd72b9
BW
6978xtensa_opcode_encode_fn Opcode_ssai_encode_fns[] = {
6979 Opcode_ssai_Slot_inst_encode, 0, 0
6980};
e0001a05 6981
43cd72b9
BW
6982xtensa_opcode_encode_fn Opcode_sll_encode_fns[] = {
6983 Opcode_sll_Slot_inst_encode, 0, 0
6984};
e0001a05 6985
43cd72b9
BW
6986xtensa_opcode_encode_fn Opcode_src_encode_fns[] = {
6987 Opcode_src_Slot_inst_encode, 0, 0
6988};
e0001a05 6989
43cd72b9
BW
6990xtensa_opcode_encode_fn Opcode_srl_encode_fns[] = {
6991 Opcode_srl_Slot_inst_encode, 0, 0
6992};
e0001a05 6993
43cd72b9
BW
6994xtensa_opcode_encode_fn Opcode_sra_encode_fns[] = {
6995 Opcode_sra_Slot_inst_encode, 0, 0
6996};
e0001a05 6997
43cd72b9
BW
6998xtensa_opcode_encode_fn Opcode_slli_encode_fns[] = {
6999 Opcode_slli_Slot_inst_encode, 0, 0
7000};
e0001a05 7001
43cd72b9
BW
7002xtensa_opcode_encode_fn Opcode_srai_encode_fns[] = {
7003 Opcode_srai_Slot_inst_encode, 0, 0
7004};
e0001a05 7005
43cd72b9
BW
7006xtensa_opcode_encode_fn Opcode_srli_encode_fns[] = {
7007 Opcode_srli_Slot_inst_encode, 0, 0
7008};
e0001a05 7009
43cd72b9
BW
7010xtensa_opcode_encode_fn Opcode_memw_encode_fns[] = {
7011 Opcode_memw_Slot_inst_encode, 0, 0
7012};
e0001a05 7013
43cd72b9
BW
7014xtensa_opcode_encode_fn Opcode_extw_encode_fns[] = {
7015 Opcode_extw_Slot_inst_encode, 0, 0
7016};
e0001a05 7017
43cd72b9
BW
7018xtensa_opcode_encode_fn Opcode_isync_encode_fns[] = {
7019 Opcode_isync_Slot_inst_encode, 0, 0
7020};
e0001a05 7021
43cd72b9
BW
7022xtensa_opcode_encode_fn Opcode_rsync_encode_fns[] = {
7023 Opcode_rsync_Slot_inst_encode, 0, 0
7024};
e0001a05 7025
43cd72b9
BW
7026xtensa_opcode_encode_fn Opcode_esync_encode_fns[] = {
7027 Opcode_esync_Slot_inst_encode, 0, 0
7028};
e0001a05 7029
43cd72b9
BW
7030xtensa_opcode_encode_fn Opcode_dsync_encode_fns[] = {
7031 Opcode_dsync_Slot_inst_encode, 0, 0
7032};
e0001a05 7033
43cd72b9
BW
7034xtensa_opcode_encode_fn Opcode_rsil_encode_fns[] = {
7035 Opcode_rsil_Slot_inst_encode, 0, 0
7036};
e0001a05 7037
43cd72b9
BW
7038xtensa_opcode_encode_fn Opcode_rsr_lend_encode_fns[] = {
7039 Opcode_rsr_lend_Slot_inst_encode, 0, 0
7040};
e0001a05 7041
43cd72b9
BW
7042xtensa_opcode_encode_fn Opcode_wsr_lend_encode_fns[] = {
7043 Opcode_wsr_lend_Slot_inst_encode, 0, 0
7044};
e0001a05 7045
43cd72b9
BW
7046xtensa_opcode_encode_fn Opcode_xsr_lend_encode_fns[] = {
7047 Opcode_xsr_lend_Slot_inst_encode, 0, 0
7048};
e0001a05 7049
43cd72b9
BW
7050xtensa_opcode_encode_fn Opcode_rsr_lcount_encode_fns[] = {
7051 Opcode_rsr_lcount_Slot_inst_encode, 0, 0
7052};
e0001a05 7053
43cd72b9
BW
7054xtensa_opcode_encode_fn Opcode_wsr_lcount_encode_fns[] = {
7055 Opcode_wsr_lcount_Slot_inst_encode, 0, 0
7056};
e0001a05 7057
43cd72b9
BW
7058xtensa_opcode_encode_fn Opcode_xsr_lcount_encode_fns[] = {
7059 Opcode_xsr_lcount_Slot_inst_encode, 0, 0
7060};
e0001a05 7061
43cd72b9
BW
7062xtensa_opcode_encode_fn Opcode_rsr_lbeg_encode_fns[] = {
7063 Opcode_rsr_lbeg_Slot_inst_encode, 0, 0
7064};
e0001a05 7065
43cd72b9
BW
7066xtensa_opcode_encode_fn Opcode_wsr_lbeg_encode_fns[] = {
7067 Opcode_wsr_lbeg_Slot_inst_encode, 0, 0
7068};
e0001a05 7069
43cd72b9
BW
7070xtensa_opcode_encode_fn Opcode_xsr_lbeg_encode_fns[] = {
7071 Opcode_xsr_lbeg_Slot_inst_encode, 0, 0
e0001a05
NC
7072};
7073
43cd72b9
BW
7074xtensa_opcode_encode_fn Opcode_rsr_sar_encode_fns[] = {
7075 Opcode_rsr_sar_Slot_inst_encode, 0, 0
e0001a05
NC
7076};
7077
43cd72b9
BW
7078xtensa_opcode_encode_fn Opcode_wsr_sar_encode_fns[] = {
7079 Opcode_wsr_sar_Slot_inst_encode, 0, 0
e0001a05
NC
7080};
7081
43cd72b9
BW
7082xtensa_opcode_encode_fn Opcode_xsr_sar_encode_fns[] = {
7083 Opcode_xsr_sar_Slot_inst_encode, 0, 0
e0001a05
NC
7084};
7085
43cd72b9
BW
7086xtensa_opcode_encode_fn Opcode_rsr_litbase_encode_fns[] = {
7087 Opcode_rsr_litbase_Slot_inst_encode, 0, 0
e0001a05
NC
7088};
7089
43cd72b9
BW
7090xtensa_opcode_encode_fn Opcode_wsr_litbase_encode_fns[] = {
7091 Opcode_wsr_litbase_Slot_inst_encode, 0, 0
e0001a05
NC
7092};
7093
43cd72b9
BW
7094xtensa_opcode_encode_fn Opcode_xsr_litbase_encode_fns[] = {
7095 Opcode_xsr_litbase_Slot_inst_encode, 0, 0
e0001a05
NC
7096};
7097
43cd72b9
BW
7098xtensa_opcode_encode_fn Opcode_rsr_176_encode_fns[] = {
7099 Opcode_rsr_176_Slot_inst_encode, 0, 0
e0001a05
NC
7100};
7101
43cd72b9
BW
7102xtensa_opcode_encode_fn Opcode_rsr_208_encode_fns[] = {
7103 Opcode_rsr_208_Slot_inst_encode, 0, 0
e0001a05
NC
7104};
7105
43cd72b9
BW
7106xtensa_opcode_encode_fn Opcode_rsr_ps_encode_fns[] = {
7107 Opcode_rsr_ps_Slot_inst_encode, 0, 0
e0001a05
NC
7108};
7109
43cd72b9
BW
7110xtensa_opcode_encode_fn Opcode_wsr_ps_encode_fns[] = {
7111 Opcode_wsr_ps_Slot_inst_encode, 0, 0
e0001a05
NC
7112};
7113
43cd72b9
BW
7114xtensa_opcode_encode_fn Opcode_xsr_ps_encode_fns[] = {
7115 Opcode_xsr_ps_Slot_inst_encode, 0, 0
e0001a05
NC
7116};
7117
43cd72b9
BW
7118xtensa_opcode_encode_fn Opcode_rsr_epc1_encode_fns[] = {
7119 Opcode_rsr_epc1_Slot_inst_encode, 0, 0
e0001a05
NC
7120};
7121
43cd72b9
BW
7122xtensa_opcode_encode_fn Opcode_wsr_epc1_encode_fns[] = {
7123 Opcode_wsr_epc1_Slot_inst_encode, 0, 0
e0001a05
NC
7124};
7125
43cd72b9
BW
7126xtensa_opcode_encode_fn Opcode_xsr_epc1_encode_fns[] = {
7127 Opcode_xsr_epc1_Slot_inst_encode, 0, 0
e0001a05
NC
7128};
7129
43cd72b9
BW
7130xtensa_opcode_encode_fn Opcode_rsr_excsave1_encode_fns[] = {
7131 Opcode_rsr_excsave1_Slot_inst_encode, 0, 0
e0001a05
NC
7132};
7133
43cd72b9
BW
7134xtensa_opcode_encode_fn Opcode_wsr_excsave1_encode_fns[] = {
7135 Opcode_wsr_excsave1_Slot_inst_encode, 0, 0
e0001a05
NC
7136};
7137
43cd72b9
BW
7138xtensa_opcode_encode_fn Opcode_xsr_excsave1_encode_fns[] = {
7139 Opcode_xsr_excsave1_Slot_inst_encode, 0, 0
e0001a05
NC
7140};
7141
43cd72b9
BW
7142xtensa_opcode_encode_fn Opcode_rsr_epc2_encode_fns[] = {
7143 Opcode_rsr_epc2_Slot_inst_encode, 0, 0
e0001a05
NC
7144};
7145
43cd72b9
BW
7146xtensa_opcode_encode_fn Opcode_wsr_epc2_encode_fns[] = {
7147 Opcode_wsr_epc2_Slot_inst_encode, 0, 0
e0001a05
NC
7148};
7149
43cd72b9
BW
7150xtensa_opcode_encode_fn Opcode_xsr_epc2_encode_fns[] = {
7151 Opcode_xsr_epc2_Slot_inst_encode, 0, 0
e0001a05
NC
7152};
7153
43cd72b9
BW
7154xtensa_opcode_encode_fn Opcode_rsr_excsave2_encode_fns[] = {
7155 Opcode_rsr_excsave2_Slot_inst_encode, 0, 0
e0001a05
NC
7156};
7157
43cd72b9
BW
7158xtensa_opcode_encode_fn Opcode_wsr_excsave2_encode_fns[] = {
7159 Opcode_wsr_excsave2_Slot_inst_encode, 0, 0
e0001a05
NC
7160};
7161
43cd72b9
BW
7162xtensa_opcode_encode_fn Opcode_xsr_excsave2_encode_fns[] = {
7163 Opcode_xsr_excsave2_Slot_inst_encode, 0, 0
e0001a05
NC
7164};
7165
43cd72b9
BW
7166xtensa_opcode_encode_fn Opcode_rsr_epc3_encode_fns[] = {
7167 Opcode_rsr_epc3_Slot_inst_encode, 0, 0
e0001a05
NC
7168};
7169
43cd72b9
BW
7170xtensa_opcode_encode_fn Opcode_wsr_epc3_encode_fns[] = {
7171 Opcode_wsr_epc3_Slot_inst_encode, 0, 0
e0001a05
NC
7172};
7173
43cd72b9
BW
7174xtensa_opcode_encode_fn Opcode_xsr_epc3_encode_fns[] = {
7175 Opcode_xsr_epc3_Slot_inst_encode, 0, 0
e0001a05
NC
7176};
7177
43cd72b9
BW
7178xtensa_opcode_encode_fn Opcode_rsr_excsave3_encode_fns[] = {
7179 Opcode_rsr_excsave3_Slot_inst_encode, 0, 0
e0001a05
NC
7180};
7181
43cd72b9
BW
7182xtensa_opcode_encode_fn Opcode_wsr_excsave3_encode_fns[] = {
7183 Opcode_wsr_excsave3_Slot_inst_encode, 0, 0
e0001a05
NC
7184};
7185
43cd72b9
BW
7186xtensa_opcode_encode_fn Opcode_xsr_excsave3_encode_fns[] = {
7187 Opcode_xsr_excsave3_Slot_inst_encode, 0, 0
e0001a05
NC
7188};
7189
43cd72b9
BW
7190xtensa_opcode_encode_fn Opcode_rsr_epc4_encode_fns[] = {
7191 Opcode_rsr_epc4_Slot_inst_encode, 0, 0
e0001a05
NC
7192};
7193
43cd72b9
BW
7194xtensa_opcode_encode_fn Opcode_wsr_epc4_encode_fns[] = {
7195 Opcode_wsr_epc4_Slot_inst_encode, 0, 0
e0001a05
NC
7196};
7197
43cd72b9
BW
7198xtensa_opcode_encode_fn Opcode_xsr_epc4_encode_fns[] = {
7199 Opcode_xsr_epc4_Slot_inst_encode, 0, 0
e0001a05
NC
7200};
7201
43cd72b9
BW
7202xtensa_opcode_encode_fn Opcode_rsr_excsave4_encode_fns[] = {
7203 Opcode_rsr_excsave4_Slot_inst_encode, 0, 0
e0001a05
NC
7204};
7205
43cd72b9
BW
7206xtensa_opcode_encode_fn Opcode_wsr_excsave4_encode_fns[] = {
7207 Opcode_wsr_excsave4_Slot_inst_encode, 0, 0
e0001a05
NC
7208};
7209
43cd72b9
BW
7210xtensa_opcode_encode_fn Opcode_xsr_excsave4_encode_fns[] = {
7211 Opcode_xsr_excsave4_Slot_inst_encode, 0, 0
e0001a05
NC
7212};
7213
43cd72b9
BW
7214xtensa_opcode_encode_fn Opcode_rsr_eps2_encode_fns[] = {
7215 Opcode_rsr_eps2_Slot_inst_encode, 0, 0
e0001a05
NC
7216};
7217
43cd72b9
BW
7218xtensa_opcode_encode_fn Opcode_wsr_eps2_encode_fns[] = {
7219 Opcode_wsr_eps2_Slot_inst_encode, 0, 0
e0001a05
NC
7220};
7221
43cd72b9
BW
7222xtensa_opcode_encode_fn Opcode_xsr_eps2_encode_fns[] = {
7223 Opcode_xsr_eps2_Slot_inst_encode, 0, 0
e0001a05
NC
7224};
7225
43cd72b9
BW
7226xtensa_opcode_encode_fn Opcode_rsr_eps3_encode_fns[] = {
7227 Opcode_rsr_eps3_Slot_inst_encode, 0, 0
e0001a05
NC
7228};
7229
43cd72b9
BW
7230xtensa_opcode_encode_fn Opcode_wsr_eps3_encode_fns[] = {
7231 Opcode_wsr_eps3_Slot_inst_encode, 0, 0
e0001a05
NC
7232};
7233
43cd72b9
BW
7234xtensa_opcode_encode_fn Opcode_xsr_eps3_encode_fns[] = {
7235 Opcode_xsr_eps3_Slot_inst_encode, 0, 0
e0001a05
NC
7236};
7237
43cd72b9
BW
7238xtensa_opcode_encode_fn Opcode_rsr_eps4_encode_fns[] = {
7239 Opcode_rsr_eps4_Slot_inst_encode, 0, 0
e0001a05
NC
7240};
7241
43cd72b9
BW
7242xtensa_opcode_encode_fn Opcode_wsr_eps4_encode_fns[] = {
7243 Opcode_wsr_eps4_Slot_inst_encode, 0, 0
e0001a05
NC
7244};
7245
43cd72b9
BW
7246xtensa_opcode_encode_fn Opcode_xsr_eps4_encode_fns[] = {
7247 Opcode_xsr_eps4_Slot_inst_encode, 0, 0
e0001a05
NC
7248};
7249
43cd72b9
BW
7250xtensa_opcode_encode_fn Opcode_rsr_excvaddr_encode_fns[] = {
7251 Opcode_rsr_excvaddr_Slot_inst_encode, 0, 0
e0001a05
NC
7252};
7253
43cd72b9
BW
7254xtensa_opcode_encode_fn Opcode_wsr_excvaddr_encode_fns[] = {
7255 Opcode_wsr_excvaddr_Slot_inst_encode, 0, 0
e0001a05
NC
7256};
7257
43cd72b9
BW
7258xtensa_opcode_encode_fn Opcode_xsr_excvaddr_encode_fns[] = {
7259 Opcode_xsr_excvaddr_Slot_inst_encode, 0, 0
e0001a05
NC
7260};
7261
43cd72b9
BW
7262xtensa_opcode_encode_fn Opcode_rsr_depc_encode_fns[] = {
7263 Opcode_rsr_depc_Slot_inst_encode, 0, 0
e0001a05
NC
7264};
7265
43cd72b9
BW
7266xtensa_opcode_encode_fn Opcode_wsr_depc_encode_fns[] = {
7267 Opcode_wsr_depc_Slot_inst_encode, 0, 0
e0001a05
NC
7268};
7269
43cd72b9
BW
7270xtensa_opcode_encode_fn Opcode_xsr_depc_encode_fns[] = {
7271 Opcode_xsr_depc_Slot_inst_encode, 0, 0
e0001a05
NC
7272};
7273
43cd72b9
BW
7274xtensa_opcode_encode_fn Opcode_rsr_exccause_encode_fns[] = {
7275 Opcode_rsr_exccause_Slot_inst_encode, 0, 0
e0001a05
NC
7276};
7277
43cd72b9
BW
7278xtensa_opcode_encode_fn Opcode_wsr_exccause_encode_fns[] = {
7279 Opcode_wsr_exccause_Slot_inst_encode, 0, 0
e0001a05
NC
7280};
7281
43cd72b9
BW
7282xtensa_opcode_encode_fn Opcode_xsr_exccause_encode_fns[] = {
7283 Opcode_xsr_exccause_Slot_inst_encode, 0, 0
e0001a05
NC
7284};
7285
43cd72b9
BW
7286xtensa_opcode_encode_fn Opcode_rsr_misc0_encode_fns[] = {
7287 Opcode_rsr_misc0_Slot_inst_encode, 0, 0
e0001a05
NC
7288};
7289
43cd72b9
BW
7290xtensa_opcode_encode_fn Opcode_wsr_misc0_encode_fns[] = {
7291 Opcode_wsr_misc0_Slot_inst_encode, 0, 0
7292};
7293
7294xtensa_opcode_encode_fn Opcode_xsr_misc0_encode_fns[] = {
7295 Opcode_xsr_misc0_Slot_inst_encode, 0, 0
e0001a05
NC
7296};
7297
43cd72b9
BW
7298xtensa_opcode_encode_fn Opcode_rsr_misc1_encode_fns[] = {
7299 Opcode_rsr_misc1_Slot_inst_encode, 0, 0
e0001a05
NC
7300};
7301
43cd72b9
BW
7302xtensa_opcode_encode_fn Opcode_wsr_misc1_encode_fns[] = {
7303 Opcode_wsr_misc1_Slot_inst_encode, 0, 0
e0001a05
NC
7304};
7305
43cd72b9
BW
7306xtensa_opcode_encode_fn Opcode_xsr_misc1_encode_fns[] = {
7307 Opcode_xsr_misc1_Slot_inst_encode, 0, 0
e0001a05
NC
7308};
7309
43cd72b9
BW
7310xtensa_opcode_encode_fn Opcode_rsr_prid_encode_fns[] = {
7311 Opcode_rsr_prid_Slot_inst_encode, 0, 0
e0001a05
NC
7312};
7313
43cd72b9
BW
7314xtensa_opcode_encode_fn Opcode_rfi_encode_fns[] = {
7315 Opcode_rfi_Slot_inst_encode, 0, 0
e0001a05
NC
7316};
7317
43cd72b9
BW
7318xtensa_opcode_encode_fn Opcode_waiti_encode_fns[] = {
7319 Opcode_waiti_Slot_inst_encode, 0, 0
e0001a05
NC
7320};
7321
43cd72b9
BW
7322xtensa_opcode_encode_fn Opcode_rsr_interrupt_encode_fns[] = {
7323 Opcode_rsr_interrupt_Slot_inst_encode, 0, 0
e0001a05
NC
7324};
7325
43cd72b9
BW
7326xtensa_opcode_encode_fn Opcode_wsr_intset_encode_fns[] = {
7327 Opcode_wsr_intset_Slot_inst_encode, 0, 0
e0001a05
NC
7328};
7329
43cd72b9
BW
7330xtensa_opcode_encode_fn Opcode_wsr_intclear_encode_fns[] = {
7331 Opcode_wsr_intclear_Slot_inst_encode, 0, 0
e0001a05
NC
7332};
7333
43cd72b9
BW
7334xtensa_opcode_encode_fn Opcode_rsr_intenable_encode_fns[] = {
7335 Opcode_rsr_intenable_Slot_inst_encode, 0, 0
e0001a05
NC
7336};
7337
43cd72b9
BW
7338xtensa_opcode_encode_fn Opcode_wsr_intenable_encode_fns[] = {
7339 Opcode_wsr_intenable_Slot_inst_encode, 0, 0
e0001a05
NC
7340};
7341
43cd72b9
BW
7342xtensa_opcode_encode_fn Opcode_xsr_intenable_encode_fns[] = {
7343 Opcode_xsr_intenable_Slot_inst_encode, 0, 0
e0001a05
NC
7344};
7345
43cd72b9
BW
7346xtensa_opcode_encode_fn Opcode_break_encode_fns[] = {
7347 Opcode_break_Slot_inst_encode, 0, 0
e0001a05
NC
7348};
7349
43cd72b9
BW
7350xtensa_opcode_encode_fn Opcode_break_n_encode_fns[] = {
7351 0, 0, Opcode_break_n_Slot_inst16b_encode
e0001a05
NC
7352};
7353
43cd72b9
BW
7354xtensa_opcode_encode_fn Opcode_rsr_dbreaka0_encode_fns[] = {
7355 Opcode_rsr_dbreaka0_Slot_inst_encode, 0, 0
e0001a05
NC
7356};
7357
43cd72b9
BW
7358xtensa_opcode_encode_fn Opcode_wsr_dbreaka0_encode_fns[] = {
7359 Opcode_wsr_dbreaka0_Slot_inst_encode, 0, 0
e0001a05
NC
7360};
7361
43cd72b9
BW
7362xtensa_opcode_encode_fn Opcode_xsr_dbreaka0_encode_fns[] = {
7363 Opcode_xsr_dbreaka0_Slot_inst_encode, 0, 0
e0001a05
NC
7364};
7365
43cd72b9
BW
7366xtensa_opcode_encode_fn Opcode_rsr_dbreakc0_encode_fns[] = {
7367 Opcode_rsr_dbreakc0_Slot_inst_encode, 0, 0
e0001a05
NC
7368};
7369
43cd72b9
BW
7370xtensa_opcode_encode_fn Opcode_wsr_dbreakc0_encode_fns[] = {
7371 Opcode_wsr_dbreakc0_Slot_inst_encode, 0, 0
e0001a05
NC
7372};
7373
43cd72b9
BW
7374xtensa_opcode_encode_fn Opcode_xsr_dbreakc0_encode_fns[] = {
7375 Opcode_xsr_dbreakc0_Slot_inst_encode, 0, 0
e0001a05
NC
7376};
7377
43cd72b9
BW
7378xtensa_opcode_encode_fn Opcode_rsr_dbreaka1_encode_fns[] = {
7379 Opcode_rsr_dbreaka1_Slot_inst_encode, 0, 0
e0001a05
NC
7380};
7381
43cd72b9
BW
7382xtensa_opcode_encode_fn Opcode_wsr_dbreaka1_encode_fns[] = {
7383 Opcode_wsr_dbreaka1_Slot_inst_encode, 0, 0
e0001a05
NC
7384};
7385
43cd72b9
BW
7386xtensa_opcode_encode_fn Opcode_xsr_dbreaka1_encode_fns[] = {
7387 Opcode_xsr_dbreaka1_Slot_inst_encode, 0, 0
e0001a05
NC
7388};
7389
43cd72b9
BW
7390xtensa_opcode_encode_fn Opcode_rsr_dbreakc1_encode_fns[] = {
7391 Opcode_rsr_dbreakc1_Slot_inst_encode, 0, 0
e0001a05
NC
7392};
7393
43cd72b9
BW
7394xtensa_opcode_encode_fn Opcode_wsr_dbreakc1_encode_fns[] = {
7395 Opcode_wsr_dbreakc1_Slot_inst_encode, 0, 0
e0001a05
NC
7396};
7397
43cd72b9
BW
7398xtensa_opcode_encode_fn Opcode_xsr_dbreakc1_encode_fns[] = {
7399 Opcode_xsr_dbreakc1_Slot_inst_encode, 0, 0
e0001a05
NC
7400};
7401
43cd72b9
BW
7402xtensa_opcode_encode_fn Opcode_rsr_ibreaka0_encode_fns[] = {
7403 Opcode_rsr_ibreaka0_Slot_inst_encode, 0, 0
e0001a05
NC
7404};
7405
43cd72b9
BW
7406xtensa_opcode_encode_fn Opcode_wsr_ibreaka0_encode_fns[] = {
7407 Opcode_wsr_ibreaka0_Slot_inst_encode, 0, 0
e0001a05
NC
7408};
7409
43cd72b9
BW
7410xtensa_opcode_encode_fn Opcode_xsr_ibreaka0_encode_fns[] = {
7411 Opcode_xsr_ibreaka0_Slot_inst_encode, 0, 0
e0001a05
NC
7412};
7413
43cd72b9
BW
7414xtensa_opcode_encode_fn Opcode_rsr_ibreaka1_encode_fns[] = {
7415 Opcode_rsr_ibreaka1_Slot_inst_encode, 0, 0
e0001a05
NC
7416};
7417
43cd72b9
BW
7418xtensa_opcode_encode_fn Opcode_wsr_ibreaka1_encode_fns[] = {
7419 Opcode_wsr_ibreaka1_Slot_inst_encode, 0, 0
e0001a05
NC
7420};
7421
43cd72b9
BW
7422xtensa_opcode_encode_fn Opcode_xsr_ibreaka1_encode_fns[] = {
7423 Opcode_xsr_ibreaka1_Slot_inst_encode, 0, 0
e0001a05
NC
7424};
7425
43cd72b9
BW
7426xtensa_opcode_encode_fn Opcode_rsr_ibreakenable_encode_fns[] = {
7427 Opcode_rsr_ibreakenable_Slot_inst_encode, 0, 0
e0001a05
NC
7428};
7429
43cd72b9
BW
7430xtensa_opcode_encode_fn Opcode_wsr_ibreakenable_encode_fns[] = {
7431 Opcode_wsr_ibreakenable_Slot_inst_encode, 0, 0
e0001a05
NC
7432};
7433
43cd72b9
BW
7434xtensa_opcode_encode_fn Opcode_xsr_ibreakenable_encode_fns[] = {
7435 Opcode_xsr_ibreakenable_Slot_inst_encode, 0, 0
e0001a05
NC
7436};
7437
43cd72b9
BW
7438xtensa_opcode_encode_fn Opcode_rsr_debugcause_encode_fns[] = {
7439 Opcode_rsr_debugcause_Slot_inst_encode, 0, 0
e0001a05
NC
7440};
7441
43cd72b9
BW
7442xtensa_opcode_encode_fn Opcode_wsr_debugcause_encode_fns[] = {
7443 Opcode_wsr_debugcause_Slot_inst_encode, 0, 0
e0001a05
NC
7444};
7445
43cd72b9
BW
7446xtensa_opcode_encode_fn Opcode_xsr_debugcause_encode_fns[] = {
7447 Opcode_xsr_debugcause_Slot_inst_encode, 0, 0
e0001a05
NC
7448};
7449
43cd72b9
BW
7450xtensa_opcode_encode_fn Opcode_rsr_icount_encode_fns[] = {
7451 Opcode_rsr_icount_Slot_inst_encode, 0, 0
e0001a05
NC
7452};
7453
43cd72b9
BW
7454xtensa_opcode_encode_fn Opcode_wsr_icount_encode_fns[] = {
7455 Opcode_wsr_icount_Slot_inst_encode, 0, 0
e0001a05
NC
7456};
7457
43cd72b9
BW
7458xtensa_opcode_encode_fn Opcode_xsr_icount_encode_fns[] = {
7459 Opcode_xsr_icount_Slot_inst_encode, 0, 0
e0001a05
NC
7460};
7461
43cd72b9
BW
7462xtensa_opcode_encode_fn Opcode_rsr_icountlevel_encode_fns[] = {
7463 Opcode_rsr_icountlevel_Slot_inst_encode, 0, 0
e0001a05
NC
7464};
7465
43cd72b9
BW
7466xtensa_opcode_encode_fn Opcode_wsr_icountlevel_encode_fns[] = {
7467 Opcode_wsr_icountlevel_Slot_inst_encode, 0, 0
e0001a05
NC
7468};
7469
43cd72b9
BW
7470xtensa_opcode_encode_fn Opcode_xsr_icountlevel_encode_fns[] = {
7471 Opcode_xsr_icountlevel_Slot_inst_encode, 0, 0
e0001a05
NC
7472};
7473
43cd72b9
BW
7474xtensa_opcode_encode_fn Opcode_rsr_ddr_encode_fns[] = {
7475 Opcode_rsr_ddr_Slot_inst_encode, 0, 0
e0001a05
NC
7476};
7477
43cd72b9
BW
7478xtensa_opcode_encode_fn Opcode_wsr_ddr_encode_fns[] = {
7479 Opcode_wsr_ddr_Slot_inst_encode, 0, 0
e0001a05
NC
7480};
7481
43cd72b9
BW
7482xtensa_opcode_encode_fn Opcode_xsr_ddr_encode_fns[] = {
7483 Opcode_xsr_ddr_Slot_inst_encode, 0, 0
e0001a05
NC
7484};
7485
43cd72b9
BW
7486xtensa_opcode_encode_fn Opcode_rfdo_encode_fns[] = {
7487 Opcode_rfdo_Slot_inst_encode, 0, 0
e0001a05
NC
7488};
7489
43cd72b9
BW
7490xtensa_opcode_encode_fn Opcode_rfdd_encode_fns[] = {
7491 Opcode_rfdd_Slot_inst_encode, 0, 0
e0001a05
NC
7492};
7493
43cd72b9
BW
7494xtensa_opcode_encode_fn Opcode_rsr_ccount_encode_fns[] = {
7495 Opcode_rsr_ccount_Slot_inst_encode, 0, 0
e0001a05
NC
7496};
7497
43cd72b9
BW
7498xtensa_opcode_encode_fn Opcode_wsr_ccount_encode_fns[] = {
7499 Opcode_wsr_ccount_Slot_inst_encode, 0, 0
e0001a05
NC
7500};
7501
43cd72b9
BW
7502xtensa_opcode_encode_fn Opcode_xsr_ccount_encode_fns[] = {
7503 Opcode_xsr_ccount_Slot_inst_encode, 0, 0
e0001a05
NC
7504};
7505
43cd72b9
BW
7506xtensa_opcode_encode_fn Opcode_rsr_ccompare0_encode_fns[] = {
7507 Opcode_rsr_ccompare0_Slot_inst_encode, 0, 0
e0001a05
NC
7508};
7509
43cd72b9
BW
7510xtensa_opcode_encode_fn Opcode_wsr_ccompare0_encode_fns[] = {
7511 Opcode_wsr_ccompare0_Slot_inst_encode, 0, 0
e0001a05
NC
7512};
7513
43cd72b9
BW
7514xtensa_opcode_encode_fn Opcode_xsr_ccompare0_encode_fns[] = {
7515 Opcode_xsr_ccompare0_Slot_inst_encode, 0, 0
e0001a05
NC
7516};
7517
43cd72b9
BW
7518xtensa_opcode_encode_fn Opcode_rsr_ccompare1_encode_fns[] = {
7519 Opcode_rsr_ccompare1_Slot_inst_encode, 0, 0
e0001a05
NC
7520};
7521
43cd72b9
BW
7522xtensa_opcode_encode_fn Opcode_wsr_ccompare1_encode_fns[] = {
7523 Opcode_wsr_ccompare1_Slot_inst_encode, 0, 0
e0001a05
NC
7524};
7525
43cd72b9
BW
7526xtensa_opcode_encode_fn Opcode_xsr_ccompare1_encode_fns[] = {
7527 Opcode_xsr_ccompare1_Slot_inst_encode, 0, 0
e0001a05
NC
7528};
7529
43cd72b9
BW
7530xtensa_opcode_encode_fn Opcode_rsr_ccompare2_encode_fns[] = {
7531 Opcode_rsr_ccompare2_Slot_inst_encode, 0, 0
e0001a05
NC
7532};
7533
43cd72b9
BW
7534xtensa_opcode_encode_fn Opcode_wsr_ccompare2_encode_fns[] = {
7535 Opcode_wsr_ccompare2_Slot_inst_encode, 0, 0
e0001a05
NC
7536};
7537
43cd72b9
BW
7538xtensa_opcode_encode_fn Opcode_xsr_ccompare2_encode_fns[] = {
7539 Opcode_xsr_ccompare2_Slot_inst_encode, 0, 0
e0001a05
NC
7540};
7541
43cd72b9
BW
7542xtensa_opcode_encode_fn Opcode_ipf_encode_fns[] = {
7543 Opcode_ipf_Slot_inst_encode, 0, 0
e0001a05
NC
7544};
7545
43cd72b9
BW
7546xtensa_opcode_encode_fn Opcode_ihi_encode_fns[] = {
7547 Opcode_ihi_Slot_inst_encode, 0, 0
e0001a05
NC
7548};
7549
43cd72b9
BW
7550xtensa_opcode_encode_fn Opcode_iii_encode_fns[] = {
7551 Opcode_iii_Slot_inst_encode, 0, 0
e0001a05
NC
7552};
7553
43cd72b9
BW
7554xtensa_opcode_encode_fn Opcode_lict_encode_fns[] = {
7555 Opcode_lict_Slot_inst_encode, 0, 0
e0001a05
NC
7556};
7557
43cd72b9
BW
7558xtensa_opcode_encode_fn Opcode_licw_encode_fns[] = {
7559 Opcode_licw_Slot_inst_encode, 0, 0
e0001a05
NC
7560};
7561
43cd72b9
BW
7562xtensa_opcode_encode_fn Opcode_sict_encode_fns[] = {
7563 Opcode_sict_Slot_inst_encode, 0, 0
e0001a05
NC
7564};
7565
43cd72b9
BW
7566xtensa_opcode_encode_fn Opcode_sicw_encode_fns[] = {
7567 Opcode_sicw_Slot_inst_encode, 0, 0
e0001a05
NC
7568};
7569
43cd72b9
BW
7570xtensa_opcode_encode_fn Opcode_dhwb_encode_fns[] = {
7571 Opcode_dhwb_Slot_inst_encode, 0, 0
e0001a05
NC
7572};
7573
43cd72b9
BW
7574xtensa_opcode_encode_fn Opcode_dhwbi_encode_fns[] = {
7575 Opcode_dhwbi_Slot_inst_encode, 0, 0
e0001a05
NC
7576};
7577
43cd72b9
BW
7578xtensa_opcode_encode_fn Opcode_diwb_encode_fns[] = {
7579 Opcode_diwb_Slot_inst_encode, 0, 0
e0001a05
NC
7580};
7581
43cd72b9
BW
7582xtensa_opcode_encode_fn Opcode_diwbi_encode_fns[] = {
7583 Opcode_diwbi_Slot_inst_encode, 0, 0
e0001a05
NC
7584};
7585
43cd72b9
BW
7586xtensa_opcode_encode_fn Opcode_dhi_encode_fns[] = {
7587 Opcode_dhi_Slot_inst_encode, 0, 0
e0001a05
NC
7588};
7589
43cd72b9
BW
7590xtensa_opcode_encode_fn Opcode_dii_encode_fns[] = {
7591 Opcode_dii_Slot_inst_encode, 0, 0
e0001a05
NC
7592};
7593
43cd72b9
BW
7594xtensa_opcode_encode_fn Opcode_dpfr_encode_fns[] = {
7595 Opcode_dpfr_Slot_inst_encode, 0, 0
e0001a05
NC
7596};
7597
43cd72b9
BW
7598xtensa_opcode_encode_fn Opcode_dpfw_encode_fns[] = {
7599 Opcode_dpfw_Slot_inst_encode, 0, 0
e0001a05
NC
7600};
7601
43cd72b9
BW
7602xtensa_opcode_encode_fn Opcode_dpfro_encode_fns[] = {
7603 Opcode_dpfro_Slot_inst_encode, 0, 0
e0001a05
NC
7604};
7605
43cd72b9
BW
7606xtensa_opcode_encode_fn Opcode_dpfwo_encode_fns[] = {
7607 Opcode_dpfwo_Slot_inst_encode, 0, 0
e0001a05
NC
7608};
7609
43cd72b9
BW
7610xtensa_opcode_encode_fn Opcode_sdct_encode_fns[] = {
7611 Opcode_sdct_Slot_inst_encode, 0, 0
e0001a05
NC
7612};
7613
43cd72b9
BW
7614xtensa_opcode_encode_fn Opcode_ldct_encode_fns[] = {
7615 Opcode_ldct_Slot_inst_encode, 0, 0
e0001a05
NC
7616};
7617
074f5109
BW
7618xtensa_opcode_encode_fn Opcode_wsr_ptevaddr_encode_fns[] = {
7619 Opcode_wsr_ptevaddr_Slot_inst_encode, 0, 0
7620};
7621
7622xtensa_opcode_encode_fn Opcode_rsr_ptevaddr_encode_fns[] = {
7623 Opcode_rsr_ptevaddr_Slot_inst_encode, 0, 0
7624};
7625
7626xtensa_opcode_encode_fn Opcode_xsr_ptevaddr_encode_fns[] = {
7627 Opcode_xsr_ptevaddr_Slot_inst_encode, 0, 0
7628};
7629
7630xtensa_opcode_encode_fn Opcode_rsr_rasid_encode_fns[] = {
7631 Opcode_rsr_rasid_Slot_inst_encode, 0, 0
7632};
7633
7634xtensa_opcode_encode_fn Opcode_wsr_rasid_encode_fns[] = {
7635 Opcode_wsr_rasid_Slot_inst_encode, 0, 0
7636};
7637
7638xtensa_opcode_encode_fn Opcode_xsr_rasid_encode_fns[] = {
7639 Opcode_xsr_rasid_Slot_inst_encode, 0, 0
7640};
7641
7642xtensa_opcode_encode_fn Opcode_rsr_itlbcfg_encode_fns[] = {
7643 Opcode_rsr_itlbcfg_Slot_inst_encode, 0, 0
7644};
7645
7646xtensa_opcode_encode_fn Opcode_wsr_itlbcfg_encode_fns[] = {
7647 Opcode_wsr_itlbcfg_Slot_inst_encode, 0, 0
7648};
7649
7650xtensa_opcode_encode_fn Opcode_xsr_itlbcfg_encode_fns[] = {
7651 Opcode_xsr_itlbcfg_Slot_inst_encode, 0, 0
7652};
7653
7654xtensa_opcode_encode_fn Opcode_rsr_dtlbcfg_encode_fns[] = {
7655 Opcode_rsr_dtlbcfg_Slot_inst_encode, 0, 0
7656};
7657
7658xtensa_opcode_encode_fn Opcode_wsr_dtlbcfg_encode_fns[] = {
7659 Opcode_wsr_dtlbcfg_Slot_inst_encode, 0, 0
7660};
7661
7662xtensa_opcode_encode_fn Opcode_xsr_dtlbcfg_encode_fns[] = {
7663 Opcode_xsr_dtlbcfg_Slot_inst_encode, 0, 0
7664};
7665
43cd72b9
BW
7666xtensa_opcode_encode_fn Opcode_idtlb_encode_fns[] = {
7667 Opcode_idtlb_Slot_inst_encode, 0, 0
e0001a05
NC
7668};
7669
43cd72b9
BW
7670xtensa_opcode_encode_fn Opcode_pdtlb_encode_fns[] = {
7671 Opcode_pdtlb_Slot_inst_encode, 0, 0
e0001a05
NC
7672};
7673
43cd72b9
BW
7674xtensa_opcode_encode_fn Opcode_rdtlb0_encode_fns[] = {
7675 Opcode_rdtlb0_Slot_inst_encode, 0, 0
e0001a05
NC
7676};
7677
43cd72b9
BW
7678xtensa_opcode_encode_fn Opcode_rdtlb1_encode_fns[] = {
7679 Opcode_rdtlb1_Slot_inst_encode, 0, 0
e0001a05
NC
7680};
7681
43cd72b9
BW
7682xtensa_opcode_encode_fn Opcode_wdtlb_encode_fns[] = {
7683 Opcode_wdtlb_Slot_inst_encode, 0, 0
e0001a05
NC
7684};
7685
43cd72b9
BW
7686xtensa_opcode_encode_fn Opcode_iitlb_encode_fns[] = {
7687 Opcode_iitlb_Slot_inst_encode, 0, 0
e0001a05
NC
7688};
7689
43cd72b9
BW
7690xtensa_opcode_encode_fn Opcode_pitlb_encode_fns[] = {
7691 Opcode_pitlb_Slot_inst_encode, 0, 0
e0001a05
NC
7692};
7693
43cd72b9
BW
7694xtensa_opcode_encode_fn Opcode_ritlb0_encode_fns[] = {
7695 Opcode_ritlb0_Slot_inst_encode, 0, 0
e0001a05
NC
7696};
7697
43cd72b9
BW
7698xtensa_opcode_encode_fn Opcode_ritlb1_encode_fns[] = {
7699 Opcode_ritlb1_Slot_inst_encode, 0, 0
e0001a05
NC
7700};
7701
43cd72b9
BW
7702xtensa_opcode_encode_fn Opcode_witlb_encode_fns[] = {
7703 Opcode_witlb_Slot_inst_encode, 0, 0
e0001a05
NC
7704};
7705
074f5109
BW
7706xtensa_opcode_encode_fn Opcode_ldpte_encode_fns[] = {
7707 Opcode_ldpte_Slot_inst_encode, 0, 0
7708};
7709
7710xtensa_opcode_encode_fn Opcode_hwwitlba_encode_fns[] = {
7711 Opcode_hwwitlba_Slot_inst_encode, 0, 0
7712};
7713
7714xtensa_opcode_encode_fn Opcode_hwwdtlba_encode_fns[] = {
7715 Opcode_hwwdtlba_Slot_inst_encode, 0, 0
7716};
7717
43cd72b9
BW
7718xtensa_opcode_encode_fn Opcode_nsa_encode_fns[] = {
7719 Opcode_nsa_Slot_inst_encode, 0, 0
e0001a05
NC
7720};
7721
43cd72b9
BW
7722xtensa_opcode_encode_fn Opcode_nsau_encode_fns[] = {
7723 Opcode_nsau_Slot_inst_encode, 0, 0
e0001a05
NC
7724};
7725
43cd72b9
BW
7726\f
7727/* Opcode table. */
7728
7729static xtensa_opcode_internal opcodes[] = {
7730 { "excw", 0 /* xt_iclass_excw */,
7731 0,
7732 Opcode_excw_encode_fns, 0, 0 },
7733 { "rfe", 1 /* xt_iclass_rfe */,
7734 XTENSA_OPCODE_IS_JUMP,
7735 Opcode_rfe_encode_fns, 0, 0 },
7736 { "rfde", 2 /* xt_iclass_rfde */,
7737 XTENSA_OPCODE_IS_JUMP,
7738 Opcode_rfde_encode_fns, 0, 0 },
7739 { "syscall", 3 /* xt_iclass_syscall */,
7740 0,
7741 Opcode_syscall_encode_fns, 0, 0 },
7742 { "simcall", 4 /* xt_iclass_simcall */,
7743 0,
7744 Opcode_simcall_encode_fns, 0, 0 },
7745 { "call12", 5 /* xt_iclass_call12 */,
7746 XTENSA_OPCODE_IS_CALL,
7747 Opcode_call12_encode_fns, 0, 0 },
7748 { "call8", 6 /* xt_iclass_call8 */,
7749 XTENSA_OPCODE_IS_CALL,
7750 Opcode_call8_encode_fns, 0, 0 },
7751 { "call4", 7 /* xt_iclass_call4 */,
7752 XTENSA_OPCODE_IS_CALL,
7753 Opcode_call4_encode_fns, 0, 0 },
7754 { "callx12", 8 /* xt_iclass_callx12 */,
7755 XTENSA_OPCODE_IS_CALL,
7756 Opcode_callx12_encode_fns, 0, 0 },
7757 { "callx8", 9 /* xt_iclass_callx8 */,
7758 XTENSA_OPCODE_IS_CALL,
7759 Opcode_callx8_encode_fns, 0, 0 },
7760 { "callx4", 10 /* xt_iclass_callx4 */,
7761 XTENSA_OPCODE_IS_CALL,
7762 Opcode_callx4_encode_fns, 0, 0 },
7763 { "entry", 11 /* xt_iclass_entry */,
7764 0,
7765 Opcode_entry_encode_fns, 0, 0 },
7766 { "movsp", 12 /* xt_iclass_movsp */,
7767 0,
7768 Opcode_movsp_encode_fns, 0, 0 },
7769 { "rotw", 13 /* xt_iclass_rotw */,
7770 0,
7771 Opcode_rotw_encode_fns, 0, 0 },
7772 { "retw", 14 /* xt_iclass_retw */,
7773 XTENSA_OPCODE_IS_JUMP,
7774 Opcode_retw_encode_fns, 0, 0 },
7775 { "retw.n", 14 /* xt_iclass_retw */,
7776 XTENSA_OPCODE_IS_JUMP,
7777 Opcode_retw_n_encode_fns, 0, 0 },
7778 { "rfwo", 15 /* xt_iclass_rfwou */,
7779 XTENSA_OPCODE_IS_JUMP,
7780 Opcode_rfwo_encode_fns, 0, 0 },
7781 { "rfwu", 15 /* xt_iclass_rfwou */,
7782 XTENSA_OPCODE_IS_JUMP,
7783 Opcode_rfwu_encode_fns, 0, 0 },
7784 { "l32e", 16 /* xt_iclass_l32e */,
7785 0,
7786 Opcode_l32e_encode_fns, 0, 0 },
7787 { "s32e", 17 /* xt_iclass_s32e */,
7788 0,
7789 Opcode_s32e_encode_fns, 0, 0 },
7790 { "rsr.windowbase", 18 /* xt_iclass_rsr.windowbase */,
7791 0,
7792 Opcode_rsr_windowbase_encode_fns, 0, 0 },
7793 { "wsr.windowbase", 19 /* xt_iclass_wsr.windowbase */,
7794 0,
7795 Opcode_wsr_windowbase_encode_fns, 0, 0 },
7796 { "xsr.windowbase", 20 /* xt_iclass_xsr.windowbase */,
7797 0,
7798 Opcode_xsr_windowbase_encode_fns, 0, 0 },
7799 { "rsr.windowstart", 21 /* xt_iclass_rsr.windowstart */,
7800 0,
7801 Opcode_rsr_windowstart_encode_fns, 0, 0 },
7802 { "wsr.windowstart", 22 /* xt_iclass_wsr.windowstart */,
7803 0,
7804 Opcode_wsr_windowstart_encode_fns, 0, 0 },
7805 { "xsr.windowstart", 23 /* xt_iclass_xsr.windowstart */,
7806 0,
7807 Opcode_xsr_windowstart_encode_fns, 0, 0 },
7808 { "add.n", 24 /* xt_iclass_add.n */,
7809 0,
7810 Opcode_add_n_encode_fns, 0, 0 },
7811 { "addi.n", 25 /* xt_iclass_addi.n */,
7812 0,
7813 Opcode_addi_n_encode_fns, 0, 0 },
7814 { "beqz.n", 26 /* xt_iclass_bz6 */,
7815 XTENSA_OPCODE_IS_BRANCH,
7816 Opcode_beqz_n_encode_fns, 0, 0 },
7817 { "bnez.n", 26 /* xt_iclass_bz6 */,
7818 XTENSA_OPCODE_IS_BRANCH,
7819 Opcode_bnez_n_encode_fns, 0, 0 },
7820 { "ill.n", 27 /* xt_iclass_ill.n */,
7821 0,
7822 Opcode_ill_n_encode_fns, 0, 0 },
7823 { "l32i.n", 28 /* xt_iclass_loadi4 */,
7824 0,
7825 Opcode_l32i_n_encode_fns, 0, 0 },
7826 { "mov.n", 29 /* xt_iclass_mov.n */,
7827 0,
7828 Opcode_mov_n_encode_fns, 0, 0 },
7829 { "movi.n", 30 /* xt_iclass_movi.n */,
7830 0,
7831 Opcode_movi_n_encode_fns, 0, 0 },
7832 { "nop.n", 31 /* xt_iclass_nopn */,
7833 0,
7834 Opcode_nop_n_encode_fns, 0, 0 },
7835 { "ret.n", 32 /* xt_iclass_retn */,
7836 XTENSA_OPCODE_IS_JUMP,
7837 Opcode_ret_n_encode_fns, 0, 0 },
7838 { "s32i.n", 33 /* xt_iclass_storei4 */,
7839 0,
7840 Opcode_s32i_n_encode_fns, 0, 0 },
7841 { "addi", 34 /* xt_iclass_addi */,
7842 0,
7843 Opcode_addi_encode_fns, 0, 0 },
7844 { "addmi", 35 /* xt_iclass_addmi */,
7845 0,
7846 Opcode_addmi_encode_fns, 0, 0 },
7847 { "add", 36 /* xt_iclass_addsub */,
7848 0,
7849 Opcode_add_encode_fns, 0, 0 },
7850 { "sub", 36 /* xt_iclass_addsub */,
7851 0,
7852 Opcode_sub_encode_fns, 0, 0 },
7853 { "addx2", 36 /* xt_iclass_addsub */,
7854 0,
7855 Opcode_addx2_encode_fns, 0, 0 },
7856 { "addx4", 36 /* xt_iclass_addsub */,
7857 0,
7858 Opcode_addx4_encode_fns, 0, 0 },
7859 { "addx8", 36 /* xt_iclass_addsub */,
7860 0,
7861 Opcode_addx8_encode_fns, 0, 0 },
7862 { "subx2", 36 /* xt_iclass_addsub */,
7863 0,
7864 Opcode_subx2_encode_fns, 0, 0 },
7865 { "subx4", 36 /* xt_iclass_addsub */,
7866 0,
7867 Opcode_subx4_encode_fns, 0, 0 },
7868 { "subx8", 36 /* xt_iclass_addsub */,
7869 0,
7870 Opcode_subx8_encode_fns, 0, 0 },
7871 { "and", 37 /* xt_iclass_bit */,
7872 0,
7873 Opcode_and_encode_fns, 0, 0 },
7874 { "or", 37 /* xt_iclass_bit */,
7875 0,
7876 Opcode_or_encode_fns, 0, 0 },
7877 { "xor", 37 /* xt_iclass_bit */,
7878 0,
7879 Opcode_xor_encode_fns, 0, 0 },
7880 { "beqi", 38 /* xt_iclass_bsi8 */,
7881 XTENSA_OPCODE_IS_BRANCH,
7882 Opcode_beqi_encode_fns, 0, 0 },
7883 { "bnei", 38 /* xt_iclass_bsi8 */,
7884 XTENSA_OPCODE_IS_BRANCH,
7885 Opcode_bnei_encode_fns, 0, 0 },
7886 { "bgei", 38 /* xt_iclass_bsi8 */,
7887 XTENSA_OPCODE_IS_BRANCH,
7888 Opcode_bgei_encode_fns, 0, 0 },
7889 { "blti", 38 /* xt_iclass_bsi8 */,
7890 XTENSA_OPCODE_IS_BRANCH,
7891 Opcode_blti_encode_fns, 0, 0 },
7892 { "bbci", 39 /* xt_iclass_bsi8b */,
7893 XTENSA_OPCODE_IS_BRANCH,
7894 Opcode_bbci_encode_fns, 0, 0 },
7895 { "bbsi", 39 /* xt_iclass_bsi8b */,
7896 XTENSA_OPCODE_IS_BRANCH,
7897 Opcode_bbsi_encode_fns, 0, 0 },
7898 { "bgeui", 40 /* xt_iclass_bsi8u */,
7899 XTENSA_OPCODE_IS_BRANCH,
7900 Opcode_bgeui_encode_fns, 0, 0 },
7901 { "bltui", 40 /* xt_iclass_bsi8u */,
7902 XTENSA_OPCODE_IS_BRANCH,
7903 Opcode_bltui_encode_fns, 0, 0 },
7904 { "beq", 41 /* xt_iclass_bst8 */,
7905 XTENSA_OPCODE_IS_BRANCH,
7906 Opcode_beq_encode_fns, 0, 0 },
7907 { "bne", 41 /* xt_iclass_bst8 */,
7908 XTENSA_OPCODE_IS_BRANCH,
7909 Opcode_bne_encode_fns, 0, 0 },
7910 { "bge", 41 /* xt_iclass_bst8 */,
7911 XTENSA_OPCODE_IS_BRANCH,
7912 Opcode_bge_encode_fns, 0, 0 },
7913 { "blt", 41 /* xt_iclass_bst8 */,
7914 XTENSA_OPCODE_IS_BRANCH,
7915 Opcode_blt_encode_fns, 0, 0 },
7916 { "bgeu", 41 /* xt_iclass_bst8 */,
7917 XTENSA_OPCODE_IS_BRANCH,
7918 Opcode_bgeu_encode_fns, 0, 0 },
7919 { "bltu", 41 /* xt_iclass_bst8 */,
7920 XTENSA_OPCODE_IS_BRANCH,
7921 Opcode_bltu_encode_fns, 0, 0 },
7922 { "bany", 41 /* xt_iclass_bst8 */,
7923 XTENSA_OPCODE_IS_BRANCH,
7924 Opcode_bany_encode_fns, 0, 0 },
7925 { "bnone", 41 /* xt_iclass_bst8 */,
7926 XTENSA_OPCODE_IS_BRANCH,
7927 Opcode_bnone_encode_fns, 0, 0 },
7928 { "ball", 41 /* xt_iclass_bst8 */,
7929 XTENSA_OPCODE_IS_BRANCH,
7930 Opcode_ball_encode_fns, 0, 0 },
7931 { "bnall", 41 /* xt_iclass_bst8 */,
7932 XTENSA_OPCODE_IS_BRANCH,
7933 Opcode_bnall_encode_fns, 0, 0 },
7934 { "bbc", 41 /* xt_iclass_bst8 */,
7935 XTENSA_OPCODE_IS_BRANCH,
7936 Opcode_bbc_encode_fns, 0, 0 },
7937 { "bbs", 41 /* xt_iclass_bst8 */,
7938 XTENSA_OPCODE_IS_BRANCH,
7939 Opcode_bbs_encode_fns, 0, 0 },
7940 { "beqz", 42 /* xt_iclass_bsz12 */,
7941 XTENSA_OPCODE_IS_BRANCH,
7942 Opcode_beqz_encode_fns, 0, 0 },
7943 { "bnez", 42 /* xt_iclass_bsz12 */,
7944 XTENSA_OPCODE_IS_BRANCH,
7945 Opcode_bnez_encode_fns, 0, 0 },
7946 { "bgez", 42 /* xt_iclass_bsz12 */,
7947 XTENSA_OPCODE_IS_BRANCH,
7948 Opcode_bgez_encode_fns, 0, 0 },
7949 { "bltz", 42 /* xt_iclass_bsz12 */,
7950 XTENSA_OPCODE_IS_BRANCH,
7951 Opcode_bltz_encode_fns, 0, 0 },
7952 { "call0", 43 /* xt_iclass_call0 */,
7953 XTENSA_OPCODE_IS_CALL,
7954 Opcode_call0_encode_fns, 0, 0 },
7955 { "callx0", 44 /* xt_iclass_callx0 */,
7956 XTENSA_OPCODE_IS_CALL,
7957 Opcode_callx0_encode_fns, 0, 0 },
7958 { "extui", 45 /* xt_iclass_exti */,
7959 0,
7960 Opcode_extui_encode_fns, 0, 0 },
7961 { "ill", 46 /* xt_iclass_ill */,
7962 0,
7963 Opcode_ill_encode_fns, 0, 0 },
7964 { "j", 47 /* xt_iclass_jump */,
7965 XTENSA_OPCODE_IS_JUMP,
7966 Opcode_j_encode_fns, 0, 0 },
7967 { "jx", 48 /* xt_iclass_jumpx */,
7968 XTENSA_OPCODE_IS_JUMP,
7969 Opcode_jx_encode_fns, 0, 0 },
7970 { "l16ui", 49 /* xt_iclass_l16ui */,
7971 0,
7972 Opcode_l16ui_encode_fns, 0, 0 },
7973 { "l16si", 50 /* xt_iclass_l16si */,
7974 0,
7975 Opcode_l16si_encode_fns, 0, 0 },
7976 { "l32i", 51 /* xt_iclass_l32i */,
7977 0,
7978 Opcode_l32i_encode_fns, 0, 0 },
7979 { "l32r", 52 /* xt_iclass_l32r */,
7980 0,
7981 Opcode_l32r_encode_fns, 0, 0 },
7982 { "l8ui", 53 /* xt_iclass_l8i */,
7983 0,
7984 Opcode_l8ui_encode_fns, 0, 0 },
7985 { "loop", 54 /* xt_iclass_loop */,
7986 XTENSA_OPCODE_IS_LOOP,
7987 Opcode_loop_encode_fns, 0, 0 },
7988 { "loopnez", 55 /* xt_iclass_loopz */,
7989 XTENSA_OPCODE_IS_LOOP,
7990 Opcode_loopnez_encode_fns, 0, 0 },
7991 { "loopgtz", 55 /* xt_iclass_loopz */,
7992 XTENSA_OPCODE_IS_LOOP,
7993 Opcode_loopgtz_encode_fns, 0, 0 },
7994 { "movi", 56 /* xt_iclass_movi */,
7995 0,
7996 Opcode_movi_encode_fns, 0, 0 },
7997 { "moveqz", 57 /* xt_iclass_movz */,
7998 0,
7999 Opcode_moveqz_encode_fns, 0, 0 },
8000 { "movnez", 57 /* xt_iclass_movz */,
8001 0,
8002 Opcode_movnez_encode_fns, 0, 0 },
8003 { "movltz", 57 /* xt_iclass_movz */,
8004 0,
8005 Opcode_movltz_encode_fns, 0, 0 },
8006 { "movgez", 57 /* xt_iclass_movz */,
8007 0,
8008 Opcode_movgez_encode_fns, 0, 0 },
8009 { "neg", 58 /* xt_iclass_neg */,
8010 0,
8011 Opcode_neg_encode_fns, 0, 0 },
8012 { "abs", 58 /* xt_iclass_neg */,
8013 0,
8014 Opcode_abs_encode_fns, 0, 0 },
8015 { "nop", 59 /* xt_iclass_nop */,
8016 0,
8017 Opcode_nop_encode_fns, 0, 0 },
8018 { "ret", 60 /* xt_iclass_return */,
8019 XTENSA_OPCODE_IS_JUMP,
8020 Opcode_ret_encode_fns, 0, 0 },
8021 { "s16i", 61 /* xt_iclass_s16i */,
8022 0,
8023 Opcode_s16i_encode_fns, 0, 0 },
8024 { "s32i", 62 /* xt_iclass_s32i */,
8025 0,
8026 Opcode_s32i_encode_fns, 0, 0 },
8027 { "s8i", 63 /* xt_iclass_s8i */,
8028 0,
8029 Opcode_s8i_encode_fns, 0, 0 },
8030 { "ssr", 64 /* xt_iclass_sar */,
8031 0,
8032 Opcode_ssr_encode_fns, 0, 0 },
8033 { "ssl", 64 /* xt_iclass_sar */,
8034 0,
8035 Opcode_ssl_encode_fns, 0, 0 },
8036 { "ssa8l", 64 /* xt_iclass_sar */,
8037 0,
8038 Opcode_ssa8l_encode_fns, 0, 0 },
8039 { "ssa8b", 64 /* xt_iclass_sar */,
8040 0,
8041 Opcode_ssa8b_encode_fns, 0, 0 },
8042 { "ssai", 65 /* xt_iclass_sari */,
8043 0,
8044 Opcode_ssai_encode_fns, 0, 0 },
8045 { "sll", 66 /* xt_iclass_shifts */,
8046 0,
8047 Opcode_sll_encode_fns, 0, 0 },
8048 { "src", 67 /* xt_iclass_shiftst */,
8049 0,
8050 Opcode_src_encode_fns, 0, 0 },
8051 { "srl", 68 /* xt_iclass_shiftt */,
8052 0,
8053 Opcode_srl_encode_fns, 0, 0 },
8054 { "sra", 68 /* xt_iclass_shiftt */,
8055 0,
8056 Opcode_sra_encode_fns, 0, 0 },
8057 { "slli", 69 /* xt_iclass_slli */,
8058 0,
8059 Opcode_slli_encode_fns, 0, 0 },
8060 { "srai", 70 /* xt_iclass_srai */,
8061 0,
8062 Opcode_srai_encode_fns, 0, 0 },
8063 { "srli", 71 /* xt_iclass_srli */,
8064 0,
8065 Opcode_srli_encode_fns, 0, 0 },
8066 { "memw", 72 /* xt_iclass_memw */,
8067 0,
8068 Opcode_memw_encode_fns, 0, 0 },
8069 { "extw", 73 /* xt_iclass_extw */,
8070 0,
8071 Opcode_extw_encode_fns, 0, 0 },
8072 { "isync", 74 /* xt_iclass_isync */,
8073 0,
8074 Opcode_isync_encode_fns, 0, 0 },
8075 { "rsync", 75 /* xt_iclass_sync */,
8076 0,
8077 Opcode_rsync_encode_fns, 0, 0 },
8078 { "esync", 75 /* xt_iclass_sync */,
8079 0,
8080 Opcode_esync_encode_fns, 0, 0 },
8081 { "dsync", 75 /* xt_iclass_sync */,
8082 0,
8083 Opcode_dsync_encode_fns, 0, 0 },
8084 { "rsil", 76 /* xt_iclass_rsil */,
8085 0,
8086 Opcode_rsil_encode_fns, 0, 0 },
8087 { "rsr.lend", 77 /* xt_iclass_rsr.lend */,
8088 0,
8089 Opcode_rsr_lend_encode_fns, 0, 0 },
8090 { "wsr.lend", 78 /* xt_iclass_wsr.lend */,
8091 0,
8092 Opcode_wsr_lend_encode_fns, 0, 0 },
8093 { "xsr.lend", 79 /* xt_iclass_xsr.lend */,
8094 0,
8095 Opcode_xsr_lend_encode_fns, 0, 0 },
8096 { "rsr.lcount", 80 /* xt_iclass_rsr.lcount */,
8097 0,
8098 Opcode_rsr_lcount_encode_fns, 0, 0 },
8099 { "wsr.lcount", 81 /* xt_iclass_wsr.lcount */,
8100 0,
8101 Opcode_wsr_lcount_encode_fns, 0, 0 },
8102 { "xsr.lcount", 82 /* xt_iclass_xsr.lcount */,
8103 0,
8104 Opcode_xsr_lcount_encode_fns, 0, 0 },
8105 { "rsr.lbeg", 83 /* xt_iclass_rsr.lbeg */,
8106 0,
8107 Opcode_rsr_lbeg_encode_fns, 0, 0 },
8108 { "wsr.lbeg", 84 /* xt_iclass_wsr.lbeg */,
8109 0,
8110 Opcode_wsr_lbeg_encode_fns, 0, 0 },
8111 { "xsr.lbeg", 85 /* xt_iclass_xsr.lbeg */,
8112 0,
8113 Opcode_xsr_lbeg_encode_fns, 0, 0 },
8114 { "rsr.sar", 86 /* xt_iclass_rsr.sar */,
8115 0,
8116 Opcode_rsr_sar_encode_fns, 0, 0 },
8117 { "wsr.sar", 87 /* xt_iclass_wsr.sar */,
8118 0,
8119 Opcode_wsr_sar_encode_fns, 0, 0 },
8120 { "xsr.sar", 88 /* xt_iclass_xsr.sar */,
8121 0,
8122 Opcode_xsr_sar_encode_fns, 0, 0 },
8123 { "rsr.litbase", 89 /* xt_iclass_rsr.litbase */,
8124 0,
8125 Opcode_rsr_litbase_encode_fns, 0, 0 },
8126 { "wsr.litbase", 90 /* xt_iclass_wsr.litbase */,
8127 0,
8128 Opcode_wsr_litbase_encode_fns, 0, 0 },
8129 { "xsr.litbase", 91 /* xt_iclass_xsr.litbase */,
8130 0,
8131 Opcode_xsr_litbase_encode_fns, 0, 0 },
8132 { "rsr.176", 92 /* xt_iclass_rsr.176 */,
8133 0,
8134 Opcode_rsr_176_encode_fns, 0, 0 },
8135 { "rsr.208", 93 /* xt_iclass_rsr.208 */,
8136 0,
8137 Opcode_rsr_208_encode_fns, 0, 0 },
8138 { "rsr.ps", 94 /* xt_iclass_rsr.ps */,
8139 0,
8140 Opcode_rsr_ps_encode_fns, 0, 0 },
8141 { "wsr.ps", 95 /* xt_iclass_wsr.ps */,
8142 0,
8143 Opcode_wsr_ps_encode_fns, 0, 0 },
8144 { "xsr.ps", 96 /* xt_iclass_xsr.ps */,
8145 0,
8146 Opcode_xsr_ps_encode_fns, 0, 0 },
8147 { "rsr.epc1", 97 /* xt_iclass_rsr.epc1 */,
8148 0,
8149 Opcode_rsr_epc1_encode_fns, 0, 0 },
8150 { "wsr.epc1", 98 /* xt_iclass_wsr.epc1 */,
8151 0,
8152 Opcode_wsr_epc1_encode_fns, 0, 0 },
8153 { "xsr.epc1", 99 /* xt_iclass_xsr.epc1 */,
8154 0,
8155 Opcode_xsr_epc1_encode_fns, 0, 0 },
8156 { "rsr.excsave1", 100 /* xt_iclass_rsr.excsave1 */,
8157 0,
8158 Opcode_rsr_excsave1_encode_fns, 0, 0 },
8159 { "wsr.excsave1", 101 /* xt_iclass_wsr.excsave1 */,
8160 0,
8161 Opcode_wsr_excsave1_encode_fns, 0, 0 },
8162 { "xsr.excsave1", 102 /* xt_iclass_xsr.excsave1 */,
8163 0,
8164 Opcode_xsr_excsave1_encode_fns, 0, 0 },
8165 { "rsr.epc2", 103 /* xt_iclass_rsr.epc2 */,
8166 0,
8167 Opcode_rsr_epc2_encode_fns, 0, 0 },
8168 { "wsr.epc2", 104 /* xt_iclass_wsr.epc2 */,
8169 0,
8170 Opcode_wsr_epc2_encode_fns, 0, 0 },
8171 { "xsr.epc2", 105 /* xt_iclass_xsr.epc2 */,
8172 0,
8173 Opcode_xsr_epc2_encode_fns, 0, 0 },
8174 { "rsr.excsave2", 106 /* xt_iclass_rsr.excsave2 */,
8175 0,
8176 Opcode_rsr_excsave2_encode_fns, 0, 0 },
8177 { "wsr.excsave2", 107 /* xt_iclass_wsr.excsave2 */,
8178 0,
8179 Opcode_wsr_excsave2_encode_fns, 0, 0 },
8180 { "xsr.excsave2", 108 /* xt_iclass_xsr.excsave2 */,
8181 0,
8182 Opcode_xsr_excsave2_encode_fns, 0, 0 },
8183 { "rsr.epc3", 109 /* xt_iclass_rsr.epc3 */,
8184 0,
8185 Opcode_rsr_epc3_encode_fns, 0, 0 },
8186 { "wsr.epc3", 110 /* xt_iclass_wsr.epc3 */,
8187 0,
8188 Opcode_wsr_epc3_encode_fns, 0, 0 },
8189 { "xsr.epc3", 111 /* xt_iclass_xsr.epc3 */,
8190 0,
8191 Opcode_xsr_epc3_encode_fns, 0, 0 },
8192 { "rsr.excsave3", 112 /* xt_iclass_rsr.excsave3 */,
8193 0,
8194 Opcode_rsr_excsave3_encode_fns, 0, 0 },
8195 { "wsr.excsave3", 113 /* xt_iclass_wsr.excsave3 */,
8196 0,
8197 Opcode_wsr_excsave3_encode_fns, 0, 0 },
8198 { "xsr.excsave3", 114 /* xt_iclass_xsr.excsave3 */,
8199 0,
8200 Opcode_xsr_excsave3_encode_fns, 0, 0 },
8201 { "rsr.epc4", 115 /* xt_iclass_rsr.epc4 */,
8202 0,
8203 Opcode_rsr_epc4_encode_fns, 0, 0 },
8204 { "wsr.epc4", 116 /* xt_iclass_wsr.epc4 */,
8205 0,
8206 Opcode_wsr_epc4_encode_fns, 0, 0 },
8207 { "xsr.epc4", 117 /* xt_iclass_xsr.epc4 */,
8208 0,
8209 Opcode_xsr_epc4_encode_fns, 0, 0 },
8210 { "rsr.excsave4", 118 /* xt_iclass_rsr.excsave4 */,
8211 0,
8212 Opcode_rsr_excsave4_encode_fns, 0, 0 },
8213 { "wsr.excsave4", 119 /* xt_iclass_wsr.excsave4 */,
8214 0,
8215 Opcode_wsr_excsave4_encode_fns, 0, 0 },
8216 { "xsr.excsave4", 120 /* xt_iclass_xsr.excsave4 */,
8217 0,
8218 Opcode_xsr_excsave4_encode_fns, 0, 0 },
8219 { "rsr.eps2", 121 /* xt_iclass_rsr.eps2 */,
8220 0,
8221 Opcode_rsr_eps2_encode_fns, 0, 0 },
8222 { "wsr.eps2", 122 /* xt_iclass_wsr.eps2 */,
8223 0,
8224 Opcode_wsr_eps2_encode_fns, 0, 0 },
8225 { "xsr.eps2", 123 /* xt_iclass_xsr.eps2 */,
8226 0,
8227 Opcode_xsr_eps2_encode_fns, 0, 0 },
8228 { "rsr.eps3", 124 /* xt_iclass_rsr.eps3 */,
8229 0,
8230 Opcode_rsr_eps3_encode_fns, 0, 0 },
8231 { "wsr.eps3", 125 /* xt_iclass_wsr.eps3 */,
8232 0,
8233 Opcode_wsr_eps3_encode_fns, 0, 0 },
8234 { "xsr.eps3", 126 /* xt_iclass_xsr.eps3 */,
8235 0,
8236 Opcode_xsr_eps3_encode_fns, 0, 0 },
8237 { "rsr.eps4", 127 /* xt_iclass_rsr.eps4 */,
8238 0,
8239 Opcode_rsr_eps4_encode_fns, 0, 0 },
8240 { "wsr.eps4", 128 /* xt_iclass_wsr.eps4 */,
8241 0,
8242 Opcode_wsr_eps4_encode_fns, 0, 0 },
8243 { "xsr.eps4", 129 /* xt_iclass_xsr.eps4 */,
8244 0,
8245 Opcode_xsr_eps4_encode_fns, 0, 0 },
8246 { "rsr.excvaddr", 130 /* xt_iclass_rsr.excvaddr */,
8247 0,
8248 Opcode_rsr_excvaddr_encode_fns, 0, 0 },
8249 { "wsr.excvaddr", 131 /* xt_iclass_wsr.excvaddr */,
8250 0,
8251 Opcode_wsr_excvaddr_encode_fns, 0, 0 },
8252 { "xsr.excvaddr", 132 /* xt_iclass_xsr.excvaddr */,
8253 0,
8254 Opcode_xsr_excvaddr_encode_fns, 0, 0 },
8255 { "rsr.depc", 133 /* xt_iclass_rsr.depc */,
8256 0,
8257 Opcode_rsr_depc_encode_fns, 0, 0 },
8258 { "wsr.depc", 134 /* xt_iclass_wsr.depc */,
8259 0,
8260 Opcode_wsr_depc_encode_fns, 0, 0 },
8261 { "xsr.depc", 135 /* xt_iclass_xsr.depc */,
8262 0,
8263 Opcode_xsr_depc_encode_fns, 0, 0 },
8264 { "rsr.exccause", 136 /* xt_iclass_rsr.exccause */,
8265 0,
8266 Opcode_rsr_exccause_encode_fns, 0, 0 },
8267 { "wsr.exccause", 137 /* xt_iclass_wsr.exccause */,
8268 0,
8269 Opcode_wsr_exccause_encode_fns, 0, 0 },
8270 { "xsr.exccause", 138 /* xt_iclass_xsr.exccause */,
8271 0,
8272 Opcode_xsr_exccause_encode_fns, 0, 0 },
8273 { "rsr.misc0", 139 /* xt_iclass_rsr.misc0 */,
8274 0,
8275 Opcode_rsr_misc0_encode_fns, 0, 0 },
8276 { "wsr.misc0", 140 /* xt_iclass_wsr.misc0 */,
8277 0,
8278 Opcode_wsr_misc0_encode_fns, 0, 0 },
8279 { "xsr.misc0", 141 /* xt_iclass_xsr.misc0 */,
8280 0,
8281 Opcode_xsr_misc0_encode_fns, 0, 0 },
8282 { "rsr.misc1", 142 /* xt_iclass_rsr.misc1 */,
8283 0,
8284 Opcode_rsr_misc1_encode_fns, 0, 0 },
8285 { "wsr.misc1", 143 /* xt_iclass_wsr.misc1 */,
8286 0,
8287 Opcode_wsr_misc1_encode_fns, 0, 0 },
8288 { "xsr.misc1", 144 /* xt_iclass_xsr.misc1 */,
8289 0,
8290 Opcode_xsr_misc1_encode_fns, 0, 0 },
8291 { "rsr.prid", 145 /* xt_iclass_rsr.prid */,
8292 0,
8293 Opcode_rsr_prid_encode_fns, 0, 0 },
8294 { "rfi", 146 /* xt_iclass_rfi */,
8295 XTENSA_OPCODE_IS_JUMP,
8296 Opcode_rfi_encode_fns, 0, 0 },
8297 { "waiti", 147 /* xt_iclass_wait */,
8298 0,
8299 Opcode_waiti_encode_fns, 0, 0 },
8300 { "rsr.interrupt", 148 /* xt_iclass_rsr.interrupt */,
8301 0,
8302 Opcode_rsr_interrupt_encode_fns, 0, 0 },
8303 { "wsr.intset", 149 /* xt_iclass_wsr.intset */,
8304 0,
8305 Opcode_wsr_intset_encode_fns, 0, 0 },
8306 { "wsr.intclear", 150 /* xt_iclass_wsr.intclear */,
8307 0,
8308 Opcode_wsr_intclear_encode_fns, 0, 0 },
8309 { "rsr.intenable", 151 /* xt_iclass_rsr.intenable */,
8310 0,
8311 Opcode_rsr_intenable_encode_fns, 0, 0 },
8312 { "wsr.intenable", 152 /* xt_iclass_wsr.intenable */,
8313 0,
8314 Opcode_wsr_intenable_encode_fns, 0, 0 },
8315 { "xsr.intenable", 153 /* xt_iclass_xsr.intenable */,
8316 0,
8317 Opcode_xsr_intenable_encode_fns, 0, 0 },
8318 { "break", 154 /* xt_iclass_break */,
8319 0,
8320 Opcode_break_encode_fns, 0, 0 },
8321 { "break.n", 155 /* xt_iclass_break.n */,
8322 0,
8323 Opcode_break_n_encode_fns, 0, 0 },
8324 { "rsr.dbreaka0", 156 /* xt_iclass_rsr.dbreaka0 */,
8325 0,
8326 Opcode_rsr_dbreaka0_encode_fns, 0, 0 },
8327 { "wsr.dbreaka0", 157 /* xt_iclass_wsr.dbreaka0 */,
8328 0,
8329 Opcode_wsr_dbreaka0_encode_fns, 0, 0 },
8330 { "xsr.dbreaka0", 158 /* xt_iclass_xsr.dbreaka0 */,
8331 0,
8332 Opcode_xsr_dbreaka0_encode_fns, 0, 0 },
8333 { "rsr.dbreakc0", 159 /* xt_iclass_rsr.dbreakc0 */,
8334 0,
8335 Opcode_rsr_dbreakc0_encode_fns, 0, 0 },
8336 { "wsr.dbreakc0", 160 /* xt_iclass_wsr.dbreakc0 */,
8337 0,
8338 Opcode_wsr_dbreakc0_encode_fns, 0, 0 },
8339 { "xsr.dbreakc0", 161 /* xt_iclass_xsr.dbreakc0 */,
8340 0,
8341 Opcode_xsr_dbreakc0_encode_fns, 0, 0 },
8342 { "rsr.dbreaka1", 162 /* xt_iclass_rsr.dbreaka1 */,
8343 0,
8344 Opcode_rsr_dbreaka1_encode_fns, 0, 0 },
8345 { "wsr.dbreaka1", 163 /* xt_iclass_wsr.dbreaka1 */,
8346 0,
8347 Opcode_wsr_dbreaka1_encode_fns, 0, 0 },
8348 { "xsr.dbreaka1", 164 /* xt_iclass_xsr.dbreaka1 */,
8349 0,
8350 Opcode_xsr_dbreaka1_encode_fns, 0, 0 },
8351 { "rsr.dbreakc1", 165 /* xt_iclass_rsr.dbreakc1 */,
8352 0,
8353 Opcode_rsr_dbreakc1_encode_fns, 0, 0 },
8354 { "wsr.dbreakc1", 166 /* xt_iclass_wsr.dbreakc1 */,
8355 0,
8356 Opcode_wsr_dbreakc1_encode_fns, 0, 0 },
8357 { "xsr.dbreakc1", 167 /* xt_iclass_xsr.dbreakc1 */,
8358 0,
8359 Opcode_xsr_dbreakc1_encode_fns, 0, 0 },
8360 { "rsr.ibreaka0", 168 /* xt_iclass_rsr.ibreaka0 */,
8361 0,
8362 Opcode_rsr_ibreaka0_encode_fns, 0, 0 },
8363 { "wsr.ibreaka0", 169 /* xt_iclass_wsr.ibreaka0 */,
8364 0,
8365 Opcode_wsr_ibreaka0_encode_fns, 0, 0 },
8366 { "xsr.ibreaka0", 170 /* xt_iclass_xsr.ibreaka0 */,
8367 0,
8368 Opcode_xsr_ibreaka0_encode_fns, 0, 0 },
8369 { "rsr.ibreaka1", 171 /* xt_iclass_rsr.ibreaka1 */,
8370 0,
8371 Opcode_rsr_ibreaka1_encode_fns, 0, 0 },
8372 { "wsr.ibreaka1", 172 /* xt_iclass_wsr.ibreaka1 */,
8373 0,
8374 Opcode_wsr_ibreaka1_encode_fns, 0, 0 },
8375 { "xsr.ibreaka1", 173 /* xt_iclass_xsr.ibreaka1 */,
8376 0,
8377 Opcode_xsr_ibreaka1_encode_fns, 0, 0 },
8378 { "rsr.ibreakenable", 174 /* xt_iclass_rsr.ibreakenable */,
8379 0,
8380 Opcode_rsr_ibreakenable_encode_fns, 0, 0 },
8381 { "wsr.ibreakenable", 175 /* xt_iclass_wsr.ibreakenable */,
8382 0,
8383 Opcode_wsr_ibreakenable_encode_fns, 0, 0 },
8384 { "xsr.ibreakenable", 176 /* xt_iclass_xsr.ibreakenable */,
8385 0,
8386 Opcode_xsr_ibreakenable_encode_fns, 0, 0 },
8387 { "rsr.debugcause", 177 /* xt_iclass_rsr.debugcause */,
8388 0,
8389 Opcode_rsr_debugcause_encode_fns, 0, 0 },
8390 { "wsr.debugcause", 178 /* xt_iclass_wsr.debugcause */,
8391 0,
8392 Opcode_wsr_debugcause_encode_fns, 0, 0 },
8393 { "xsr.debugcause", 179 /* xt_iclass_xsr.debugcause */,
8394 0,
8395 Opcode_xsr_debugcause_encode_fns, 0, 0 },
8396 { "rsr.icount", 180 /* xt_iclass_rsr.icount */,
8397 0,
8398 Opcode_rsr_icount_encode_fns, 0, 0 },
8399 { "wsr.icount", 181 /* xt_iclass_wsr.icount */,
8400 0,
8401 Opcode_wsr_icount_encode_fns, 0, 0 },
8402 { "xsr.icount", 182 /* xt_iclass_xsr.icount */,
8403 0,
8404 Opcode_xsr_icount_encode_fns, 0, 0 },
8405 { "rsr.icountlevel", 183 /* xt_iclass_rsr.icountlevel */,
8406 0,
8407 Opcode_rsr_icountlevel_encode_fns, 0, 0 },
8408 { "wsr.icountlevel", 184 /* xt_iclass_wsr.icountlevel */,
8409 0,
8410 Opcode_wsr_icountlevel_encode_fns, 0, 0 },
8411 { "xsr.icountlevel", 185 /* xt_iclass_xsr.icountlevel */,
8412 0,
8413 Opcode_xsr_icountlevel_encode_fns, 0, 0 },
8414 { "rsr.ddr", 186 /* xt_iclass_rsr.ddr */,
8415 0,
8416 Opcode_rsr_ddr_encode_fns, 0, 0 },
8417 { "wsr.ddr", 187 /* xt_iclass_wsr.ddr */,
8418 0,
8419 Opcode_wsr_ddr_encode_fns, 0, 0 },
8420 { "xsr.ddr", 188 /* xt_iclass_xsr.ddr */,
8421 0,
8422 Opcode_xsr_ddr_encode_fns, 0, 0 },
8423 { "rfdo", 189 /* xt_iclass_rfdo */,
8424 XTENSA_OPCODE_IS_JUMP,
8425 Opcode_rfdo_encode_fns, 0, 0 },
8426 { "rfdd", 190 /* xt_iclass_rfdd */,
8427 XTENSA_OPCODE_IS_JUMP,
8428 Opcode_rfdd_encode_fns, 0, 0 },
8429 { "rsr.ccount", 191 /* xt_iclass_rsr.ccount */,
8430 0,
8431 Opcode_rsr_ccount_encode_fns, 0, 0 },
8432 { "wsr.ccount", 192 /* xt_iclass_wsr.ccount */,
8433 0,
8434 Opcode_wsr_ccount_encode_fns, 0, 0 },
8435 { "xsr.ccount", 193 /* xt_iclass_xsr.ccount */,
8436 0,
8437 Opcode_xsr_ccount_encode_fns, 0, 0 },
8438 { "rsr.ccompare0", 194 /* xt_iclass_rsr.ccompare0 */,
8439 0,
8440 Opcode_rsr_ccompare0_encode_fns, 0, 0 },
8441 { "wsr.ccompare0", 195 /* xt_iclass_wsr.ccompare0 */,
8442 0,
8443 Opcode_wsr_ccompare0_encode_fns, 0, 0 },
8444 { "xsr.ccompare0", 196 /* xt_iclass_xsr.ccompare0 */,
8445 0,
8446 Opcode_xsr_ccompare0_encode_fns, 0, 0 },
8447 { "rsr.ccompare1", 197 /* xt_iclass_rsr.ccompare1 */,
8448 0,
8449 Opcode_rsr_ccompare1_encode_fns, 0, 0 },
8450 { "wsr.ccompare1", 198 /* xt_iclass_wsr.ccompare1 */,
8451 0,
8452 Opcode_wsr_ccompare1_encode_fns, 0, 0 },
8453 { "xsr.ccompare1", 199 /* xt_iclass_xsr.ccompare1 */,
8454 0,
8455 Opcode_xsr_ccompare1_encode_fns, 0, 0 },
8456 { "rsr.ccompare2", 200 /* xt_iclass_rsr.ccompare2 */,
8457 0,
8458 Opcode_rsr_ccompare2_encode_fns, 0, 0 },
8459 { "wsr.ccompare2", 201 /* xt_iclass_wsr.ccompare2 */,
8460 0,
8461 Opcode_wsr_ccompare2_encode_fns, 0, 0 },
8462 { "xsr.ccompare2", 202 /* xt_iclass_xsr.ccompare2 */,
8463 0,
8464 Opcode_xsr_ccompare2_encode_fns, 0, 0 },
8465 { "ipf", 203 /* xt_iclass_icache */,
8466 0,
8467 Opcode_ipf_encode_fns, 0, 0 },
8468 { "ihi", 203 /* xt_iclass_icache */,
8469 0,
8470 Opcode_ihi_encode_fns, 0, 0 },
8471 { "iii", 204 /* xt_iclass_icache_inv */,
8472 0,
8473 Opcode_iii_encode_fns, 0, 0 },
8474 { "lict", 205 /* xt_iclass_licx */,
8475 0,
8476 Opcode_lict_encode_fns, 0, 0 },
8477 { "licw", 205 /* xt_iclass_licx */,
8478 0,
8479 Opcode_licw_encode_fns, 0, 0 },
8480 { "sict", 206 /* xt_iclass_sicx */,
8481 0,
8482 Opcode_sict_encode_fns, 0, 0 },
8483 { "sicw", 206 /* xt_iclass_sicx */,
8484 0,
8485 Opcode_sicw_encode_fns, 0, 0 },
8486 { "dhwb", 207 /* xt_iclass_dcache */,
8487 0,
8488 Opcode_dhwb_encode_fns, 0, 0 },
8489 { "dhwbi", 207 /* xt_iclass_dcache */,
8490 0,
8491 Opcode_dhwbi_encode_fns, 0, 0 },
8492 { "diwb", 208 /* xt_iclass_dcache_ind */,
8493 0,
8494 Opcode_diwb_encode_fns, 0, 0 },
8495 { "diwbi", 208 /* xt_iclass_dcache_ind */,
8496 0,
8497 Opcode_diwbi_encode_fns, 0, 0 },
8498 { "dhi", 209 /* xt_iclass_dcache_inv */,
8499 0,
8500 Opcode_dhi_encode_fns, 0, 0 },
8501 { "dii", 209 /* xt_iclass_dcache_inv */,
8502 0,
8503 Opcode_dii_encode_fns, 0, 0 },
8504 { "dpfr", 210 /* xt_iclass_dpf */,
8505 0,
8506 Opcode_dpfr_encode_fns, 0, 0 },
8507 { "dpfw", 210 /* xt_iclass_dpf */,
8508 0,
8509 Opcode_dpfw_encode_fns, 0, 0 },
8510 { "dpfro", 210 /* xt_iclass_dpf */,
8511 0,
8512 Opcode_dpfro_encode_fns, 0, 0 },
8513 { "dpfwo", 210 /* xt_iclass_dpf */,
8514 0,
8515 Opcode_dpfwo_encode_fns, 0, 0 },
8516 { "sdct", 211 /* xt_iclass_sdct */,
8517 0,
8518 Opcode_sdct_encode_fns, 0, 0 },
8519 { "ldct", 212 /* xt_iclass_ldct */,
8520 0,
8521 Opcode_ldct_encode_fns, 0, 0 },
074f5109
BW
8522 { "wsr.ptevaddr", 213 /* xt_iclass_wsr.ptevaddr */,
8523 0,
8524 Opcode_wsr_ptevaddr_encode_fns, 0, 0 },
8525 { "rsr.ptevaddr", 214 /* xt_iclass_rsr.ptevaddr */,
8526 0,
8527 Opcode_rsr_ptevaddr_encode_fns, 0, 0 },
8528 { "xsr.ptevaddr", 215 /* xt_iclass_xsr.ptevaddr */,
8529 0,
8530 Opcode_xsr_ptevaddr_encode_fns, 0, 0 },
8531 { "rsr.rasid", 216 /* xt_iclass_rsr.rasid */,
8532 0,
8533 Opcode_rsr_rasid_encode_fns, 0, 0 },
8534 { "wsr.rasid", 217 /* xt_iclass_wsr.rasid */,
8535 0,
8536 Opcode_wsr_rasid_encode_fns, 0, 0 },
8537 { "xsr.rasid", 218 /* xt_iclass_xsr.rasid */,
8538 0,
8539 Opcode_xsr_rasid_encode_fns, 0, 0 },
8540 { "rsr.itlbcfg", 219 /* xt_iclass_rsr.itlbcfg */,
8541 0,
8542 Opcode_rsr_itlbcfg_encode_fns, 0, 0 },
8543 { "wsr.itlbcfg", 220 /* xt_iclass_wsr.itlbcfg */,
8544 0,
8545 Opcode_wsr_itlbcfg_encode_fns, 0, 0 },
8546 { "xsr.itlbcfg", 221 /* xt_iclass_xsr.itlbcfg */,
8547 0,
8548 Opcode_xsr_itlbcfg_encode_fns, 0, 0 },
8549 { "rsr.dtlbcfg", 222 /* xt_iclass_rsr.dtlbcfg */,
8550 0,
8551 Opcode_rsr_dtlbcfg_encode_fns, 0, 0 },
8552 { "wsr.dtlbcfg", 223 /* xt_iclass_wsr.dtlbcfg */,
8553 0,
8554 Opcode_wsr_dtlbcfg_encode_fns, 0, 0 },
8555 { "xsr.dtlbcfg", 224 /* xt_iclass_xsr.dtlbcfg */,
8556 0,
8557 Opcode_xsr_dtlbcfg_encode_fns, 0, 0 },
8558 { "idtlb", 225 /* xt_iclass_idtlb */,
43cd72b9
BW
8559 0,
8560 Opcode_idtlb_encode_fns, 0, 0 },
074f5109 8561 { "pdtlb", 226 /* xt_iclass_rdtlb */,
43cd72b9
BW
8562 0,
8563 Opcode_pdtlb_encode_fns, 0, 0 },
074f5109 8564 { "rdtlb0", 226 /* xt_iclass_rdtlb */,
43cd72b9
BW
8565 0,
8566 Opcode_rdtlb0_encode_fns, 0, 0 },
074f5109 8567 { "rdtlb1", 226 /* xt_iclass_rdtlb */,
43cd72b9
BW
8568 0,
8569 Opcode_rdtlb1_encode_fns, 0, 0 },
074f5109 8570 { "wdtlb", 227 /* xt_iclass_wdtlb */,
43cd72b9
BW
8571 0,
8572 Opcode_wdtlb_encode_fns, 0, 0 },
074f5109 8573 { "iitlb", 228 /* xt_iclass_iitlb */,
43cd72b9
BW
8574 0,
8575 Opcode_iitlb_encode_fns, 0, 0 },
074f5109 8576 { "pitlb", 229 /* xt_iclass_ritlb */,
43cd72b9
BW
8577 0,
8578 Opcode_pitlb_encode_fns, 0, 0 },
074f5109 8579 { "ritlb0", 229 /* xt_iclass_ritlb */,
43cd72b9
BW
8580 0,
8581 Opcode_ritlb0_encode_fns, 0, 0 },
074f5109 8582 { "ritlb1", 229 /* xt_iclass_ritlb */,
43cd72b9
BW
8583 0,
8584 Opcode_ritlb1_encode_fns, 0, 0 },
074f5109 8585 { "witlb", 230 /* xt_iclass_witlb */,
43cd72b9
BW
8586 0,
8587 Opcode_witlb_encode_fns, 0, 0 },
074f5109
BW
8588 { "ldpte", 231 /* xt_iclass_ldpte */,
8589 0,
8590 Opcode_ldpte_encode_fns, 0, 0 },
8591 { "hwwitlba", 232 /* xt_iclass_hwwitlba */,
8592 XTENSA_OPCODE_IS_BRANCH,
8593 Opcode_hwwitlba_encode_fns, 0, 0 },
8594 { "hwwdtlba", 233 /* xt_iclass_hwwdtlba */,
8595 0,
8596 Opcode_hwwdtlba_encode_fns, 0, 0 },
8597 { "nsa", 234 /* xt_iclass_nsa */,
43cd72b9
BW
8598 0,
8599 Opcode_nsa_encode_fns, 0, 0 },
074f5109 8600 { "nsau", 234 /* xt_iclass_nsa */,
43cd72b9
BW
8601 0,
8602 Opcode_nsau_encode_fns, 0, 0 }
8603};
8604
8605\f
8606/* Slot-specific opcode decode functions. */
8607
8608static int
8609Slot_inst_decode (const xtensa_insnbuf insn)
8610{
8611 switch (Field_op0_Slot_inst_get (insn))
8612 {
8613 case 0:
8614 switch (Field_op1_Slot_inst_get (insn))
8615 {
8616 case 0:
8617 switch (Field_op2_Slot_inst_get (insn))
8618 {
8619 case 0:
8620 switch (Field_r_Slot_inst_get (insn))
8621 {
8622 case 0:
8623 switch (Field_m_Slot_inst_get (insn))
8624 {
8625 case 0:
074f5109
BW
8626 if (Field_s_Slot_inst_get (insn) == 0 &&
8627 Field_n_Slot_inst_get (insn) == 0)
8628 return 77; /* ill */
8629 break;
43cd72b9
BW
8630 case 2:
8631 switch (Field_n_Slot_inst_get (insn))
8632 {
8633 case 0:
8634 return 96; /* ret */
8635 case 1:
8636 return 14; /* retw */
8637 case 2:
8638 return 79; /* jx */
8639 }
8640 break;
8641 case 3:
8642 switch (Field_n_Slot_inst_get (insn))
8643 {
8644 case 0:
8645 return 75; /* callx0 */
8646 case 1:
8647 return 10; /* callx4 */
8648 case 2:
8649 return 9; /* callx8 */
8650 case 3:
8651 return 8; /* callx12 */
8652 }
8653 break;
8654 }
8655 break;
8656 case 1:
8657 return 12; /* movsp */
8658 case 2:
8659 if (Field_s_Slot_inst_get (insn) == 0)
8660 {
8661 switch (Field_t_Slot_inst_get (insn))
8662 {
8663 case 0:
8664 return 114; /* isync */
8665 case 1:
8666 return 115; /* rsync */
8667 case 2:
8668 return 116; /* esync */
8669 case 3:
8670 return 117; /* dsync */
8671 case 8:
8672 return 0; /* excw */
8673 case 12:
8674 return 112; /* memw */
8675 case 13:
8676 return 113; /* extw */
8677 case 15:
8678 return 95; /* nop */
8679 }
8680 }
8681 break;
8682 case 3:
8683 switch (Field_t_Slot_inst_get (insn))
8684 {
8685 case 0:
8686 switch (Field_s_Slot_inst_get (insn))
8687 {
8688 case 0:
8689 return 1; /* rfe */
8690 case 2:
8691 return 2; /* rfde */
8692 case 4:
8693 return 16; /* rfwo */
8694 case 5:
8695 return 17; /* rfwu */
8696 }
8697 break;
8698 case 1:
8699 return 188; /* rfi */
8700 }
8701 break;
8702 case 4:
8703 return 196; /* break */
8704 case 5:
8705 switch (Field_s_Slot_inst_get (insn))
8706 {
8707 case 0:
8708 if (Field_t_Slot_inst_get (insn) == 0)
8709 return 3; /* syscall */
8710 break;
8711 case 1:
8712 if (Field_t_Slot_inst_get (insn) == 0)
8713 return 4; /* simcall */
8714 break;
8715 }
8716 break;
8717 case 6:
8718 return 118; /* rsil */
8719 case 7:
8720 if (Field_t_Slot_inst_get (insn) == 0)
8721 return 189; /* waiti */
8722 break;
8723 }
8724 break;
8725 case 1:
8726 return 47; /* and */
8727 case 2:
8728 return 48; /* or */
8729 case 3:
8730 return 49; /* xor */
8731 case 4:
8732 switch (Field_r_Slot_inst_get (insn))
8733 {
8734 case 0:
8735 if (Field_t_Slot_inst_get (insn) == 0)
8736 return 100; /* ssr */
8737 break;
8738 case 1:
8739 if (Field_t_Slot_inst_get (insn) == 0)
8740 return 101; /* ssl */
8741 break;
8742 case 2:
8743 if (Field_t_Slot_inst_get (insn) == 0)
8744 return 102; /* ssa8l */
8745 break;
8746 case 3:
8747 if (Field_t_Slot_inst_get (insn) == 0)
8748 return 103; /* ssa8b */
8749 break;
8750 case 4:
8751 if (Field_thi3_Slot_inst_get (insn) == 0)
8752 return 104; /* ssai */
8753 break;
8754 case 8:
8755 if (Field_s_Slot_inst_get (insn) == 0)
8756 return 13; /* rotw */
8757 break;
8758 case 14:
074f5109 8759 return 289; /* nsa */
43cd72b9 8760 case 15:
074f5109 8761 return 290; /* nsau */
43cd72b9
BW
8762 }
8763 break;
8764 case 5:
8765 switch (Field_r_Slot_inst_get (insn))
8766 {
074f5109
BW
8767 case 1:
8768 return 287; /* hwwitlba */
43cd72b9 8769 case 3:
074f5109 8770 return 283; /* ritlb0 */
43cd72b9 8771 case 4:
074f5109
BW
8772 if (Field_t_Slot_inst_get (insn) == 0)
8773 return 281; /* iitlb */
8774 break;
43cd72b9 8775 case 5:
074f5109 8776 return 282; /* pitlb */
43cd72b9 8777 case 6:
074f5109 8778 return 285; /* witlb */
43cd72b9 8779 case 7:
074f5109
BW
8780 return 284; /* ritlb1 */
8781 case 9:
8782 return 288; /* hwwdtlba */
43cd72b9 8783 case 11:
074f5109 8784 return 278; /* rdtlb0 */
43cd72b9 8785 case 12:
074f5109
BW
8786 if (Field_t_Slot_inst_get (insn) == 0)
8787 return 276; /* idtlb */
8788 break;
43cd72b9 8789 case 13:
074f5109 8790 return 277; /* pdtlb */
43cd72b9 8791 case 14:
074f5109 8792 return 280; /* wdtlb */
43cd72b9 8793 case 15:
074f5109 8794 return 279; /* rdtlb1 */
43cd72b9
BW
8795 }
8796 break;
8797 case 6:
8798 switch (Field_s_Slot_inst_get (insn))
8799 {
8800 case 0:
8801 return 93; /* neg */
8802 case 1:
8803 return 94; /* abs */
8804 }
8805 break;
8806 case 8:
8807 return 39; /* add */
8808 case 9:
8809 return 41; /* addx2 */
8810 case 10:
8811 return 42; /* addx4 */
8812 case 11:
8813 return 43; /* addx8 */
8814 case 12:
8815 return 40; /* sub */
8816 case 13:
8817 return 44; /* subx2 */
8818 case 14:
8819 return 45; /* subx4 */
8820 case 15:
8821 return 46; /* subx8 */
8822 }
8823 break;
8824 case 1:
8825 switch (Field_op2_Slot_inst_get (insn))
8826 {
8827 case 0:
8828 case 1:
8829 return 109; /* slli */
8830 case 2:
8831 case 3:
8832 return 110; /* srai */
8833 case 4:
8834 return 111; /* srli */
8835 case 6:
8836 switch (Field_sr_Slot_inst_get (insn))
8837 {
8838 case 0:
8839 return 127; /* xsr.lbeg */
8840 case 1:
8841 return 121; /* xsr.lend */
8842 case 2:
8843 return 124; /* xsr.lcount */
8844 case 3:
8845 return 130; /* xsr.sar */
8846 case 5:
8847 return 133; /* xsr.litbase */
8848 case 72:
8849 return 22; /* xsr.windowbase */
8850 case 73:
8851 return 25; /* xsr.windowstart */
074f5109
BW
8852 case 83:
8853 return 266; /* xsr.ptevaddr */
8854 case 90:
8855 return 269; /* xsr.rasid */
8856 case 91:
8857 return 272; /* xsr.itlbcfg */
8858 case 92:
8859 return 275; /* xsr.dtlbcfg */
43cd72b9
BW
8860 case 96:
8861 return 218; /* xsr.ibreakenable */
8862 case 104:
8863 return 230; /* xsr.ddr */
8864 case 128:
8865 return 212; /* xsr.ibreaka0 */
8866 case 129:
8867 return 215; /* xsr.ibreaka1 */
8868 case 144:
8869 return 200; /* xsr.dbreaka0 */
8870 case 145:
8871 return 206; /* xsr.dbreaka1 */
8872 case 160:
8873 return 203; /* xsr.dbreakc0 */
8874 case 161:
8875 return 209; /* xsr.dbreakc1 */
8876 case 177:
8877 return 141; /* xsr.epc1 */
8878 case 178:
8879 return 147; /* xsr.epc2 */
8880 case 179:
8881 return 153; /* xsr.epc3 */
8882 case 180:
8883 return 159; /* xsr.epc4 */
8884 case 192:
8885 return 177; /* xsr.depc */
8886 case 194:
8887 return 165; /* xsr.eps2 */
8888 case 195:
8889 return 168; /* xsr.eps3 */
8890 case 196:
8891 return 171; /* xsr.eps4 */
8892 case 209:
8893 return 144; /* xsr.excsave1 */
8894 case 210:
8895 return 150; /* xsr.excsave2 */
8896 case 211:
8897 return 156; /* xsr.excsave3 */
8898 case 212:
8899 return 162; /* xsr.excsave4 */
8900 case 228:
8901 return 195; /* xsr.intenable */
8902 case 230:
8903 return 138; /* xsr.ps */
8904 case 232:
8905 return 180; /* xsr.exccause */
8906 case 233:
8907 return 221; /* xsr.debugcause */
8908 case 234:
8909 return 235; /* xsr.ccount */
8910 case 236:
8911 return 224; /* xsr.icount */
8912 case 237:
8913 return 227; /* xsr.icountlevel */
8914 case 238:
8915 return 174; /* xsr.excvaddr */
8916 case 240:
8917 return 238; /* xsr.ccompare0 */
8918 case 241:
8919 return 241; /* xsr.ccompare1 */
8920 case 242:
8921 return 244; /* xsr.ccompare2 */
8922 case 244:
8923 return 183; /* xsr.misc0 */
8924 case 245:
8925 return 186; /* xsr.misc1 */
8926 }
8927 break;
8928 case 8:
8929 return 106; /* src */
8930 case 9:
8931 if (Field_s_Slot_inst_get (insn) == 0)
8932 return 107; /* srl */
8933 break;
8934 case 10:
8935 if (Field_t_Slot_inst_get (insn) == 0)
8936 return 105; /* sll */
8937 break;
8938 case 11:
8939 if (Field_s_Slot_inst_get (insn) == 0)
8940 return 108; /* sra */
8941 break;
8942 case 15:
8943 switch (Field_r_Slot_inst_get (insn))
8944 {
8945 case 0:
8946 return 248; /* lict */
8947 case 1:
8948 return 250; /* sict */
8949 case 2:
8950 return 249; /* licw */
8951 case 3:
8952 return 251; /* sicw */
8953 case 8:
8954 return 263; /* ldct */
8955 case 9:
8956 return 262; /* sdct */
8957 case 14:
074f5109
BW
8958 if (Field_t_Slot_inst_get (insn) == 0 &&
8959 Field_s_Slot_inst_get (insn) == 0)
43cd72b9 8960 return 231; /* rfdo */
074f5109
BW
8961 if (Field_t_Slot_inst_get (insn) == 1 &&
8962 Field_s_Slot_inst_get (insn) == 0)
43cd72b9
BW
8963 return 232; /* rfdd */
8964 break;
074f5109
BW
8965 case 15:
8966 return 286; /* ldpte */
43cd72b9
BW
8967 }
8968 break;
8969 }
8970 break;
8971 case 3:
8972 switch (Field_op2_Slot_inst_get (insn))
8973 {
8974 case 0:
8975 switch (Field_sr_Slot_inst_get (insn))
8976 {
8977 case 0:
8978 return 125; /* rsr.lbeg */
8979 case 1:
8980 return 119; /* rsr.lend */
8981 case 2:
8982 return 122; /* rsr.lcount */
8983 case 3:
8984 return 128; /* rsr.sar */
8985 case 5:
8986 return 131; /* rsr.litbase */
8987 case 72:
8988 return 20; /* rsr.windowbase */
8989 case 73:
8990 return 23; /* rsr.windowstart */
074f5109
BW
8991 case 83:
8992 return 265; /* rsr.ptevaddr */
8993 case 90:
8994 return 267; /* rsr.rasid */
8995 case 91:
8996 return 270; /* rsr.itlbcfg */
8997 case 92:
8998 return 273; /* rsr.dtlbcfg */
43cd72b9
BW
8999 case 96:
9000 return 216; /* rsr.ibreakenable */
9001 case 104:
9002 return 228; /* rsr.ddr */
9003 case 128:
9004 return 210; /* rsr.ibreaka0 */
9005 case 129:
9006 return 213; /* rsr.ibreaka1 */
9007 case 144:
9008 return 198; /* rsr.dbreaka0 */
9009 case 145:
9010 return 204; /* rsr.dbreaka1 */
9011 case 160:
9012 return 201; /* rsr.dbreakc0 */
9013 case 161:
9014 return 207; /* rsr.dbreakc1 */
9015 case 176:
9016 return 134; /* rsr.176 */
9017 case 177:
9018 return 139; /* rsr.epc1 */
9019 case 178:
9020 return 145; /* rsr.epc2 */
9021 case 179:
9022 return 151; /* rsr.epc3 */
9023 case 180:
9024 return 157; /* rsr.epc4 */
9025 case 192:
9026 return 175; /* rsr.depc */
9027 case 194:
9028 return 163; /* rsr.eps2 */
9029 case 195:
9030 return 166; /* rsr.eps3 */
9031 case 196:
9032 return 169; /* rsr.eps4 */
9033 case 208:
9034 return 135; /* rsr.208 */
9035 case 209:
9036 return 142; /* rsr.excsave1 */
9037 case 210:
9038 return 148; /* rsr.excsave2 */
9039 case 211:
9040 return 154; /* rsr.excsave3 */
9041 case 212:
9042 return 160; /* rsr.excsave4 */
9043 case 226:
9044 return 190; /* rsr.interrupt */
9045 case 228:
9046 return 193; /* rsr.intenable */
9047 case 230:
9048 return 136; /* rsr.ps */
9049 case 232:
9050 return 178; /* rsr.exccause */
9051 case 233:
9052 return 219; /* rsr.debugcause */
9053 case 234:
9054 return 233; /* rsr.ccount */
9055 case 235:
9056 return 187; /* rsr.prid */
9057 case 236:
9058 return 222; /* rsr.icount */
9059 case 237:
9060 return 225; /* rsr.icountlevel */
9061 case 238:
9062 return 172; /* rsr.excvaddr */
9063 case 240:
9064 return 236; /* rsr.ccompare0 */
9065 case 241:
9066 return 239; /* rsr.ccompare1 */
9067 case 242:
9068 return 242; /* rsr.ccompare2 */
9069 case 244:
9070 return 181; /* rsr.misc0 */
9071 case 245:
9072 return 184; /* rsr.misc1 */
9073 }
9074 break;
9075 case 1:
9076 switch (Field_sr_Slot_inst_get (insn))
9077 {
9078 case 0:
9079 return 126; /* wsr.lbeg */
9080 case 1:
9081 return 120; /* wsr.lend */
9082 case 2:
9083 return 123; /* wsr.lcount */
9084 case 3:
9085 return 129; /* wsr.sar */
9086 case 5:
9087 return 132; /* wsr.litbase */
9088 case 72:
9089 return 21; /* wsr.windowbase */
9090 case 73:
9091 return 24; /* wsr.windowstart */
074f5109
BW
9092 case 83:
9093 return 264; /* wsr.ptevaddr */
9094 case 90:
9095 return 268; /* wsr.rasid */
9096 case 91:
9097 return 271; /* wsr.itlbcfg */
9098 case 92:
9099 return 274; /* wsr.dtlbcfg */
43cd72b9
BW
9100 case 96:
9101 return 217; /* wsr.ibreakenable */
9102 case 104:
9103 return 229; /* wsr.ddr */
9104 case 128:
9105 return 211; /* wsr.ibreaka0 */
9106 case 129:
9107 return 214; /* wsr.ibreaka1 */
9108 case 144:
9109 return 199; /* wsr.dbreaka0 */
9110 case 145:
9111 return 205; /* wsr.dbreaka1 */
9112 case 160:
9113 return 202; /* wsr.dbreakc0 */
9114 case 161:
9115 return 208; /* wsr.dbreakc1 */
9116 case 177:
9117 return 140; /* wsr.epc1 */
9118 case 178:
9119 return 146; /* wsr.epc2 */
9120 case 179:
9121 return 152; /* wsr.epc3 */
9122 case 180:
9123 return 158; /* wsr.epc4 */
9124 case 192:
9125 return 176; /* wsr.depc */
9126 case 194:
9127 return 164; /* wsr.eps2 */
9128 case 195:
9129 return 167; /* wsr.eps3 */
9130 case 196:
9131 return 170; /* wsr.eps4 */
9132 case 209:
9133 return 143; /* wsr.excsave1 */
9134 case 210:
9135 return 149; /* wsr.excsave2 */
9136 case 211:
9137 return 155; /* wsr.excsave3 */
9138 case 212:
9139 return 161; /* wsr.excsave4 */
9140 case 226:
9141 return 191; /* wsr.intset */
9142 case 227:
9143 return 192; /* wsr.intclear */
9144 case 228:
9145 return 194; /* wsr.intenable */
9146 case 230:
9147 return 137; /* wsr.ps */
9148 case 232:
9149 return 179; /* wsr.exccause */
9150 case 233:
9151 return 220; /* wsr.debugcause */
9152 case 234:
9153 return 234; /* wsr.ccount */
9154 case 236:
9155 return 223; /* wsr.icount */
9156 case 237:
9157 return 226; /* wsr.icountlevel */
9158 case 238:
9159 return 173; /* wsr.excvaddr */
9160 case 240:
9161 return 237; /* wsr.ccompare0 */
9162 case 241:
9163 return 240; /* wsr.ccompare1 */
9164 case 242:
9165 return 243; /* wsr.ccompare2 */
9166 case 244:
9167 return 182; /* wsr.misc0 */
9168 case 245:
9169 return 185; /* wsr.misc1 */
9170 }
9171 break;
9172 case 8:
9173 return 89; /* moveqz */
9174 case 9:
9175 return 90; /* movnez */
9176 case 10:
9177 return 91; /* movltz */
9178 case 11:
9179 return 92; /* movgez */
9180 }
9181 break;
9182 case 4:
9183 case 5:
9184 return 76; /* extui */
9185 case 9:
9186 switch (Field_op2_Slot_inst_get (insn))
9187 {
9188 case 0:
9189 return 18; /* l32e */
9190 case 4:
9191 return 19; /* s32e */
9192 }
9193 break;
9194 }
e0001a05 9195 break;
43cd72b9
BW
9196 case 1:
9197 return 83; /* l32r */
9198 case 2:
9199 switch (Field_r_Slot_inst_get (insn))
9200 {
9201 case 0:
9202 return 84; /* l8ui */
9203 case 1:
9204 return 80; /* l16ui */
9205 case 2:
9206 return 82; /* l32i */
9207 case 4:
9208 return 99; /* s8i */
9209 case 5:
9210 return 97; /* s16i */
9211 case 6:
9212 return 98; /* s32i */
9213 case 7:
9214 switch (Field_t_Slot_inst_get (insn))
9215 {
9216 case 0:
9217 return 258; /* dpfr */
9218 case 1:
9219 return 259; /* dpfw */
9220 case 2:
9221 return 260; /* dpfro */
9222 case 3:
9223 return 261; /* dpfwo */
9224 case 4:
9225 return 252; /* dhwb */
9226 case 5:
9227 return 253; /* dhwbi */
9228 case 6:
9229 return 256; /* dhi */
9230 case 7:
9231 return 257; /* dii */
9232 case 8:
9233 switch (Field_op1_Slot_inst_get (insn))
9234 {
9235 case 4:
9236 return 254; /* diwb */
9237 case 5:
9238 return 255; /* diwbi */
9239 }
9240 break;
9241 case 12:
9242 return 245; /* ipf */
9243 case 14:
9244 return 246; /* ihi */
9245 case 15:
9246 return 247; /* iii */
9247 }
9248 break;
9249 case 9:
9250 return 81; /* l16si */
9251 case 10:
9252 return 88; /* movi */
9253 case 12:
9254 return 37; /* addi */
9255 case 13:
9256 return 38; /* addmi */
9257 }
e0001a05 9258 break;
43cd72b9
BW
9259 case 5:
9260 switch (Field_n_Slot_inst_get (insn))
9261 {
9262 case 0:
9263 return 74; /* call0 */
9264 case 1:
9265 return 7; /* call4 */
9266 case 2:
9267 return 6; /* call8 */
9268 case 3:
9269 return 5; /* call12 */
9270 }
e0001a05 9271 break;
43cd72b9
BW
9272 case 6:
9273 switch (Field_n_Slot_inst_get (insn))
9274 {
9275 case 0:
9276 return 78; /* j */
9277 case 1:
9278 switch (Field_m_Slot_inst_get (insn))
9279 {
9280 case 0:
9281 return 70; /* beqz */
9282 case 1:
9283 return 71; /* bnez */
9284 case 2:
9285 return 73; /* bltz */
9286 case 3:
9287 return 72; /* bgez */
9288 }
9289 break;
9290 case 2:
9291 switch (Field_m_Slot_inst_get (insn))
9292 {
9293 case 0:
9294 return 50; /* beqi */
9295 case 1:
9296 return 51; /* bnei */
9297 case 2:
9298 return 53; /* blti */
9299 case 3:
9300 return 52; /* bgei */
9301 }
9302 break;
9303 case 3:
9304 switch (Field_m_Slot_inst_get (insn))
9305 {
9306 case 0:
9307 return 11; /* entry */
9308 case 1:
9309 switch (Field_r_Slot_inst_get (insn))
9310 {
9311 case 8:
9312 return 85; /* loop */
9313 case 9:
9314 return 86; /* loopnez */
9315 case 10:
9316 return 87; /* loopgtz */
9317 }
9318 break;
9319 case 2:
9320 return 57; /* bltui */
9321 case 3:
9322 return 56; /* bgeui */
9323 }
9324 break;
9325 }
e0001a05 9326 break;
43cd72b9
BW
9327 case 7:
9328 switch (Field_r_Slot_inst_get (insn))
9329 {
9330 case 0:
9331 return 65; /* bnone */
9332 case 1:
9333 return 58; /* beq */
9334 case 2:
9335 return 61; /* blt */
9336 case 3:
9337 return 63; /* bltu */
9338 case 4:
9339 return 66; /* ball */
9340 case 5:
9341 return 68; /* bbc */
9342 case 6:
9343 case 7:
9344 return 54; /* bbci */
9345 case 8:
9346 return 64; /* bany */
9347 case 9:
9348 return 59; /* bne */
9349 case 10:
9350 return 60; /* bge */
9351 case 11:
9352 return 62; /* bgeu */
9353 case 12:
9354 return 67; /* bnall */
9355 case 13:
9356 return 69; /* bbs */
9357 case 14:
9358 case 15:
9359 return 55; /* bbsi */
9360 }
e0001a05 9361 break;
e0001a05 9362 }
43cd72b9
BW
9363 return 0;
9364}
9365
9366static int
9367Slot_inst16b_decode (const xtensa_insnbuf insn)
9368{
9369 switch (Field_op0_Slot_inst16b_get (insn))
9370 {
9371 case 12:
9372 switch (Field_i_Slot_inst16b_get (insn))
9373 {
9374 case 0:
9375 return 33; /* movi.n */
9376 case 1:
9377 switch (Field_z_Slot_inst16b_get (insn))
9378 {
9379 case 0:
9380 return 28; /* beqz.n */
9381 case 1:
9382 return 29; /* bnez.n */
9383 }
9384 break;
9385 }
e0001a05 9386 break;
43cd72b9
BW
9387 case 13:
9388 switch (Field_r_Slot_inst16b_get (insn))
9389 {
9390 case 0:
9391 return 32; /* mov.n */
9392 case 15:
9393 switch (Field_t_Slot_inst16b_get (insn))
9394 {
9395 case 0:
9396 return 35; /* ret.n */
9397 case 1:
9398 return 15; /* retw.n */
9399 case 2:
9400 return 197; /* break.n */
9401 case 3:
9402 if (Field_s_Slot_inst16b_get (insn) == 0)
9403 return 34; /* nop.n */
9404 break;
9405 case 6:
074f5109
BW
9406 if (Field_s_Slot_inst16b_get (insn) == 0)
9407 return 30; /* ill.n */
9408 break;
43cd72b9
BW
9409 }
9410 break;
9411 }
e0001a05
NC
9412 break;
9413 }
43cd72b9
BW
9414 return 0;
9415}
9416
9417static int
9418Slot_inst16a_decode (const xtensa_insnbuf insn)
9419{
9420 switch (Field_op0_Slot_inst16a_get (insn))
9421 {
9422 case 8:
9423 return 31; /* l32i.n */
9424 case 9:
9425 return 36; /* s32i.n */
9426 case 10:
9427 return 26; /* add.n */
9428 case 11:
9429 return 27; /* addi.n */
e0001a05 9430 }
43cd72b9
BW
9431 return 0;
9432}
9433
9434\f
9435/* Instruction slots. */
9436
9437static void
9438Slot_x24_Format_inst_0_get (const xtensa_insnbuf insn,
9439 xtensa_insnbuf slotbuf)
9440{
9441 slotbuf[0] = (insn[0] & 0xffffff);
9442}
9443
9444static void
9445Slot_x24_Format_inst_0_set (xtensa_insnbuf insn,
9446 const xtensa_insnbuf slotbuf)
9447{
9448 insn[0] = (insn[0] & ~0xffffff) | (slotbuf[0] & 0xffffff);
9449}
9450
9451static void
9452Slot_x16a_Format_inst16a_0_get (const xtensa_insnbuf insn,
9453 xtensa_insnbuf slotbuf)
9454{
9455 slotbuf[0] = ((insn[0] & 0xffff00) >> 8);
9456}
9457
9458static void
9459Slot_x16a_Format_inst16a_0_set (xtensa_insnbuf insn,
9460 const xtensa_insnbuf slotbuf)
9461{
9462 insn[0] = (insn[0] & ~0xffff00) | ((slotbuf[0] & 0xffff) << 8);
9463}
9464
9465static void
9466Slot_x16b_Format_inst16b_0_get (const xtensa_insnbuf insn,
9467 xtensa_insnbuf slotbuf)
9468{
9469 slotbuf[0] = ((insn[0] & 0xffff00) >> 8);
9470}
9471
9472static void
9473Slot_x16b_Format_inst16b_0_set (xtensa_insnbuf insn,
9474 const xtensa_insnbuf slotbuf)
9475{
9476 insn[0] = (insn[0] & ~0xffff00) | ((slotbuf[0] & 0xffff) << 8);
9477}
9478
9479static xtensa_get_field_fn
9480Slot_inst_get_field_fns[] = {
9481 Field_t_Slot_inst_get,
9482 Field_bbi4_Slot_inst_get,
9483 Field_bbi_Slot_inst_get,
9484 Field_imm12_Slot_inst_get,
9485 Field_imm8_Slot_inst_get,
9486 Field_s_Slot_inst_get,
9487 Field_imm12b_Slot_inst_get,
9488 Field_imm16_Slot_inst_get,
9489 Field_m_Slot_inst_get,
9490 Field_n_Slot_inst_get,
9491 Field_offset_Slot_inst_get,
9492 Field_op0_Slot_inst_get,
9493 Field_op1_Slot_inst_get,
9494 Field_op2_Slot_inst_get,
9495 Field_r_Slot_inst_get,
9496 Field_sa4_Slot_inst_get,
9497 Field_sae4_Slot_inst_get,
9498 Field_sae_Slot_inst_get,
9499 Field_sal_Slot_inst_get,
9500 Field_sargt_Slot_inst_get,
9501 Field_sas4_Slot_inst_get,
9502 Field_sas_Slot_inst_get,
9503 Field_sr_Slot_inst_get,
9504 Field_st_Slot_inst_get,
9505 Field_thi3_Slot_inst_get,
9506 Field_imm4_Slot_inst_get,
9507 Field_mn_Slot_inst_get,
9508 0,
9509 0,
9510 0,
9511 0,
9512 0,
9513 0,
9514 0,
9515 0,
9516 Implicit_Field_ar0_get,
9517 Implicit_Field_ar4_get,
9518 Implicit_Field_ar8_get,
9519 Implicit_Field_ar12_get
9520};
9521
9522static xtensa_set_field_fn
9523Slot_inst_set_field_fns[] = {
9524 Field_t_Slot_inst_set,
9525 Field_bbi4_Slot_inst_set,
9526 Field_bbi_Slot_inst_set,
9527 Field_imm12_Slot_inst_set,
9528 Field_imm8_Slot_inst_set,
9529 Field_s_Slot_inst_set,
9530 Field_imm12b_Slot_inst_set,
9531 Field_imm16_Slot_inst_set,
9532 Field_m_Slot_inst_set,
9533 Field_n_Slot_inst_set,
9534 Field_offset_Slot_inst_set,
9535 Field_op0_Slot_inst_set,
9536 Field_op1_Slot_inst_set,
9537 Field_op2_Slot_inst_set,
9538 Field_r_Slot_inst_set,
9539 Field_sa4_Slot_inst_set,
9540 Field_sae4_Slot_inst_set,
9541 Field_sae_Slot_inst_set,
9542 Field_sal_Slot_inst_set,
9543 Field_sargt_Slot_inst_set,
9544 Field_sas4_Slot_inst_set,
9545 Field_sas_Slot_inst_set,
9546 Field_sr_Slot_inst_set,
9547 Field_st_Slot_inst_set,
9548 Field_thi3_Slot_inst_set,
9549 Field_imm4_Slot_inst_set,
9550 Field_mn_Slot_inst_set,
9551 0,
9552 0,
9553 0,
9554 0,
9555 0,
9556 0,
9557 0,
9558 0,
9559 Implicit_Field_set,
9560 Implicit_Field_set,
9561 Implicit_Field_set,
9562 Implicit_Field_set
9563};
9564
9565static xtensa_get_field_fn
9566Slot_inst16a_get_field_fns[] = {
9567 Field_t_Slot_inst16a_get,
9568 0,
9569 0,
9570 0,
9571 0,
9572 Field_s_Slot_inst16a_get,
9573 0,
9574 0,
9575 0,
9576 0,
9577 0,
9578 Field_op0_Slot_inst16a_get,
9579 0,
9580 0,
9581 Field_r_Slot_inst16a_get,
9582 0,
9583 0,
9584 0,
9585 0,
9586 0,
9587 0,
9588 0,
9589 Field_sr_Slot_inst16a_get,
9590 Field_st_Slot_inst16a_get,
9591 0,
9592 Field_imm4_Slot_inst16a_get,
9593 0,
9594 Field_i_Slot_inst16a_get,
9595 Field_imm6lo_Slot_inst16a_get,
9596 Field_imm6hi_Slot_inst16a_get,
9597 Field_imm7lo_Slot_inst16a_get,
9598 Field_imm7hi_Slot_inst16a_get,
9599 Field_z_Slot_inst16a_get,
9600 Field_imm6_Slot_inst16a_get,
9601 Field_imm7_Slot_inst16a_get,
9602 Implicit_Field_ar0_get,
9603 Implicit_Field_ar4_get,
9604 Implicit_Field_ar8_get,
9605 Implicit_Field_ar12_get
9606};
9607
9608static xtensa_set_field_fn
9609Slot_inst16a_set_field_fns[] = {
9610 Field_t_Slot_inst16a_set,
9611 0,
9612 0,
9613 0,
9614 0,
9615 Field_s_Slot_inst16a_set,
9616 0,
9617 0,
9618 0,
9619 0,
9620 0,
9621 Field_op0_Slot_inst16a_set,
9622 0,
9623 0,
9624 Field_r_Slot_inst16a_set,
9625 0,
9626 0,
9627 0,
9628 0,
9629 0,
9630 0,
9631 0,
9632 Field_sr_Slot_inst16a_set,
9633 Field_st_Slot_inst16a_set,
9634 0,
9635 Field_imm4_Slot_inst16a_set,
9636 0,
9637 Field_i_Slot_inst16a_set,
9638 Field_imm6lo_Slot_inst16a_set,
9639 Field_imm6hi_Slot_inst16a_set,
9640 Field_imm7lo_Slot_inst16a_set,
9641 Field_imm7hi_Slot_inst16a_set,
9642 Field_z_Slot_inst16a_set,
9643 Field_imm6_Slot_inst16a_set,
9644 Field_imm7_Slot_inst16a_set,
9645 Implicit_Field_set,
9646 Implicit_Field_set,
9647 Implicit_Field_set,
9648 Implicit_Field_set
9649};
9650
9651static xtensa_get_field_fn
9652Slot_inst16b_get_field_fns[] = {
9653 Field_t_Slot_inst16b_get,
9654 0,
9655 0,
9656 0,
9657 0,
9658 Field_s_Slot_inst16b_get,
9659 0,
9660 0,
9661 0,
9662 0,
9663 0,
9664 Field_op0_Slot_inst16b_get,
9665 0,
9666 0,
9667 Field_r_Slot_inst16b_get,
9668 0,
9669 0,
9670 0,
9671 0,
9672 0,
9673 0,
9674 0,
9675 Field_sr_Slot_inst16b_get,
9676 Field_st_Slot_inst16b_get,
9677 0,
9678 Field_imm4_Slot_inst16b_get,
9679 0,
9680 Field_i_Slot_inst16b_get,
9681 Field_imm6lo_Slot_inst16b_get,
9682 Field_imm6hi_Slot_inst16b_get,
9683 Field_imm7lo_Slot_inst16b_get,
9684 Field_imm7hi_Slot_inst16b_get,
9685 Field_z_Slot_inst16b_get,
9686 Field_imm6_Slot_inst16b_get,
9687 Field_imm7_Slot_inst16b_get,
9688 Implicit_Field_ar0_get,
9689 Implicit_Field_ar4_get,
9690 Implicit_Field_ar8_get,
9691 Implicit_Field_ar12_get
9692};
9693
9694static xtensa_set_field_fn
9695Slot_inst16b_set_field_fns[] = {
9696 Field_t_Slot_inst16b_set,
9697 0,
9698 0,
9699 0,
9700 0,
9701 Field_s_Slot_inst16b_set,
9702 0,
9703 0,
9704 0,
9705 0,
9706 0,
9707 Field_op0_Slot_inst16b_set,
9708 0,
9709 0,
9710 Field_r_Slot_inst16b_set,
9711 0,
9712 0,
9713 0,
9714 0,
9715 0,
9716 0,
9717 0,
9718 Field_sr_Slot_inst16b_set,
9719 Field_st_Slot_inst16b_set,
9720 0,
9721 Field_imm4_Slot_inst16b_set,
9722 0,
9723 Field_i_Slot_inst16b_set,
9724 Field_imm6lo_Slot_inst16b_set,
9725 Field_imm6hi_Slot_inst16b_set,
9726 Field_imm7lo_Slot_inst16b_set,
9727 Field_imm7hi_Slot_inst16b_set,
9728 Field_z_Slot_inst16b_set,
9729 Field_imm6_Slot_inst16b_set,
9730 Field_imm7_Slot_inst16b_set,
9731 Implicit_Field_set,
9732 Implicit_Field_set,
9733 Implicit_Field_set,
9734 Implicit_Field_set
9735};
9736
9737static xtensa_slot_internal slots[] = {
9738 { "Inst", "x24", 0,
9739 Slot_x24_Format_inst_0_get, Slot_x24_Format_inst_0_set,
9740 Slot_inst_get_field_fns, Slot_inst_set_field_fns,
9741 Slot_inst_decode, "nop" },
9742 { "Inst16a", "x16a", 0,
9743 Slot_x16a_Format_inst16a_0_get, Slot_x16a_Format_inst16a_0_set,
9744 Slot_inst16a_get_field_fns, Slot_inst16a_set_field_fns,
9745 Slot_inst16a_decode, "" },
9746 { "Inst16b", "x16b", 0,
9747 Slot_x16b_Format_inst16b_0_get, Slot_x16b_Format_inst16b_0_set,
9748 Slot_inst16b_get_field_fns, Slot_inst16b_set_field_fns,
9749 Slot_inst16b_decode, "nop.n" }
9750};
9751
9752\f
9753/* Instruction formats. */
9754
9755static void
9756Format_x24_encode (xtensa_insnbuf insn)
9757{
9758 insn[0] = 0;
9759}
9760
9761static void
9762Format_x16a_encode (xtensa_insnbuf insn)
9763{
9764 insn[0] = 0x800000;
e0001a05
NC
9765}
9766
43cd72b9
BW
9767static void
9768Format_x16b_encode (xtensa_insnbuf insn)
e0001a05 9769{
43cd72b9 9770 insn[0] = 0xc00000;
e0001a05
NC
9771}
9772
43cd72b9
BW
9773static int Format_x24_slots[] = { 0 };
9774
9775static int Format_x16a_slots[] = { 1 };
9776
9777static int Format_x16b_slots[] = { 2 };
9778
9779static xtensa_format_internal formats[] = {
9780 { "x24", 3, Format_x24_encode, 1, Format_x24_slots },
9781 { "x16a", 2, Format_x16a_encode, 1, Format_x16a_slots },
9782 { "x16b", 2, Format_x16b_encode, 1, Format_x16b_slots }
e0001a05
NC
9783};
9784
e0001a05 9785
43cd72b9
BW
9786static int
9787format_decoder (const xtensa_insnbuf insn)
e0001a05 9788{
43cd72b9
BW
9789 if ((insn[0] & 0x800000) == 0)
9790 return 0; /* x24 */
9791 if ((insn[0] & 0xc00000) == 0x800000)
9792 return 1; /* x16a */
9793 if ((insn[0] & 0xe00000) == 0xc00000)
9794 return 2; /* x16b */
9795 return -1;
e0001a05
NC
9796}
9797
43cd72b9
BW
9798static int length_table[16] = {
9799 3,
9800 3,
9801 3,
9802 3,
9803 3,
9804 3,
9805 3,
9806 3,
9807 2,
9808 2,
9809 2,
9810 2,
9811 2,
9812 2,
9813 -1,
9814 -1
9815};
9816
9817static int
f075ee0c 9818length_decoder (const unsigned char *insn)
43cd72b9
BW
9819{
9820 int op0 = (insn[0] >> 4) & 0xf;
9821 return length_table[op0];
9822}
9823
9824\f
9825/* Top-level ISA structure. */
9826
9827xtensa_isa_internal xtensa_modules = {
9828 1 /* big-endian */,
9829 3 /* insn_size */, 0,
9830 3, formats, format_decoder, length_decoder,
9831 3, slots,
9832 39 /* num_fields */,
9833 70, operands,
074f5109
BW
9834 235, iclasses,
9835 291, opcodes, 0,
43cd72b9
BW
9836 1, regfiles,
9837 NUM_STATES, states, 0,
9838 NUM_SYSREGS, sysregs, 0,
9839 { MAX_SPECIAL_REG, MAX_USER_REG }, { 0, 0 },
9840 0, interfaces, 0,
9841 0, funcUnits, 0
e0001a05 9842};
This page took 0.661167 seconds and 4 git commands to generate.