]>
Commit | Line | Data |
---|---|---|
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 | ||
28 | static 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 | ||
87 | static xtensa_state_internal states[] = { | |
88 | { "LCOUNT", 32, 0 }, | |
89 | { "PC", 32, 0 }, | |
90 | { "ICOUNT", 32, 0 }, | |
91 | { "DDR", 32, 0 }, | |
92 | { "INTERRUPT", 17, 0 }, | |
93 | { "CCOUNT", 32, 0 }, | |
94 | { "XTSYNC", 1, 0 }, | |
95 | { "EPC1", 32, 0 }, | |
96 | { "EPC2", 32, 0 }, | |
97 | { "EPC3", 32, 0 }, | |
98 | { "EPC4", 32, 0 }, | |
99 | { "EXCSAVE1", 32, 0 }, | |
100 | { "EXCSAVE2", 32, 0 }, | |
101 | { "EXCSAVE3", 32, 0 }, | |
102 | { "EXCSAVE4", 32, 0 }, | |
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 | ||
215 | static unsigned | |
216 | Field_t_Slot_inst_get (const xtensa_insnbuf insn) | |
217 | { | |
218 | unsigned tie_t = 0; | |
219 | tie_t = (tie_t << 4) | ((insn[0] << 12) >> 28); | |
220 | return tie_t; | |
221 | } | |
222 | ||
223 | static void | |
224 | Field_t_Slot_inst_set (xtensa_insnbuf insn, uint32 val) | |
225 | { | |
226 | uint32 tie_t; | |
227 | tie_t = (val << 28) >> 28; | |
228 | insn[0] = (insn[0] & ~0xf0000) | (tie_t << 16); | |
229 | } | |
230 | ||
231 | static unsigned | |
232 | Field_s_Slot_inst_get (const xtensa_insnbuf insn) | |
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 |
239 | static void |
240 | Field_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 |
247 | static unsigned |
248 | Field_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 |
255 | static void |
256 | Field_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 |
263 | static unsigned |
264 | Field_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 |
271 | static void |
272 | Field_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 |
279 | static unsigned |
280 | Field_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 |
287 | static void |
288 | Field_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 |
295 | static unsigned |
296 | Field_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 |
303 | static void |
304 | Field_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 |
311 | static unsigned |
312 | Field_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 |
319 | static void |
320 | Field_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 |
327 | static unsigned |
328 | Field_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 |
335 | static void |
336 | Field_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 |
343 | static unsigned |
344 | Field_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 |
352 | static void |
353 | Field_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 |
362 | static unsigned |
363 | Field_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 |
370 | static void |
371 | Field_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 |
378 | static unsigned |
379 | Field_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 |
386 | static void |
387 | Field_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 |
394 | static unsigned |
395 | Field_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 |
402 | static void |
403 | Field_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 |
410 | static unsigned |
411 | Field_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 |
418 | static void |
419 | Field_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 |
426 | static unsigned |
427 | Field_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 |
434 | static void |
435 | Field_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 |
442 | static unsigned |
443 | Field_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 |
450 | static void |
451 | Field_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 |
458 | static unsigned |
459 | Field_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 |
466 | static void |
467 | Field_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 |
474 | static unsigned |
475 | Field_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 |
482 | static void |
483 | Field_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 |
490 | static unsigned |
491 | Field_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 |
498 | static void |
499 | Field_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 |
506 | static unsigned |
507 | Field_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 |
514 | static void |
515 | Field_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 |
522 | static unsigned |
523 | Field_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 |
531 | static void |
532 | Field_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 |
541 | static unsigned |
542 | Field_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 |
549 | static void |
550 | Field_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 |
557 | static unsigned |
558 | Field_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 |
565 | static void |
566 | Field_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 |
573 | static unsigned |
574 | Field_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 |
581 | static void |
582 | Field_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 |
589 | static unsigned |
590 | Field_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 |
598 | static void |
599 | Field_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 |
608 | static unsigned |
609 | Field_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 |
616 | static void |
617 | Field_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 |
624 | static unsigned |
625 | Field_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 |
632 | static void |
633 | Field_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 |
640 | static unsigned |
641 | Field_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 |
648 | static void |
649 | Field_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 |
656 | static unsigned |
657 | Field_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 |
664 | static void |
665 | Field_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 |
672 | static unsigned |
673 | Field_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 |
680 | static void |
681 | Field_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 |
688 | static unsigned |
689 | Field_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 |
697 | static void |
698 | Field_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 |
707 | static unsigned |
708 | Field_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 |
716 | static void |
717 | Field_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 |
726 | static unsigned |
727 | Field_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 |
735 | static void |
736 | Field_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 |
745 | static unsigned |
746 | Field_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 |
753 | static void |
754 | Field_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 |
761 | static unsigned |
762 | Field_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 |
770 | static void |
771 | Field_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 |
780 | static unsigned |
781 | Field_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 |
789 | static void |
790 | Field_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 |
799 | static unsigned |
800 | Field_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 |
808 | static void |
809 | Field_sr_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) | |
810 | { | |
811 | uint32 tie_t; | |
812 | tie_t = (val << 28) >> 28; | |
813 | insn[0] = (insn[0] & ~0xf) | (tie_t << 0); | |
814 | tie_t = (val << 24) >> 28; | |
815 | insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); | |
816 | } | |
e0001a05 | 817 | |
43cd72b9 BW |
818 | static unsigned |
819 | Field_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 |
827 | static void |
828 | Field_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 |
837 | static unsigned |
838 | Field_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 |
846 | static void |
847 | Field_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 |
856 | static unsigned |
857 | Field_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 |
865 | static void |
866 | Field_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 |
875 | static unsigned |
876 | Field_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 |
883 | static void |
884 | Field_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 |
891 | static unsigned |
892 | Field_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 |
899 | static void |
900 | Field_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 |
907 | static unsigned |
908 | Field_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 |
915 | static void |
916 | Field_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 |
923 | static unsigned |
924 | Field_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 |
932 | static void |
933 | Field_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 |
942 | static unsigned |
943 | Field_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 |
950 | static void |
951 | Field_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 |
958 | static unsigned |
959 | Field_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 |
966 | static void |
967 | Field_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 |
974 | static unsigned |
975 | Field_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 |
982 | static void |
983 | Field_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 |
990 | static unsigned |
991 | Field_imm6hi_Slot_inst16a_get (const xtensa_insnbuf insn) | |
992 | { | |
993 | unsigned tie_t = 0; | |
994 | tie_t = (tie_t << 2) | ((insn[0] << 22) >> 30); | |
995 | return tie_t; | |
996 | } | |
e0001a05 | 997 | |
43cd72b9 BW |
998 | static void |
999 | Field_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 |
1006 | static unsigned |
1007 | Field_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 |
1014 | static void |
1015 | Field_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 |
1022 | static unsigned |
1023 | Field_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 |
1030 | static void |
1031 | Field_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 |
1038 | static unsigned |
1039 | Field_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 |
1046 | static void |
1047 | Field_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 |
1054 | static unsigned |
1055 | Field_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 |
1062 | static void |
1063 | Field_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 |
1070 | static unsigned |
1071 | Field_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 |
1078 | static void |
1079 | Field_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 |
1086 | static unsigned |
1087 | Field_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 |
1094 | static void |
1095 | Field_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 |
1102 | static unsigned |
1103 | Field_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 |
1111 | static void |
1112 | Field_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 |
1121 | static unsigned |
1122 | Field_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 |
1130 | static void |
1131 | Field_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 |
1140 | static unsigned |
1141 | Field_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 |
1149 | static void |
1150 | Field_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 |
1159 | static unsigned |
1160 | Field_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 |
1168 | static void |
1169 | Field_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 |
1178 | static void |
1179 | Implicit_Field_set (xtensa_insnbuf insn ATTRIBUTE_UNUSED, | |
1180 | uint32 val ATTRIBUTE_UNUSED) | |
e0001a05 | 1181 | { |
43cd72b9 | 1182 | /* Do nothing. */ |
e0001a05 NC |
1183 | } |
1184 | ||
43cd72b9 BW |
1185 | static unsigned |
1186 | Implicit_Field_ar0_get (const xtensa_insnbuf insn ATTRIBUTE_UNUSED) | |
e0001a05 | 1187 | { |
43cd72b9 | 1188 | return 0; |
e0001a05 NC |
1189 | } |
1190 | ||
43cd72b9 BW |
1191 | static unsigned |
1192 | Implicit_Field_ar4_get (const xtensa_insnbuf insn ATTRIBUTE_UNUSED) | |
e0001a05 | 1193 | { |
43cd72b9 | 1194 | return 4; |
e0001a05 NC |
1195 | } |
1196 | ||
43cd72b9 BW |
1197 | static unsigned |
1198 | Implicit_Field_ar8_get (const xtensa_insnbuf insn ATTRIBUTE_UNUSED) | |
e0001a05 | 1199 | { |
43cd72b9 | 1200 | return 8; |
e0001a05 NC |
1201 | } |
1202 | ||
43cd72b9 BW |
1203 | static unsigned |
1204 | Implicit_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 | ||
1212 | static xtensa_funcUnit_internal funcUnits[] = { | |
1213 | ||
1214 | }; | |
1215 | ||
1216 | \f | |
1217 | /* Register files. */ | |
1218 | ||
1219 | static xtensa_regfile_internal regfiles[] = { | |
1220 | { "AR", "a", 0, 32, 64 } | |
1221 | }; | |
1222 | ||
1223 | \f | |
1224 | /* Interfaces. */ | |
1225 | ||
1226 | static xtensa_interface_internal interfaces[] = { | |
1227 | ||
1228 | }; | |
1229 | ||
1230 | \f | |
1231 | /* Constant tables. */ | |
1232 | ||
1233 | /* constant table ai4c */ | |
1234 | static const unsigned CONST_TBL_ai4c_0[] = { | |
1235 | 0xffffffff, | |
1236 | 0x1, | |
1237 | 0x2, | |
1238 | 0x3, | |
1239 | 0x4, | |
1240 | 0x5, | |
1241 | 0x6, | |
1242 | 0x7, | |
1243 | 0x8, | |
1244 | 0x9, | |
1245 | 0xa, | |
1246 | 0xb, | |
1247 | 0xc, | |
1248 | 0xd, | |
1249 | 0xe, | |
1250 | 0xf, | |
1251 | 0 | |
1252 | }; | |
1253 | ||
1254 | /* constant table b4c */ | |
1255 | static const unsigned CONST_TBL_b4c_0[] = { | |
1256 | 0xffffffff, | |
1257 | 0x1, | |
1258 | 0x2, | |
1259 | 0x3, | |
1260 | 0x4, | |
1261 | 0x5, | |
1262 | 0x6, | |
1263 | 0x7, | |
1264 | 0x8, | |
1265 | 0xa, | |
1266 | 0xc, | |
1267 | 0x10, | |
1268 | 0x20, | |
1269 | 0x40, | |
1270 | 0x80, | |
1271 | 0x100, | |
1272 | 0 | |
1273 | }; | |
1274 | ||
1275 | /* constant table b4cu */ | |
1276 | static const unsigned CONST_TBL_b4cu_0[] = { | |
1277 | 0x8000, | |
1278 | 0x10000, | |
1279 | 0x2, | |
1280 | 0x3, | |
1281 | 0x4, | |
1282 | 0x5, | |
1283 | 0x6, | |
1284 | 0x7, | |
1285 | 0x8, | |
1286 | 0xa, | |
1287 | 0xc, | |
1288 | 0x10, | |
1289 | 0x20, | |
1290 | 0x40, | |
1291 | 0x80, | |
1292 | 0x100, | |
1293 | 0 | |
1294 | }; | |
1295 | ||
1296 | \f | |
1297 | /* Instruction operands. */ | |
1298 | ||
1299 | static int | |
1300 | Operand_soffsetx4_decode (uint32 *valp) | |
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 |
1309 | static int |
1310 | Operand_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 |
1319 | static int |
1320 | Operand_soffsetx4_ator (uint32 *valp, uint32 pc) | |
e0001a05 | 1321 | { |
43cd72b9 BW |
1322 | *valp -= (pc & ~0x3); |
1323 | return 0; | |
e0001a05 NC |
1324 | } |
1325 | ||
43cd72b9 BW |
1326 | static int |
1327 | Operand_soffsetx4_rtoa (uint32 *valp, uint32 pc) | |
e0001a05 | 1328 | { |
43cd72b9 BW |
1329 | *valp += (pc & ~0x3); |
1330 | return 0; | |
e0001a05 NC |
1331 | } |
1332 | ||
43cd72b9 BW |
1333 | static int |
1334 | Operand_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 |
1343 | static int |
1344 | Operand_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 |
1353 | static int |
1354 | Operand_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 |
1363 | static int |
1364 | Operand_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 |
1373 | static int |
1374 | Operand_arr_decode (uint32 *valp ATTRIBUTE_UNUSED) | |
e0001a05 | 1375 | { |
43cd72b9 | 1376 | return 0; |
e0001a05 NC |
1377 | } |
1378 | ||
43cd72b9 BW |
1379 | static int |
1380 | Operand_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 |
1387 | static int |
1388 | Operand_ars_decode (uint32 *valp ATTRIBUTE_UNUSED) | |
e0001a05 | 1389 | { |
43cd72b9 | 1390 | return 0; |
e0001a05 NC |
1391 | } |
1392 | ||
43cd72b9 BW |
1393 | static int |
1394 | Operand_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 |
1401 | static int |
1402 | Operand_art_decode (uint32 *valp ATTRIBUTE_UNUSED) | |
1403 | { | |
1404 | return 0; | |
1405 | } | |
e0001a05 | 1406 | |
43cd72b9 BW |
1407 | static int |
1408 | Operand_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 |
1415 | static int |
1416 | Operand_ar0_decode (uint32 *valp ATTRIBUTE_UNUSED) | |
e0001a05 | 1417 | { |
43cd72b9 | 1418 | return 0; |
e0001a05 NC |
1419 | } |
1420 | ||
43cd72b9 BW |
1421 | static int |
1422 | Operand_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 |
1429 | static int |
1430 | Operand_ar4_decode (uint32 *valp ATTRIBUTE_UNUSED) | |
e0001a05 | 1431 | { |
43cd72b9 | 1432 | return 0; |
e0001a05 NC |
1433 | } |
1434 | ||
43cd72b9 BW |
1435 | static int |
1436 | Operand_ar4_encode (uint32 *valp) | |
1437 | { | |
1438 | int error; | |
1439 | error = (*valp & ~0x3f) != 0; | |
1440 | return error; | |
e0001a05 NC |
1441 | } |
1442 | ||
43cd72b9 BW |
1443 | static int |
1444 | Operand_ar8_decode (uint32 *valp ATTRIBUTE_UNUSED) | |
e0001a05 | 1445 | { |
43cd72b9 | 1446 | return 0; |
e0001a05 NC |
1447 | } |
1448 | ||
43cd72b9 BW |
1449 | static int |
1450 | Operand_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 |
1457 | static int |
1458 | Operand_ar12_decode (uint32 *valp ATTRIBUTE_UNUSED) | |
e0001a05 | 1459 | { |
43cd72b9 | 1460 | return 0; |
e0001a05 NC |
1461 | } |
1462 | ||
43cd72b9 BW |
1463 | static int |
1464 | Operand_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 |
1471 | static int |
1472 | Operand_ars_entry_decode (uint32 *valp ATTRIBUTE_UNUSED) | |
1473 | { | |
1474 | return 0; | |
1475 | } | |
e0001a05 | 1476 | |
43cd72b9 BW |
1477 | static int |
1478 | Operand_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 |
1485 | static int |
1486 | Operand_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 |
1495 | static int |
1496 | Operand_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 |
1505 | static int |
1506 | Operand_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 |
1515 | static int |
1516 | Operand_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 |
1525 | static int |
1526 | Operand_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 |
1535 | static int |
1536 | Operand_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 |
1545 | static int |
1546 | Operand_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 |
1555 | static int |
1556 | Operand_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 |
1565 | static int |
1566 | Operand_uimm6_ator (uint32 *valp, uint32 pc) | |
e0001a05 | 1567 | { |
43cd72b9 BW |
1568 | *valp -= pc; |
1569 | return 0; | |
e0001a05 NC |
1570 | } |
1571 | ||
43cd72b9 BW |
1572 | static int |
1573 | Operand_uimm6_rtoa (uint32 *valp, uint32 pc) | |
e0001a05 | 1574 | { |
43cd72b9 BW |
1575 | *valp += pc; |
1576 | return 0; | |
e0001a05 NC |
1577 | } |
1578 | ||
43cd72b9 BW |
1579 | static int |
1580 | Operand_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 |
1589 | static int |
1590 | Operand_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 |
1617 | static int |
1618 | Operand_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 |
1627 | static int |
1628 | Operand_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 |
1655 | static int |
1656 | Operand_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 |
1665 | static int |
1666 | Operand_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 |
1693 | static int |
1694 | Operand_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 |
1703 | static int |
1704 | Operand_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 |
1713 | static int |
1714 | Operand_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 |
1723 | static int |
1724 | Operand_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 |
1733 | static int |
1734 | Operand_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 |
1743 | static int |
1744 | Operand_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 |
1753 | static int |
1754 | Operand_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 |
1763 | static int |
1764 | Operand_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 |
1773 | static int |
1774 | Operand_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 |
1783 | static int |
1784 | Operand_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 |
1793 | static int |
1794 | Operand_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 |
1803 | static int |
1804 | Operand_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 |
1813 | static int |
1814 | Operand_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 |
1823 | static int |
1824 | Operand_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 |
1833 | static int |
1834 | Operand_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 |
1843 | static int |
1844 | Operand_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 |
1853 | static int |
1854 | Operand_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 |
1863 | static int |
1864 | Operand_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 |
1873 | static int |
1874 | Operand_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 |
1883 | static int |
1884 | Operand_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 |
1893 | static int |
1894 | Operand_label8_ator (uint32 *valp, uint32 pc) | |
e0001a05 | 1895 | { |
43cd72b9 BW |
1896 | *valp -= pc; |
1897 | return 0; | |
e0001a05 NC |
1898 | } |
1899 | ||
43cd72b9 BW |
1900 | static int |
1901 | Operand_label8_rtoa (uint32 *valp, uint32 pc) | |
e0001a05 | 1902 | { |
43cd72b9 BW |
1903 | *valp += pc; |
1904 | return 0; | |
e0001a05 NC |
1905 | } |
1906 | ||
43cd72b9 BW |
1907 | static int |
1908 | Operand_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 |
1917 | static int |
1918 | Operand_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 |
1927 | static int |
1928 | Operand_ulabel8_ator (uint32 *valp, uint32 pc) | |
e0001a05 | 1929 | { |
43cd72b9 BW |
1930 | *valp -= pc; |
1931 | return 0; | |
e0001a05 NC |
1932 | } |
1933 | ||
43cd72b9 BW |
1934 | static int |
1935 | Operand_ulabel8_rtoa (uint32 *valp, uint32 pc) | |
e0001a05 | 1936 | { |
43cd72b9 BW |
1937 | *valp += pc; |
1938 | return 0; | |
e0001a05 NC |
1939 | } |
1940 | ||
43cd72b9 BW |
1941 | static int |
1942 | Operand_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 |
1951 | static int |
1952 | Operand_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 |
1961 | static int |
1962 | Operand_label12_ator (uint32 *valp, uint32 pc) | |
1963 | { | |
1964 | *valp -= pc; | |
1965 | return 0; | |
1966 | } | |
e0001a05 | 1967 | |
43cd72b9 BW |
1968 | static int |
1969 | Operand_label12_rtoa (uint32 *valp, uint32 pc) | |
1970 | { | |
1971 | *valp += pc; | |
1972 | return 0; | |
1973 | } | |
e0001a05 | 1974 | |
43cd72b9 BW |
1975 | static int |
1976 | Operand_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 |
1985 | static int |
1986 | Operand_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 |
1995 | static int |
1996 | Operand_soffset_ator (uint32 *valp, uint32 pc) | |
e0001a05 | 1997 | { |
43cd72b9 BW |
1998 | *valp -= pc; |
1999 | return 0; | |
e0001a05 NC |
2000 | } |
2001 | ||
43cd72b9 BW |
2002 | static int |
2003 | Operand_soffset_rtoa (uint32 *valp, uint32 pc) | |
e0001a05 | 2004 | { |
43cd72b9 BW |
2005 | *valp += pc; |
2006 | return 0; | |
e0001a05 NC |
2007 | } |
2008 | ||
43cd72b9 BW |
2009 | static int |
2010 | Operand_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 |
2019 | static int |
2020 | Operand_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 |
2029 | static int |
2030 | Operand_uimm16x4_ator (uint32 *valp, uint32 pc) | |
e0001a05 | 2031 | { |
43cd72b9 BW |
2032 | *valp -= ((pc + 3) & ~0x3); |
2033 | return 0; | |
e0001a05 NC |
2034 | } |
2035 | ||
43cd72b9 BW |
2036 | static int |
2037 | Operand_uimm16x4_rtoa (uint32 *valp, uint32 pc) | |
2038 | { | |
2039 | *valp += ((pc + 3) & ~0x3); | |
2040 | return 0; | |
2041 | } | |
2042 | ||
2043 | static int | |
2044 | Operand_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 | ||
2053 | static int | |
2054 | Operand_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 | ||
2063 | static int | |
2064 | Operand_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 | ||
2073 | static int | |
2074 | Operand_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 | ||
2083 | static 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 | ||
2264 | static 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 | ||
2270 | static 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 | ||
2276 | static xtensa_arg_internal Iclass_xt_iclass_call12_args[] = { | |
2277 | { { 0 /* soffsetx4 */ }, 'i' }, | |
2278 | { { 10 /* ar12 */ }, 'o' } | |
2279 | }; | |
2280 | ||
2281 | static xtensa_arg_internal Iclass_xt_iclass_call12_stateArgs[] = { | |
2282 | { { STATE_PSCALLINC }, 'o' } | |
2283 | }; | |
2284 | ||
2285 | static xtensa_arg_internal Iclass_xt_iclass_call8_args[] = { | |
2286 | { { 0 /* soffsetx4 */ }, 'i' }, | |
2287 | { { 9 /* ar8 */ }, 'o' } | |
e0001a05 NC |
2288 | }; |
2289 | ||
43cd72b9 BW |
2290 | static xtensa_arg_internal Iclass_xt_iclass_call8_stateArgs[] = { |
2291 | { { STATE_PSCALLINC }, 'o' } | |
e0001a05 NC |
2292 | }; |
2293 | ||
43cd72b9 BW |
2294 | static xtensa_arg_internal Iclass_xt_iclass_call4_args[] = { |
2295 | { { 0 /* soffsetx4 */ }, 'i' }, | |
2296 | { { 8 /* ar4 */ }, 'o' } | |
e0001a05 NC |
2297 | }; |
2298 | ||
43cd72b9 BW |
2299 | static xtensa_arg_internal Iclass_xt_iclass_call4_stateArgs[] = { |
2300 | { { STATE_PSCALLINC }, 'o' } | |
e0001a05 NC |
2301 | }; |
2302 | ||
43cd72b9 BW |
2303 | static xtensa_arg_internal Iclass_xt_iclass_callx12_args[] = { |
2304 | { { 4 /* ars */ }, 'i' }, | |
2305 | { { 10 /* ar12 */ }, 'o' } | |
e0001a05 NC |
2306 | }; |
2307 | ||
43cd72b9 BW |
2308 | static xtensa_arg_internal Iclass_xt_iclass_callx12_stateArgs[] = { |
2309 | { { STATE_PSCALLINC }, 'o' } | |
e0001a05 NC |
2310 | }; |
2311 | ||
43cd72b9 BW |
2312 | static xtensa_arg_internal Iclass_xt_iclass_callx8_args[] = { |
2313 | { { 4 /* ars */ }, 'i' }, | |
2314 | { { 9 /* ar8 */ }, 'o' } | |
e0001a05 NC |
2315 | }; |
2316 | ||
43cd72b9 BW |
2317 | static xtensa_arg_internal Iclass_xt_iclass_callx8_stateArgs[] = { |
2318 | { { STATE_PSCALLINC }, 'o' } | |
e0001a05 NC |
2319 | }; |
2320 | ||
43cd72b9 BW |
2321 | static xtensa_arg_internal Iclass_xt_iclass_callx4_args[] = { |
2322 | { { 4 /* ars */ }, 'i' }, | |
2323 | { { 8 /* ar4 */ }, 'o' } | |
e0001a05 NC |
2324 | }; |
2325 | ||
43cd72b9 BW |
2326 | static xtensa_arg_internal Iclass_xt_iclass_callx4_stateArgs[] = { |
2327 | { { STATE_PSCALLINC }, 'o' } | |
e0001a05 NC |
2328 | }; |
2329 | ||
43cd72b9 BW |
2330 | static 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 |
2336 | static 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 |
2344 | static xtensa_arg_internal Iclass_xt_iclass_movsp_args[] = { |
2345 | { { 6 /* art */ }, 'o' }, | |
2346 | { { 4 /* ars */ }, 'i' } | |
e0001a05 NC |
2347 | }; |
2348 | ||
43cd72b9 BW |
2349 | static xtensa_arg_internal Iclass_xt_iclass_movsp_stateArgs[] = { |
2350 | { { STATE_WindowBase }, 'i' }, | |
2351 | { { STATE_WindowStart }, 'i' } | |
e0001a05 NC |
2352 | }; |
2353 | ||
43cd72b9 BW |
2354 | static xtensa_arg_internal Iclass_xt_iclass_rotw_args[] = { |
2355 | { { 2 /* simm4 */ }, 'i' } | |
e0001a05 NC |
2356 | }; |
2357 | ||
43cd72b9 | 2358 | static 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 |
2364 | static xtensa_arg_internal Iclass_xt_iclass_retw_args[] = { |
2365 | { { 5 /* *ars_invisible */ }, 'i' } | |
e0001a05 NC |
2366 | }; |
2367 | ||
43cd72b9 BW |
2368 | static 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 |
2375 | static 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 |
2384 | static 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 |
2390 | static xtensa_arg_internal Iclass_xt_iclass_l32e_stateArgs[] = { |
2391 | { { STATE_PSEXCM }, 'i' }, | |
2392 | { { STATE_PSRING }, 'i' } | |
2393 | }; | |
2394 | ||
43cd72b9 BW |
2395 | static 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 |
2401 | static xtensa_arg_internal Iclass_xt_iclass_s32e_stateArgs[] = { |
2402 | { { STATE_PSEXCM }, 'i' }, | |
2403 | { { STATE_PSRING }, 'i' } | |
2404 | }; | |
2405 | ||
43cd72b9 BW |
2406 | static xtensa_arg_internal Iclass_xt_iclass_rsr_windowbase_args[] = { |
2407 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
2408 | }; |
2409 | ||
43cd72b9 | 2410 | static 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 |
2416 | static xtensa_arg_internal Iclass_xt_iclass_wsr_windowbase_args[] = { |
2417 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
2418 | }; |
2419 | ||
43cd72b9 | 2420 | static 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 |
2426 | static xtensa_arg_internal Iclass_xt_iclass_xsr_windowbase_args[] = { |
2427 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
2428 | }; |
2429 | ||
43cd72b9 | 2430 | static 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 |
2436 | static xtensa_arg_internal Iclass_xt_iclass_rsr_windowstart_args[] = { |
2437 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
2438 | }; |
2439 | ||
43cd72b9 | 2440 | static 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 |
2446 | static xtensa_arg_internal Iclass_xt_iclass_wsr_windowstart_args[] = { |
2447 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
2448 | }; |
2449 | ||
43cd72b9 | 2450 | static 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 |
2456 | static xtensa_arg_internal Iclass_xt_iclass_xsr_windowstart_args[] = { |
2457 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
2458 | }; |
2459 | ||
43cd72b9 | 2460 | static 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 |
2466 | static 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 |
2472 | static 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 |
2478 | static xtensa_arg_internal Iclass_xt_iclass_bz6_args[] = { |
2479 | { { 4 /* ars */ }, 'i' }, | |
2480 | { { 15 /* uimm6 */ }, 'i' } | |
e0001a05 NC |
2481 | }; |
2482 | ||
43cd72b9 BW |
2483 | static 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 |
2489 | static xtensa_arg_internal Iclass_xt_iclass_mov_n_args[] = { |
2490 | { { 6 /* art */ }, 'o' }, | |
2491 | { { 4 /* ars */ }, 'i' } | |
e0001a05 NC |
2492 | }; |
2493 | ||
43cd72b9 BW |
2494 | static xtensa_arg_internal Iclass_xt_iclass_movi_n_args[] = { |
2495 | { { 4 /* ars */ }, 'o' }, | |
2496 | { { 14 /* simm7 */ }, 'i' } | |
e0001a05 NC |
2497 | }; |
2498 | ||
43cd72b9 BW |
2499 | static xtensa_arg_internal Iclass_xt_iclass_retn_args[] = { |
2500 | { { 5 /* *ars_invisible */ }, 'i' } | |
e0001a05 NC |
2501 | }; |
2502 | ||
43cd72b9 BW |
2503 | static 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 |
2509 | static 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 |
2515 | static 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 |
2521 | static 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 |
2527 | static 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 |
2533 | static 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 |
2539 | static 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 |
2545 | static 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 |
2551 | static 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 |
2557 | static xtensa_arg_internal Iclass_xt_iclass_bsz12_args[] = { |
2558 | { { 4 /* ars */ }, 'i' }, | |
2559 | { { 30 /* label12 */ }, 'i' } | |
e0001a05 NC |
2560 | }; |
2561 | ||
43cd72b9 BW |
2562 | static xtensa_arg_internal Iclass_xt_iclass_call0_args[] = { |
2563 | { { 0 /* soffsetx4 */ }, 'i' }, | |
2564 | { { 7 /* ar0 */ }, 'o' } | |
e0001a05 NC |
2565 | }; |
2566 | ||
43cd72b9 BW |
2567 | static xtensa_arg_internal Iclass_xt_iclass_callx0_args[] = { |
2568 | { { 4 /* ars */ }, 'i' }, | |
2569 | { { 7 /* ar0 */ }, 'o' } | |
e0001a05 NC |
2570 | }; |
2571 | ||
43cd72b9 BW |
2572 | static 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 |
2579 | static xtensa_arg_internal Iclass_xt_iclass_jump_args[] = { |
2580 | { { 31 /* soffset */ }, 'i' } | |
e0001a05 NC |
2581 | }; |
2582 | ||
43cd72b9 BW |
2583 | static xtensa_arg_internal Iclass_xt_iclass_jumpx_args[] = { |
2584 | { { 4 /* ars */ }, 'i' } | |
e0001a05 NC |
2585 | }; |
2586 | ||
43cd72b9 BW |
2587 | static 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 |
2593 | static 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 |
2599 | static 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 |
2605 | static xtensa_arg_internal Iclass_xt_iclass_l32r_args[] = { |
2606 | { { 6 /* art */ }, 'o' }, | |
2607 | { { 32 /* uimm16x4 */ }, 'i' } | |
e0001a05 NC |
2608 | }; |
2609 | ||
43cd72b9 BW |
2610 | static xtensa_arg_internal Iclass_xt_iclass_l32r_stateArgs[] = { |
2611 | { { STATE_LITBADDR }, 'i' }, | |
2612 | { { STATE_LITBEN }, 'i' } | |
e0001a05 NC |
2613 | }; |
2614 | ||
43cd72b9 BW |
2615 | static 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 |
2621 | static xtensa_arg_internal Iclass_xt_iclass_loop_args[] = { |
2622 | { { 4 /* ars */ }, 'i' }, | |
2623 | { { 29 /* ulabel8 */ }, 'i' } | |
e0001a05 NC |
2624 | }; |
2625 | ||
43cd72b9 BW |
2626 | static 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 |
2632 | static xtensa_arg_internal Iclass_xt_iclass_loopz_args[] = { |
2633 | { { 4 /* ars */ }, 'i' }, | |
2634 | { { 29 /* ulabel8 */ }, 'i' } | |
e0001a05 NC |
2635 | }; |
2636 | ||
43cd72b9 BW |
2637 | static 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 |
2643 | static xtensa_arg_internal Iclass_xt_iclass_movi_args[] = { |
2644 | { { 6 /* art */ }, 'o' }, | |
2645 | { { 25 /* simm12b */ }, 'i' } | |
e0001a05 NC |
2646 | }; |
2647 | ||
43cd72b9 BW |
2648 | static 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 |
2654 | static xtensa_arg_internal Iclass_xt_iclass_neg_args[] = { |
2655 | { { 3 /* arr */ }, 'o' }, | |
2656 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
2657 | }; |
2658 | ||
43cd72b9 BW |
2659 | static xtensa_arg_internal Iclass_xt_iclass_return_args[] = { |
2660 | { { 5 /* *ars_invisible */ }, 'i' } | |
e0001a05 NC |
2661 | }; |
2662 | ||
43cd72b9 BW |
2663 | static 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 |
2669 | static 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 |
2675 | static 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 |
2681 | static xtensa_arg_internal Iclass_xt_iclass_sar_args[] = { |
2682 | { { 4 /* ars */ }, 'i' } | |
e0001a05 NC |
2683 | }; |
2684 | ||
43cd72b9 BW |
2685 | static xtensa_arg_internal Iclass_xt_iclass_sar_stateArgs[] = { |
2686 | { { STATE_SAR }, 'o' } | |
e0001a05 NC |
2687 | }; |
2688 | ||
43cd72b9 BW |
2689 | static xtensa_arg_internal Iclass_xt_iclass_sari_args[] = { |
2690 | { { 56 /* sas */ }, 'i' } | |
e0001a05 NC |
2691 | }; |
2692 | ||
43cd72b9 BW |
2693 | static xtensa_arg_internal Iclass_xt_iclass_sari_stateArgs[] = { |
2694 | { { STATE_SAR }, 'o' } | |
e0001a05 NC |
2695 | }; |
2696 | ||
43cd72b9 BW |
2697 | static xtensa_arg_internal Iclass_xt_iclass_shifts_args[] = { |
2698 | { { 3 /* arr */ }, 'o' }, | |
2699 | { { 4 /* ars */ }, 'i' } | |
e0001a05 NC |
2700 | }; |
2701 | ||
43cd72b9 BW |
2702 | static xtensa_arg_internal Iclass_xt_iclass_shifts_stateArgs[] = { |
2703 | { { STATE_SAR }, 'i' } | |
e0001a05 NC |
2704 | }; |
2705 | ||
43cd72b9 BW |
2706 | static 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 |
2712 | static xtensa_arg_internal Iclass_xt_iclass_shiftst_stateArgs[] = { |
2713 | { { STATE_SAR }, 'i' } | |
e0001a05 NC |
2714 | }; |
2715 | ||
43cd72b9 BW |
2716 | static xtensa_arg_internal Iclass_xt_iclass_shiftt_args[] = { |
2717 | { { 3 /* arr */ }, 'o' }, | |
2718 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
2719 | }; |
2720 | ||
43cd72b9 BW |
2721 | static xtensa_arg_internal Iclass_xt_iclass_shiftt_stateArgs[] = { |
2722 | { { STATE_SAR }, 'i' } | |
e0001a05 NC |
2723 | }; |
2724 | ||
43cd72b9 BW |
2725 | static 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 |
2731 | static 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 |
2737 | static 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 |
2743 | static xtensa_arg_internal Iclass_xt_iclass_sync_stateArgs[] = { |
2744 | { { STATE_XTSYNC }, 'i' } | |
e0001a05 NC |
2745 | }; |
2746 | ||
43cd72b9 BW |
2747 | static xtensa_arg_internal Iclass_xt_iclass_rsil_args[] = { |
2748 | { { 6 /* art */ }, 'o' }, | |
2749 | { { 40 /* s */ }, 'i' } | |
e0001a05 NC |
2750 | }; |
2751 | ||
43cd72b9 BW |
2752 | static 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 |
2762 | static xtensa_arg_internal Iclass_xt_iclass_rsr_lend_args[] = { |
2763 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
2764 | }; |
2765 | ||
43cd72b9 BW |
2766 | static xtensa_arg_internal Iclass_xt_iclass_rsr_lend_stateArgs[] = { |
2767 | { { STATE_LEND }, 'i' } | |
e0001a05 NC |
2768 | }; |
2769 | ||
43cd72b9 BW |
2770 | static xtensa_arg_internal Iclass_xt_iclass_wsr_lend_args[] = { |
2771 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
2772 | }; |
2773 | ||
43cd72b9 BW |
2774 | static xtensa_arg_internal Iclass_xt_iclass_wsr_lend_stateArgs[] = { |
2775 | { { STATE_LEND }, 'o' } | |
e0001a05 NC |
2776 | }; |
2777 | ||
43cd72b9 BW |
2778 | static xtensa_arg_internal Iclass_xt_iclass_xsr_lend_args[] = { |
2779 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
2780 | }; |
2781 | ||
43cd72b9 BW |
2782 | static xtensa_arg_internal Iclass_xt_iclass_xsr_lend_stateArgs[] = { |
2783 | { { STATE_LEND }, 'm' } | |
e0001a05 NC |
2784 | }; |
2785 | ||
43cd72b9 BW |
2786 | static xtensa_arg_internal Iclass_xt_iclass_rsr_lcount_args[] = { |
2787 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
2788 | }; |
2789 | ||
43cd72b9 BW |
2790 | static xtensa_arg_internal Iclass_xt_iclass_rsr_lcount_stateArgs[] = { |
2791 | { { STATE_LCOUNT }, 'i' } | |
e0001a05 NC |
2792 | }; |
2793 | ||
43cd72b9 BW |
2794 | static xtensa_arg_internal Iclass_xt_iclass_wsr_lcount_args[] = { |
2795 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
2796 | }; |
2797 | ||
43cd72b9 BW |
2798 | static xtensa_arg_internal Iclass_xt_iclass_wsr_lcount_stateArgs[] = { |
2799 | { { STATE_XTSYNC }, 'o' }, | |
2800 | { { STATE_LCOUNT }, 'o' } | |
e0001a05 NC |
2801 | }; |
2802 | ||
43cd72b9 BW |
2803 | static xtensa_arg_internal Iclass_xt_iclass_xsr_lcount_args[] = { |
2804 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
2805 | }; |
2806 | ||
43cd72b9 BW |
2807 | static xtensa_arg_internal Iclass_xt_iclass_xsr_lcount_stateArgs[] = { |
2808 | { { STATE_XTSYNC }, 'o' }, | |
2809 | { { STATE_LCOUNT }, 'm' } | |
e0001a05 NC |
2810 | }; |
2811 | ||
43cd72b9 BW |
2812 | static xtensa_arg_internal Iclass_xt_iclass_rsr_lbeg_args[] = { |
2813 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
2814 | }; |
2815 | ||
43cd72b9 BW |
2816 | static xtensa_arg_internal Iclass_xt_iclass_rsr_lbeg_stateArgs[] = { |
2817 | { { STATE_LBEG }, 'i' } | |
e0001a05 NC |
2818 | }; |
2819 | ||
43cd72b9 BW |
2820 | static xtensa_arg_internal Iclass_xt_iclass_wsr_lbeg_args[] = { |
2821 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
2822 | }; |
2823 | ||
43cd72b9 BW |
2824 | static xtensa_arg_internal Iclass_xt_iclass_wsr_lbeg_stateArgs[] = { |
2825 | { { STATE_LBEG }, 'o' } | |
e0001a05 NC |
2826 | }; |
2827 | ||
43cd72b9 BW |
2828 | static xtensa_arg_internal Iclass_xt_iclass_xsr_lbeg_args[] = { |
2829 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
2830 | }; |
2831 | ||
43cd72b9 BW |
2832 | static xtensa_arg_internal Iclass_xt_iclass_xsr_lbeg_stateArgs[] = { |
2833 | { { STATE_LBEG }, 'm' } | |
e0001a05 NC |
2834 | }; |
2835 | ||
43cd72b9 BW |
2836 | static xtensa_arg_internal Iclass_xt_iclass_rsr_sar_args[] = { |
2837 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
2838 | }; |
2839 | ||
43cd72b9 BW |
2840 | static xtensa_arg_internal Iclass_xt_iclass_rsr_sar_stateArgs[] = { |
2841 | { { STATE_SAR }, 'i' } | |
e0001a05 NC |
2842 | }; |
2843 | ||
43cd72b9 BW |
2844 | static xtensa_arg_internal Iclass_xt_iclass_wsr_sar_args[] = { |
2845 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
2846 | }; |
2847 | ||
43cd72b9 BW |
2848 | static xtensa_arg_internal Iclass_xt_iclass_wsr_sar_stateArgs[] = { |
2849 | { { STATE_SAR }, 'o' }, | |
2850 | { { STATE_XTSYNC }, 'o' } | |
e0001a05 NC |
2851 | }; |
2852 | ||
43cd72b9 BW |
2853 | static xtensa_arg_internal Iclass_xt_iclass_xsr_sar_args[] = { |
2854 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
2855 | }; |
2856 | ||
43cd72b9 BW |
2857 | static xtensa_arg_internal Iclass_xt_iclass_xsr_sar_stateArgs[] = { |
2858 | { { STATE_SAR }, 'm' } | |
e0001a05 NC |
2859 | }; |
2860 | ||
43cd72b9 BW |
2861 | static xtensa_arg_internal Iclass_xt_iclass_rsr_litbase_args[] = { |
2862 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
2863 | }; |
2864 | ||
43cd72b9 BW |
2865 | static xtensa_arg_internal Iclass_xt_iclass_rsr_litbase_stateArgs[] = { |
2866 | { { STATE_LITBADDR }, 'i' }, | |
2867 | { { STATE_LITBEN }, 'i' } | |
e0001a05 NC |
2868 | }; |
2869 | ||
43cd72b9 BW |
2870 | static xtensa_arg_internal Iclass_xt_iclass_wsr_litbase_args[] = { |
2871 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
2872 | }; |
2873 | ||
43cd72b9 BW |
2874 | static xtensa_arg_internal Iclass_xt_iclass_wsr_litbase_stateArgs[] = { |
2875 | { { STATE_LITBADDR }, 'o' }, | |
2876 | { { STATE_LITBEN }, 'o' } | |
e0001a05 NC |
2877 | }; |
2878 | ||
43cd72b9 BW |
2879 | static xtensa_arg_internal Iclass_xt_iclass_xsr_litbase_args[] = { |
2880 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
2881 | }; |
2882 | ||
43cd72b9 BW |
2883 | static xtensa_arg_internal Iclass_xt_iclass_xsr_litbase_stateArgs[] = { |
2884 | { { STATE_LITBADDR }, 'm' }, | |
2885 | { { STATE_LITBEN }, 'm' } | |
e0001a05 NC |
2886 | }; |
2887 | ||
43cd72b9 BW |
2888 | static xtensa_arg_internal Iclass_xt_iclass_rsr_176_args[] = { |
2889 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
2890 | }; |
2891 | ||
074f5109 BW |
2892 | static xtensa_arg_internal Iclass_xt_iclass_rsr_176_stateArgs[] = { |
2893 | { { STATE_PSEXCM }, 'i' }, | |
2894 | { { STATE_PSRING }, 'i' } | |
2895 | }; | |
2896 | ||
43cd72b9 BW |
2897 | static xtensa_arg_internal Iclass_xt_iclass_rsr_208_args[] = { |
2898 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
2899 | }; |
2900 | ||
074f5109 BW |
2901 | static xtensa_arg_internal Iclass_xt_iclass_rsr_208_stateArgs[] = { |
2902 | { { STATE_PSEXCM }, 'i' }, | |
2903 | { { STATE_PSRING }, 'i' } | |
2904 | }; | |
2905 | ||
43cd72b9 BW |
2906 | static xtensa_arg_internal Iclass_xt_iclass_rsr_ps_args[] = { |
2907 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
2908 | }; |
2909 | ||
43cd72b9 BW |
2910 | static 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 |
2920 | static xtensa_arg_internal Iclass_xt_iclass_wsr_ps_args[] = { |
2921 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
2922 | }; |
2923 | ||
43cd72b9 BW |
2924 | static 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 |
2934 | static xtensa_arg_internal Iclass_xt_iclass_xsr_ps_args[] = { |
2935 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
2936 | }; |
2937 | ||
43cd72b9 BW |
2938 | static 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 |
2948 | static xtensa_arg_internal Iclass_xt_iclass_rsr_epc1_args[] = { |
2949 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
2950 | }; |
2951 | ||
43cd72b9 | 2952 | static 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 |
2958 | static xtensa_arg_internal Iclass_xt_iclass_wsr_epc1_args[] = { |
2959 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
2960 | }; |
2961 | ||
43cd72b9 | 2962 | static 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 |
2968 | static xtensa_arg_internal Iclass_xt_iclass_xsr_epc1_args[] = { |
2969 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
2970 | }; |
2971 | ||
43cd72b9 | 2972 | static 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 |
2978 | static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave1_args[] = { |
2979 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
2980 | }; |
2981 | ||
43cd72b9 | 2982 | static 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 |
2988 | static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave1_args[] = { |
2989 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
2990 | }; |
2991 | ||
43cd72b9 | 2992 | static 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 |
2998 | static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave1_args[] = { |
2999 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
3000 | }; |
3001 | ||
43cd72b9 | 3002 | static 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 |
3008 | static xtensa_arg_internal Iclass_xt_iclass_rsr_epc2_args[] = { |
3009 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
3010 | }; |
3011 | ||
43cd72b9 | 3012 | static 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 |
3018 | static xtensa_arg_internal Iclass_xt_iclass_wsr_epc2_args[] = { |
3019 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
3020 | }; |
3021 | ||
43cd72b9 | 3022 | static 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 |
3028 | static xtensa_arg_internal Iclass_xt_iclass_xsr_epc2_args[] = { |
3029 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
3030 | }; |
3031 | ||
43cd72b9 | 3032 | static 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 |
3038 | static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave2_args[] = { |
3039 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
3040 | }; |
3041 | ||
43cd72b9 | 3042 | static 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 |
3048 | static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave2_args[] = { |
3049 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
3050 | }; |
3051 | ||
43cd72b9 | 3052 | static 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 |
3058 | static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave2_args[] = { |
3059 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
3060 | }; |
3061 | ||
43cd72b9 | 3062 | static 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 |
3068 | static xtensa_arg_internal Iclass_xt_iclass_rsr_epc3_args[] = { |
3069 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
3070 | }; |
3071 | ||
43cd72b9 | 3072 | static 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 |
3078 | static xtensa_arg_internal Iclass_xt_iclass_wsr_epc3_args[] = { |
3079 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
3080 | }; |
3081 | ||
43cd72b9 | 3082 | static 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 |
3088 | static xtensa_arg_internal Iclass_xt_iclass_xsr_epc3_args[] = { |
3089 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
3090 | }; |
3091 | ||
43cd72b9 | 3092 | static 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 |
3098 | static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave3_args[] = { |
3099 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
3100 | }; |
3101 | ||
43cd72b9 | 3102 | static 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 |
3108 | static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave3_args[] = { |
3109 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
3110 | }; |
3111 | ||
43cd72b9 | 3112 | static 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 |
3118 | static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave3_args[] = { |
3119 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
3120 | }; |
3121 | ||
43cd72b9 | 3122 | static 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 |
3128 | static xtensa_arg_internal Iclass_xt_iclass_rsr_epc4_args[] = { |
3129 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
3130 | }; |
3131 | ||
43cd72b9 | 3132 | static 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 |
3138 | static xtensa_arg_internal Iclass_xt_iclass_wsr_epc4_args[] = { |
3139 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
3140 | }; |
3141 | ||
43cd72b9 | 3142 | static 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 |
3148 | static xtensa_arg_internal Iclass_xt_iclass_xsr_epc4_args[] = { |
3149 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
3150 | }; |
3151 | ||
43cd72b9 | 3152 | static 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 |
3158 | static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave4_args[] = { |
3159 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
3160 | }; |
3161 | ||
43cd72b9 | 3162 | static 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 |
3168 | static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave4_args[] = { |
3169 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
3170 | }; |
3171 | ||
43cd72b9 | 3172 | static 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 |
3178 | static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave4_args[] = { |
3179 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
3180 | }; |
3181 | ||
43cd72b9 | 3182 | static 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 |
3188 | static xtensa_arg_internal Iclass_xt_iclass_rsr_eps2_args[] = { |
3189 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
3190 | }; |
3191 | ||
43cd72b9 | 3192 | static 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 |
3198 | static xtensa_arg_internal Iclass_xt_iclass_wsr_eps2_args[] = { |
3199 | { { 6 /* art */ }, 'i' } | |
e0001a05 NC |
3200 | }; |
3201 | ||
43cd72b9 | 3202 | static 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 |
3208 | static xtensa_arg_internal Iclass_xt_iclass_xsr_eps2_args[] = { |
3209 | { { 6 /* art */ }, 'm' } | |
e0001a05 NC |
3210 | }; |
3211 | ||
43cd72b9 | 3212 | static 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 |
3218 | static xtensa_arg_internal Iclass_xt_iclass_rsr_eps3_args[] = { |
3219 | { { 6 /* art */ }, 'o' } | |
e0001a05 NC |
3220 | }; |
3221 | ||
43cd72b9 | 3222 | static 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 |
3228 | static xtensa_arg_internal Iclass_xt_iclass_wsr_eps3_args[] = { |
3229 | { { 6 /* art */ }, 'i' } | |
3230 | }; | |
e0001a05 | 3231 | |
43cd72b9 | 3232 | static 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 |
3238 | static xtensa_arg_internal Iclass_xt_iclass_xsr_eps3_args[] = { |
3239 | { { 6 /* art */ }, 'm' } | |
3240 | }; | |
e0001a05 | 3241 | |
43cd72b9 | 3242 | static 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 | ||
3248 | static xtensa_arg_internal Iclass_xt_iclass_rsr_eps4_args[] = { | |
3249 | { { 6 /* art */ }, 'o' } | |
3250 | }; | |
3251 | ||
3252 | static 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 | ||
3258 | static xtensa_arg_internal Iclass_xt_iclass_wsr_eps4_args[] = { | |
3259 | { { 6 /* art */ }, 'i' } | |
3260 | }; | |
3261 | ||
3262 | static 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 | ||
3268 | static xtensa_arg_internal Iclass_xt_iclass_xsr_eps4_args[] = { | |
3269 | { { 6 /* art */ }, 'm' } | |
3270 | }; | |
3271 | ||
3272 | static 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 | ||
3278 | static xtensa_arg_internal Iclass_xt_iclass_rsr_excvaddr_args[] = { | |
3279 | { { 6 /* art */ }, 'o' } | |
3280 | }; | |
3281 | ||
3282 | static 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 | ||
3288 | static xtensa_arg_internal Iclass_xt_iclass_wsr_excvaddr_args[] = { | |
3289 | { { 6 /* art */ }, 'i' } | |
3290 | }; | |
3291 | ||
3292 | static 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 | ||
3298 | static xtensa_arg_internal Iclass_xt_iclass_xsr_excvaddr_args[] = { | |
3299 | { { 6 /* art */ }, 'm' } | |
3300 | }; | |
3301 | ||
3302 | static 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 | ||
3308 | static xtensa_arg_internal Iclass_xt_iclass_rsr_depc_args[] = { | |
3309 | { { 6 /* art */ }, 'o' } | |
3310 | }; | |
3311 | ||
3312 | static 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 | ||
3318 | static xtensa_arg_internal Iclass_xt_iclass_wsr_depc_args[] = { | |
3319 | { { 6 /* art */ }, 'i' } | |
3320 | }; | |
3321 | ||
3322 | static 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 | ||
3328 | static xtensa_arg_internal Iclass_xt_iclass_xsr_depc_args[] = { | |
3329 | { { 6 /* art */ }, 'm' } | |
3330 | }; | |
3331 | ||
3332 | static 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 | ||
3338 | static xtensa_arg_internal Iclass_xt_iclass_rsr_exccause_args[] = { | |
3339 | { { 6 /* art */ }, 'o' } | |
3340 | }; | |
3341 | ||
3342 | static 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 | ||
3349 | static xtensa_arg_internal Iclass_xt_iclass_wsr_exccause_args[] = { | |
3350 | { { 6 /* art */ }, 'i' } | |
3351 | }; | |
3352 | ||
3353 | static 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 | ||
3359 | static xtensa_arg_internal Iclass_xt_iclass_xsr_exccause_args[] = { | |
3360 | { { 6 /* art */ }, 'm' } | |
3361 | }; | |
3362 | ||
3363 | static 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 | ||
3369 | static xtensa_arg_internal Iclass_xt_iclass_rsr_misc0_args[] = { | |
3370 | { { 6 /* art */ }, 'o' } | |
3371 | }; | |
3372 | ||
3373 | static 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 | ||
3379 | static xtensa_arg_internal Iclass_xt_iclass_wsr_misc0_args[] = { | |
3380 | { { 6 /* art */ }, 'i' } | |
3381 | }; | |
3382 | ||
3383 | static 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 | ||
3389 | static xtensa_arg_internal Iclass_xt_iclass_xsr_misc0_args[] = { | |
3390 | { { 6 /* art */ }, 'm' } | |
3391 | }; | |
3392 | ||
3393 | static 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 | ||
3399 | static xtensa_arg_internal Iclass_xt_iclass_rsr_misc1_args[] = { | |
3400 | { { 6 /* art */ }, 'o' } | |
3401 | }; | |
3402 | ||
3403 | static 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 | ||
3409 | static xtensa_arg_internal Iclass_xt_iclass_wsr_misc1_args[] = { | |
3410 | { { 6 /* art */ }, 'i' } | |
3411 | }; | |
3412 | ||
3413 | static 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 | ||
3419 | static xtensa_arg_internal Iclass_xt_iclass_xsr_misc1_args[] = { | |
3420 | { { 6 /* art */ }, 'm' } | |
3421 | }; | |
3422 | ||
3423 | static 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 | ||
3429 | static xtensa_arg_internal Iclass_xt_iclass_rsr_prid_args[] = { | |
3430 | { { 6 /* art */ }, 'o' } | |
3431 | }; | |
3432 | ||
074f5109 BW |
3433 | static xtensa_arg_internal Iclass_xt_iclass_rsr_prid_stateArgs[] = { |
3434 | { { STATE_PSEXCM }, 'i' }, | |
3435 | { { STATE_PSRING }, 'i' } | |
3436 | }; | |
3437 | ||
43cd72b9 BW |
3438 | static xtensa_arg_internal Iclass_xt_iclass_rfi_args[] = { |
3439 | { { 40 /* s */ }, 'i' } | |
3440 | }; | |
3441 | ||
3442 | static 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 | ||
3460 | static xtensa_arg_internal Iclass_xt_iclass_wait_args[] = { | |
3461 | { { 40 /* s */ }, 'i' } | |
3462 | }; | |
3463 | ||
3464 | static 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 | ||
3470 | static xtensa_arg_internal Iclass_xt_iclass_rsr_interrupt_args[] = { | |
3471 | { { 6 /* art */ }, 'o' } | |
3472 | }; | |
3473 | ||
3474 | static 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 | ||
3480 | static xtensa_arg_internal Iclass_xt_iclass_wsr_intset_args[] = { | |
3481 | { { 6 /* art */ }, 'i' } | |
3482 | }; | |
3483 | ||
3484 | static 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 | ||
3491 | static xtensa_arg_internal Iclass_xt_iclass_wsr_intclear_args[] = { | |
3492 | { { 6 /* art */ }, 'i' } | |
3493 | }; | |
3494 | ||
3495 | static 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 | ||
3502 | static xtensa_arg_internal Iclass_xt_iclass_rsr_intenable_args[] = { | |
3503 | { { 6 /* art */ }, 'o' } | |
3504 | }; | |
3505 | ||
3506 | static 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 | ||
3512 | static xtensa_arg_internal Iclass_xt_iclass_wsr_intenable_args[] = { | |
3513 | { { 6 /* art */ }, 'i' } | |
3514 | }; | |
3515 | ||
3516 | static 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 | ||
3522 | static xtensa_arg_internal Iclass_xt_iclass_xsr_intenable_args[] = { | |
3523 | { { 6 /* art */ }, 'm' } | |
3524 | }; | |
3525 | ||
3526 | static 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 | ||
3532 | static xtensa_arg_internal Iclass_xt_iclass_break_args[] = { | |
3533 | { { 34 /* imms */ }, 'i' }, | |
3534 | { { 33 /* immt */ }, 'i' } | |
3535 | }; | |
3536 | ||
3537 | static xtensa_arg_internal Iclass_xt_iclass_break_stateArgs[] = { | |
3538 | { { STATE_PSEXCM }, 'i' }, | |
3539 | { { STATE_PSINTLEVEL }, 'i' } | |
3540 | }; | |
3541 | ||
3542 | static xtensa_arg_internal Iclass_xt_iclass_break_n_args[] = { | |
3543 | { { 34 /* imms */ }, 'i' } | |
3544 | }; | |
3545 | ||
3546 | static xtensa_arg_internal Iclass_xt_iclass_break_n_stateArgs[] = { | |
3547 | { { STATE_PSEXCM }, 'i' }, | |
3548 | { { STATE_PSINTLEVEL }, 'i' } | |
3549 | }; | |
3550 | ||
3551 | static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka0_args[] = { | |
3552 | { { 6 /* art */ }, 'o' } | |
3553 | }; | |
3554 | ||
3555 | static 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 | ||
3561 | static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka0_args[] = { | |
3562 | { { 6 /* art */ }, 'i' } | |
3563 | }; | |
3564 | ||
3565 | static 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 | ||
3572 | static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka0_args[] = { | |
3573 | { { 6 /* art */ }, 'm' } | |
3574 | }; | |
3575 | ||
3576 | static 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 | ||
3583 | static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc0_args[] = { | |
3584 | { { 6 /* art */ }, 'o' } | |
3585 | }; | |
3586 | ||
3587 | static 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 | ||
3593 | static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc0_args[] = { | |
3594 | { { 6 /* art */ }, 'i' } | |
3595 | }; | |
3596 | ||
3597 | static 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 | ||
3604 | static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc0_args[] = { | |
3605 | { { 6 /* art */ }, 'm' } | |
3606 | }; | |
3607 | ||
3608 | static 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 | ||
3615 | static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka1_args[] = { | |
3616 | { { 6 /* art */ }, 'o' } | |
3617 | }; | |
3618 | ||
3619 | static 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 | ||
3625 | static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka1_args[] = { | |
3626 | { { 6 /* art */ }, 'i' } | |
3627 | }; | |
3628 | ||
3629 | static 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 | ||
3636 | static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka1_args[] = { | |
3637 | { { 6 /* art */ }, 'm' } | |
3638 | }; | |
3639 | ||
3640 | static 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 | ||
3647 | static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc1_args[] = { | |
3648 | { { 6 /* art */ }, 'o' } | |
3649 | }; | |
3650 | ||
3651 | static 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 | ||
3657 | static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc1_args[] = { | |
3658 | { { 6 /* art */ }, 'i' } | |
3659 | }; | |
3660 | ||
3661 | static 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 | ||
3668 | static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc1_args[] = { | |
3669 | { { 6 /* art */ }, 'm' } | |
3670 | }; | |
3671 | ||
3672 | static 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 | ||
3679 | static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka0_args[] = { | |
3680 | { { 6 /* art */ }, 'o' } | |
3681 | }; | |
3682 | ||
3683 | static 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 | ||
3689 | static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka0_args[] = { | |
3690 | { { 6 /* art */ }, 'i' } | |
3691 | }; | |
3692 | ||
3693 | static 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 | ||
3699 | static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka0_args[] = { | |
3700 | { { 6 /* art */ }, 'm' } | |
3701 | }; | |
3702 | ||
3703 | static 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 | ||
3709 | static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka1_args[] = { | |
3710 | { { 6 /* art */ }, 'o' } | |
3711 | }; | |
3712 | ||
3713 | static 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 | ||
3719 | static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka1_args[] = { | |
3720 | { { 6 /* art */ }, 'i' } | |
3721 | }; | |
3722 | ||
3723 | static 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 | ||
3729 | static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka1_args[] = { | |
3730 | { { 6 /* art */ }, 'm' } | |
3731 | }; | |
3732 | ||
3733 | static 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 | ||
3739 | static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreakenable_args[] = { | |
3740 | { { 6 /* art */ }, 'o' } | |
3741 | }; | |
3742 | ||
3743 | static 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 | ||
3749 | static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreakenable_args[] = { | |
3750 | { { 6 /* art */ }, 'i' } | |
3751 | }; | |
3752 | ||
3753 | static 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 | ||
3759 | static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreakenable_args[] = { | |
3760 | { { 6 /* art */ }, 'm' } | |
3761 | }; | |
3762 | ||
3763 | static 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 | ||
3769 | static xtensa_arg_internal Iclass_xt_iclass_rsr_debugcause_args[] = { | |
3770 | { { 6 /* art */ }, 'o' } | |
3771 | }; | |
3772 | ||
3773 | static 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 | ||
3780 | static xtensa_arg_internal Iclass_xt_iclass_wsr_debugcause_args[] = { | |
3781 | { { 6 /* art */ }, 'i' } | |
3782 | }; | |
3783 | ||
3784 | static 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 | ||
3791 | static xtensa_arg_internal Iclass_xt_iclass_xsr_debugcause_args[] = { | |
3792 | { { 6 /* art */ }, 'm' } | |
3793 | }; | |
3794 | ||
3795 | static 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 | ||
3802 | static xtensa_arg_internal Iclass_xt_iclass_rsr_icount_args[] = { | |
3803 | { { 6 /* art */ }, 'o' } | |
3804 | }; | |
3805 | ||
3806 | static 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 | ||
3812 | static xtensa_arg_internal Iclass_xt_iclass_wsr_icount_args[] = { | |
3813 | { { 6 /* art */ }, 'i' } | |
3814 | }; | |
3815 | ||
3816 | static 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 | ||
3823 | static xtensa_arg_internal Iclass_xt_iclass_xsr_icount_args[] = { | |
3824 | { { 6 /* art */ }, 'm' } | |
3825 | }; | |
3826 | ||
3827 | static 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 | ||
3834 | static xtensa_arg_internal Iclass_xt_iclass_rsr_icountlevel_args[] = { | |
3835 | { { 6 /* art */ }, 'o' } | |
3836 | }; | |
3837 | ||
3838 | static 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 | ||
3844 | static xtensa_arg_internal Iclass_xt_iclass_wsr_icountlevel_args[] = { | |
3845 | { { 6 /* art */ }, 'i' } | |
3846 | }; | |
3847 | ||
3848 | static 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 | ||
3854 | static xtensa_arg_internal Iclass_xt_iclass_xsr_icountlevel_args[] = { | |
3855 | { { 6 /* art */ }, 'm' } | |
3856 | }; | |
3857 | ||
3858 | static 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 | ||
3864 | static xtensa_arg_internal Iclass_xt_iclass_rsr_ddr_args[] = { | |
3865 | { { 6 /* art */ }, 'o' } | |
3866 | }; | |
3867 | ||
3868 | static 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 | ||
3874 | static xtensa_arg_internal Iclass_xt_iclass_wsr_ddr_args[] = { | |
3875 | { { 6 /* art */ }, 'i' } | |
3876 | }; | |
3877 | ||
3878 | static 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 | ||
3885 | static xtensa_arg_internal Iclass_xt_iclass_xsr_ddr_args[] = { | |
3886 | { { 6 /* art */ }, 'm' } | |
3887 | }; | |
3888 | ||
3889 | static 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 | ||
3896 | static 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 | ||
3909 | static xtensa_arg_internal Iclass_xt_iclass_rfdd_stateArgs[] = { | |
3910 | { { STATE_InOCDMode }, 'm' } | |
3911 | }; | |
3912 | ||
3913 | static xtensa_arg_internal Iclass_xt_iclass_rsr_ccount_args[] = { | |
3914 | { { 6 /* art */ }, 'o' } | |
3915 | }; | |
3916 | ||
3917 | static 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 | ||
3923 | static xtensa_arg_internal Iclass_xt_iclass_wsr_ccount_args[] = { | |
3924 | { { 6 /* art */ }, 'i' } | |
3925 | }; | |
3926 | ||
3927 | static 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 | ||
3934 | static xtensa_arg_internal Iclass_xt_iclass_xsr_ccount_args[] = { | |
3935 | { { 6 /* art */ }, 'm' } | |
3936 | }; | |
3937 | ||
3938 | static 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 | ||
3945 | static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare0_args[] = { | |
3946 | { { 6 /* art */ }, 'o' } | |
3947 | }; | |
3948 | ||
3949 | static 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 | ||
3955 | static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare0_args[] = { | |
3956 | { { 6 /* art */ }, 'i' } | |
3957 | }; | |
3958 | ||
3959 | static 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 | ||
3966 | static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare0_args[] = { | |
3967 | { { 6 /* art */ }, 'm' } | |
3968 | }; | |
3969 | ||
3970 | static 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 | ||
3977 | static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare1_args[] = { | |
3978 | { { 6 /* art */ }, 'o' } | |
3979 | }; | |
3980 | ||
3981 | static 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 | ||
3987 | static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare1_args[] = { | |
3988 | { { 6 /* art */ }, 'i' } | |
3989 | }; | |
3990 | ||
3991 | static 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 | ||
3998 | static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare1_args[] = { | |
3999 | { { 6 /* art */ }, 'm' } | |
4000 | }; | |
4001 | ||
4002 | static 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 | ||
4009 | static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare2_args[] = { | |
4010 | { { 6 /* art */ }, 'o' } | |
4011 | }; | |
4012 | ||
4013 | static 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 | ||
4019 | static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare2_args[] = { | |
4020 | { { 6 /* art */ }, 'i' } | |
4021 | }; | |
4022 | ||
4023 | static 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 | ||
4030 | static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare2_args[] = { | |
4031 | { { 6 /* art */ }, 'm' } | |
4032 | }; | |
4033 | ||
4034 | static 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 | ||
4041 | static xtensa_arg_internal Iclass_xt_iclass_icache_args[] = { | |
4042 | { { 4 /* ars */ }, 'i' }, | |
4043 | { { 21 /* uimm8x4 */ }, 'i' } | |
4044 | }; | |
4045 | ||
4046 | static xtensa_arg_internal Iclass_xt_iclass_icache_inv_args[] = { | |
4047 | { { 4 /* ars */ }, 'i' }, | |
4048 | { { 21 /* uimm8x4 */ }, 'i' } | |
4049 | }; | |
4050 | ||
074f5109 BW |
4051 | static xtensa_arg_internal Iclass_xt_iclass_icache_inv_stateArgs[] = { |
4052 | { { STATE_PSEXCM }, 'i' }, | |
4053 | { { STATE_PSRING }, 'i' } | |
4054 | }; | |
4055 | ||
43cd72b9 BW |
4056 | static xtensa_arg_internal Iclass_xt_iclass_licx_args[] = { |
4057 | { { 6 /* art */ }, 'o' }, | |
4058 | { { 4 /* ars */ }, 'i' } | |
4059 | }; | |
4060 | ||
074f5109 BW |
4061 | static xtensa_arg_internal Iclass_xt_iclass_licx_stateArgs[] = { |
4062 | { { STATE_PSEXCM }, 'i' }, | |
4063 | { { STATE_PSRING }, 'i' } | |
4064 | }; | |
4065 | ||
43cd72b9 BW |
4066 | static xtensa_arg_internal Iclass_xt_iclass_sicx_args[] = { |
4067 | { { 6 /* art */ }, 'i' }, | |
4068 | { { 4 /* ars */ }, 'i' } | |
4069 | }; | |
4070 | ||
074f5109 BW |
4071 | static xtensa_arg_internal Iclass_xt_iclass_sicx_stateArgs[] = { |
4072 | { { STATE_PSEXCM }, 'i' }, | |
4073 | { { STATE_PSRING }, 'i' } | |
4074 | }; | |
4075 | ||
43cd72b9 BW |
4076 | static xtensa_arg_internal Iclass_xt_iclass_dcache_args[] = { |
4077 | { { 4 /* ars */ }, 'i' }, | |
4078 | { { 21 /* uimm8x4 */ }, 'i' } | |
4079 | }; | |
4080 | ||
4081 | static xtensa_arg_internal Iclass_xt_iclass_dcache_ind_args[] = { | |
4082 | { { 4 /* ars */ }, 'i' }, | |
4083 | { { 22 /* uimm4x16 */ }, 'i' } | |
4084 | }; | |
4085 | ||
074f5109 BW |
4086 | static xtensa_arg_internal Iclass_xt_iclass_dcache_ind_stateArgs[] = { |
4087 | { { STATE_PSEXCM }, 'i' }, | |
4088 | { { STATE_PSRING }, 'i' } | |
4089 | }; | |
4090 | ||
43cd72b9 BW |
4091 | static xtensa_arg_internal Iclass_xt_iclass_dcache_inv_args[] = { |
4092 | { { 4 /* ars */ }, 'i' }, | |
4093 | { { 21 /* uimm8x4 */ }, 'i' } | |
4094 | }; | |
4095 | ||
074f5109 BW |
4096 | static xtensa_arg_internal Iclass_xt_iclass_dcache_inv_stateArgs[] = { |
4097 | { { STATE_PSEXCM }, 'i' }, | |
4098 | { { STATE_PSRING }, 'i' } | |
4099 | }; | |
4100 | ||
43cd72b9 BW |
4101 | static xtensa_arg_internal Iclass_xt_iclass_dpf_args[] = { |
4102 | { { 4 /* ars */ }, 'i' }, | |
4103 | { { 21 /* uimm8x4 */ }, 'i' } | |
4104 | }; | |
4105 | ||
4106 | static xtensa_arg_internal Iclass_xt_iclass_sdct_args[] = { | |
4107 | { { 6 /* art */ }, 'i' }, | |
4108 | { { 4 /* ars */ }, 'i' } | |
4109 | }; | |
4110 | ||
074f5109 BW |
4111 | static xtensa_arg_internal Iclass_xt_iclass_sdct_stateArgs[] = { |
4112 | { { STATE_PSEXCM }, 'i' }, | |
4113 | { { STATE_PSRING }, 'i' } | |
4114 | }; | |
4115 | ||
43cd72b9 BW |
4116 | static xtensa_arg_internal Iclass_xt_iclass_ldct_args[] = { |
4117 | { { 6 /* art */ }, 'o' }, | |
4118 | { { 4 /* ars */ }, 'i' } | |
4119 | }; | |
4120 | ||
074f5109 BW |
4121 | static xtensa_arg_internal Iclass_xt_iclass_ldct_stateArgs[] = { |
4122 | { { STATE_PSEXCM }, 'i' }, | |
4123 | { { STATE_PSRING }, 'i' } | |
4124 | }; | |
4125 | ||
4126 | static xtensa_arg_internal Iclass_xt_iclass_wsr_ptevaddr_args[] = { | |
4127 | { { 6 /* art */ }, 'i' } | |
4128 | }; | |
4129 | ||
4130 | static 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 | ||
4137 | static xtensa_arg_internal Iclass_xt_iclass_rsr_ptevaddr_args[] = { | |
4138 | { { 6 /* art */ }, 'o' } | |
4139 | }; | |
4140 | ||
4141 | static 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 | ||
4148 | static xtensa_arg_internal Iclass_xt_iclass_xsr_ptevaddr_args[] = { | |
4149 | { { 6 /* art */ }, 'm' } | |
4150 | }; | |
4151 | ||
4152 | static 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 | ||
4160 | static xtensa_arg_internal Iclass_xt_iclass_rsr_rasid_args[] = { | |
4161 | { { 6 /* art */ }, 'o' } | |
4162 | }; | |
4163 | ||
4164 | static 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 | ||
4172 | static xtensa_arg_internal Iclass_xt_iclass_wsr_rasid_args[] = { | |
4173 | { { 6 /* art */ }, 'i' } | |
4174 | }; | |
4175 | ||
4176 | static 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 | ||
4185 | static xtensa_arg_internal Iclass_xt_iclass_xsr_rasid_args[] = { | |
4186 | { { 6 /* art */ }, 'm' } | |
4187 | }; | |
4188 | ||
4189 | static 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 | ||
4198 | static xtensa_arg_internal Iclass_xt_iclass_rsr_itlbcfg_args[] = { | |
4199 | { { 6 /* art */ }, 'o' } | |
4200 | }; | |
4201 | ||
4202 | static xtensa_arg_internal Iclass_xt_iclass_rsr_itlbcfg_stateArgs[] = { | |
4203 | { { STATE_PSEXCM }, 'i' }, | |
4204 | { { STATE_PSRING }, 'i' }, | |
4205 | { { STATE_INSTPGSZID4 }, 'i' } | |
4206 | }; | |
4207 | ||
4208 | static xtensa_arg_internal Iclass_xt_iclass_wsr_itlbcfg_args[] = { | |
4209 | { { 6 /* art */ }, 'i' } | |
4210 | }; | |
4211 | ||
4212 | static 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 | ||
4219 | static xtensa_arg_internal Iclass_xt_iclass_xsr_itlbcfg_args[] = { | |
4220 | { { 6 /* art */ }, 'm' } | |
4221 | }; | |
4222 | ||
4223 | static 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 | ||
4230 | static xtensa_arg_internal Iclass_xt_iclass_rsr_dtlbcfg_args[] = { | |
4231 | { { 6 /* art */ }, 'o' } | |
4232 | }; | |
4233 | ||
4234 | static xtensa_arg_internal Iclass_xt_iclass_rsr_dtlbcfg_stateArgs[] = { | |
4235 | { { STATE_PSEXCM }, 'i' }, | |
4236 | { { STATE_PSRING }, 'i' }, | |
4237 | { { STATE_DATAPGSZID4 }, 'i' } | |
4238 | }; | |
4239 | ||
4240 | static xtensa_arg_internal Iclass_xt_iclass_wsr_dtlbcfg_args[] = { | |
4241 | { { 6 /* art */ }, 'i' } | |
4242 | }; | |
4243 | ||
4244 | static 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 | ||
4251 | static xtensa_arg_internal Iclass_xt_iclass_xsr_dtlbcfg_args[] = { | |
4252 | { { 6 /* art */ }, 'm' } | |
4253 | }; | |
4254 | ||
4255 | static 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 |
4262 | static xtensa_arg_internal Iclass_xt_iclass_idtlb_args[] = { |
4263 | { { 4 /* ars */ }, 'i' } | |
4264 | }; | |
4265 | ||
4266 | static 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 | ||
4272 | static xtensa_arg_internal Iclass_xt_iclass_rdtlb_args[] = { | |
4273 | { { 6 /* art */ }, 'o' }, | |
4274 | { { 4 /* ars */ }, 'i' } | |
4275 | }; | |
4276 | ||
074f5109 BW |
4277 | static xtensa_arg_internal Iclass_xt_iclass_rdtlb_stateArgs[] = { |
4278 | { { STATE_PSEXCM }, 'i' }, | |
4279 | { { STATE_PSRING }, 'i' } | |
4280 | }; | |
4281 | ||
43cd72b9 BW |
4282 | static xtensa_arg_internal Iclass_xt_iclass_wdtlb_args[] = { |
4283 | { { 6 /* art */ }, 'i' }, | |
4284 | { { 4 /* ars */ }, 'i' } | |
4285 | }; | |
4286 | ||
4287 | static 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 | ||
4293 | static xtensa_arg_internal Iclass_xt_iclass_iitlb_args[] = { | |
4294 | { { 4 /* ars */ }, 'i' } | |
4295 | }; | |
4296 | ||
074f5109 BW |
4297 | static xtensa_arg_internal Iclass_xt_iclass_iitlb_stateArgs[] = { |
4298 | { { STATE_PSEXCM }, 'i' }, | |
4299 | { { STATE_PSRING }, 'i' } | |
4300 | }; | |
4301 | ||
43cd72b9 BW |
4302 | static xtensa_arg_internal Iclass_xt_iclass_ritlb_args[] = { |
4303 | { { 6 /* art */ }, 'o' }, | |
4304 | { { 4 /* ars */ }, 'i' } | |
4305 | }; | |
4306 | ||
074f5109 BW |
4307 | static xtensa_arg_internal Iclass_xt_iclass_ritlb_stateArgs[] = { |
4308 | { { STATE_PSEXCM }, 'i' }, | |
4309 | { { STATE_PSRING }, 'i' } | |
4310 | }; | |
4311 | ||
43cd72b9 BW |
4312 | static xtensa_arg_internal Iclass_xt_iclass_witlb_args[] = { |
4313 | { { 6 /* art */ }, 'i' }, | |
4314 | { { 4 /* ars */ }, 'i' } | |
4315 | }; | |
4316 | ||
074f5109 BW |
4317 | static xtensa_arg_internal Iclass_xt_iclass_witlb_stateArgs[] = { |
4318 | { { STATE_PSEXCM }, 'i' }, | |
4319 | { { STATE_PSRING }, 'i' } | |
4320 | }; | |
4321 | ||
4322 | static xtensa_arg_internal Iclass_xt_iclass_ldpte_stateArgs[] = { | |
4323 | { { STATE_PTBASE }, 'i' }, | |
4324 | { { STATE_EXCVADDR }, 'i' } | |
4325 | }; | |
4326 | ||
4327 | static xtensa_arg_internal Iclass_xt_iclass_hwwitlba_stateArgs[] = { | |
4328 | { { STATE_EXCVADDR }, 'i' } | |
4329 | }; | |
4330 | ||
4331 | static xtensa_arg_internal Iclass_xt_iclass_hwwdtlba_stateArgs[] = { | |
4332 | { { STATE_EXCVADDR }, 'i' } | |
4333 | }; | |
4334 | ||
43cd72b9 BW |
4335 | static xtensa_arg_internal Iclass_xt_iclass_nsa_args[] = { |
4336 | { { 6 /* art */ }, 'o' }, | |
4337 | { { 4 /* ars */ }, 'i' } | |
4338 | }; | |
4339 | ||
4340 | static 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 | ||
4816 | static void | |
4817 | Opcode_excw_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4818 | { | |
4819 | slotbuf[0] = 0x80200; | |
4820 | } | |
4821 | ||
4822 | static void | |
4823 | Opcode_rfe_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4824 | { | |
4825 | slotbuf[0] = 0x300; | |
4826 | } | |
4827 | ||
4828 | static void | |
4829 | Opcode_rfde_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4830 | { | |
4831 | slotbuf[0] = 0x2300; | |
4832 | } | |
4833 | ||
4834 | static void | |
4835 | Opcode_syscall_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4836 | { | |
4837 | slotbuf[0] = 0x500; | |
4838 | } | |
4839 | ||
4840 | static void | |
4841 | Opcode_simcall_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4842 | { | |
4843 | slotbuf[0] = 0x1500; | |
4844 | } | |
4845 | ||
4846 | static void | |
4847 | Opcode_call12_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4848 | { | |
4849 | slotbuf[0] = 0x5c0000; | |
4850 | } | |
4851 | ||
4852 | static void | |
4853 | Opcode_call8_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4854 | { | |
4855 | slotbuf[0] = 0x580000; | |
4856 | } | |
4857 | ||
4858 | static void | |
4859 | Opcode_call4_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4860 | { | |
4861 | slotbuf[0] = 0x540000; | |
4862 | } | |
4863 | ||
4864 | static void | |
4865 | Opcode_callx12_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4866 | { | |
4867 | slotbuf[0] = 0xf0000; | |
4868 | } | |
4869 | ||
4870 | static void | |
4871 | Opcode_callx8_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4872 | { | |
4873 | slotbuf[0] = 0xb0000; | |
4874 | } | |
4875 | ||
4876 | static void | |
4877 | Opcode_callx4_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4878 | { | |
4879 | slotbuf[0] = 0x70000; | |
4880 | } | |
4881 | ||
4882 | static void | |
4883 | Opcode_entry_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4884 | { | |
4885 | slotbuf[0] = 0x6c0000; | |
4886 | } | |
4887 | ||
4888 | static void | |
4889 | Opcode_movsp_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4890 | { | |
4891 | slotbuf[0] = 0x100; | |
4892 | } | |
4893 | ||
4894 | static void | |
4895 | Opcode_rotw_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4896 | { | |
4897 | slotbuf[0] = 0x804; | |
4898 | } | |
4899 | ||
4900 | static void | |
4901 | Opcode_retw_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4902 | { | |
4903 | slotbuf[0] = 0x60000; | |
4904 | } | |
4905 | ||
4906 | static void | |
4907 | Opcode_retw_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf) | |
4908 | { | |
4909 | slotbuf[0] = 0xd10f; | |
4910 | } | |
4911 | ||
4912 | static void | |
4913 | Opcode_rfwo_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4914 | { | |
4915 | slotbuf[0] = 0x4300; | |
4916 | } | |
4917 | ||
4918 | static void | |
4919 | Opcode_rfwu_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4920 | { | |
4921 | slotbuf[0] = 0x5300; | |
4922 | } | |
4923 | ||
4924 | static void | |
4925 | Opcode_l32e_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4926 | { | |
4927 | slotbuf[0] = 0x90; | |
4928 | } | |
4929 | ||
4930 | static void | |
4931 | Opcode_s32e_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4932 | { | |
4933 | slotbuf[0] = 0x94; | |
4934 | } | |
4935 | ||
4936 | static void | |
4937 | Opcode_rsr_windowbase_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4938 | { | |
4939 | slotbuf[0] = 0x4830; | |
4940 | } | |
4941 | ||
4942 | static void | |
4943 | Opcode_wsr_windowbase_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4944 | { | |
4945 | slotbuf[0] = 0x4831; | |
4946 | } | |
4947 | ||
4948 | static void | |
4949 | Opcode_xsr_windowbase_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4950 | { | |
4951 | slotbuf[0] = 0x4816; | |
4952 | } | |
4953 | ||
4954 | static void | |
4955 | Opcode_rsr_windowstart_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4956 | { | |
4957 | slotbuf[0] = 0x4930; | |
4958 | } | |
4959 | ||
4960 | static void | |
4961 | Opcode_wsr_windowstart_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4962 | { | |
4963 | slotbuf[0] = 0x4931; | |
4964 | } | |
4965 | ||
4966 | static void | |
4967 | Opcode_xsr_windowstart_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
4968 | { | |
4969 | slotbuf[0] = 0x4916; | |
4970 | } | |
4971 | ||
4972 | static void | |
4973 | Opcode_add_n_Slot_inst16a_encode (xtensa_insnbuf slotbuf) | |
4974 | { | |
4975 | slotbuf[0] = 0xa000; | |
4976 | } | |
4977 | ||
4978 | static void | |
4979 | Opcode_addi_n_Slot_inst16a_encode (xtensa_insnbuf slotbuf) | |
4980 | { | |
4981 | slotbuf[0] = 0xb000; | |
4982 | } | |
4983 | ||
4984 | static void | |
4985 | Opcode_beqz_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf) | |
4986 | { | |
4987 | slotbuf[0] = 0xc800; | |
4988 | } | |
4989 | ||
4990 | static void | |
4991 | Opcode_bnez_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf) | |
4992 | { | |
4993 | slotbuf[0] = 0xcc00; | |
4994 | } | |
4995 | ||
4996 | static void | |
4997 | Opcode_ill_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf) | |
4998 | { | |
4999 | slotbuf[0] = 0xd60f; | |
5000 | } | |
5001 | ||
5002 | static void | |
5003 | Opcode_l32i_n_Slot_inst16a_encode (xtensa_insnbuf slotbuf) | |
5004 | { | |
5005 | slotbuf[0] = 0x8000; | |
5006 | } | |
5007 | ||
5008 | static void | |
5009 | Opcode_mov_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf) | |
5010 | { | |
5011 | slotbuf[0] = 0xd000; | |
5012 | } | |
5013 | ||
5014 | static void | |
5015 | Opcode_movi_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf) | |
5016 | { | |
5017 | slotbuf[0] = 0xc000; | |
5018 | } | |
5019 | ||
5020 | static void | |
5021 | Opcode_nop_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf) | |
5022 | { | |
5023 | slotbuf[0] = 0xd30f; | |
5024 | } | |
5025 | ||
5026 | static void | |
5027 | Opcode_ret_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf) | |
5028 | { | |
5029 | slotbuf[0] = 0xd00f; | |
5030 | } | |
5031 | ||
5032 | static void | |
5033 | Opcode_s32i_n_Slot_inst16a_encode (xtensa_insnbuf slotbuf) | |
5034 | { | |
5035 | slotbuf[0] = 0x9000; | |
5036 | } | |
5037 | ||
5038 | static void | |
5039 | Opcode_addi_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5040 | { | |
5041 | slotbuf[0] = 0x200c00; | |
5042 | } | |
5043 | ||
5044 | static void | |
5045 | Opcode_addmi_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5046 | { | |
5047 | slotbuf[0] = 0x200d00; | |
5048 | } | |
5049 | ||
5050 | static void | |
5051 | Opcode_add_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5052 | { | |
5053 | slotbuf[0] = 0x8; | |
5054 | } | |
5055 | ||
5056 | static void | |
5057 | Opcode_sub_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5058 | { | |
5059 | slotbuf[0] = 0xc; | |
5060 | } | |
5061 | ||
5062 | static void | |
5063 | Opcode_addx2_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5064 | { | |
5065 | slotbuf[0] = 0x9; | |
5066 | } | |
5067 | ||
5068 | static void | |
5069 | Opcode_addx4_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5070 | { | |
5071 | slotbuf[0] = 0xa; | |
5072 | } | |
5073 | ||
5074 | static void | |
5075 | Opcode_addx8_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5076 | { | |
5077 | slotbuf[0] = 0xb; | |
5078 | } | |
5079 | ||
5080 | static void | |
5081 | Opcode_subx2_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5082 | { | |
5083 | slotbuf[0] = 0xd; | |
5084 | } | |
5085 | ||
5086 | static void | |
5087 | Opcode_subx4_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5088 | { | |
5089 | slotbuf[0] = 0xe; | |
5090 | } | |
5091 | ||
5092 | static void | |
5093 | Opcode_subx8_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5094 | { | |
5095 | slotbuf[0] = 0xf; | |
5096 | } | |
5097 | ||
5098 | static void | |
5099 | Opcode_and_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5100 | { | |
5101 | slotbuf[0] = 0x1; | |
5102 | } | |
5103 | ||
5104 | static void | |
5105 | Opcode_or_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5106 | { | |
5107 | slotbuf[0] = 0x2; | |
5108 | } | |
5109 | ||
5110 | static void | |
5111 | Opcode_xor_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5112 | { | |
5113 | slotbuf[0] = 0x3; | |
5114 | } | |
5115 | ||
5116 | static void | |
5117 | Opcode_beqi_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5118 | { | |
5119 | slotbuf[0] = 0x680000; | |
5120 | } | |
5121 | ||
5122 | static void | |
5123 | Opcode_bnei_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5124 | { | |
5125 | slotbuf[0] = 0x690000; | |
5126 | } | |
5127 | ||
5128 | static void | |
5129 | Opcode_bgei_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5130 | { | |
5131 | slotbuf[0] = 0x6b0000; | |
5132 | } | |
5133 | ||
5134 | static void | |
5135 | Opcode_blti_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5136 | { | |
5137 | slotbuf[0] = 0x6a0000; | |
5138 | } | |
5139 | ||
5140 | static void | |
5141 | Opcode_bbci_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5142 | { | |
5143 | slotbuf[0] = 0x700600; | |
5144 | } | |
5145 | ||
5146 | static void | |
5147 | Opcode_bbsi_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5148 | { | |
5149 | slotbuf[0] = 0x700e00; | |
5150 | } | |
5151 | ||
5152 | static void | |
5153 | Opcode_bgeui_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5154 | { | |
5155 | slotbuf[0] = 0x6f0000; | |
5156 | } | |
5157 | ||
5158 | static void | |
5159 | Opcode_bltui_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5160 | { | |
5161 | slotbuf[0] = 0x6e0000; | |
5162 | } | |
5163 | ||
5164 | static void | |
5165 | Opcode_beq_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5166 | { | |
5167 | slotbuf[0] = 0x700100; | |
5168 | } | |
5169 | ||
5170 | static void | |
5171 | Opcode_bne_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5172 | { | |
5173 | slotbuf[0] = 0x700900; | |
5174 | } | |
5175 | ||
5176 | static void | |
5177 | Opcode_bge_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5178 | { | |
5179 | slotbuf[0] = 0x700a00; | |
5180 | } | |
5181 | ||
5182 | static void | |
5183 | Opcode_blt_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5184 | { | |
5185 | slotbuf[0] = 0x700200; | |
5186 | } | |
5187 | ||
5188 | static void | |
5189 | Opcode_bgeu_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5190 | { | |
5191 | slotbuf[0] = 0x700b00; | |
5192 | } | |
5193 | ||
5194 | static void | |
5195 | Opcode_bltu_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5196 | { | |
5197 | slotbuf[0] = 0x700300; | |
5198 | } | |
5199 | ||
5200 | static void | |
5201 | Opcode_bany_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5202 | { | |
5203 | slotbuf[0] = 0x700800; | |
5204 | } | |
5205 | ||
5206 | static void | |
5207 | Opcode_bnone_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5208 | { | |
5209 | slotbuf[0] = 0x700000; | |
5210 | } | |
5211 | ||
5212 | static void | |
5213 | Opcode_ball_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5214 | { | |
5215 | slotbuf[0] = 0x700400; | |
5216 | } | |
5217 | ||
5218 | static void | |
5219 | Opcode_bnall_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5220 | { | |
5221 | slotbuf[0] = 0x700c00; | |
5222 | } | |
5223 | ||
5224 | static void | |
5225 | Opcode_bbc_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5226 | { | |
5227 | slotbuf[0] = 0x700500; | |
5228 | } | |
5229 | ||
5230 | static void | |
5231 | Opcode_bbs_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5232 | { | |
5233 | slotbuf[0] = 0x700d00; | |
5234 | } | |
5235 | ||
5236 | static void | |
5237 | Opcode_beqz_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5238 | { | |
5239 | slotbuf[0] = 0x640000; | |
5240 | } | |
5241 | ||
5242 | static void | |
5243 | Opcode_bnez_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5244 | { | |
5245 | slotbuf[0] = 0x650000; | |
5246 | } | |
5247 | ||
5248 | static void | |
5249 | Opcode_bgez_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5250 | { | |
5251 | slotbuf[0] = 0x670000; | |
5252 | } | |
5253 | ||
5254 | static void | |
5255 | Opcode_bltz_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5256 | { | |
5257 | slotbuf[0] = 0x660000; | |
5258 | } | |
5259 | ||
5260 | static void | |
5261 | Opcode_call0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5262 | { | |
5263 | slotbuf[0] = 0x500000; | |
5264 | } | |
5265 | ||
5266 | static void | |
5267 | Opcode_callx0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5268 | { | |
5269 | slotbuf[0] = 0x30000; | |
5270 | } | |
5271 | ||
5272 | static void | |
5273 | Opcode_extui_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5274 | { | |
5275 | slotbuf[0] = 0x40; | |
5276 | } | |
5277 | ||
5278 | static void | |
5279 | Opcode_ill_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5280 | { | |
5281 | slotbuf[0] = 0; | |
5282 | } | |
5283 | ||
5284 | static void | |
5285 | Opcode_j_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5286 | { | |
5287 | slotbuf[0] = 0x600000; | |
5288 | } | |
5289 | ||
5290 | static void | |
5291 | Opcode_jx_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5292 | { | |
5293 | slotbuf[0] = 0xa0000; | |
5294 | } | |
5295 | ||
5296 | static void | |
5297 | Opcode_l16ui_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5298 | { | |
5299 | slotbuf[0] = 0x200100; | |
5300 | } | |
5301 | ||
5302 | static void | |
5303 | Opcode_l16si_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5304 | { | |
5305 | slotbuf[0] = 0x200900; | |
5306 | } | |
5307 | ||
5308 | static void | |
5309 | Opcode_l32i_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5310 | { | |
5311 | slotbuf[0] = 0x200200; | |
5312 | } | |
5313 | ||
5314 | static void | |
5315 | Opcode_l32r_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5316 | { | |
5317 | slotbuf[0] = 0x100000; | |
5318 | } | |
5319 | ||
5320 | static void | |
5321 | Opcode_l8ui_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5322 | { | |
5323 | slotbuf[0] = 0x200000; | |
5324 | } | |
5325 | ||
5326 | static void | |
5327 | Opcode_loop_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5328 | { | |
5329 | slotbuf[0] = 0x6d0800; | |
5330 | } | |
5331 | ||
5332 | static void | |
5333 | Opcode_loopnez_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5334 | { | |
5335 | slotbuf[0] = 0x6d0900; | |
5336 | } | |
5337 | ||
5338 | static void | |
5339 | Opcode_loopgtz_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5340 | { | |
5341 | slotbuf[0] = 0x6d0a00; | |
5342 | } | |
5343 | ||
5344 | static void | |
5345 | Opcode_movi_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5346 | { | |
5347 | slotbuf[0] = 0x200a00; | |
5348 | } | |
5349 | ||
5350 | static void | |
5351 | Opcode_moveqz_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5352 | { | |
5353 | slotbuf[0] = 0x38; | |
5354 | } | |
5355 | ||
5356 | static void | |
5357 | Opcode_movnez_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5358 | { | |
5359 | slotbuf[0] = 0x39; | |
5360 | } | |
5361 | ||
5362 | static void | |
5363 | Opcode_movltz_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5364 | { | |
5365 | slotbuf[0] = 0x3a; | |
5366 | } | |
5367 | ||
5368 | static void | |
5369 | Opcode_movgez_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5370 | { | |
5371 | slotbuf[0] = 0x3b; | |
5372 | } | |
5373 | ||
5374 | static void | |
5375 | Opcode_neg_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5376 | { | |
5377 | slotbuf[0] = 0x6; | |
5378 | } | |
5379 | ||
5380 | static void | |
5381 | Opcode_abs_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5382 | { | |
5383 | slotbuf[0] = 0x1006; | |
5384 | } | |
5385 | ||
5386 | static void | |
5387 | Opcode_nop_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5388 | { | |
5389 | slotbuf[0] = 0xf0200; | |
5390 | } | |
5391 | ||
5392 | static void | |
5393 | Opcode_ret_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5394 | { | |
5395 | slotbuf[0] = 0x20000; | |
5396 | } | |
5397 | ||
5398 | static void | |
5399 | Opcode_s16i_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5400 | { | |
5401 | slotbuf[0] = 0x200500; | |
5402 | } | |
5403 | ||
5404 | static void | |
5405 | Opcode_s32i_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5406 | { | |
5407 | slotbuf[0] = 0x200600; | |
5408 | } | |
5409 | ||
5410 | static void | |
5411 | Opcode_s8i_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5412 | { | |
5413 | slotbuf[0] = 0x200400; | |
5414 | } | |
5415 | ||
5416 | static void | |
5417 | Opcode_ssr_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5418 | { | |
5419 | slotbuf[0] = 0x4; | |
5420 | } | |
5421 | ||
5422 | static void | |
5423 | Opcode_ssl_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5424 | { | |
5425 | slotbuf[0] = 0x104; | |
5426 | } | |
5427 | ||
5428 | static void | |
5429 | Opcode_ssa8l_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5430 | { | |
5431 | slotbuf[0] = 0x204; | |
5432 | } | |
5433 | ||
5434 | static void | |
5435 | Opcode_ssa8b_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5436 | { | |
5437 | slotbuf[0] = 0x304; | |
5438 | } | |
5439 | ||
5440 | static void | |
5441 | Opcode_ssai_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5442 | { | |
5443 | slotbuf[0] = 0x404; | |
5444 | } | |
5445 | ||
5446 | static void | |
5447 | Opcode_sll_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5448 | { | |
5449 | slotbuf[0] = 0x1a; | |
5450 | } | |
5451 | ||
5452 | static void | |
5453 | Opcode_src_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5454 | { | |
5455 | slotbuf[0] = 0x18; | |
5456 | } | |
5457 | ||
5458 | static void | |
5459 | Opcode_srl_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5460 | { | |
5461 | slotbuf[0] = 0x19; | |
5462 | } | |
5463 | ||
5464 | static void | |
5465 | Opcode_sra_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5466 | { | |
5467 | slotbuf[0] = 0x1b; | |
5468 | } | |
5469 | ||
5470 | static void | |
5471 | Opcode_slli_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5472 | { | |
5473 | slotbuf[0] = 0x10; | |
5474 | } | |
5475 | ||
5476 | static void | |
5477 | Opcode_srai_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5478 | { | |
5479 | slotbuf[0] = 0x12; | |
5480 | } | |
5481 | ||
5482 | static void | |
5483 | Opcode_srli_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5484 | { | |
5485 | slotbuf[0] = 0x14; | |
5486 | } | |
5487 | ||
5488 | static void | |
5489 | Opcode_memw_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5490 | { | |
5491 | slotbuf[0] = 0xc0200; | |
5492 | } | |
5493 | ||
5494 | static void | |
5495 | Opcode_extw_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5496 | { | |
5497 | slotbuf[0] = 0xd0200; | |
5498 | } | |
5499 | ||
5500 | static void | |
5501 | Opcode_isync_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5502 | { | |
5503 | slotbuf[0] = 0x200; | |
5504 | } | |
5505 | ||
5506 | static void | |
5507 | Opcode_rsync_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5508 | { | |
5509 | slotbuf[0] = 0x10200; | |
5510 | } | |
5511 | ||
5512 | static void | |
5513 | Opcode_esync_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5514 | { | |
5515 | slotbuf[0] = 0x20200; | |
5516 | } | |
5517 | ||
5518 | static void | |
5519 | Opcode_dsync_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5520 | { | |
5521 | slotbuf[0] = 0x30200; | |
5522 | } | |
5523 | ||
5524 | static void | |
5525 | Opcode_rsil_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5526 | { | |
5527 | slotbuf[0] = 0x600; | |
5528 | } | |
5529 | ||
5530 | static void | |
5531 | Opcode_rsr_lend_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5532 | { | |
5533 | slotbuf[0] = 0x130; | |
5534 | } | |
5535 | ||
5536 | static void | |
5537 | Opcode_wsr_lend_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5538 | { | |
5539 | slotbuf[0] = 0x131; | |
5540 | } | |
5541 | ||
5542 | static void | |
5543 | Opcode_xsr_lend_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5544 | { | |
5545 | slotbuf[0] = 0x116; | |
5546 | } | |
5547 | ||
5548 | static void | |
5549 | Opcode_rsr_lcount_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5550 | { | |
5551 | slotbuf[0] = 0x230; | |
5552 | } | |
5553 | ||
5554 | static void | |
5555 | Opcode_wsr_lcount_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5556 | { | |
5557 | slotbuf[0] = 0x231; | |
5558 | } | |
5559 | ||
5560 | static void | |
5561 | Opcode_xsr_lcount_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5562 | { | |
5563 | slotbuf[0] = 0x216; | |
5564 | } | |
5565 | ||
5566 | static void | |
5567 | Opcode_rsr_lbeg_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5568 | { | |
5569 | slotbuf[0] = 0x30; | |
5570 | } | |
5571 | ||
5572 | static void | |
5573 | Opcode_wsr_lbeg_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5574 | { | |
5575 | slotbuf[0] = 0x31; | |
5576 | } | |
5577 | ||
5578 | static void | |
5579 | Opcode_xsr_lbeg_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5580 | { | |
5581 | slotbuf[0] = 0x16; | |
5582 | } | |
5583 | ||
5584 | static void | |
5585 | Opcode_rsr_sar_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5586 | { | |
5587 | slotbuf[0] = 0x330; | |
5588 | } | |
5589 | ||
5590 | static void | |
5591 | Opcode_wsr_sar_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5592 | { | |
5593 | slotbuf[0] = 0x331; | |
5594 | } | |
5595 | ||
5596 | static void | |
5597 | Opcode_xsr_sar_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5598 | { | |
5599 | slotbuf[0] = 0x316; | |
5600 | } | |
5601 | ||
5602 | static void | |
5603 | Opcode_rsr_litbase_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5604 | { | |
5605 | slotbuf[0] = 0x530; | |
5606 | } | |
5607 | ||
5608 | static void | |
5609 | Opcode_wsr_litbase_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5610 | { | |
5611 | slotbuf[0] = 0x531; | |
5612 | } | |
5613 | ||
5614 | static void | |
5615 | Opcode_xsr_litbase_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5616 | { | |
5617 | slotbuf[0] = 0x516; | |
5618 | } | |
5619 | ||
5620 | static void | |
5621 | Opcode_rsr_176_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5622 | { | |
5623 | slotbuf[0] = 0xb030; | |
5624 | } | |
5625 | ||
5626 | static void | |
5627 | Opcode_rsr_208_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5628 | { | |
5629 | slotbuf[0] = 0xd030; | |
5630 | } | |
5631 | ||
5632 | static void | |
5633 | Opcode_rsr_ps_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5634 | { | |
5635 | slotbuf[0] = 0xe630; | |
5636 | } | |
5637 | ||
5638 | static void | |
5639 | Opcode_wsr_ps_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5640 | { | |
5641 | slotbuf[0] = 0xe631; | |
5642 | } | |
5643 | ||
5644 | static void | |
5645 | Opcode_xsr_ps_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5646 | { | |
5647 | slotbuf[0] = 0xe616; | |
5648 | } | |
5649 | ||
5650 | static void | |
5651 | Opcode_rsr_epc1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5652 | { | |
5653 | slotbuf[0] = 0xb130; | |
5654 | } | |
5655 | ||
5656 | static void | |
5657 | Opcode_wsr_epc1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5658 | { | |
5659 | slotbuf[0] = 0xb131; | |
5660 | } | |
5661 | ||
5662 | static void | |
5663 | Opcode_xsr_epc1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5664 | { | |
5665 | slotbuf[0] = 0xb116; | |
5666 | } | |
5667 | ||
5668 | static void | |
5669 | Opcode_rsr_excsave1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5670 | { | |
5671 | slotbuf[0] = 0xd130; | |
5672 | } | |
5673 | ||
5674 | static void | |
5675 | Opcode_wsr_excsave1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5676 | { | |
5677 | slotbuf[0] = 0xd131; | |
5678 | } | |
5679 | ||
5680 | static void | |
5681 | Opcode_xsr_excsave1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5682 | { | |
5683 | slotbuf[0] = 0xd116; | |
5684 | } | |
5685 | ||
5686 | static void | |
5687 | Opcode_rsr_epc2_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5688 | { | |
5689 | slotbuf[0] = 0xb230; | |
5690 | } | |
5691 | ||
5692 | static void | |
5693 | Opcode_wsr_epc2_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5694 | { | |
5695 | slotbuf[0] = 0xb231; | |
5696 | } | |
5697 | ||
5698 | static void | |
5699 | Opcode_xsr_epc2_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5700 | { | |
5701 | slotbuf[0] = 0xb216; | |
5702 | } | |
5703 | ||
5704 | static void | |
5705 | Opcode_rsr_excsave2_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5706 | { | |
5707 | slotbuf[0] = 0xd230; | |
5708 | } | |
5709 | ||
5710 | static void | |
5711 | Opcode_wsr_excsave2_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5712 | { | |
5713 | slotbuf[0] = 0xd231; | |
5714 | } | |
5715 | ||
5716 | static void | |
5717 | Opcode_xsr_excsave2_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5718 | { | |
5719 | slotbuf[0] = 0xd216; | |
5720 | } | |
5721 | ||
5722 | static void | |
5723 | Opcode_rsr_epc3_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5724 | { | |
5725 | slotbuf[0] = 0xb330; | |
5726 | } | |
5727 | ||
5728 | static void | |
5729 | Opcode_wsr_epc3_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5730 | { | |
5731 | slotbuf[0] = 0xb331; | |
5732 | } | |
5733 | ||
5734 | static void | |
5735 | Opcode_xsr_epc3_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5736 | { | |
5737 | slotbuf[0] = 0xb316; | |
5738 | } | |
5739 | ||
5740 | static void | |
5741 | Opcode_rsr_excsave3_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5742 | { | |
5743 | slotbuf[0] = 0xd330; | |
5744 | } | |
5745 | ||
5746 | static void | |
5747 | Opcode_wsr_excsave3_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5748 | { | |
5749 | slotbuf[0] = 0xd331; | |
5750 | } | |
5751 | ||
5752 | static void | |
5753 | Opcode_xsr_excsave3_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5754 | { | |
5755 | slotbuf[0] = 0xd316; | |
5756 | } | |
5757 | ||
5758 | static void | |
5759 | Opcode_rsr_epc4_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5760 | { | |
5761 | slotbuf[0] = 0xb430; | |
5762 | } | |
5763 | ||
5764 | static void | |
5765 | Opcode_wsr_epc4_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5766 | { | |
5767 | slotbuf[0] = 0xb431; | |
5768 | } | |
5769 | ||
5770 | static void | |
5771 | Opcode_xsr_epc4_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5772 | { | |
5773 | slotbuf[0] = 0xb416; | |
5774 | } | |
5775 | ||
5776 | static void | |
5777 | Opcode_rsr_excsave4_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5778 | { | |
5779 | slotbuf[0] = 0xd430; | |
5780 | } | |
5781 | ||
5782 | static void | |
5783 | Opcode_wsr_excsave4_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5784 | { | |
5785 | slotbuf[0] = 0xd431; | |
5786 | } | |
5787 | ||
5788 | static void | |
5789 | Opcode_xsr_excsave4_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5790 | { | |
5791 | slotbuf[0] = 0xd416; | |
5792 | } | |
5793 | ||
5794 | static void | |
5795 | Opcode_rsr_eps2_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5796 | { | |
5797 | slotbuf[0] = 0xc230; | |
5798 | } | |
5799 | ||
5800 | static void | |
5801 | Opcode_wsr_eps2_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5802 | { | |
5803 | slotbuf[0] = 0xc231; | |
5804 | } | |
5805 | ||
5806 | static void | |
5807 | Opcode_xsr_eps2_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5808 | { | |
5809 | slotbuf[0] = 0xc216; | |
5810 | } | |
5811 | ||
5812 | static void | |
5813 | Opcode_rsr_eps3_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5814 | { | |
5815 | slotbuf[0] = 0xc330; | |
5816 | } | |
5817 | ||
5818 | static void | |
5819 | Opcode_wsr_eps3_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5820 | { | |
5821 | slotbuf[0] = 0xc331; | |
5822 | } | |
5823 | ||
5824 | static void | |
5825 | Opcode_xsr_eps3_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5826 | { | |
5827 | slotbuf[0] = 0xc316; | |
5828 | } | |
5829 | ||
5830 | static void | |
5831 | Opcode_rsr_eps4_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5832 | { | |
5833 | slotbuf[0] = 0xc430; | |
5834 | } | |
5835 | ||
5836 | static void | |
5837 | Opcode_wsr_eps4_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5838 | { | |
5839 | slotbuf[0] = 0xc431; | |
5840 | } | |
5841 | ||
5842 | static void | |
5843 | Opcode_xsr_eps4_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5844 | { | |
5845 | slotbuf[0] = 0xc416; | |
5846 | } | |
5847 | ||
5848 | static void | |
5849 | Opcode_rsr_excvaddr_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5850 | { | |
5851 | slotbuf[0] = 0xee30; | |
5852 | } | |
5853 | ||
5854 | static void | |
5855 | Opcode_wsr_excvaddr_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5856 | { | |
5857 | slotbuf[0] = 0xee31; | |
5858 | } | |
5859 | ||
5860 | static void | |
5861 | Opcode_xsr_excvaddr_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5862 | { | |
5863 | slotbuf[0] = 0xee16; | |
5864 | } | |
5865 | ||
5866 | static void | |
5867 | Opcode_rsr_depc_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5868 | { | |
5869 | slotbuf[0] = 0xc030; | |
5870 | } | |
5871 | ||
5872 | static void | |
5873 | Opcode_wsr_depc_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5874 | { | |
5875 | slotbuf[0] = 0xc031; | |
5876 | } | |
5877 | ||
5878 | static void | |
5879 | Opcode_xsr_depc_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5880 | { | |
5881 | slotbuf[0] = 0xc016; | |
5882 | } | |
5883 | ||
5884 | static void | |
5885 | Opcode_rsr_exccause_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5886 | { | |
5887 | slotbuf[0] = 0xe830; | |
5888 | } | |
5889 | ||
5890 | static void | |
5891 | Opcode_wsr_exccause_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5892 | { | |
5893 | slotbuf[0] = 0xe831; | |
5894 | } | |
5895 | ||
5896 | static void | |
5897 | Opcode_xsr_exccause_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5898 | { | |
5899 | slotbuf[0] = 0xe816; | |
5900 | } | |
5901 | ||
5902 | static void | |
5903 | Opcode_rsr_misc0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5904 | { | |
5905 | slotbuf[0] = 0xf430; | |
5906 | } | |
5907 | ||
5908 | static void | |
5909 | Opcode_wsr_misc0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5910 | { | |
5911 | slotbuf[0] = 0xf431; | |
5912 | } | |
5913 | ||
5914 | static void | |
5915 | Opcode_xsr_misc0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5916 | { | |
5917 | slotbuf[0] = 0xf416; | |
5918 | } | |
5919 | ||
5920 | static void | |
5921 | Opcode_rsr_misc1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5922 | { | |
5923 | slotbuf[0] = 0xf530; | |
5924 | } | |
5925 | ||
5926 | static void | |
5927 | Opcode_wsr_misc1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5928 | { | |
5929 | slotbuf[0] = 0xf531; | |
5930 | } | |
5931 | ||
5932 | static void | |
5933 | Opcode_xsr_misc1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5934 | { | |
5935 | slotbuf[0] = 0xf516; | |
5936 | } | |
5937 | ||
5938 | static void | |
5939 | Opcode_rsr_prid_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5940 | { | |
5941 | slotbuf[0] = 0xeb30; | |
5942 | } | |
5943 | ||
5944 | static void | |
5945 | Opcode_rfi_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5946 | { | |
5947 | slotbuf[0] = 0x10300; | |
5948 | } | |
5949 | ||
5950 | static void | |
5951 | Opcode_waiti_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5952 | { | |
5953 | slotbuf[0] = 0x700; | |
5954 | } | |
5955 | ||
5956 | static void | |
5957 | Opcode_rsr_interrupt_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5958 | { | |
5959 | slotbuf[0] = 0xe230; | |
5960 | } | |
5961 | ||
5962 | static void | |
5963 | Opcode_wsr_intset_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5964 | { | |
5965 | slotbuf[0] = 0xe231; | |
5966 | } | |
5967 | ||
5968 | static void | |
5969 | Opcode_wsr_intclear_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5970 | { | |
5971 | slotbuf[0] = 0xe331; | |
5972 | } | |
5973 | ||
5974 | static void | |
5975 | Opcode_rsr_intenable_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5976 | { | |
5977 | slotbuf[0] = 0xe430; | |
5978 | } | |
5979 | ||
5980 | static void | |
5981 | Opcode_wsr_intenable_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5982 | { | |
5983 | slotbuf[0] = 0xe431; | |
5984 | } | |
5985 | ||
5986 | static void | |
5987 | Opcode_xsr_intenable_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
5988 | { | |
5989 | slotbuf[0] = 0xe416; | |
5990 | } | |
5991 | ||
5992 | static void | |
5993 | Opcode_break_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 5994 | { |
43cd72b9 | 5995 | slotbuf[0] = 0x400; |
e0001a05 NC |
5996 | } |
5997 | ||
43cd72b9 BW |
5998 | static void |
5999 | Opcode_break_n_Slot_inst16b_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6000 | { |
43cd72b9 | 6001 | slotbuf[0] = 0xd20f; |
e0001a05 NC |
6002 | } |
6003 | ||
43cd72b9 BW |
6004 | static void |
6005 | Opcode_rsr_dbreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6006 | { |
43cd72b9 | 6007 | slotbuf[0] = 0x9030; |
e0001a05 NC |
6008 | } |
6009 | ||
43cd72b9 BW |
6010 | static void |
6011 | Opcode_wsr_dbreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6012 | { |
43cd72b9 | 6013 | slotbuf[0] = 0x9031; |
e0001a05 NC |
6014 | } |
6015 | ||
43cd72b9 BW |
6016 | static void |
6017 | Opcode_xsr_dbreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6018 | { |
43cd72b9 | 6019 | slotbuf[0] = 0x9016; |
e0001a05 NC |
6020 | } |
6021 | ||
43cd72b9 BW |
6022 | static void |
6023 | Opcode_rsr_dbreakc0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6024 | { |
43cd72b9 | 6025 | slotbuf[0] = 0xa030; |
e0001a05 NC |
6026 | } |
6027 | ||
43cd72b9 BW |
6028 | static void |
6029 | Opcode_wsr_dbreakc0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6030 | { |
43cd72b9 | 6031 | slotbuf[0] = 0xa031; |
e0001a05 NC |
6032 | } |
6033 | ||
43cd72b9 BW |
6034 | static void |
6035 | Opcode_xsr_dbreakc0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6036 | { |
43cd72b9 | 6037 | slotbuf[0] = 0xa016; |
e0001a05 NC |
6038 | } |
6039 | ||
43cd72b9 BW |
6040 | static void |
6041 | Opcode_rsr_dbreaka1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6042 | { |
43cd72b9 | 6043 | slotbuf[0] = 0x9130; |
e0001a05 NC |
6044 | } |
6045 | ||
43cd72b9 BW |
6046 | static void |
6047 | Opcode_wsr_dbreaka1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6048 | { |
43cd72b9 | 6049 | slotbuf[0] = 0x9131; |
e0001a05 NC |
6050 | } |
6051 | ||
43cd72b9 BW |
6052 | static void |
6053 | Opcode_xsr_dbreaka1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6054 | { |
43cd72b9 | 6055 | slotbuf[0] = 0x9116; |
e0001a05 NC |
6056 | } |
6057 | ||
43cd72b9 BW |
6058 | static void |
6059 | Opcode_rsr_dbreakc1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6060 | { |
43cd72b9 | 6061 | slotbuf[0] = 0xa130; |
e0001a05 NC |
6062 | } |
6063 | ||
43cd72b9 BW |
6064 | static void |
6065 | Opcode_wsr_dbreakc1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6066 | { |
43cd72b9 | 6067 | slotbuf[0] = 0xa131; |
e0001a05 NC |
6068 | } |
6069 | ||
43cd72b9 BW |
6070 | static void |
6071 | Opcode_xsr_dbreakc1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6072 | { |
43cd72b9 | 6073 | slotbuf[0] = 0xa116; |
e0001a05 NC |
6074 | } |
6075 | ||
43cd72b9 BW |
6076 | static void |
6077 | Opcode_rsr_ibreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6078 | { |
43cd72b9 | 6079 | slotbuf[0] = 0x8030; |
e0001a05 NC |
6080 | } |
6081 | ||
43cd72b9 BW |
6082 | static void |
6083 | Opcode_wsr_ibreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6084 | { |
43cd72b9 | 6085 | slotbuf[0] = 0x8031; |
e0001a05 NC |
6086 | } |
6087 | ||
43cd72b9 BW |
6088 | static void |
6089 | Opcode_xsr_ibreaka0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6090 | { |
43cd72b9 | 6091 | slotbuf[0] = 0x8016; |
e0001a05 NC |
6092 | } |
6093 | ||
43cd72b9 BW |
6094 | static void |
6095 | Opcode_rsr_ibreaka1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6096 | { |
43cd72b9 | 6097 | slotbuf[0] = 0x8130; |
e0001a05 NC |
6098 | } |
6099 | ||
43cd72b9 BW |
6100 | static void |
6101 | Opcode_wsr_ibreaka1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6102 | { |
43cd72b9 | 6103 | slotbuf[0] = 0x8131; |
e0001a05 NC |
6104 | } |
6105 | ||
43cd72b9 BW |
6106 | static void |
6107 | Opcode_xsr_ibreaka1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6108 | { |
43cd72b9 | 6109 | slotbuf[0] = 0x8116; |
e0001a05 NC |
6110 | } |
6111 | ||
43cd72b9 BW |
6112 | static void |
6113 | Opcode_rsr_ibreakenable_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6114 | { |
43cd72b9 | 6115 | slotbuf[0] = 0x6030; |
e0001a05 NC |
6116 | } |
6117 | ||
43cd72b9 BW |
6118 | static void |
6119 | Opcode_wsr_ibreakenable_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6120 | { |
43cd72b9 | 6121 | slotbuf[0] = 0x6031; |
e0001a05 NC |
6122 | } |
6123 | ||
43cd72b9 BW |
6124 | static void |
6125 | Opcode_xsr_ibreakenable_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6126 | { |
43cd72b9 | 6127 | slotbuf[0] = 0x6016; |
e0001a05 NC |
6128 | } |
6129 | ||
43cd72b9 BW |
6130 | static void |
6131 | Opcode_rsr_debugcause_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6132 | { |
43cd72b9 | 6133 | slotbuf[0] = 0xe930; |
e0001a05 NC |
6134 | } |
6135 | ||
43cd72b9 BW |
6136 | static void |
6137 | Opcode_wsr_debugcause_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6138 | { |
43cd72b9 | 6139 | slotbuf[0] = 0xe931; |
e0001a05 NC |
6140 | } |
6141 | ||
43cd72b9 BW |
6142 | static void |
6143 | Opcode_xsr_debugcause_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6144 | { |
43cd72b9 | 6145 | slotbuf[0] = 0xe916; |
e0001a05 NC |
6146 | } |
6147 | ||
43cd72b9 BW |
6148 | static void |
6149 | Opcode_rsr_icount_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6150 | { |
43cd72b9 | 6151 | slotbuf[0] = 0xec30; |
e0001a05 NC |
6152 | } |
6153 | ||
43cd72b9 BW |
6154 | static void |
6155 | Opcode_wsr_icount_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6156 | { |
43cd72b9 | 6157 | slotbuf[0] = 0xec31; |
e0001a05 NC |
6158 | } |
6159 | ||
43cd72b9 BW |
6160 | static void |
6161 | Opcode_xsr_icount_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6162 | { |
43cd72b9 | 6163 | slotbuf[0] = 0xec16; |
e0001a05 NC |
6164 | } |
6165 | ||
43cd72b9 BW |
6166 | static void |
6167 | Opcode_rsr_icountlevel_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6168 | { |
43cd72b9 | 6169 | slotbuf[0] = 0xed30; |
e0001a05 NC |
6170 | } |
6171 | ||
43cd72b9 BW |
6172 | static void |
6173 | Opcode_wsr_icountlevel_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6174 | { |
43cd72b9 | 6175 | slotbuf[0] = 0xed31; |
e0001a05 NC |
6176 | } |
6177 | ||
43cd72b9 BW |
6178 | static void |
6179 | Opcode_xsr_icountlevel_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6180 | { |
43cd72b9 | 6181 | slotbuf[0] = 0xed16; |
e0001a05 NC |
6182 | } |
6183 | ||
43cd72b9 BW |
6184 | static void |
6185 | Opcode_rsr_ddr_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6186 | { |
43cd72b9 | 6187 | slotbuf[0] = 0x6830; |
e0001a05 NC |
6188 | } |
6189 | ||
43cd72b9 BW |
6190 | static void |
6191 | Opcode_wsr_ddr_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6192 | { |
43cd72b9 | 6193 | slotbuf[0] = 0x6831; |
e0001a05 NC |
6194 | } |
6195 | ||
43cd72b9 BW |
6196 | static void |
6197 | Opcode_xsr_ddr_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6198 | { |
43cd72b9 | 6199 | slotbuf[0] = 0x6816; |
e0001a05 NC |
6200 | } |
6201 | ||
43cd72b9 BW |
6202 | static void |
6203 | Opcode_rfdo_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6204 | { |
43cd72b9 | 6205 | slotbuf[0] = 0xe1f; |
e0001a05 NC |
6206 | } |
6207 | ||
43cd72b9 BW |
6208 | static void |
6209 | Opcode_rfdd_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6210 | { |
43cd72b9 | 6211 | slotbuf[0] = 0x10e1f; |
e0001a05 NC |
6212 | } |
6213 | ||
43cd72b9 BW |
6214 | static void |
6215 | Opcode_rsr_ccount_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6216 | { |
43cd72b9 | 6217 | slotbuf[0] = 0xea30; |
e0001a05 NC |
6218 | } |
6219 | ||
43cd72b9 BW |
6220 | static void |
6221 | Opcode_wsr_ccount_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6222 | { |
43cd72b9 | 6223 | slotbuf[0] = 0xea31; |
e0001a05 NC |
6224 | } |
6225 | ||
43cd72b9 BW |
6226 | static void |
6227 | Opcode_xsr_ccount_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6228 | { |
43cd72b9 | 6229 | slotbuf[0] = 0xea16; |
e0001a05 NC |
6230 | } |
6231 | ||
43cd72b9 BW |
6232 | static void |
6233 | Opcode_rsr_ccompare0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6234 | { |
43cd72b9 | 6235 | slotbuf[0] = 0xf030; |
e0001a05 NC |
6236 | } |
6237 | ||
43cd72b9 BW |
6238 | static void |
6239 | Opcode_wsr_ccompare0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6240 | { |
43cd72b9 | 6241 | slotbuf[0] = 0xf031; |
e0001a05 NC |
6242 | } |
6243 | ||
43cd72b9 BW |
6244 | static void |
6245 | Opcode_xsr_ccompare0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6246 | { |
43cd72b9 | 6247 | slotbuf[0] = 0xf016; |
e0001a05 NC |
6248 | } |
6249 | ||
43cd72b9 BW |
6250 | static void |
6251 | Opcode_rsr_ccompare1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6252 | { |
43cd72b9 | 6253 | slotbuf[0] = 0xf130; |
e0001a05 NC |
6254 | } |
6255 | ||
43cd72b9 BW |
6256 | static void |
6257 | Opcode_wsr_ccompare1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6258 | { |
43cd72b9 | 6259 | slotbuf[0] = 0xf131; |
e0001a05 NC |
6260 | } |
6261 | ||
43cd72b9 BW |
6262 | static void |
6263 | Opcode_xsr_ccompare1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6264 | { |
43cd72b9 | 6265 | slotbuf[0] = 0xf116; |
e0001a05 NC |
6266 | } |
6267 | ||
43cd72b9 BW |
6268 | static void |
6269 | Opcode_rsr_ccompare2_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6270 | { |
43cd72b9 | 6271 | slotbuf[0] = 0xf230; |
e0001a05 NC |
6272 | } |
6273 | ||
43cd72b9 BW |
6274 | static void |
6275 | Opcode_wsr_ccompare2_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6276 | { |
43cd72b9 | 6277 | slotbuf[0] = 0xf231; |
e0001a05 NC |
6278 | } |
6279 | ||
43cd72b9 BW |
6280 | static void |
6281 | Opcode_xsr_ccompare2_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6282 | { |
43cd72b9 | 6283 | slotbuf[0] = 0xf216; |
e0001a05 NC |
6284 | } |
6285 | ||
43cd72b9 BW |
6286 | static void |
6287 | Opcode_ipf_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6288 | { |
43cd72b9 | 6289 | slotbuf[0] = 0x2c0700; |
e0001a05 NC |
6290 | } |
6291 | ||
43cd72b9 BW |
6292 | static void |
6293 | Opcode_ihi_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6294 | { |
43cd72b9 | 6295 | slotbuf[0] = 0x2e0700; |
e0001a05 NC |
6296 | } |
6297 | ||
43cd72b9 BW |
6298 | static void |
6299 | Opcode_iii_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6300 | { |
43cd72b9 | 6301 | slotbuf[0] = 0x2f0700; |
e0001a05 NC |
6302 | } |
6303 | ||
43cd72b9 BW |
6304 | static void |
6305 | Opcode_lict_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6306 | { |
43cd72b9 | 6307 | slotbuf[0] = 0x1f; |
e0001a05 NC |
6308 | } |
6309 | ||
43cd72b9 BW |
6310 | static void |
6311 | Opcode_licw_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6312 | { |
43cd72b9 | 6313 | slotbuf[0] = 0x21f; |
e0001a05 NC |
6314 | } |
6315 | ||
43cd72b9 BW |
6316 | static void |
6317 | Opcode_sict_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6318 | { |
43cd72b9 | 6319 | slotbuf[0] = 0x11f; |
e0001a05 NC |
6320 | } |
6321 | ||
43cd72b9 BW |
6322 | static void |
6323 | Opcode_sicw_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6324 | { |
43cd72b9 | 6325 | slotbuf[0] = 0x31f; |
e0001a05 NC |
6326 | } |
6327 | ||
43cd72b9 BW |
6328 | static void |
6329 | Opcode_dhwb_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6330 | { |
43cd72b9 | 6331 | slotbuf[0] = 0x240700; |
e0001a05 NC |
6332 | } |
6333 | ||
43cd72b9 BW |
6334 | static void |
6335 | Opcode_dhwbi_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6336 | { |
43cd72b9 | 6337 | slotbuf[0] = 0x250700; |
e0001a05 NC |
6338 | } |
6339 | ||
43cd72b9 BW |
6340 | static void |
6341 | Opcode_diwb_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6342 | { |
43cd72b9 | 6343 | slotbuf[0] = 0x280740; |
e0001a05 NC |
6344 | } |
6345 | ||
43cd72b9 BW |
6346 | static void |
6347 | Opcode_diwbi_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6348 | { |
43cd72b9 | 6349 | slotbuf[0] = 0x280750; |
e0001a05 NC |
6350 | } |
6351 | ||
43cd72b9 BW |
6352 | static void |
6353 | Opcode_dhi_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6354 | { |
43cd72b9 | 6355 | slotbuf[0] = 0x260700; |
e0001a05 NC |
6356 | } |
6357 | ||
43cd72b9 BW |
6358 | static void |
6359 | Opcode_dii_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6360 | { |
43cd72b9 | 6361 | slotbuf[0] = 0x270700; |
e0001a05 NC |
6362 | } |
6363 | ||
43cd72b9 BW |
6364 | static void |
6365 | Opcode_dpfr_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6366 | { |
43cd72b9 | 6367 | slotbuf[0] = 0x200700; |
e0001a05 NC |
6368 | } |
6369 | ||
43cd72b9 BW |
6370 | static void |
6371 | Opcode_dpfw_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6372 | { |
43cd72b9 | 6373 | slotbuf[0] = 0x210700; |
e0001a05 NC |
6374 | } |
6375 | ||
43cd72b9 BW |
6376 | static void |
6377 | Opcode_dpfro_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6378 | { |
43cd72b9 | 6379 | slotbuf[0] = 0x220700; |
e0001a05 NC |
6380 | } |
6381 | ||
43cd72b9 BW |
6382 | static void |
6383 | Opcode_dpfwo_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6384 | { |
43cd72b9 | 6385 | slotbuf[0] = 0x230700; |
e0001a05 NC |
6386 | } |
6387 | ||
43cd72b9 BW |
6388 | static void |
6389 | Opcode_sdct_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6390 | { |
43cd72b9 | 6391 | slotbuf[0] = 0x91f; |
e0001a05 NC |
6392 | } |
6393 | ||
43cd72b9 BW |
6394 | static void |
6395 | Opcode_ldct_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6396 | { |
43cd72b9 | 6397 | slotbuf[0] = 0x81f; |
e0001a05 NC |
6398 | } |
6399 | ||
074f5109 BW |
6400 | static void |
6401 | Opcode_wsr_ptevaddr_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6402 | { | |
6403 | slotbuf[0] = 0x5331; | |
6404 | } | |
6405 | ||
6406 | static void | |
6407 | Opcode_rsr_ptevaddr_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6408 | { | |
6409 | slotbuf[0] = 0x5330; | |
6410 | } | |
6411 | ||
6412 | static void | |
6413 | Opcode_xsr_ptevaddr_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6414 | { | |
6415 | slotbuf[0] = 0x5316; | |
6416 | } | |
6417 | ||
6418 | static void | |
6419 | Opcode_rsr_rasid_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6420 | { | |
6421 | slotbuf[0] = 0x5a30; | |
6422 | } | |
6423 | ||
6424 | static void | |
6425 | Opcode_wsr_rasid_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6426 | { | |
6427 | slotbuf[0] = 0x5a31; | |
6428 | } | |
6429 | ||
6430 | static void | |
6431 | Opcode_xsr_rasid_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6432 | { | |
6433 | slotbuf[0] = 0x5a16; | |
6434 | } | |
6435 | ||
6436 | static void | |
6437 | Opcode_rsr_itlbcfg_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6438 | { | |
6439 | slotbuf[0] = 0x5b30; | |
6440 | } | |
6441 | ||
6442 | static void | |
6443 | Opcode_wsr_itlbcfg_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6444 | { | |
6445 | slotbuf[0] = 0x5b31; | |
6446 | } | |
6447 | ||
6448 | static void | |
6449 | Opcode_xsr_itlbcfg_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6450 | { | |
6451 | slotbuf[0] = 0x5b16; | |
6452 | } | |
6453 | ||
6454 | static void | |
6455 | Opcode_rsr_dtlbcfg_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6456 | { | |
6457 | slotbuf[0] = 0x5c30; | |
6458 | } | |
6459 | ||
6460 | static void | |
6461 | Opcode_wsr_dtlbcfg_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6462 | { | |
6463 | slotbuf[0] = 0x5c31; | |
6464 | } | |
6465 | ||
6466 | static void | |
6467 | Opcode_xsr_dtlbcfg_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6468 | { | |
6469 | slotbuf[0] = 0x5c16; | |
6470 | } | |
6471 | ||
43cd72b9 BW |
6472 | static void |
6473 | Opcode_idtlb_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6474 | { |
43cd72b9 | 6475 | slotbuf[0] = 0xc05; |
e0001a05 NC |
6476 | } |
6477 | ||
43cd72b9 BW |
6478 | static void |
6479 | Opcode_pdtlb_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6480 | { |
43cd72b9 | 6481 | slotbuf[0] = 0xd05; |
e0001a05 NC |
6482 | } |
6483 | ||
43cd72b9 BW |
6484 | static void |
6485 | Opcode_rdtlb0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6486 | { |
43cd72b9 | 6487 | slotbuf[0] = 0xb05; |
e0001a05 NC |
6488 | } |
6489 | ||
43cd72b9 BW |
6490 | static void |
6491 | Opcode_rdtlb1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6492 | { |
43cd72b9 | 6493 | slotbuf[0] = 0xf05; |
e0001a05 NC |
6494 | } |
6495 | ||
43cd72b9 BW |
6496 | static void |
6497 | Opcode_wdtlb_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6498 | { |
43cd72b9 | 6499 | slotbuf[0] = 0xe05; |
e0001a05 NC |
6500 | } |
6501 | ||
43cd72b9 BW |
6502 | static void |
6503 | Opcode_iitlb_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6504 | { |
43cd72b9 | 6505 | slotbuf[0] = 0x405; |
e0001a05 NC |
6506 | } |
6507 | ||
43cd72b9 BW |
6508 | static void |
6509 | Opcode_pitlb_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6510 | { |
43cd72b9 | 6511 | slotbuf[0] = 0x505; |
e0001a05 NC |
6512 | } |
6513 | ||
43cd72b9 BW |
6514 | static void |
6515 | Opcode_ritlb0_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6516 | { |
43cd72b9 | 6517 | slotbuf[0] = 0x305; |
e0001a05 NC |
6518 | } |
6519 | ||
43cd72b9 BW |
6520 | static void |
6521 | Opcode_ritlb1_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6522 | { |
43cd72b9 | 6523 | slotbuf[0] = 0x705; |
e0001a05 NC |
6524 | } |
6525 | ||
43cd72b9 BW |
6526 | static void |
6527 | Opcode_witlb_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
e0001a05 | 6528 | { |
43cd72b9 | 6529 | slotbuf[0] = 0x605; |
e0001a05 NC |
6530 | } |
6531 | ||
074f5109 BW |
6532 | static void |
6533 | Opcode_ldpte_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6534 | { | |
6535 | slotbuf[0] = 0xf1f; | |
6536 | } | |
6537 | ||
6538 | static void | |
6539 | Opcode_hwwitlba_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6540 | { | |
6541 | slotbuf[0] = 0x105; | |
6542 | } | |
6543 | ||
6544 | static void | |
6545 | Opcode_hwwdtlba_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6546 | { | |
6547 | slotbuf[0] = 0x905; | |
6548 | } | |
6549 | ||
43cd72b9 BW |
6550 | static void |
6551 | Opcode_nsa_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6552 | { | |
6553 | slotbuf[0] = 0xe04; | |
6554 | } | |
6555 | ||
6556 | static void | |
6557 | Opcode_nsau_Slot_inst_encode (xtensa_insnbuf slotbuf) | |
6558 | { | |
6559 | slotbuf[0] = 0xf04; | |
6560 | } | |
6561 | ||
6562 | xtensa_opcode_encode_fn Opcode_excw_encode_fns[] = { | |
6563 | Opcode_excw_Slot_inst_encode, 0, 0 | |
6564 | }; | |
6565 | ||
6566 | xtensa_opcode_encode_fn Opcode_rfe_encode_fns[] = { | |
6567 | Opcode_rfe_Slot_inst_encode, 0, 0 | |
6568 | }; | |
6569 | ||
6570 | xtensa_opcode_encode_fn Opcode_rfde_encode_fns[] = { | |
6571 | Opcode_rfde_Slot_inst_encode, 0, 0 | |
6572 | }; | |
6573 | ||
6574 | xtensa_opcode_encode_fn Opcode_syscall_encode_fns[] = { | |
6575 | Opcode_syscall_Slot_inst_encode, 0, 0 | |
6576 | }; | |
6577 | ||
6578 | xtensa_opcode_encode_fn Opcode_simcall_encode_fns[] = { | |
6579 | Opcode_simcall_Slot_inst_encode, 0, 0 | |
6580 | }; | |
6581 | ||
6582 | xtensa_opcode_encode_fn Opcode_call12_encode_fns[] = { | |
6583 | Opcode_call12_Slot_inst_encode, 0, 0 | |
6584 | }; | |
6585 | ||
6586 | xtensa_opcode_encode_fn Opcode_call8_encode_fns[] = { | |
6587 | Opcode_call8_Slot_inst_encode, 0, 0 | |
6588 | }; | |
6589 | ||
6590 | xtensa_opcode_encode_fn Opcode_call4_encode_fns[] = { | |
6591 | Opcode_call4_Slot_inst_encode, 0, 0 | |
6592 | }; | |
6593 | ||
6594 | xtensa_opcode_encode_fn Opcode_callx12_encode_fns[] = { | |
6595 | Opcode_callx12_Slot_inst_encode, 0, 0 | |
6596 | }; | |
6597 | ||
6598 | xtensa_opcode_encode_fn Opcode_callx8_encode_fns[] = { | |
6599 | Opcode_callx8_Slot_inst_encode, 0, 0 | |
6600 | }; | |
6601 | ||
6602 | xtensa_opcode_encode_fn Opcode_callx4_encode_fns[] = { | |
6603 | Opcode_callx4_Slot_inst_encode, 0, 0 | |
6604 | }; | |
6605 | ||
6606 | xtensa_opcode_encode_fn Opcode_entry_encode_fns[] = { | |
6607 | Opcode_entry_Slot_inst_encode, 0, 0 | |
6608 | }; | |
6609 | ||
6610 | xtensa_opcode_encode_fn Opcode_movsp_encode_fns[] = { | |
6611 | Opcode_movsp_Slot_inst_encode, 0, 0 | |
6612 | }; | |
6613 | ||
6614 | xtensa_opcode_encode_fn Opcode_rotw_encode_fns[] = { | |
6615 | Opcode_rotw_Slot_inst_encode, 0, 0 | |
6616 | }; | |
6617 | ||
6618 | xtensa_opcode_encode_fn Opcode_retw_encode_fns[] = { | |
6619 | Opcode_retw_Slot_inst_encode, 0, 0 | |
6620 | }; | |
6621 | ||
6622 | xtensa_opcode_encode_fn Opcode_retw_n_encode_fns[] = { | |
6623 | 0, 0, Opcode_retw_n_Slot_inst16b_encode | |
6624 | }; | |
6625 | ||
6626 | xtensa_opcode_encode_fn Opcode_rfwo_encode_fns[] = { | |
6627 | Opcode_rfwo_Slot_inst_encode, 0, 0 | |
6628 | }; | |
6629 | ||
6630 | xtensa_opcode_encode_fn Opcode_rfwu_encode_fns[] = { | |
6631 | Opcode_rfwu_Slot_inst_encode, 0, 0 | |
6632 | }; | |
6633 | ||
6634 | xtensa_opcode_encode_fn Opcode_l32e_encode_fns[] = { | |
6635 | Opcode_l32e_Slot_inst_encode, 0, 0 | |
6636 | }; | |
6637 | ||
6638 | xtensa_opcode_encode_fn Opcode_s32e_encode_fns[] = { | |
6639 | Opcode_s32e_Slot_inst_encode, 0, 0 | |
6640 | }; | |
6641 | ||
6642 | xtensa_opcode_encode_fn Opcode_rsr_windowbase_encode_fns[] = { | |
6643 | Opcode_rsr_windowbase_Slot_inst_encode, 0, 0 | |
6644 | }; | |
6645 | ||
6646 | xtensa_opcode_encode_fn Opcode_wsr_windowbase_encode_fns[] = { | |
6647 | Opcode_wsr_windowbase_Slot_inst_encode, 0, 0 | |
6648 | }; | |
6649 | ||
6650 | xtensa_opcode_encode_fn Opcode_xsr_windowbase_encode_fns[] = { | |
6651 | Opcode_xsr_windowbase_Slot_inst_encode, 0, 0 | |
6652 | }; | |
6653 | ||
6654 | xtensa_opcode_encode_fn Opcode_rsr_windowstart_encode_fns[] = { | |
6655 | Opcode_rsr_windowstart_Slot_inst_encode, 0, 0 | |
6656 | }; | |
6657 | ||
6658 | xtensa_opcode_encode_fn Opcode_wsr_windowstart_encode_fns[] = { | |
6659 | Opcode_wsr_windowstart_Slot_inst_encode, 0, 0 | |
6660 | }; | |
6661 | ||
6662 | xtensa_opcode_encode_fn Opcode_xsr_windowstart_encode_fns[] = { | |
6663 | Opcode_xsr_windowstart_Slot_inst_encode, 0, 0 | |
6664 | }; | |
6665 | ||
6666 | xtensa_opcode_encode_fn Opcode_add_n_encode_fns[] = { | |
6667 | 0, Opcode_add_n_Slot_inst16a_encode, 0 | |
6668 | }; | |
6669 | ||
6670 | xtensa_opcode_encode_fn Opcode_addi_n_encode_fns[] = { | |
6671 | 0, Opcode_addi_n_Slot_inst16a_encode, 0 | |
6672 | }; | |
6673 | ||
6674 | xtensa_opcode_encode_fn Opcode_beqz_n_encode_fns[] = { | |
6675 | 0, 0, Opcode_beqz_n_Slot_inst16b_encode | |
6676 | }; | |
6677 | ||
6678 | xtensa_opcode_encode_fn Opcode_bnez_n_encode_fns[] = { | |
6679 | 0, 0, Opcode_bnez_n_Slot_inst16b_encode | |
6680 | }; | |
6681 | ||
6682 | xtensa_opcode_encode_fn Opcode_ill_n_encode_fns[] = { | |
6683 | 0, 0, Opcode_ill_n_Slot_inst16b_encode | |
6684 | }; | |
6685 | ||
6686 | xtensa_opcode_encode_fn Opcode_l32i_n_encode_fns[] = { | |
6687 | 0, Opcode_l32i_n_Slot_inst16a_encode, 0 | |
6688 | }; | |
6689 | ||
6690 | xtensa_opcode_encode_fn Opcode_mov_n_encode_fns[] = { | |
6691 | 0, 0, Opcode_mov_n_Slot_inst16b_encode | |
6692 | }; | |
6693 | ||
6694 | xtensa_opcode_encode_fn Opcode_movi_n_encode_fns[] = { | |
6695 | 0, 0, Opcode_movi_n_Slot_inst16b_encode | |
6696 | }; | |
6697 | ||
6698 | xtensa_opcode_encode_fn Opcode_nop_n_encode_fns[] = { | |
6699 | 0, 0, Opcode_nop_n_Slot_inst16b_encode | |
6700 | }; | |
6701 | ||
6702 | xtensa_opcode_encode_fn Opcode_ret_n_encode_fns[] = { | |
6703 | 0, 0, Opcode_ret_n_Slot_inst16b_encode | |
6704 | }; | |
6705 | ||
6706 | xtensa_opcode_encode_fn Opcode_s32i_n_encode_fns[] = { | |
6707 | 0, Opcode_s32i_n_Slot_inst16a_encode, 0 | |
6708 | }; | |
6709 | ||
6710 | xtensa_opcode_encode_fn Opcode_addi_encode_fns[] = { | |
6711 | Opcode_addi_Slot_inst_encode, 0, 0 | |
6712 | }; | |
6713 | ||
6714 | xtensa_opcode_encode_fn Opcode_addmi_encode_fns[] = { | |
6715 | Opcode_addmi_Slot_inst_encode, 0, 0 | |
6716 | }; | |
6717 | ||
6718 | xtensa_opcode_encode_fn Opcode_add_encode_fns[] = { | |
6719 | Opcode_add_Slot_inst_encode, 0, 0 | |
6720 | }; | |
6721 | ||
6722 | xtensa_opcode_encode_fn Opcode_sub_encode_fns[] = { | |
6723 | Opcode_sub_Slot_inst_encode, 0, 0 | |
6724 | }; | |
6725 | ||
6726 | xtensa_opcode_encode_fn Opcode_addx2_encode_fns[] = { | |
6727 | Opcode_addx2_Slot_inst_encode, 0, 0 | |
6728 | }; | |
6729 | ||
6730 | xtensa_opcode_encode_fn Opcode_addx4_encode_fns[] = { | |
6731 | Opcode_addx4_Slot_inst_encode, 0, 0 | |
6732 | }; | |
6733 | ||
6734 | xtensa_opcode_encode_fn Opcode_addx8_encode_fns[] = { | |
6735 | Opcode_addx8_Slot_inst_encode, 0, 0 | |
6736 | }; | |
6737 | ||
6738 | xtensa_opcode_encode_fn Opcode_subx2_encode_fns[] = { | |
6739 | Opcode_subx2_Slot_inst_encode, 0, 0 | |
6740 | }; | |
6741 | ||
6742 | xtensa_opcode_encode_fn Opcode_subx4_encode_fns[] = { | |
6743 | Opcode_subx4_Slot_inst_encode, 0, 0 | |
6744 | }; | |
6745 | ||
6746 | xtensa_opcode_encode_fn Opcode_subx8_encode_fns[] = { | |
6747 | Opcode_subx8_Slot_inst_encode, 0, 0 | |
6748 | }; | |
6749 | ||
6750 | xtensa_opcode_encode_fn Opcode_and_encode_fns[] = { | |
6751 | Opcode_and_Slot_inst_encode, 0, 0 | |
6752 | }; | |
6753 | ||
6754 | xtensa_opcode_encode_fn Opcode_or_encode_fns[] = { | |
6755 | Opcode_or_Slot_inst_encode, 0, 0 | |
6756 | }; | |
6757 | ||
6758 | xtensa_opcode_encode_fn Opcode_xor_encode_fns[] = { | |
6759 | Opcode_xor_Slot_inst_encode, 0, 0 | |
6760 | }; | |
6761 | ||
6762 | xtensa_opcode_encode_fn Opcode_beqi_encode_fns[] = { | |
6763 | Opcode_beqi_Slot_inst_encode, 0, 0 | |
6764 | }; | |
6765 | ||
6766 | xtensa_opcode_encode_fn Opcode_bnei_encode_fns[] = { | |
6767 | Opcode_bnei_Slot_inst_encode, 0, 0 | |
6768 | }; | |
6769 | ||
6770 | xtensa_opcode_encode_fn Opcode_bgei_encode_fns[] = { | |
6771 | Opcode_bgei_Slot_inst_encode, 0, 0 | |
6772 | }; | |
6773 | ||
6774 | xtensa_opcode_encode_fn Opcode_blti_encode_fns[] = { | |
6775 | Opcode_blti_Slot_inst_encode, 0, 0 | |
6776 | }; | |
6777 | ||
6778 | xtensa_opcode_encode_fn Opcode_bbci_encode_fns[] = { | |
6779 | Opcode_bbci_Slot_inst_encode, 0, 0 | |
6780 | }; | |
6781 | ||
6782 | xtensa_opcode_encode_fn Opcode_bbsi_encode_fns[] = { | |
6783 | Opcode_bbsi_Slot_inst_encode, 0, 0 | |
6784 | }; | |
6785 | ||
6786 | xtensa_opcode_encode_fn Opcode_bgeui_encode_fns[] = { | |
6787 | Opcode_bgeui_Slot_inst_encode, 0, 0 | |
6788 | }; | |
6789 | ||
6790 | xtensa_opcode_encode_fn Opcode_bltui_encode_fns[] = { | |
6791 | Opcode_bltui_Slot_inst_encode, 0, 0 | |
6792 | }; | |
6793 | ||
6794 | xtensa_opcode_encode_fn Opcode_beq_encode_fns[] = { | |
6795 | Opcode_beq_Slot_inst_encode, 0, 0 | |
6796 | }; | |
6797 | ||
6798 | xtensa_opcode_encode_fn Opcode_bne_encode_fns[] = { | |
6799 | Opcode_bne_Slot_inst_encode, 0, 0 | |
6800 | }; | |
6801 | ||
6802 | xtensa_opcode_encode_fn Opcode_bge_encode_fns[] = { | |
6803 | Opcode_bge_Slot_inst_encode, 0, 0 | |
6804 | }; | |
6805 | ||
6806 | xtensa_opcode_encode_fn Opcode_blt_encode_fns[] = { | |
6807 | Opcode_blt_Slot_inst_encode, 0, 0 | |
6808 | }; | |
e0001a05 | 6809 | |
43cd72b9 BW |
6810 | xtensa_opcode_encode_fn Opcode_bgeu_encode_fns[] = { |
6811 | Opcode_bgeu_Slot_inst_encode, 0, 0 | |
6812 | }; | |
e0001a05 | 6813 | |
43cd72b9 BW |
6814 | xtensa_opcode_encode_fn Opcode_bltu_encode_fns[] = { |
6815 | Opcode_bltu_Slot_inst_encode, 0, 0 | |
6816 | }; | |
e0001a05 | 6817 | |
43cd72b9 BW |
6818 | xtensa_opcode_encode_fn Opcode_bany_encode_fns[] = { |
6819 | Opcode_bany_Slot_inst_encode, 0, 0 | |
6820 | }; | |
e0001a05 | 6821 | |
43cd72b9 BW |
6822 | xtensa_opcode_encode_fn Opcode_bnone_encode_fns[] = { |
6823 | Opcode_bnone_Slot_inst_encode, 0, 0 | |
6824 | }; | |
e0001a05 | 6825 | |
43cd72b9 BW |
6826 | xtensa_opcode_encode_fn Opcode_ball_encode_fns[] = { |
6827 | Opcode_ball_Slot_inst_encode, 0, 0 | |
6828 | }; | |
e0001a05 | 6829 | |
43cd72b9 BW |
6830 | xtensa_opcode_encode_fn Opcode_bnall_encode_fns[] = { |
6831 | Opcode_bnall_Slot_inst_encode, 0, 0 | |
6832 | }; | |
e0001a05 | 6833 | |
43cd72b9 BW |
6834 | xtensa_opcode_encode_fn Opcode_bbc_encode_fns[] = { |
6835 | Opcode_bbc_Slot_inst_encode, 0, 0 | |
6836 | }; | |
e0001a05 | 6837 | |
43cd72b9 BW |
6838 | xtensa_opcode_encode_fn Opcode_bbs_encode_fns[] = { |
6839 | Opcode_bbs_Slot_inst_encode, 0, 0 | |
6840 | }; | |
e0001a05 | 6841 | |
43cd72b9 BW |
6842 | xtensa_opcode_encode_fn Opcode_beqz_encode_fns[] = { |
6843 | Opcode_beqz_Slot_inst_encode, 0, 0 | |
6844 | }; | |
e0001a05 | 6845 | |
43cd72b9 BW |
6846 | xtensa_opcode_encode_fn Opcode_bnez_encode_fns[] = { |
6847 | Opcode_bnez_Slot_inst_encode, 0, 0 | |
6848 | }; | |
e0001a05 | 6849 | |
43cd72b9 BW |
6850 | xtensa_opcode_encode_fn Opcode_bgez_encode_fns[] = { |
6851 | Opcode_bgez_Slot_inst_encode, 0, 0 | |
6852 | }; | |
e0001a05 | 6853 | |
43cd72b9 BW |
6854 | xtensa_opcode_encode_fn Opcode_bltz_encode_fns[] = { |
6855 | Opcode_bltz_Slot_inst_encode, 0, 0 | |
6856 | }; | |
e0001a05 | 6857 | |
43cd72b9 BW |
6858 | xtensa_opcode_encode_fn Opcode_call0_encode_fns[] = { |
6859 | Opcode_call0_Slot_inst_encode, 0, 0 | |
6860 | }; | |
e0001a05 | 6861 | |
43cd72b9 BW |
6862 | xtensa_opcode_encode_fn Opcode_callx0_encode_fns[] = { |
6863 | Opcode_callx0_Slot_inst_encode, 0, 0 | |
6864 | }; | |
e0001a05 | 6865 | |
43cd72b9 BW |
6866 | xtensa_opcode_encode_fn Opcode_extui_encode_fns[] = { |
6867 | Opcode_extui_Slot_inst_encode, 0, 0 | |
6868 | }; | |
e0001a05 | 6869 | |
43cd72b9 BW |
6870 | xtensa_opcode_encode_fn Opcode_ill_encode_fns[] = { |
6871 | Opcode_ill_Slot_inst_encode, 0, 0 | |
6872 | }; | |
e0001a05 | 6873 | |
43cd72b9 BW |
6874 | xtensa_opcode_encode_fn Opcode_j_encode_fns[] = { |
6875 | Opcode_j_Slot_inst_encode, 0, 0 | |
6876 | }; | |
e0001a05 | 6877 | |
43cd72b9 BW |
6878 | xtensa_opcode_encode_fn Opcode_jx_encode_fns[] = { |
6879 | Opcode_jx_Slot_inst_encode, 0, 0 | |
6880 | }; | |
e0001a05 | 6881 | |
43cd72b9 BW |
6882 | xtensa_opcode_encode_fn Opcode_l16ui_encode_fns[] = { |
6883 | Opcode_l16ui_Slot_inst_encode, 0, 0 | |
6884 | }; | |
e0001a05 | 6885 | |
43cd72b9 BW |
6886 | xtensa_opcode_encode_fn Opcode_l16si_encode_fns[] = { |
6887 | Opcode_l16si_Slot_inst_encode, 0, 0 | |
6888 | }; | |
e0001a05 | 6889 | |
43cd72b9 BW |
6890 | xtensa_opcode_encode_fn Opcode_l32i_encode_fns[] = { |
6891 | Opcode_l32i_Slot_inst_encode, 0, 0 | |
6892 | }; | |
e0001a05 | 6893 | |
43cd72b9 BW |
6894 | xtensa_opcode_encode_fn Opcode_l32r_encode_fns[] = { |
6895 | Opcode_l32r_Slot_inst_encode, 0, 0 | |
6896 | }; | |
e0001a05 | 6897 | |
43cd72b9 BW |
6898 | xtensa_opcode_encode_fn Opcode_l8ui_encode_fns[] = { |
6899 | Opcode_l8ui_Slot_inst_encode, 0, 0 | |
6900 | }; | |
e0001a05 | 6901 | |
43cd72b9 BW |
6902 | xtensa_opcode_encode_fn Opcode_loop_encode_fns[] = { |
6903 | Opcode_loop_Slot_inst_encode, 0, 0 | |
6904 | }; | |
e0001a05 | 6905 | |
43cd72b9 BW |
6906 | xtensa_opcode_encode_fn Opcode_loopnez_encode_fns[] = { |
6907 | Opcode_loopnez_Slot_inst_encode, 0, 0 | |
6908 | }; | |
e0001a05 | 6909 | |
43cd72b9 BW |
6910 | xtensa_opcode_encode_fn Opcode_loopgtz_encode_fns[] = { |
6911 | Opcode_loopgtz_Slot_inst_encode, 0, 0 | |
6912 | }; | |
e0001a05 | 6913 | |
43cd72b9 BW |
6914 | xtensa_opcode_encode_fn Opcode_movi_encode_fns[] = { |
6915 | Opcode_movi_Slot_inst_encode, 0, 0 | |
6916 | }; | |
e0001a05 | 6917 | |
43cd72b9 BW |
6918 | xtensa_opcode_encode_fn Opcode_moveqz_encode_fns[] = { |
6919 | Opcode_moveqz_Slot_inst_encode, 0, 0 | |
6920 | }; | |
e0001a05 | 6921 | |
43cd72b9 BW |
6922 | xtensa_opcode_encode_fn Opcode_movnez_encode_fns[] = { |
6923 | Opcode_movnez_Slot_inst_encode, 0, 0 | |
6924 | }; | |
e0001a05 | 6925 | |
43cd72b9 BW |
6926 | xtensa_opcode_encode_fn Opcode_movltz_encode_fns[] = { |
6927 | Opcode_movltz_Slot_inst_encode, 0, 0 | |
6928 | }; | |
e0001a05 | 6929 | |
43cd72b9 BW |
6930 | xtensa_opcode_encode_fn Opcode_movgez_encode_fns[] = { |
6931 | Opcode_movgez_Slot_inst_encode, 0, 0 | |
6932 | }; | |
e0001a05 | 6933 | |
43cd72b9 BW |
6934 | xtensa_opcode_encode_fn Opcode_neg_encode_fns[] = { |
6935 | Opcode_neg_Slot_inst_encode, 0, 0 | |
6936 | }; | |
e0001a05 | 6937 | |
43cd72b9 BW |
6938 | xtensa_opcode_encode_fn Opcode_abs_encode_fns[] = { |
6939 | Opcode_abs_Slot_inst_encode, 0, 0 | |
6940 | }; | |
e0001a05 | 6941 | |
43cd72b9 BW |
6942 | xtensa_opcode_encode_fn Opcode_nop_encode_fns[] = { |
6943 | Opcode_nop_Slot_inst_encode, 0, 0 | |
6944 | }; | |
e0001a05 | 6945 | |
43cd72b9 BW |
6946 | xtensa_opcode_encode_fn Opcode_ret_encode_fns[] = { |
6947 | Opcode_ret_Slot_inst_encode, 0, 0 | |
6948 | }; | |
e0001a05 | 6949 | |
43cd72b9 BW |
6950 | xtensa_opcode_encode_fn Opcode_s16i_encode_fns[] = { |
6951 | Opcode_s16i_Slot_inst_encode, 0, 0 | |
6952 | }; | |
e0001a05 | 6953 | |
43cd72b9 BW |
6954 | xtensa_opcode_encode_fn Opcode_s32i_encode_fns[] = { |
6955 | Opcode_s32i_Slot_inst_encode, 0, 0 | |
6956 | }; | |
e0001a05 | 6957 | |
43cd72b9 BW |
6958 | xtensa_opcode_encode_fn Opcode_s8i_encode_fns[] = { |
6959 | Opcode_s8i_Slot_inst_encode, 0, 0 | |
6960 | }; | |
e0001a05 | 6961 | |
43cd72b9 BW |
6962 | xtensa_opcode_encode_fn Opcode_ssr_encode_fns[] = { |
6963 | Opcode_ssr_Slot_inst_encode, 0, 0 | |
6964 | }; | |
e0001a05 | 6965 | |
43cd72b9 BW |
6966 | xtensa_opcode_encode_fn Opcode_ssl_encode_fns[] = { |
6967 | Opcode_ssl_Slot_inst_encode, 0, 0 | |
6968 | }; | |
e0001a05 | 6969 | |
43cd72b9 BW |
6970 | xtensa_opcode_encode_fn Opcode_ssa8l_encode_fns[] = { |
6971 | Opcode_ssa8l_Slot_inst_encode, 0, 0 | |
6972 | }; | |
e0001a05 | 6973 | |
43cd72b9 BW |
6974 | xtensa_opcode_encode_fn Opcode_ssa8b_encode_fns[] = { |
6975 | Opcode_ssa8b_Slot_inst_encode, 0, 0 | |
6976 | }; | |
e0001a05 | 6977 | |
43cd72b9 BW |
6978 | xtensa_opcode_encode_fn Opcode_ssai_encode_fns[] = { |
6979 | Opcode_ssai_Slot_inst_encode, 0, 0 | |
6980 | }; | |
e0001a05 | 6981 | |
43cd72b9 BW |
6982 | xtensa_opcode_encode_fn Opcode_sll_encode_fns[] = { |
6983 | Opcode_sll_Slot_inst_encode, 0, 0 | |
6984 | }; | |
e0001a05 | 6985 | |
43cd72b9 BW |
6986 | xtensa_opcode_encode_fn Opcode_src_encode_fns[] = { |
6987 | Opcode_src_Slot_inst_encode, 0, 0 | |
6988 | }; | |
e0001a05 | 6989 | |
43cd72b9 BW |
6990 | xtensa_opcode_encode_fn Opcode_srl_encode_fns[] = { |
6991 | Opcode_srl_Slot_inst_encode, 0, 0 | |
6992 | }; | |
e0001a05 | 6993 | |
43cd72b9 BW |
6994 | xtensa_opcode_encode_fn Opcode_sra_encode_fns[] = { |
6995 | Opcode_sra_Slot_inst_encode, 0, 0 | |
6996 | }; | |
e0001a05 | 6997 | |
43cd72b9 BW |
6998 | xtensa_opcode_encode_fn Opcode_slli_encode_fns[] = { |
6999 | Opcode_slli_Slot_inst_encode, 0, 0 | |
7000 | }; | |
e0001a05 | 7001 | |
43cd72b9 BW |
7002 | xtensa_opcode_encode_fn Opcode_srai_encode_fns[] = { |
7003 | Opcode_srai_Slot_inst_encode, 0, 0 | |
7004 | }; | |
e0001a05 | 7005 | |
43cd72b9 BW |
7006 | xtensa_opcode_encode_fn Opcode_srli_encode_fns[] = { |
7007 | Opcode_srli_Slot_inst_encode, 0, 0 | |
7008 | }; | |
e0001a05 | 7009 | |
43cd72b9 BW |
7010 | xtensa_opcode_encode_fn Opcode_memw_encode_fns[] = { |
7011 | Opcode_memw_Slot_inst_encode, 0, 0 | |
7012 | }; | |
e0001a05 | 7013 | |
43cd72b9 BW |
7014 | xtensa_opcode_encode_fn Opcode_extw_encode_fns[] = { |
7015 | Opcode_extw_Slot_inst_encode, 0, 0 | |
7016 | }; | |
e0001a05 | 7017 | |
43cd72b9 BW |
7018 | xtensa_opcode_encode_fn Opcode_isync_encode_fns[] = { |
7019 | Opcode_isync_Slot_inst_encode, 0, 0 | |
7020 | }; | |
e0001a05 | 7021 | |
43cd72b9 BW |
7022 | xtensa_opcode_encode_fn Opcode_rsync_encode_fns[] = { |
7023 | Opcode_rsync_Slot_inst_encode, 0, 0 | |
7024 | }; | |
e0001a05 | 7025 | |
43cd72b9 BW |
7026 | xtensa_opcode_encode_fn Opcode_esync_encode_fns[] = { |
7027 | Opcode_esync_Slot_inst_encode, 0, 0 | |
7028 | }; | |
e0001a05 | 7029 | |
43cd72b9 BW |
7030 | xtensa_opcode_encode_fn Opcode_dsync_encode_fns[] = { |
7031 | Opcode_dsync_Slot_inst_encode, 0, 0 | |
7032 | }; | |
e0001a05 | 7033 | |
43cd72b9 BW |
7034 | xtensa_opcode_encode_fn Opcode_rsil_encode_fns[] = { |
7035 | Opcode_rsil_Slot_inst_encode, 0, 0 | |
7036 | }; | |
e0001a05 | 7037 | |
43cd72b9 BW |
7038 | xtensa_opcode_encode_fn Opcode_rsr_lend_encode_fns[] = { |
7039 | Opcode_rsr_lend_Slot_inst_encode, 0, 0 | |
7040 | }; | |
e0001a05 | 7041 | |
43cd72b9 BW |
7042 | xtensa_opcode_encode_fn Opcode_wsr_lend_encode_fns[] = { |
7043 | Opcode_wsr_lend_Slot_inst_encode, 0, 0 | |
7044 | }; | |
e0001a05 | 7045 | |
43cd72b9 BW |
7046 | xtensa_opcode_encode_fn Opcode_xsr_lend_encode_fns[] = { |
7047 | Opcode_xsr_lend_Slot_inst_encode, 0, 0 | |
7048 | }; | |
e0001a05 | 7049 | |
43cd72b9 BW |
7050 | xtensa_opcode_encode_fn Opcode_rsr_lcount_encode_fns[] = { |
7051 | Opcode_rsr_lcount_Slot_inst_encode, 0, 0 | |
7052 | }; | |
e0001a05 | 7053 | |
43cd72b9 BW |
7054 | xtensa_opcode_encode_fn Opcode_wsr_lcount_encode_fns[] = { |
7055 | Opcode_wsr_lcount_Slot_inst_encode, 0, 0 | |
7056 | }; | |
e0001a05 | 7057 | |
43cd72b9 BW |
7058 | xtensa_opcode_encode_fn Opcode_xsr_lcount_encode_fns[] = { |
7059 | Opcode_xsr_lcount_Slot_inst_encode, 0, 0 | |
7060 | }; | |
e0001a05 | 7061 | |
43cd72b9 BW |
7062 | xtensa_opcode_encode_fn Opcode_rsr_lbeg_encode_fns[] = { |
7063 | Opcode_rsr_lbeg_Slot_inst_encode, 0, 0 | |
7064 | }; | |
e0001a05 | 7065 | |
43cd72b9 BW |
7066 | xtensa_opcode_encode_fn Opcode_wsr_lbeg_encode_fns[] = { |
7067 | Opcode_wsr_lbeg_Slot_inst_encode, 0, 0 | |
7068 | }; | |
e0001a05 | 7069 | |
43cd72b9 BW |
7070 | xtensa_opcode_encode_fn Opcode_xsr_lbeg_encode_fns[] = { |
7071 | Opcode_xsr_lbeg_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7072 | }; |
7073 | ||
43cd72b9 BW |
7074 | xtensa_opcode_encode_fn Opcode_rsr_sar_encode_fns[] = { |
7075 | Opcode_rsr_sar_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7076 | }; |
7077 | ||
43cd72b9 BW |
7078 | xtensa_opcode_encode_fn Opcode_wsr_sar_encode_fns[] = { |
7079 | Opcode_wsr_sar_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7080 | }; |
7081 | ||
43cd72b9 BW |
7082 | xtensa_opcode_encode_fn Opcode_xsr_sar_encode_fns[] = { |
7083 | Opcode_xsr_sar_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7084 | }; |
7085 | ||
43cd72b9 BW |
7086 | xtensa_opcode_encode_fn Opcode_rsr_litbase_encode_fns[] = { |
7087 | Opcode_rsr_litbase_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7088 | }; |
7089 | ||
43cd72b9 BW |
7090 | xtensa_opcode_encode_fn Opcode_wsr_litbase_encode_fns[] = { |
7091 | Opcode_wsr_litbase_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7092 | }; |
7093 | ||
43cd72b9 BW |
7094 | xtensa_opcode_encode_fn Opcode_xsr_litbase_encode_fns[] = { |
7095 | Opcode_xsr_litbase_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7096 | }; |
7097 | ||
43cd72b9 BW |
7098 | xtensa_opcode_encode_fn Opcode_rsr_176_encode_fns[] = { |
7099 | Opcode_rsr_176_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7100 | }; |
7101 | ||
43cd72b9 BW |
7102 | xtensa_opcode_encode_fn Opcode_rsr_208_encode_fns[] = { |
7103 | Opcode_rsr_208_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7104 | }; |
7105 | ||
43cd72b9 BW |
7106 | xtensa_opcode_encode_fn Opcode_rsr_ps_encode_fns[] = { |
7107 | Opcode_rsr_ps_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7108 | }; |
7109 | ||
43cd72b9 BW |
7110 | xtensa_opcode_encode_fn Opcode_wsr_ps_encode_fns[] = { |
7111 | Opcode_wsr_ps_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7112 | }; |
7113 | ||
43cd72b9 BW |
7114 | xtensa_opcode_encode_fn Opcode_xsr_ps_encode_fns[] = { |
7115 | Opcode_xsr_ps_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7116 | }; |
7117 | ||
43cd72b9 BW |
7118 | xtensa_opcode_encode_fn Opcode_rsr_epc1_encode_fns[] = { |
7119 | Opcode_rsr_epc1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7120 | }; |
7121 | ||
43cd72b9 BW |
7122 | xtensa_opcode_encode_fn Opcode_wsr_epc1_encode_fns[] = { |
7123 | Opcode_wsr_epc1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7124 | }; |
7125 | ||
43cd72b9 BW |
7126 | xtensa_opcode_encode_fn Opcode_xsr_epc1_encode_fns[] = { |
7127 | Opcode_xsr_epc1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7128 | }; |
7129 | ||
43cd72b9 BW |
7130 | xtensa_opcode_encode_fn Opcode_rsr_excsave1_encode_fns[] = { |
7131 | Opcode_rsr_excsave1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7132 | }; |
7133 | ||
43cd72b9 BW |
7134 | xtensa_opcode_encode_fn Opcode_wsr_excsave1_encode_fns[] = { |
7135 | Opcode_wsr_excsave1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7136 | }; |
7137 | ||
43cd72b9 BW |
7138 | xtensa_opcode_encode_fn Opcode_xsr_excsave1_encode_fns[] = { |
7139 | Opcode_xsr_excsave1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7140 | }; |
7141 | ||
43cd72b9 BW |
7142 | xtensa_opcode_encode_fn Opcode_rsr_epc2_encode_fns[] = { |
7143 | Opcode_rsr_epc2_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7144 | }; |
7145 | ||
43cd72b9 BW |
7146 | xtensa_opcode_encode_fn Opcode_wsr_epc2_encode_fns[] = { |
7147 | Opcode_wsr_epc2_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7148 | }; |
7149 | ||
43cd72b9 BW |
7150 | xtensa_opcode_encode_fn Opcode_xsr_epc2_encode_fns[] = { |
7151 | Opcode_xsr_epc2_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7152 | }; |
7153 | ||
43cd72b9 BW |
7154 | xtensa_opcode_encode_fn Opcode_rsr_excsave2_encode_fns[] = { |
7155 | Opcode_rsr_excsave2_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7156 | }; |
7157 | ||
43cd72b9 BW |
7158 | xtensa_opcode_encode_fn Opcode_wsr_excsave2_encode_fns[] = { |
7159 | Opcode_wsr_excsave2_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7160 | }; |
7161 | ||
43cd72b9 BW |
7162 | xtensa_opcode_encode_fn Opcode_xsr_excsave2_encode_fns[] = { |
7163 | Opcode_xsr_excsave2_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7164 | }; |
7165 | ||
43cd72b9 BW |
7166 | xtensa_opcode_encode_fn Opcode_rsr_epc3_encode_fns[] = { |
7167 | Opcode_rsr_epc3_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7168 | }; |
7169 | ||
43cd72b9 BW |
7170 | xtensa_opcode_encode_fn Opcode_wsr_epc3_encode_fns[] = { |
7171 | Opcode_wsr_epc3_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7172 | }; |
7173 | ||
43cd72b9 BW |
7174 | xtensa_opcode_encode_fn Opcode_xsr_epc3_encode_fns[] = { |
7175 | Opcode_xsr_epc3_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7176 | }; |
7177 | ||
43cd72b9 BW |
7178 | xtensa_opcode_encode_fn Opcode_rsr_excsave3_encode_fns[] = { |
7179 | Opcode_rsr_excsave3_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7180 | }; |
7181 | ||
43cd72b9 BW |
7182 | xtensa_opcode_encode_fn Opcode_wsr_excsave3_encode_fns[] = { |
7183 | Opcode_wsr_excsave3_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7184 | }; |
7185 | ||
43cd72b9 BW |
7186 | xtensa_opcode_encode_fn Opcode_xsr_excsave3_encode_fns[] = { |
7187 | Opcode_xsr_excsave3_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7188 | }; |
7189 | ||
43cd72b9 BW |
7190 | xtensa_opcode_encode_fn Opcode_rsr_epc4_encode_fns[] = { |
7191 | Opcode_rsr_epc4_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7192 | }; |
7193 | ||
43cd72b9 BW |
7194 | xtensa_opcode_encode_fn Opcode_wsr_epc4_encode_fns[] = { |
7195 | Opcode_wsr_epc4_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7196 | }; |
7197 | ||
43cd72b9 BW |
7198 | xtensa_opcode_encode_fn Opcode_xsr_epc4_encode_fns[] = { |
7199 | Opcode_xsr_epc4_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7200 | }; |
7201 | ||
43cd72b9 BW |
7202 | xtensa_opcode_encode_fn Opcode_rsr_excsave4_encode_fns[] = { |
7203 | Opcode_rsr_excsave4_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7204 | }; |
7205 | ||
43cd72b9 BW |
7206 | xtensa_opcode_encode_fn Opcode_wsr_excsave4_encode_fns[] = { |
7207 | Opcode_wsr_excsave4_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7208 | }; |
7209 | ||
43cd72b9 BW |
7210 | xtensa_opcode_encode_fn Opcode_xsr_excsave4_encode_fns[] = { |
7211 | Opcode_xsr_excsave4_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7212 | }; |
7213 | ||
43cd72b9 BW |
7214 | xtensa_opcode_encode_fn Opcode_rsr_eps2_encode_fns[] = { |
7215 | Opcode_rsr_eps2_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7216 | }; |
7217 | ||
43cd72b9 BW |
7218 | xtensa_opcode_encode_fn Opcode_wsr_eps2_encode_fns[] = { |
7219 | Opcode_wsr_eps2_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7220 | }; |
7221 | ||
43cd72b9 BW |
7222 | xtensa_opcode_encode_fn Opcode_xsr_eps2_encode_fns[] = { |
7223 | Opcode_xsr_eps2_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7224 | }; |
7225 | ||
43cd72b9 BW |
7226 | xtensa_opcode_encode_fn Opcode_rsr_eps3_encode_fns[] = { |
7227 | Opcode_rsr_eps3_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7228 | }; |
7229 | ||
43cd72b9 BW |
7230 | xtensa_opcode_encode_fn Opcode_wsr_eps3_encode_fns[] = { |
7231 | Opcode_wsr_eps3_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7232 | }; |
7233 | ||
43cd72b9 BW |
7234 | xtensa_opcode_encode_fn Opcode_xsr_eps3_encode_fns[] = { |
7235 | Opcode_xsr_eps3_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7236 | }; |
7237 | ||
43cd72b9 BW |
7238 | xtensa_opcode_encode_fn Opcode_rsr_eps4_encode_fns[] = { |
7239 | Opcode_rsr_eps4_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7240 | }; |
7241 | ||
43cd72b9 BW |
7242 | xtensa_opcode_encode_fn Opcode_wsr_eps4_encode_fns[] = { |
7243 | Opcode_wsr_eps4_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7244 | }; |
7245 | ||
43cd72b9 BW |
7246 | xtensa_opcode_encode_fn Opcode_xsr_eps4_encode_fns[] = { |
7247 | Opcode_xsr_eps4_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7248 | }; |
7249 | ||
43cd72b9 BW |
7250 | xtensa_opcode_encode_fn Opcode_rsr_excvaddr_encode_fns[] = { |
7251 | Opcode_rsr_excvaddr_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7252 | }; |
7253 | ||
43cd72b9 BW |
7254 | xtensa_opcode_encode_fn Opcode_wsr_excvaddr_encode_fns[] = { |
7255 | Opcode_wsr_excvaddr_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7256 | }; |
7257 | ||
43cd72b9 BW |
7258 | xtensa_opcode_encode_fn Opcode_xsr_excvaddr_encode_fns[] = { |
7259 | Opcode_xsr_excvaddr_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7260 | }; |
7261 | ||
43cd72b9 BW |
7262 | xtensa_opcode_encode_fn Opcode_rsr_depc_encode_fns[] = { |
7263 | Opcode_rsr_depc_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7264 | }; |
7265 | ||
43cd72b9 BW |
7266 | xtensa_opcode_encode_fn Opcode_wsr_depc_encode_fns[] = { |
7267 | Opcode_wsr_depc_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7268 | }; |
7269 | ||
43cd72b9 BW |
7270 | xtensa_opcode_encode_fn Opcode_xsr_depc_encode_fns[] = { |
7271 | Opcode_xsr_depc_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7272 | }; |
7273 | ||
43cd72b9 BW |
7274 | xtensa_opcode_encode_fn Opcode_rsr_exccause_encode_fns[] = { |
7275 | Opcode_rsr_exccause_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7276 | }; |
7277 | ||
43cd72b9 BW |
7278 | xtensa_opcode_encode_fn Opcode_wsr_exccause_encode_fns[] = { |
7279 | Opcode_wsr_exccause_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7280 | }; |
7281 | ||
43cd72b9 BW |
7282 | xtensa_opcode_encode_fn Opcode_xsr_exccause_encode_fns[] = { |
7283 | Opcode_xsr_exccause_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7284 | }; |
7285 | ||
43cd72b9 BW |
7286 | xtensa_opcode_encode_fn Opcode_rsr_misc0_encode_fns[] = { |
7287 | Opcode_rsr_misc0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7288 | }; |
7289 | ||
43cd72b9 BW |
7290 | xtensa_opcode_encode_fn Opcode_wsr_misc0_encode_fns[] = { |
7291 | Opcode_wsr_misc0_Slot_inst_encode, 0, 0 | |
7292 | }; | |
7293 | ||
7294 | xtensa_opcode_encode_fn Opcode_xsr_misc0_encode_fns[] = { | |
7295 | Opcode_xsr_misc0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7296 | }; |
7297 | ||
43cd72b9 BW |
7298 | xtensa_opcode_encode_fn Opcode_rsr_misc1_encode_fns[] = { |
7299 | Opcode_rsr_misc1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7300 | }; |
7301 | ||
43cd72b9 BW |
7302 | xtensa_opcode_encode_fn Opcode_wsr_misc1_encode_fns[] = { |
7303 | Opcode_wsr_misc1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7304 | }; |
7305 | ||
43cd72b9 BW |
7306 | xtensa_opcode_encode_fn Opcode_xsr_misc1_encode_fns[] = { |
7307 | Opcode_xsr_misc1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7308 | }; |
7309 | ||
43cd72b9 BW |
7310 | xtensa_opcode_encode_fn Opcode_rsr_prid_encode_fns[] = { |
7311 | Opcode_rsr_prid_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7312 | }; |
7313 | ||
43cd72b9 BW |
7314 | xtensa_opcode_encode_fn Opcode_rfi_encode_fns[] = { |
7315 | Opcode_rfi_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7316 | }; |
7317 | ||
43cd72b9 BW |
7318 | xtensa_opcode_encode_fn Opcode_waiti_encode_fns[] = { |
7319 | Opcode_waiti_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7320 | }; |
7321 | ||
43cd72b9 BW |
7322 | xtensa_opcode_encode_fn Opcode_rsr_interrupt_encode_fns[] = { |
7323 | Opcode_rsr_interrupt_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7324 | }; |
7325 | ||
43cd72b9 BW |
7326 | xtensa_opcode_encode_fn Opcode_wsr_intset_encode_fns[] = { |
7327 | Opcode_wsr_intset_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7328 | }; |
7329 | ||
43cd72b9 BW |
7330 | xtensa_opcode_encode_fn Opcode_wsr_intclear_encode_fns[] = { |
7331 | Opcode_wsr_intclear_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7332 | }; |
7333 | ||
43cd72b9 BW |
7334 | xtensa_opcode_encode_fn Opcode_rsr_intenable_encode_fns[] = { |
7335 | Opcode_rsr_intenable_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7336 | }; |
7337 | ||
43cd72b9 BW |
7338 | xtensa_opcode_encode_fn Opcode_wsr_intenable_encode_fns[] = { |
7339 | Opcode_wsr_intenable_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7340 | }; |
7341 | ||
43cd72b9 BW |
7342 | xtensa_opcode_encode_fn Opcode_xsr_intenable_encode_fns[] = { |
7343 | Opcode_xsr_intenable_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7344 | }; |
7345 | ||
43cd72b9 BW |
7346 | xtensa_opcode_encode_fn Opcode_break_encode_fns[] = { |
7347 | Opcode_break_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7348 | }; |
7349 | ||
43cd72b9 BW |
7350 | xtensa_opcode_encode_fn Opcode_break_n_encode_fns[] = { |
7351 | 0, 0, Opcode_break_n_Slot_inst16b_encode | |
e0001a05 NC |
7352 | }; |
7353 | ||
43cd72b9 BW |
7354 | xtensa_opcode_encode_fn Opcode_rsr_dbreaka0_encode_fns[] = { |
7355 | Opcode_rsr_dbreaka0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7356 | }; |
7357 | ||
43cd72b9 BW |
7358 | xtensa_opcode_encode_fn Opcode_wsr_dbreaka0_encode_fns[] = { |
7359 | Opcode_wsr_dbreaka0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7360 | }; |
7361 | ||
43cd72b9 BW |
7362 | xtensa_opcode_encode_fn Opcode_xsr_dbreaka0_encode_fns[] = { |
7363 | Opcode_xsr_dbreaka0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7364 | }; |
7365 | ||
43cd72b9 BW |
7366 | xtensa_opcode_encode_fn Opcode_rsr_dbreakc0_encode_fns[] = { |
7367 | Opcode_rsr_dbreakc0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7368 | }; |
7369 | ||
43cd72b9 BW |
7370 | xtensa_opcode_encode_fn Opcode_wsr_dbreakc0_encode_fns[] = { |
7371 | Opcode_wsr_dbreakc0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7372 | }; |
7373 | ||
43cd72b9 BW |
7374 | xtensa_opcode_encode_fn Opcode_xsr_dbreakc0_encode_fns[] = { |
7375 | Opcode_xsr_dbreakc0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7376 | }; |
7377 | ||
43cd72b9 BW |
7378 | xtensa_opcode_encode_fn Opcode_rsr_dbreaka1_encode_fns[] = { |
7379 | Opcode_rsr_dbreaka1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7380 | }; |
7381 | ||
43cd72b9 BW |
7382 | xtensa_opcode_encode_fn Opcode_wsr_dbreaka1_encode_fns[] = { |
7383 | Opcode_wsr_dbreaka1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7384 | }; |
7385 | ||
43cd72b9 BW |
7386 | xtensa_opcode_encode_fn Opcode_xsr_dbreaka1_encode_fns[] = { |
7387 | Opcode_xsr_dbreaka1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7388 | }; |
7389 | ||
43cd72b9 BW |
7390 | xtensa_opcode_encode_fn Opcode_rsr_dbreakc1_encode_fns[] = { |
7391 | Opcode_rsr_dbreakc1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7392 | }; |
7393 | ||
43cd72b9 BW |
7394 | xtensa_opcode_encode_fn Opcode_wsr_dbreakc1_encode_fns[] = { |
7395 | Opcode_wsr_dbreakc1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7396 | }; |
7397 | ||
43cd72b9 BW |
7398 | xtensa_opcode_encode_fn Opcode_xsr_dbreakc1_encode_fns[] = { |
7399 | Opcode_xsr_dbreakc1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7400 | }; |
7401 | ||
43cd72b9 BW |
7402 | xtensa_opcode_encode_fn Opcode_rsr_ibreaka0_encode_fns[] = { |
7403 | Opcode_rsr_ibreaka0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7404 | }; |
7405 | ||
43cd72b9 BW |
7406 | xtensa_opcode_encode_fn Opcode_wsr_ibreaka0_encode_fns[] = { |
7407 | Opcode_wsr_ibreaka0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7408 | }; |
7409 | ||
43cd72b9 BW |
7410 | xtensa_opcode_encode_fn Opcode_xsr_ibreaka0_encode_fns[] = { |
7411 | Opcode_xsr_ibreaka0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7412 | }; |
7413 | ||
43cd72b9 BW |
7414 | xtensa_opcode_encode_fn Opcode_rsr_ibreaka1_encode_fns[] = { |
7415 | Opcode_rsr_ibreaka1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7416 | }; |
7417 | ||
43cd72b9 BW |
7418 | xtensa_opcode_encode_fn Opcode_wsr_ibreaka1_encode_fns[] = { |
7419 | Opcode_wsr_ibreaka1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7420 | }; |
7421 | ||
43cd72b9 BW |
7422 | xtensa_opcode_encode_fn Opcode_xsr_ibreaka1_encode_fns[] = { |
7423 | Opcode_xsr_ibreaka1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7424 | }; |
7425 | ||
43cd72b9 BW |
7426 | xtensa_opcode_encode_fn Opcode_rsr_ibreakenable_encode_fns[] = { |
7427 | Opcode_rsr_ibreakenable_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7428 | }; |
7429 | ||
43cd72b9 BW |
7430 | xtensa_opcode_encode_fn Opcode_wsr_ibreakenable_encode_fns[] = { |
7431 | Opcode_wsr_ibreakenable_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7432 | }; |
7433 | ||
43cd72b9 BW |
7434 | xtensa_opcode_encode_fn Opcode_xsr_ibreakenable_encode_fns[] = { |
7435 | Opcode_xsr_ibreakenable_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7436 | }; |
7437 | ||
43cd72b9 BW |
7438 | xtensa_opcode_encode_fn Opcode_rsr_debugcause_encode_fns[] = { |
7439 | Opcode_rsr_debugcause_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7440 | }; |
7441 | ||
43cd72b9 BW |
7442 | xtensa_opcode_encode_fn Opcode_wsr_debugcause_encode_fns[] = { |
7443 | Opcode_wsr_debugcause_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7444 | }; |
7445 | ||
43cd72b9 BW |
7446 | xtensa_opcode_encode_fn Opcode_xsr_debugcause_encode_fns[] = { |
7447 | Opcode_xsr_debugcause_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7448 | }; |
7449 | ||
43cd72b9 BW |
7450 | xtensa_opcode_encode_fn Opcode_rsr_icount_encode_fns[] = { |
7451 | Opcode_rsr_icount_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7452 | }; |
7453 | ||
43cd72b9 BW |
7454 | xtensa_opcode_encode_fn Opcode_wsr_icount_encode_fns[] = { |
7455 | Opcode_wsr_icount_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7456 | }; |
7457 | ||
43cd72b9 BW |
7458 | xtensa_opcode_encode_fn Opcode_xsr_icount_encode_fns[] = { |
7459 | Opcode_xsr_icount_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7460 | }; |
7461 | ||
43cd72b9 BW |
7462 | xtensa_opcode_encode_fn Opcode_rsr_icountlevel_encode_fns[] = { |
7463 | Opcode_rsr_icountlevel_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7464 | }; |
7465 | ||
43cd72b9 BW |
7466 | xtensa_opcode_encode_fn Opcode_wsr_icountlevel_encode_fns[] = { |
7467 | Opcode_wsr_icountlevel_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7468 | }; |
7469 | ||
43cd72b9 BW |
7470 | xtensa_opcode_encode_fn Opcode_xsr_icountlevel_encode_fns[] = { |
7471 | Opcode_xsr_icountlevel_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7472 | }; |
7473 | ||
43cd72b9 BW |
7474 | xtensa_opcode_encode_fn Opcode_rsr_ddr_encode_fns[] = { |
7475 | Opcode_rsr_ddr_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7476 | }; |
7477 | ||
43cd72b9 BW |
7478 | xtensa_opcode_encode_fn Opcode_wsr_ddr_encode_fns[] = { |
7479 | Opcode_wsr_ddr_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7480 | }; |
7481 | ||
43cd72b9 BW |
7482 | xtensa_opcode_encode_fn Opcode_xsr_ddr_encode_fns[] = { |
7483 | Opcode_xsr_ddr_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7484 | }; |
7485 | ||
43cd72b9 BW |
7486 | xtensa_opcode_encode_fn Opcode_rfdo_encode_fns[] = { |
7487 | Opcode_rfdo_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7488 | }; |
7489 | ||
43cd72b9 BW |
7490 | xtensa_opcode_encode_fn Opcode_rfdd_encode_fns[] = { |
7491 | Opcode_rfdd_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7492 | }; |
7493 | ||
43cd72b9 BW |
7494 | xtensa_opcode_encode_fn Opcode_rsr_ccount_encode_fns[] = { |
7495 | Opcode_rsr_ccount_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7496 | }; |
7497 | ||
43cd72b9 BW |
7498 | xtensa_opcode_encode_fn Opcode_wsr_ccount_encode_fns[] = { |
7499 | Opcode_wsr_ccount_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7500 | }; |
7501 | ||
43cd72b9 BW |
7502 | xtensa_opcode_encode_fn Opcode_xsr_ccount_encode_fns[] = { |
7503 | Opcode_xsr_ccount_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7504 | }; |
7505 | ||
43cd72b9 BW |
7506 | xtensa_opcode_encode_fn Opcode_rsr_ccompare0_encode_fns[] = { |
7507 | Opcode_rsr_ccompare0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7508 | }; |
7509 | ||
43cd72b9 BW |
7510 | xtensa_opcode_encode_fn Opcode_wsr_ccompare0_encode_fns[] = { |
7511 | Opcode_wsr_ccompare0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7512 | }; |
7513 | ||
43cd72b9 BW |
7514 | xtensa_opcode_encode_fn Opcode_xsr_ccompare0_encode_fns[] = { |
7515 | Opcode_xsr_ccompare0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7516 | }; |
7517 | ||
43cd72b9 BW |
7518 | xtensa_opcode_encode_fn Opcode_rsr_ccompare1_encode_fns[] = { |
7519 | Opcode_rsr_ccompare1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7520 | }; |
7521 | ||
43cd72b9 BW |
7522 | xtensa_opcode_encode_fn Opcode_wsr_ccompare1_encode_fns[] = { |
7523 | Opcode_wsr_ccompare1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7524 | }; |
7525 | ||
43cd72b9 BW |
7526 | xtensa_opcode_encode_fn Opcode_xsr_ccompare1_encode_fns[] = { |
7527 | Opcode_xsr_ccompare1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7528 | }; |
7529 | ||
43cd72b9 BW |
7530 | xtensa_opcode_encode_fn Opcode_rsr_ccompare2_encode_fns[] = { |
7531 | Opcode_rsr_ccompare2_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7532 | }; |
7533 | ||
43cd72b9 BW |
7534 | xtensa_opcode_encode_fn Opcode_wsr_ccompare2_encode_fns[] = { |
7535 | Opcode_wsr_ccompare2_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7536 | }; |
7537 | ||
43cd72b9 BW |
7538 | xtensa_opcode_encode_fn Opcode_xsr_ccompare2_encode_fns[] = { |
7539 | Opcode_xsr_ccompare2_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7540 | }; |
7541 | ||
43cd72b9 BW |
7542 | xtensa_opcode_encode_fn Opcode_ipf_encode_fns[] = { |
7543 | Opcode_ipf_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7544 | }; |
7545 | ||
43cd72b9 BW |
7546 | xtensa_opcode_encode_fn Opcode_ihi_encode_fns[] = { |
7547 | Opcode_ihi_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7548 | }; |
7549 | ||
43cd72b9 BW |
7550 | xtensa_opcode_encode_fn Opcode_iii_encode_fns[] = { |
7551 | Opcode_iii_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7552 | }; |
7553 | ||
43cd72b9 BW |
7554 | xtensa_opcode_encode_fn Opcode_lict_encode_fns[] = { |
7555 | Opcode_lict_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7556 | }; |
7557 | ||
43cd72b9 BW |
7558 | xtensa_opcode_encode_fn Opcode_licw_encode_fns[] = { |
7559 | Opcode_licw_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7560 | }; |
7561 | ||
43cd72b9 BW |
7562 | xtensa_opcode_encode_fn Opcode_sict_encode_fns[] = { |
7563 | Opcode_sict_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7564 | }; |
7565 | ||
43cd72b9 BW |
7566 | xtensa_opcode_encode_fn Opcode_sicw_encode_fns[] = { |
7567 | Opcode_sicw_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7568 | }; |
7569 | ||
43cd72b9 BW |
7570 | xtensa_opcode_encode_fn Opcode_dhwb_encode_fns[] = { |
7571 | Opcode_dhwb_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7572 | }; |
7573 | ||
43cd72b9 BW |
7574 | xtensa_opcode_encode_fn Opcode_dhwbi_encode_fns[] = { |
7575 | Opcode_dhwbi_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7576 | }; |
7577 | ||
43cd72b9 BW |
7578 | xtensa_opcode_encode_fn Opcode_diwb_encode_fns[] = { |
7579 | Opcode_diwb_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7580 | }; |
7581 | ||
43cd72b9 BW |
7582 | xtensa_opcode_encode_fn Opcode_diwbi_encode_fns[] = { |
7583 | Opcode_diwbi_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7584 | }; |
7585 | ||
43cd72b9 BW |
7586 | xtensa_opcode_encode_fn Opcode_dhi_encode_fns[] = { |
7587 | Opcode_dhi_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7588 | }; |
7589 | ||
43cd72b9 BW |
7590 | xtensa_opcode_encode_fn Opcode_dii_encode_fns[] = { |
7591 | Opcode_dii_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7592 | }; |
7593 | ||
43cd72b9 BW |
7594 | xtensa_opcode_encode_fn Opcode_dpfr_encode_fns[] = { |
7595 | Opcode_dpfr_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7596 | }; |
7597 | ||
43cd72b9 BW |
7598 | xtensa_opcode_encode_fn Opcode_dpfw_encode_fns[] = { |
7599 | Opcode_dpfw_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7600 | }; |
7601 | ||
43cd72b9 BW |
7602 | xtensa_opcode_encode_fn Opcode_dpfro_encode_fns[] = { |
7603 | Opcode_dpfro_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7604 | }; |
7605 | ||
43cd72b9 BW |
7606 | xtensa_opcode_encode_fn Opcode_dpfwo_encode_fns[] = { |
7607 | Opcode_dpfwo_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7608 | }; |
7609 | ||
43cd72b9 BW |
7610 | xtensa_opcode_encode_fn Opcode_sdct_encode_fns[] = { |
7611 | Opcode_sdct_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7612 | }; |
7613 | ||
43cd72b9 BW |
7614 | xtensa_opcode_encode_fn Opcode_ldct_encode_fns[] = { |
7615 | Opcode_ldct_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7616 | }; |
7617 | ||
074f5109 BW |
7618 | xtensa_opcode_encode_fn Opcode_wsr_ptevaddr_encode_fns[] = { |
7619 | Opcode_wsr_ptevaddr_Slot_inst_encode, 0, 0 | |
7620 | }; | |
7621 | ||
7622 | xtensa_opcode_encode_fn Opcode_rsr_ptevaddr_encode_fns[] = { | |
7623 | Opcode_rsr_ptevaddr_Slot_inst_encode, 0, 0 | |
7624 | }; | |
7625 | ||
7626 | xtensa_opcode_encode_fn Opcode_xsr_ptevaddr_encode_fns[] = { | |
7627 | Opcode_xsr_ptevaddr_Slot_inst_encode, 0, 0 | |
7628 | }; | |
7629 | ||
7630 | xtensa_opcode_encode_fn Opcode_rsr_rasid_encode_fns[] = { | |
7631 | Opcode_rsr_rasid_Slot_inst_encode, 0, 0 | |
7632 | }; | |
7633 | ||
7634 | xtensa_opcode_encode_fn Opcode_wsr_rasid_encode_fns[] = { | |
7635 | Opcode_wsr_rasid_Slot_inst_encode, 0, 0 | |
7636 | }; | |
7637 | ||
7638 | xtensa_opcode_encode_fn Opcode_xsr_rasid_encode_fns[] = { | |
7639 | Opcode_xsr_rasid_Slot_inst_encode, 0, 0 | |
7640 | }; | |
7641 | ||
7642 | xtensa_opcode_encode_fn Opcode_rsr_itlbcfg_encode_fns[] = { | |
7643 | Opcode_rsr_itlbcfg_Slot_inst_encode, 0, 0 | |
7644 | }; | |
7645 | ||
7646 | xtensa_opcode_encode_fn Opcode_wsr_itlbcfg_encode_fns[] = { | |
7647 | Opcode_wsr_itlbcfg_Slot_inst_encode, 0, 0 | |
7648 | }; | |
7649 | ||
7650 | xtensa_opcode_encode_fn Opcode_xsr_itlbcfg_encode_fns[] = { | |
7651 | Opcode_xsr_itlbcfg_Slot_inst_encode, 0, 0 | |
7652 | }; | |
7653 | ||
7654 | xtensa_opcode_encode_fn Opcode_rsr_dtlbcfg_encode_fns[] = { | |
7655 | Opcode_rsr_dtlbcfg_Slot_inst_encode, 0, 0 | |
7656 | }; | |
7657 | ||
7658 | xtensa_opcode_encode_fn Opcode_wsr_dtlbcfg_encode_fns[] = { | |
7659 | Opcode_wsr_dtlbcfg_Slot_inst_encode, 0, 0 | |
7660 | }; | |
7661 | ||
7662 | xtensa_opcode_encode_fn Opcode_xsr_dtlbcfg_encode_fns[] = { | |
7663 | Opcode_xsr_dtlbcfg_Slot_inst_encode, 0, 0 | |
7664 | }; | |
7665 | ||
43cd72b9 BW |
7666 | xtensa_opcode_encode_fn Opcode_idtlb_encode_fns[] = { |
7667 | Opcode_idtlb_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7668 | }; |
7669 | ||
43cd72b9 BW |
7670 | xtensa_opcode_encode_fn Opcode_pdtlb_encode_fns[] = { |
7671 | Opcode_pdtlb_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7672 | }; |
7673 | ||
43cd72b9 BW |
7674 | xtensa_opcode_encode_fn Opcode_rdtlb0_encode_fns[] = { |
7675 | Opcode_rdtlb0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7676 | }; |
7677 | ||
43cd72b9 BW |
7678 | xtensa_opcode_encode_fn Opcode_rdtlb1_encode_fns[] = { |
7679 | Opcode_rdtlb1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7680 | }; |
7681 | ||
43cd72b9 BW |
7682 | xtensa_opcode_encode_fn Opcode_wdtlb_encode_fns[] = { |
7683 | Opcode_wdtlb_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7684 | }; |
7685 | ||
43cd72b9 BW |
7686 | xtensa_opcode_encode_fn Opcode_iitlb_encode_fns[] = { |
7687 | Opcode_iitlb_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7688 | }; |
7689 | ||
43cd72b9 BW |
7690 | xtensa_opcode_encode_fn Opcode_pitlb_encode_fns[] = { |
7691 | Opcode_pitlb_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7692 | }; |
7693 | ||
43cd72b9 BW |
7694 | xtensa_opcode_encode_fn Opcode_ritlb0_encode_fns[] = { |
7695 | Opcode_ritlb0_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7696 | }; |
7697 | ||
43cd72b9 BW |
7698 | xtensa_opcode_encode_fn Opcode_ritlb1_encode_fns[] = { |
7699 | Opcode_ritlb1_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7700 | }; |
7701 | ||
43cd72b9 BW |
7702 | xtensa_opcode_encode_fn Opcode_witlb_encode_fns[] = { |
7703 | Opcode_witlb_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7704 | }; |
7705 | ||
074f5109 BW |
7706 | xtensa_opcode_encode_fn Opcode_ldpte_encode_fns[] = { |
7707 | Opcode_ldpte_Slot_inst_encode, 0, 0 | |
7708 | }; | |
7709 | ||
7710 | xtensa_opcode_encode_fn Opcode_hwwitlba_encode_fns[] = { | |
7711 | Opcode_hwwitlba_Slot_inst_encode, 0, 0 | |
7712 | }; | |
7713 | ||
7714 | xtensa_opcode_encode_fn Opcode_hwwdtlba_encode_fns[] = { | |
7715 | Opcode_hwwdtlba_Slot_inst_encode, 0, 0 | |
7716 | }; | |
7717 | ||
43cd72b9 BW |
7718 | xtensa_opcode_encode_fn Opcode_nsa_encode_fns[] = { |
7719 | Opcode_nsa_Slot_inst_encode, 0, 0 | |
e0001a05 NC |
7720 | }; |
7721 | ||
43cd72b9 BW |
7722 | xtensa_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 | ||
7729 | static 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 | ||
8608 | static int | |
8609 | Slot_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 | ||
9366 | static int | |
9367 | Slot_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 | ||
9417 | static int | |
9418 | Slot_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 | ||
9437 | static void | |
9438 | Slot_x24_Format_inst_0_get (const xtensa_insnbuf insn, | |
9439 | xtensa_insnbuf slotbuf) | |
9440 | { | |
9441 | slotbuf[0] = (insn[0] & 0xffffff); | |
9442 | } | |
9443 | ||
9444 | static void | |
9445 | Slot_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 | ||
9451 | static void | |
9452 | Slot_x16a_Format_inst16a_0_get (const xtensa_insnbuf insn, | |
9453 | xtensa_insnbuf slotbuf) | |
9454 | { | |
9455 | slotbuf[0] = ((insn[0] & 0xffff00) >> 8); | |
9456 | } | |
9457 | ||
9458 | static void | |
9459 | Slot_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 | ||
9465 | static void | |
9466 | Slot_x16b_Format_inst16b_0_get (const xtensa_insnbuf insn, | |
9467 | xtensa_insnbuf slotbuf) | |
9468 | { | |
9469 | slotbuf[0] = ((insn[0] & 0xffff00) >> 8); | |
9470 | } | |
9471 | ||
9472 | static void | |
9473 | Slot_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 | ||
9479 | static xtensa_get_field_fn | |
9480 | Slot_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 | ||
9522 | static xtensa_set_field_fn | |
9523 | Slot_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 | ||
9565 | static xtensa_get_field_fn | |
9566 | Slot_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 | ||
9608 | static xtensa_set_field_fn | |
9609 | Slot_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 | ||
9651 | static xtensa_get_field_fn | |
9652 | Slot_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 | ||
9694 | static xtensa_set_field_fn | |
9695 | Slot_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 | ||
9737 | static 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 | ||
9755 | static void | |
9756 | Format_x24_encode (xtensa_insnbuf insn) | |
9757 | { | |
9758 | insn[0] = 0; | |
9759 | } | |
9760 | ||
9761 | static void | |
9762 | Format_x16a_encode (xtensa_insnbuf insn) | |
9763 | { | |
9764 | insn[0] = 0x800000; | |
e0001a05 NC |
9765 | } |
9766 | ||
43cd72b9 BW |
9767 | static void |
9768 | Format_x16b_encode (xtensa_insnbuf insn) | |
e0001a05 | 9769 | { |
43cd72b9 | 9770 | insn[0] = 0xc00000; |
e0001a05 NC |
9771 | } |
9772 | ||
43cd72b9 BW |
9773 | static int Format_x24_slots[] = { 0 }; |
9774 | ||
9775 | static int Format_x16a_slots[] = { 1 }; | |
9776 | ||
9777 | static int Format_x16b_slots[] = { 2 }; | |
9778 | ||
9779 | static 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 |
9786 | static int |
9787 | format_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 |
9798 | static 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 | ||
9817 | static int | |
f075ee0c | 9818 | length_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 | ||
9827 | xtensa_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 | }; |