1 /* Xtensa configuration-specific ISA information.
2 Copyright 2003 Free Software Foundation, Inc.
4 This file is part of BFD, the Binary File Descriptor library.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
20 #include <xtensa-isa.h>
21 #include "xtensa-isa-internal.h"
25 #define WINDEX(_n) ((_n) / BPW)
26 #define BINDEX(_n) ((_n) %% BPW)
28 static uint32
tie_do_reloc_l (uint32
, uint32
) ATTRIBUTE_UNUSED
;
29 static uint32
tie_undo_reloc_l (uint32
, uint32
) ATTRIBUTE_UNUSED
;
32 tie_do_reloc_l (uint32 addr
, uint32 pc
)
38 tie_undo_reloc_l (uint32 offset
, uint32 pc
)
43 xtensa_opcode_internal
** get_opcodes (void);
44 const int get_num_opcodes (void);
45 int decode_insn (const xtensa_insnbuf
);
46 int interface_version (void);
48 uint32
get_bbi_field (const xtensa_insnbuf
);
49 void set_bbi_field (xtensa_insnbuf
, uint32
);
50 uint32
get_bbi4_field (const xtensa_insnbuf
);
51 void set_bbi4_field (xtensa_insnbuf
, uint32
);
52 uint32
get_i_field (const xtensa_insnbuf
);
53 void set_i_field (xtensa_insnbuf
, uint32
);
54 uint32
get_imm12_field (const xtensa_insnbuf
);
55 void set_imm12_field (xtensa_insnbuf
, uint32
);
56 uint32
get_imm12b_field (const xtensa_insnbuf
);
57 void set_imm12b_field (xtensa_insnbuf
, uint32
);
58 uint32
get_imm16_field (const xtensa_insnbuf
);
59 void set_imm16_field (xtensa_insnbuf
, uint32
);
60 uint32
get_imm4_field (const xtensa_insnbuf
);
61 void set_imm4_field (xtensa_insnbuf
, uint32
);
62 uint32
get_imm6_field (const xtensa_insnbuf
);
63 void set_imm6_field (xtensa_insnbuf
, uint32
);
64 uint32
get_imm6hi_field (const xtensa_insnbuf
);
65 void set_imm6hi_field (xtensa_insnbuf
, uint32
);
66 uint32
get_imm6lo_field (const xtensa_insnbuf
);
67 void set_imm6lo_field (xtensa_insnbuf
, uint32
);
68 uint32
get_imm7_field (const xtensa_insnbuf
);
69 void set_imm7_field (xtensa_insnbuf
, uint32
);
70 uint32
get_imm7hi_field (const xtensa_insnbuf
);
71 void set_imm7hi_field (xtensa_insnbuf
, uint32
);
72 uint32
get_imm7lo_field (const xtensa_insnbuf
);
73 void set_imm7lo_field (xtensa_insnbuf
, uint32
);
74 uint32
get_imm8_field (const xtensa_insnbuf
);
75 void set_imm8_field (xtensa_insnbuf
, uint32
);
76 uint32
get_m_field (const xtensa_insnbuf
);
77 void set_m_field (xtensa_insnbuf
, uint32
);
78 uint32
get_mn_field (const xtensa_insnbuf
);
79 void set_mn_field (xtensa_insnbuf
, uint32
);
80 uint32
get_n_field (const xtensa_insnbuf
);
81 void set_n_field (xtensa_insnbuf
, uint32
);
82 uint32
get_none_field (const xtensa_insnbuf
);
83 void set_none_field (xtensa_insnbuf
, uint32
);
84 uint32
get_offset_field (const xtensa_insnbuf
);
85 void set_offset_field (xtensa_insnbuf
, uint32
);
86 uint32
get_op0_field (const xtensa_insnbuf
);
87 void set_op0_field (xtensa_insnbuf
, uint32
);
88 uint32
get_op1_field (const xtensa_insnbuf
);
89 void set_op1_field (xtensa_insnbuf
, uint32
);
90 uint32
get_op2_field (const xtensa_insnbuf
);
91 void set_op2_field (xtensa_insnbuf
, uint32
);
92 uint32
get_r_field (const xtensa_insnbuf
);
93 void set_r_field (xtensa_insnbuf
, uint32
);
94 uint32
get_s_field (const xtensa_insnbuf
);
95 void set_s_field (xtensa_insnbuf
, uint32
);
96 uint32
get_sa4_field (const xtensa_insnbuf
);
97 void set_sa4_field (xtensa_insnbuf
, uint32
);
98 uint32
get_sae_field (const xtensa_insnbuf
);
99 void set_sae_field (xtensa_insnbuf
, uint32
);
100 uint32
get_sae4_field (const xtensa_insnbuf
);
101 void set_sae4_field (xtensa_insnbuf
, uint32
);
102 uint32
get_sal_field (const xtensa_insnbuf
);
103 void set_sal_field (xtensa_insnbuf
, uint32
);
104 uint32
get_sar_field (const xtensa_insnbuf
);
105 void set_sar_field (xtensa_insnbuf
, uint32
);
106 uint32
get_sas_field (const xtensa_insnbuf
);
107 void set_sas_field (xtensa_insnbuf
, uint32
);
108 uint32
get_sas4_field (const xtensa_insnbuf
);
109 void set_sas4_field (xtensa_insnbuf
, uint32
);
110 uint32
get_sr_field (const xtensa_insnbuf
);
111 void set_sr_field (xtensa_insnbuf
, uint32
);
112 uint32
get_t_field (const xtensa_insnbuf
);
113 void set_t_field (xtensa_insnbuf
, uint32
);
114 uint32
get_thi3_field (const xtensa_insnbuf
);
115 void set_thi3_field (xtensa_insnbuf
, uint32
);
116 uint32
get_z_field (const xtensa_insnbuf
);
117 void set_z_field (xtensa_insnbuf
, uint32
);
121 get_bbi_field (const xtensa_insnbuf insn
)
123 return ((insn
[0] & 0xf0000) >> 16) |
124 ((insn
[0] & 0x100) >> 4);
128 set_bbi_field (xtensa_insnbuf insn
, uint32 val
)
130 insn
[0] = (insn
[0] & 0xfff0ffff) | ((val
<< 16) & 0xf0000);
131 insn
[0] = (insn
[0] & 0xfffffeff) | ((val
<< 4) & 0x100);
135 get_bbi4_field (const xtensa_insnbuf insn
)
137 return ((insn
[0] & 0x100) >> 8);
141 set_bbi4_field (xtensa_insnbuf insn
, uint32 val
)
143 insn
[0] = (insn
[0] & 0xfffffeff) | ((val
<< 8) & 0x100);
147 get_i_field (const xtensa_insnbuf insn
)
149 return ((insn
[0] & 0x80000) >> 19);
153 set_i_field (xtensa_insnbuf insn
, uint32 val
)
155 insn
[0] = (insn
[0] & 0xfff7ffff) | ((val
<< 19) & 0x80000);
159 get_imm12_field (const xtensa_insnbuf insn
)
161 return ((insn
[0] & 0xfff));
165 set_imm12_field (xtensa_insnbuf insn
, uint32 val
)
167 insn
[0] = (insn
[0] & 0xfffff000) | (val
& 0xfff);
171 get_imm12b_field (const xtensa_insnbuf insn
)
173 return ((insn
[0] & 0xff)) |
174 ((insn
[0] & 0xf000) >> 4);
178 set_imm12b_field (xtensa_insnbuf insn
, uint32 val
)
180 insn
[0] = (insn
[0] & 0xffffff00) | (val
& 0xff);
181 insn
[0] = (insn
[0] & 0xffff0fff) | ((val
<< 4) & 0xf000);
185 get_imm16_field (const xtensa_insnbuf insn
)
187 return ((insn
[0] & 0xffff));
191 set_imm16_field (xtensa_insnbuf insn
, uint32 val
)
193 insn
[0] = (insn
[0] & 0xffff0000) | (val
& 0xffff);
197 get_imm4_field (const xtensa_insnbuf insn
)
199 return ((insn
[0] & 0xf00) >> 8);
203 set_imm4_field (xtensa_insnbuf insn
, uint32 val
)
205 insn
[0] = (insn
[0] & 0xfffff0ff) | ((val
<< 8) & 0xf00);
209 get_imm6_field (const xtensa_insnbuf insn
)
211 return ((insn
[0] & 0xf00) >> 8) |
212 ((insn
[0] & 0x30000) >> 12);
216 set_imm6_field (xtensa_insnbuf insn
, uint32 val
)
218 insn
[0] = (insn
[0] & 0xfffff0ff) | ((val
<< 8) & 0xf00);
219 insn
[0] = (insn
[0] & 0xfffcffff) | ((val
<< 12) & 0x30000);
223 get_imm6hi_field (const xtensa_insnbuf insn
)
225 return ((insn
[0] & 0x30000) >> 16);
229 set_imm6hi_field (xtensa_insnbuf insn
, uint32 val
)
231 insn
[0] = (insn
[0] & 0xfffcffff) | ((val
<< 16) & 0x30000);
235 get_imm6lo_field (const xtensa_insnbuf insn
)
237 return ((insn
[0] & 0xf00) >> 8);
241 set_imm6lo_field (xtensa_insnbuf insn
, uint32 val
)
243 insn
[0] = (insn
[0] & 0xfffff0ff) | ((val
<< 8) & 0xf00);
247 get_imm7_field (const xtensa_insnbuf insn
)
249 return ((insn
[0] & 0xf00) >> 8) |
250 ((insn
[0] & 0x70000) >> 12);
254 set_imm7_field (xtensa_insnbuf insn
, uint32 val
)
256 insn
[0] = (insn
[0] & 0xfffff0ff) | ((val
<< 8) & 0xf00);
257 insn
[0] = (insn
[0] & 0xfff8ffff) | ((val
<< 12) & 0x70000);
261 get_imm7hi_field (const xtensa_insnbuf insn
)
263 return ((insn
[0] & 0x70000) >> 16);
267 set_imm7hi_field (xtensa_insnbuf insn
, uint32 val
)
269 insn
[0] = (insn
[0] & 0xfff8ffff) | ((val
<< 16) & 0x70000);
273 get_imm7lo_field (const xtensa_insnbuf insn
)
275 return ((insn
[0] & 0xf00) >> 8);
279 set_imm7lo_field (xtensa_insnbuf insn
, uint32 val
)
281 insn
[0] = (insn
[0] & 0xfffff0ff) | ((val
<< 8) & 0xf00);
285 get_imm8_field (const xtensa_insnbuf insn
)
287 return ((insn
[0] & 0xff));
291 set_imm8_field (xtensa_insnbuf insn
, uint32 val
)
293 insn
[0] = (insn
[0] & 0xffffff00) | (val
& 0xff);
297 get_m_field (const xtensa_insnbuf insn
)
299 return ((insn
[0] & 0x30000) >> 16);
303 set_m_field (xtensa_insnbuf insn
, uint32 val
)
305 insn
[0] = (insn
[0] & 0xfffcffff) | ((val
<< 16) & 0x30000);
309 get_mn_field (const xtensa_insnbuf insn
)
311 return ((insn
[0] & 0x30000) >> 16) |
312 ((insn
[0] & 0xc0000) >> 16);
316 set_mn_field (xtensa_insnbuf insn
, uint32 val
)
318 insn
[0] = (insn
[0] & 0xfffcffff) | ((val
<< 16) & 0x30000);
319 insn
[0] = (insn
[0] & 0xfff3ffff) | ((val
<< 16) & 0xc0000);
323 get_n_field (const xtensa_insnbuf insn
)
325 return ((insn
[0] & 0xc0000) >> 18);
329 set_n_field (xtensa_insnbuf insn
, uint32 val
)
331 insn
[0] = (insn
[0] & 0xfff3ffff) | ((val
<< 18) & 0xc0000);
335 get_none_field (const xtensa_insnbuf insn
)
337 return ((insn
[0] & 0x0));
341 set_none_field (xtensa_insnbuf insn
, uint32 val
)
343 insn
[0] = (insn
[0] & 0xffffffff) | (val
& 0x0);
347 get_offset_field (const xtensa_insnbuf insn
)
349 return ((insn
[0] & 0x3ffff));
353 set_offset_field (xtensa_insnbuf insn
, uint32 val
)
355 insn
[0] = (insn
[0] & 0xfffc0000) | (val
& 0x3ffff);
359 get_op0_field (const xtensa_insnbuf insn
)
361 return ((insn
[0] & 0xf00000) >> 20);
365 set_op0_field (xtensa_insnbuf insn
, uint32 val
)
367 insn
[0] = (insn
[0] & 0xff0fffff) | ((val
<< 20) & 0xf00000);
371 get_op1_field (const xtensa_insnbuf insn
)
373 return ((insn
[0] & 0xf0) >> 4);
377 set_op1_field (xtensa_insnbuf insn
, uint32 val
)
379 insn
[0] = (insn
[0] & 0xffffff0f) | ((val
<< 4) & 0xf0);
383 get_op2_field (const xtensa_insnbuf insn
)
385 return ((insn
[0] & 0xf));
389 set_op2_field (xtensa_insnbuf insn
, uint32 val
)
391 insn
[0] = (insn
[0] & 0xfffffff0) | (val
& 0xf);
395 get_r_field (const xtensa_insnbuf insn
)
397 return ((insn
[0] & 0xf00) >> 8);
401 set_r_field (xtensa_insnbuf insn
, uint32 val
)
403 insn
[0] = (insn
[0] & 0xfffff0ff) | ((val
<< 8) & 0xf00);
407 get_s_field (const xtensa_insnbuf insn
)
409 return ((insn
[0] & 0xf000) >> 12);
413 set_s_field (xtensa_insnbuf insn
, uint32 val
)
415 insn
[0] = (insn
[0] & 0xffff0fff) | ((val
<< 12) & 0xf000);
419 get_sa4_field (const xtensa_insnbuf insn
)
421 return ((insn
[0] & 0x1));
425 set_sa4_field (xtensa_insnbuf insn
, uint32 val
)
427 insn
[0] = (insn
[0] & 0xfffffffe) | (val
& 0x1);
431 get_sae_field (const xtensa_insnbuf insn
)
433 return ((insn
[0] & 0xf000) >> 12) |
438 set_sae_field (xtensa_insnbuf insn
, uint32 val
)
440 insn
[0] = (insn
[0] & 0xffff0fff) | ((val
<< 12) & 0xf000);
441 insn
[0] = (insn
[0] & 0xffffffef) | (val
& 0x10);
445 get_sae4_field (const xtensa_insnbuf insn
)
447 return ((insn
[0] & 0x10) >> 4);
451 set_sae4_field (xtensa_insnbuf insn
, uint32 val
)
453 insn
[0] = (insn
[0] & 0xffffffef) | ((val
<< 4) & 0x10);
457 get_sal_field (const xtensa_insnbuf insn
)
459 return ((insn
[0] & 0xf0000) >> 16) |
460 ((insn
[0] & 0x1) << 4);
464 set_sal_field (xtensa_insnbuf insn
, uint32 val
)
466 insn
[0] = (insn
[0] & 0xfff0ffff) | ((val
<< 16) & 0xf0000);
467 insn
[0] = (insn
[0] & 0xfffffffe) | ((val
>> 4) & 0x1);
471 get_sar_field (const xtensa_insnbuf insn
)
473 return ((insn
[0] & 0xf000) >> 12) |
474 ((insn
[0] & 0x1) << 4);
478 set_sar_field (xtensa_insnbuf insn
, uint32 val
)
480 insn
[0] = (insn
[0] & 0xffff0fff) | ((val
<< 12) & 0xf000);
481 insn
[0] = (insn
[0] & 0xfffffffe) | ((val
>> 4) & 0x1);
485 get_sas_field (const xtensa_insnbuf insn
)
487 return ((insn
[0] & 0xf000) >> 12) |
488 ((insn
[0] & 0x10000) >> 12);
492 set_sas_field (xtensa_insnbuf insn
, uint32 val
)
494 insn
[0] = (insn
[0] & 0xffff0fff) | ((val
<< 12) & 0xf000);
495 insn
[0] = (insn
[0] & 0xfffeffff) | ((val
<< 12) & 0x10000);
499 get_sas4_field (const xtensa_insnbuf insn
)
501 return ((insn
[0] & 0x10000) >> 16);
505 set_sas4_field (xtensa_insnbuf insn
, uint32 val
)
507 insn
[0] = (insn
[0] & 0xfffeffff) | ((val
<< 16) & 0x10000);
511 get_sr_field (const xtensa_insnbuf insn
)
513 return ((insn
[0] & 0xf00) >> 8) |
514 ((insn
[0] & 0xf000) >> 8);
518 set_sr_field (xtensa_insnbuf insn
, uint32 val
)
520 insn
[0] = (insn
[0] & 0xfffff0ff) | ((val
<< 8) & 0xf00);
521 insn
[0] = (insn
[0] & 0xffff0fff) | ((val
<< 8) & 0xf000);
525 get_t_field (const xtensa_insnbuf insn
)
527 return ((insn
[0] & 0xf0000) >> 16);
531 set_t_field (xtensa_insnbuf insn
, uint32 val
)
533 insn
[0] = (insn
[0] & 0xfff0ffff) | ((val
<< 16) & 0xf0000);
537 get_thi3_field (const xtensa_insnbuf insn
)
539 return ((insn
[0] & 0xe0000) >> 17);
543 set_thi3_field (xtensa_insnbuf insn
, uint32 val
)
545 insn
[0] = (insn
[0] & 0xfff1ffff) | ((val
<< 17) & 0xe0000);
549 get_z_field (const xtensa_insnbuf insn
)
551 return ((insn
[0] & 0x40000) >> 18);
555 set_z_field (xtensa_insnbuf insn
, uint32 val
)
557 insn
[0] = (insn
[0] & 0xfffbffff) | ((val
<< 18) & 0x40000);
560 uint32
decode_b4constu (uint32
);
561 xtensa_encode_result
encode_b4constu (uint32
*);
562 uint32
decode_simm8x256 (uint32
);
563 xtensa_encode_result
encode_simm8x256 (uint32
*);
564 uint32
decode_soffset (uint32
);
565 xtensa_encode_result
encode_soffset (uint32
*);
566 uint32
decode_imm4 (uint32
);
567 xtensa_encode_result
encode_imm4 (uint32
*);
568 uint32
decode_op0 (uint32
);
569 xtensa_encode_result
encode_op0 (uint32
*);
570 uint32
decode_op1 (uint32
);
571 xtensa_encode_result
encode_op1 (uint32
*);
572 uint32
decode_imm6 (uint32
);
573 xtensa_encode_result
encode_imm6 (uint32
*);
574 uint32
decode_op2 (uint32
);
575 xtensa_encode_result
encode_op2 (uint32
*);
576 uint32
decode_imm7 (uint32
);
577 xtensa_encode_result
encode_imm7 (uint32
*);
578 uint32
decode_simm4 (uint32
);
579 xtensa_encode_result
encode_simm4 (uint32
*);
580 uint32
decode_ai4const (uint32
);
581 xtensa_encode_result
encode_ai4const (uint32
*);
582 uint32
decode_imm8 (uint32
);
583 xtensa_encode_result
encode_imm8 (uint32
*);
584 uint32
decode_sae (uint32
);
585 xtensa_encode_result
encode_sae (uint32
*);
586 uint32
decode_imm7lo (uint32
);
587 xtensa_encode_result
encode_imm7lo (uint32
*);
588 uint32
decode_simm7 (uint32
);
589 xtensa_encode_result
encode_simm7 (uint32
*);
590 uint32
decode_simm8 (uint32
);
591 xtensa_encode_result
encode_simm8 (uint32
*);
592 uint32
decode_uimm12x8 (uint32
);
593 xtensa_encode_result
encode_uimm12x8 (uint32
*);
594 uint32
decode_sal (uint32
);
595 xtensa_encode_result
encode_sal (uint32
*);
596 uint32
decode_uimm6 (uint32
);
597 xtensa_encode_result
encode_uimm6 (uint32
*);
598 uint32
decode_sas4 (uint32
);
599 xtensa_encode_result
encode_sas4 (uint32
*);
600 uint32
decode_uimm8 (uint32
);
601 xtensa_encode_result
encode_uimm8 (uint32
*);
602 uint32
decode_uimm16x4 (uint32
);
603 xtensa_encode_result
encode_uimm16x4 (uint32
*);
604 uint32
decode_sar (uint32
);
605 xtensa_encode_result
encode_sar (uint32
*);
606 uint32
decode_sa4 (uint32
);
607 xtensa_encode_result
encode_sa4 (uint32
*);
608 uint32
decode_sas (uint32
);
609 xtensa_encode_result
encode_sas (uint32
*);
610 uint32
decode_imm6hi (uint32
);
611 xtensa_encode_result
encode_imm6hi (uint32
*);
612 uint32
decode_bbi (uint32
);
613 xtensa_encode_result
encode_bbi (uint32
*);
614 uint32
decode_uimm8x2 (uint32
);
615 xtensa_encode_result
encode_uimm8x2 (uint32
*);
616 uint32
decode_uimm8x4 (uint32
);
617 xtensa_encode_result
encode_uimm8x4 (uint32
*);
618 uint32
decode_msalp32 (uint32
);
619 xtensa_encode_result
encode_msalp32 (uint32
*);
620 uint32
decode_bbi4 (uint32
);
621 xtensa_encode_result
encode_bbi4 (uint32
*);
622 uint32
decode_op2p1 (uint32
);
623 xtensa_encode_result
encode_op2p1 (uint32
*);
624 uint32
decode_soffsetx4 (uint32
);
625 xtensa_encode_result
encode_soffsetx4 (uint32
*);
626 uint32
decode_imm6lo (uint32
);
627 xtensa_encode_result
encode_imm6lo (uint32
*);
628 uint32
decode_imm12 (uint32
);
629 xtensa_encode_result
encode_imm12 (uint32
*);
630 uint32
decode_b4const (uint32
);
631 xtensa_encode_result
encode_b4const (uint32
*);
632 uint32
decode_i (uint32
);
633 xtensa_encode_result
encode_i (uint32
*);
634 uint32
decode_imm16 (uint32
);
635 xtensa_encode_result
encode_imm16 (uint32
*);
636 uint32
decode_mn (uint32
);
637 xtensa_encode_result
encode_mn (uint32
*);
638 uint32
decode_m (uint32
);
639 xtensa_encode_result
encode_m (uint32
*);
640 uint32
decode_n (uint32
);
641 xtensa_encode_result
encode_n (uint32
*);
642 uint32
decode_none (uint32
);
643 xtensa_encode_result
encode_none (uint32
*);
644 uint32
decode_imm12b (uint32
);
645 xtensa_encode_result
encode_imm12b (uint32
*);
646 uint32
decode_r (uint32
);
647 xtensa_encode_result
encode_r (uint32
*);
648 uint32
decode_s (uint32
);
649 xtensa_encode_result
encode_s (uint32
*);
650 uint32
decode_t (uint32
);
651 xtensa_encode_result
encode_t (uint32
*);
652 uint32
decode_thi3 (uint32
);
653 xtensa_encode_result
encode_thi3 (uint32
*);
654 uint32
decode_sae4 (uint32
);
655 xtensa_encode_result
encode_sae4 (uint32
*);
656 uint32
decode_offset (uint32
);
657 xtensa_encode_result
encode_offset (uint32
*);
658 uint32
decode_imm7hi (uint32
);
659 xtensa_encode_result
encode_imm7hi (uint32
*);
660 uint32
decode_uimm4x16 (uint32
);
661 xtensa_encode_result
encode_uimm4x16 (uint32
*);
662 uint32
decode_simm12b (uint32
);
663 xtensa_encode_result
encode_simm12b (uint32
*);
664 uint32
decode_lsi4x4 (uint32
);
665 xtensa_encode_result
encode_lsi4x4 (uint32
*);
666 uint32
decode_z (uint32
);
667 xtensa_encode_result
encode_z (uint32
*);
668 uint32
decode_simm12 (uint32
);
669 xtensa_encode_result
encode_simm12 (uint32
*);
670 uint32
decode_sr (uint32
);
671 xtensa_encode_result
encode_sr (uint32
*);
672 uint32
decode_nimm4x2 (uint32
);
673 xtensa_encode_result
encode_nimm4x2 (uint32
*);
676 static const uint32 b4constu_table
[] = {
696 decode_b4constu (uint32 val
)
698 val
= b4constu_table
[val
];
703 encode_b4constu (uint32
*valp
)
707 for (i
= 0; i
< (1 << 4); i
+= 1)
708 if (b4constu_table
[i
] == val
) goto found
;
709 return xtensa_encode_result_not_in_table
;
713 return xtensa_encode_result_ok
;
717 decode_simm8x256 (uint32 val
)
719 val
= (val
^ 0x80) - 0x80;
725 encode_simm8x256 (uint32
*valp
)
728 if ((val
& ((1 << 8) - 1)) != 0)
729 return xtensa_encode_result_align
;
730 val
= (signed int) val
>> 8;
731 if (((val
+ (1 << 7)) >> 8) != 0)
733 if ((signed int) val
> 0)
734 return xtensa_encode_result_too_high
;
736 return xtensa_encode_result_too_low
;
739 return xtensa_encode_result_ok
;
743 decode_soffset (uint32 val
)
745 val
= (val
^ 0x20000) - 0x20000;
750 encode_soffset (uint32
*valp
)
753 if (((val
+ (1 << 17)) >> 18) != 0)
755 if ((signed int) val
> 0)
756 return xtensa_encode_result_too_high
;
758 return xtensa_encode_result_too_low
;
761 return xtensa_encode_result_ok
;
765 decode_imm4 (uint32 val
)
771 encode_imm4 (uint32
*valp
)
775 return xtensa_encode_result_too_high
;
777 return xtensa_encode_result_ok
;
781 decode_op0 (uint32 val
)
787 encode_op0 (uint32
*valp
)
791 return xtensa_encode_result_too_high
;
793 return xtensa_encode_result_ok
;
797 decode_op1 (uint32 val
)
803 encode_op1 (uint32
*valp
)
807 return xtensa_encode_result_too_high
;
809 return xtensa_encode_result_ok
;
813 decode_imm6 (uint32 val
)
819 encode_imm6 (uint32
*valp
)
823 return xtensa_encode_result_too_high
;
825 return xtensa_encode_result_ok
;
829 decode_op2 (uint32 val
)
835 encode_op2 (uint32
*valp
)
839 return xtensa_encode_result_too_high
;
841 return xtensa_encode_result_ok
;
845 decode_imm7 (uint32 val
)
851 encode_imm7 (uint32
*valp
)
855 return xtensa_encode_result_too_high
;
857 return xtensa_encode_result_ok
;
861 decode_simm4 (uint32 val
)
863 val
= (val
^ 0x8) - 0x8;
868 encode_simm4 (uint32
*valp
)
871 if (((val
+ (1 << 3)) >> 4) != 0)
873 if ((signed int) val
> 0)
874 return xtensa_encode_result_too_high
;
876 return xtensa_encode_result_too_low
;
879 return xtensa_encode_result_ok
;
882 static const uint32 ai4const_table
[] = {
902 decode_ai4const (uint32 val
)
904 val
= ai4const_table
[val
];
909 encode_ai4const (uint32
*valp
)
913 for (i
= 0; i
< (1 << 4); i
+= 1)
914 if (ai4const_table
[i
] == val
) goto found
;
915 return xtensa_encode_result_not_in_table
;
919 return xtensa_encode_result_ok
;
923 decode_imm8 (uint32 val
)
929 encode_imm8 (uint32
*valp
)
933 return xtensa_encode_result_too_high
;
935 return xtensa_encode_result_ok
;
939 decode_sae (uint32 val
)
945 encode_sae (uint32
*valp
)
949 return xtensa_encode_result_too_high
;
951 return xtensa_encode_result_ok
;
955 decode_imm7lo (uint32 val
)
961 encode_imm7lo (uint32
*valp
)
965 return xtensa_encode_result_too_high
;
967 return xtensa_encode_result_ok
;
971 decode_simm7 (uint32 val
)
979 encode_simm7 (uint32
*valp
)
982 if ((signed int) val
< -32)
983 return xtensa_encode_result_too_low
;
984 if ((signed int) val
> 95)
985 return xtensa_encode_result_too_high
;
987 return xtensa_encode_result_ok
;
991 decode_simm8 (uint32 val
)
993 val
= (val
^ 0x80) - 0x80;
998 encode_simm8 (uint32
*valp
)
1001 if (((val
+ (1 << 7)) >> 8) != 0)
1003 if ((signed int) val
> 0)
1004 return xtensa_encode_result_too_high
;
1006 return xtensa_encode_result_too_low
;
1009 return xtensa_encode_result_ok
;
1013 decode_uimm12x8 (uint32 val
)
1019 xtensa_encode_result
1020 encode_uimm12x8 (uint32
*valp
)
1023 if ((val
& ((1 << 3) - 1)) != 0)
1024 return xtensa_encode_result_align
;
1025 val
= (signed int) val
>> 3;
1026 if ((val
>> 12) != 0)
1027 return xtensa_encode_result_too_high
;
1029 return xtensa_encode_result_ok
;
1033 decode_sal (uint32 val
)
1038 xtensa_encode_result
1039 encode_sal (uint32
*valp
)
1042 if ((val
>> 5) != 0)
1043 return xtensa_encode_result_too_high
;
1045 return xtensa_encode_result_ok
;
1049 decode_uimm6 (uint32 val
)
1054 xtensa_encode_result
1055 encode_uimm6 (uint32
*valp
)
1058 if ((val
>> 6) != 0)
1059 return xtensa_encode_result_too_high
;
1061 return xtensa_encode_result_ok
;
1065 decode_sas4 (uint32 val
)
1070 xtensa_encode_result
1071 encode_sas4 (uint32
*valp
)
1074 if ((val
>> 1) != 0)
1075 return xtensa_encode_result_too_high
;
1077 return xtensa_encode_result_ok
;
1081 decode_uimm8 (uint32 val
)
1086 xtensa_encode_result
1087 encode_uimm8 (uint32
*valp
)
1090 if ((val
>> 8) != 0)
1091 return xtensa_encode_result_too_high
;
1093 return xtensa_encode_result_ok
;
1097 decode_uimm16x4 (uint32 val
)
1104 xtensa_encode_result
1105 encode_uimm16x4 (uint32
*valp
)
1108 if ((val
& ((1 << 2) - 1)) != 0)
1109 return xtensa_encode_result_align
;
1110 val
= (signed int) val
>> 2;
1111 if ((signed int) val
>> 16 != -1)
1113 if ((signed int) val
>= 0)
1114 return xtensa_encode_result_too_high
;
1116 return xtensa_encode_result_too_low
;
1119 return xtensa_encode_result_ok
;
1123 decode_sar (uint32 val
)
1128 xtensa_encode_result
1129 encode_sar (uint32
*valp
)
1132 if ((val
>> 5) != 0)
1133 return xtensa_encode_result_too_high
;
1135 return xtensa_encode_result_ok
;
1139 decode_sa4 (uint32 val
)
1144 xtensa_encode_result
1145 encode_sa4 (uint32
*valp
)
1148 if ((val
>> 1) != 0)
1149 return xtensa_encode_result_too_high
;
1151 return xtensa_encode_result_ok
;
1155 decode_sas (uint32 val
)
1160 xtensa_encode_result
1161 encode_sas (uint32
*valp
)
1164 if ((val
>> 5) != 0)
1165 return xtensa_encode_result_too_high
;
1167 return xtensa_encode_result_ok
;
1171 decode_imm6hi (uint32 val
)
1176 xtensa_encode_result
1177 encode_imm6hi (uint32
*valp
)
1180 if ((val
>> 2) != 0)
1181 return xtensa_encode_result_too_high
;
1183 return xtensa_encode_result_ok
;
1187 decode_bbi (uint32 val
)
1192 xtensa_encode_result
1193 encode_bbi (uint32
*valp
)
1196 if ((val
>> 5) != 0)
1197 return xtensa_encode_result_too_high
;
1199 return xtensa_encode_result_ok
;
1203 decode_uimm8x2 (uint32 val
)
1209 xtensa_encode_result
1210 encode_uimm8x2 (uint32
*valp
)
1213 if ((val
& ((1 << 1) - 1)) != 0)
1214 return xtensa_encode_result_align
;
1215 val
= (signed int) val
>> 1;
1216 if ((val
>> 8) != 0)
1217 return xtensa_encode_result_too_high
;
1219 return xtensa_encode_result_ok
;
1223 decode_uimm8x4 (uint32 val
)
1229 xtensa_encode_result
1230 encode_uimm8x4 (uint32
*valp
)
1233 if ((val
& ((1 << 2) - 1)) != 0)
1234 return xtensa_encode_result_align
;
1235 val
= (signed int) val
>> 2;
1236 if ((val
>> 8) != 0)
1237 return xtensa_encode_result_too_high
;
1239 return xtensa_encode_result_ok
;
1242 static const uint32 mip32const_table
[] = {
1278 decode_msalp32 (uint32 val
)
1280 val
= mip32const_table
[val
];
1284 xtensa_encode_result
1285 encode_msalp32 (uint32
*valp
)
1289 for (i
= 0; i
< (1 << 5); i
+= 1)
1290 if (mip32const_table
[i
] == val
) goto found
;
1291 return xtensa_encode_result_not_in_table
;
1295 return xtensa_encode_result_ok
;
1299 decode_bbi4 (uint32 val
)
1304 xtensa_encode_result
1305 encode_bbi4 (uint32
*valp
)
1308 if ((val
>> 1) != 0)
1309 return xtensa_encode_result_too_high
;
1311 return xtensa_encode_result_ok
;
1314 static const uint32 i4p1const_table
[] = {
1334 decode_op2p1 (uint32 val
)
1336 val
= i4p1const_table
[val
];
1340 xtensa_encode_result
1341 encode_op2p1 (uint32
*valp
)
1345 for (i
= 0; i
< (1 << 4); i
+= 1)
1346 if (i4p1const_table
[i
] == val
) goto found
;
1347 return xtensa_encode_result_not_in_table
;
1351 return xtensa_encode_result_ok
;
1355 decode_soffsetx4 (uint32 val
)
1357 val
= (val
^ 0x20000) - 0x20000;
1362 xtensa_encode_result
1363 encode_soffsetx4 (uint32
*valp
)
1366 if ((val
& ((1 << 2) - 1)) != 0)
1367 return xtensa_encode_result_align
;
1368 val
= (signed int) val
>> 2;
1369 if (((val
+ (1 << 17)) >> 18) != 0)
1371 if ((signed int) val
> 0)
1372 return xtensa_encode_result_too_high
;
1374 return xtensa_encode_result_too_low
;
1377 return xtensa_encode_result_ok
;
1381 decode_imm6lo (uint32 val
)
1386 xtensa_encode_result
1387 encode_imm6lo (uint32
*valp
)
1390 if ((val
>> 4) != 0)
1391 return xtensa_encode_result_too_high
;
1393 return xtensa_encode_result_ok
;
1397 decode_imm12 (uint32 val
)
1402 xtensa_encode_result
1403 encode_imm12 (uint32
*valp
)
1406 if ((val
>> 12) != 0)
1407 return xtensa_encode_result_too_high
;
1409 return xtensa_encode_result_ok
;
1412 static const uint32 b4const_table
[] = {
1432 decode_b4const (uint32 val
)
1434 val
= b4const_table
[val
];
1438 xtensa_encode_result
1439 encode_b4const (uint32
*valp
)
1443 for (i
= 0; i
< (1 << 4); i
+= 1)
1444 if (b4const_table
[i
] == val
) goto found
;
1445 return xtensa_encode_result_not_in_table
;
1449 return xtensa_encode_result_ok
;
1453 decode_i (uint32 val
)
1458 xtensa_encode_result
1459 encode_i (uint32
*valp
)
1462 if ((val
>> 1) != 0)
1463 return xtensa_encode_result_too_high
;
1465 return xtensa_encode_result_ok
;
1469 decode_imm16 (uint32 val
)
1474 xtensa_encode_result
1475 encode_imm16 (uint32
*valp
)
1478 if ((val
>> 16) != 0)
1479 return xtensa_encode_result_too_high
;
1481 return xtensa_encode_result_ok
;
1485 decode_mn (uint32 val
)
1490 xtensa_encode_result
1491 encode_mn (uint32
*valp
)
1494 if ((val
>> 4) != 0)
1495 return xtensa_encode_result_too_high
;
1497 return xtensa_encode_result_ok
;
1501 decode_m (uint32 val
)
1506 xtensa_encode_result
1507 encode_m (uint32
*valp
)
1510 if ((val
>> 2) != 0)
1511 return xtensa_encode_result_too_high
;
1513 return xtensa_encode_result_ok
;
1517 decode_n (uint32 val
)
1522 xtensa_encode_result
1523 encode_n (uint32
*valp
)
1526 if ((val
>> 2) != 0)
1527 return xtensa_encode_result_too_high
;
1529 return xtensa_encode_result_ok
;
1533 decode_none (uint32 val
)
1538 xtensa_encode_result
1539 encode_none (uint32
*valp
)
1542 if ((val
>> 0) != 0)
1543 return xtensa_encode_result_too_high
;
1545 return xtensa_encode_result_ok
;
1549 decode_imm12b (uint32 val
)
1554 xtensa_encode_result
1555 encode_imm12b (uint32
*valp
)
1558 if ((val
>> 12) != 0)
1559 return xtensa_encode_result_too_high
;
1561 return xtensa_encode_result_ok
;
1565 decode_r (uint32 val
)
1570 xtensa_encode_result
1571 encode_r (uint32
*valp
)
1574 if ((val
>> 4) != 0)
1575 return xtensa_encode_result_too_high
;
1577 return xtensa_encode_result_ok
;
1581 decode_s (uint32 val
)
1586 xtensa_encode_result
1587 encode_s (uint32
*valp
)
1590 if ((val
>> 4) != 0)
1591 return xtensa_encode_result_too_high
;
1593 return xtensa_encode_result_ok
;
1597 decode_t (uint32 val
)
1602 xtensa_encode_result
1603 encode_t (uint32
*valp
)
1606 if ((val
>> 4) != 0)
1607 return xtensa_encode_result_too_high
;
1609 return xtensa_encode_result_ok
;
1613 decode_thi3 (uint32 val
)
1618 xtensa_encode_result
1619 encode_thi3 (uint32
*valp
)
1622 if ((val
>> 3) != 0)
1623 return xtensa_encode_result_too_high
;
1625 return xtensa_encode_result_ok
;
1629 decode_sae4 (uint32 val
)
1634 xtensa_encode_result
1635 encode_sae4 (uint32
*valp
)
1638 if ((val
>> 1) != 0)
1639 return xtensa_encode_result_too_high
;
1641 return xtensa_encode_result_ok
;
1645 decode_offset (uint32 val
)
1650 xtensa_encode_result
1651 encode_offset (uint32
*valp
)
1654 if ((val
>> 18) != 0)
1655 return xtensa_encode_result_too_high
;
1657 return xtensa_encode_result_ok
;
1661 decode_imm7hi (uint32 val
)
1666 xtensa_encode_result
1667 encode_imm7hi (uint32
*valp
)
1670 if ((val
>> 3) != 0)
1671 return xtensa_encode_result_too_high
;
1673 return xtensa_encode_result_ok
;
1677 decode_uimm4x16 (uint32 val
)
1683 xtensa_encode_result
1684 encode_uimm4x16 (uint32
*valp
)
1687 if ((val
& ((1 << 4) - 1)) != 0)
1688 return xtensa_encode_result_align
;
1689 val
= (signed int) val
>> 4;
1690 if ((val
>> 4) != 0)
1691 return xtensa_encode_result_too_high
;
1693 return xtensa_encode_result_ok
;
1697 decode_simm12b (uint32 val
)
1699 val
= (val
^ 0x800) - 0x800;
1703 xtensa_encode_result
1704 encode_simm12b (uint32
*valp
)
1707 if (((val
+ (1 << 11)) >> 12) != 0)
1709 if ((signed int) val
> 0)
1710 return xtensa_encode_result_too_high
;
1712 return xtensa_encode_result_too_low
;
1715 return xtensa_encode_result_ok
;
1719 decode_lsi4x4 (uint32 val
)
1725 xtensa_encode_result
1726 encode_lsi4x4 (uint32
*valp
)
1729 if ((val
& ((1 << 2) - 1)) != 0)
1730 return xtensa_encode_result_align
;
1731 val
= (signed int) val
>> 2;
1732 if ((val
>> 4) != 0)
1733 return xtensa_encode_result_too_high
;
1735 return xtensa_encode_result_ok
;
1739 decode_z (uint32 val
)
1744 xtensa_encode_result
1745 encode_z (uint32
*valp
)
1748 if ((val
>> 1) != 0)
1749 return xtensa_encode_result_too_high
;
1751 return xtensa_encode_result_ok
;
1755 decode_simm12 (uint32 val
)
1757 val
= (val
^ 0x800) - 0x800;
1761 xtensa_encode_result
1762 encode_simm12 (uint32
*valp
)
1765 if (((val
+ (1 << 11)) >> 12) != 0)
1767 if ((signed int) val
> 0)
1768 return xtensa_encode_result_too_high
;
1770 return xtensa_encode_result_too_low
;
1773 return xtensa_encode_result_ok
;
1777 decode_sr (uint32 val
)
1782 xtensa_encode_result
1783 encode_sr (uint32
*valp
)
1786 if ((val
>> 8) != 0)
1787 return xtensa_encode_result_too_high
;
1789 return xtensa_encode_result_ok
;
1793 decode_nimm4x2 (uint32 val
)
1800 xtensa_encode_result
1801 encode_nimm4x2 (uint32
*valp
)
1804 if ((val
& ((1 << 2) - 1)) != 0)
1805 return xtensa_encode_result_align
;
1806 val
= (signed int) val
>> 2;
1807 if ((signed int) val
>> 4 != -1)
1809 if ((signed int) val
>= 0)
1810 return xtensa_encode_result_too_high
;
1812 return xtensa_encode_result_too_low
;
1815 return xtensa_encode_result_ok
;
1820 uint32
do_reloc_l (uint32
, uint32
);
1821 uint32
undo_reloc_l (uint32
, uint32
);
1822 uint32
do_reloc_L (uint32
, uint32
);
1823 uint32
undo_reloc_L (uint32
, uint32
);
1824 uint32
do_reloc_r (uint32
, uint32
);
1825 uint32
undo_reloc_r (uint32
, uint32
);
1829 do_reloc_l (uint32 addr
, uint32 pc
)
1831 return addr
- pc
- 4;
1835 undo_reloc_l (uint32 offset
, uint32 pc
)
1837 return pc
+ offset
+ 4;
1841 do_reloc_L (uint32 addr
, uint32 pc
)
1843 return addr
- (pc
& -4) - 4;
1847 undo_reloc_L (uint32 offset
, uint32 pc
)
1849 return (pc
& -4) + offset
+ 4;
1853 do_reloc_r (uint32 addr
, uint32 pc
)
1855 return addr
- ((pc
+3) & -4);
1859 undo_reloc_r (uint32 offset
, uint32 pc
)
1861 return ((pc
+3) & -4) + offset
;
1864 static xtensa_operand_internal iib4const_operand
= {
1876 static xtensa_operand_internal iiuimm8_operand
= {
1888 static xtensa_operand_internal lisoffsetx4_operand
= {
1900 static xtensa_operand_internal iisimm8x256_operand
= {
1912 static xtensa_operand_internal lisimm12_operand
= {
1924 static xtensa_operand_internal iiop2p1_operand
= {
1936 static xtensa_operand_internal iisae_operand
= {
1948 static xtensa_operand_internal iis_operand
= {
1960 static xtensa_operand_internal iit_operand
= {
1972 static xtensa_operand_internal iisimm12b_operand
= {
1984 static xtensa_operand_internal iinimm4x2_operand
= {
1996 static xtensa_operand_internal iiuimm4x16_operand
= {
2008 static xtensa_operand_internal abs_operand
= {
2020 static xtensa_operand_internal iisar_operand
= {
2032 static xtensa_operand_internal abt_operand
= {
2044 static xtensa_operand_internal iisas_operand
= {
2056 static xtensa_operand_internal amr_operand
= {
2068 static xtensa_operand_internal iib4constu_operand
= {
2080 static xtensa_operand_internal iisr_operand
= {
2092 static xtensa_operand_internal iibbi_operand
= {
2104 static xtensa_operand_internal iiai4const_operand
= {
2116 static xtensa_operand_internal iiuimm12x8_operand
= {
2128 static xtensa_operand_internal riuimm16x4_operand
= {
2140 static xtensa_operand_internal lisimm8_operand
= {
2152 static xtensa_operand_internal iilsi4x4_operand
= {
2164 static xtensa_operand_internal iiuimm8x2_operand
= {
2176 static xtensa_operand_internal iisimm4_operand
= {
2188 static xtensa_operand_internal iimsalp32_operand
= {
2200 static xtensa_operand_internal liuimm6_operand
= {
2212 static xtensa_operand_internal iiuimm8x4_operand
= {
2224 static xtensa_operand_internal lisoffset_operand
= {
2236 static xtensa_operand_internal iisimm7_operand
= {
2248 static xtensa_operand_internal ais_operand
= {
2260 static xtensa_operand_internal liuimm8_operand
= {
2272 static xtensa_operand_internal ait_operand
= {
2284 static xtensa_operand_internal iisimm8_operand
= {
2296 static xtensa_operand_internal aor_operand
= {
2308 static xtensa_operand_internal aos_operand
= {
2320 static xtensa_operand_internal aot_operand
= {
2332 static xtensa_iclass_internal nopn_iclass
= {
2337 static xtensa_operand_internal
*movi_operand_list
[] = {
2342 static xtensa_iclass_internal movi_iclass
= {
2344 &movi_operand_list
[0]
2347 static xtensa_operand_internal
*bsi8u_operand_list
[] = {
2349 &iib4constu_operand
,
2353 static xtensa_iclass_internal bsi8u_iclass
= {
2355 &bsi8u_operand_list
[0]
2358 static xtensa_operand_internal
*itlb_operand_list
[] = {
2362 static xtensa_iclass_internal itlb_iclass
= {
2364 &itlb_operand_list
[0]
2367 static xtensa_operand_internal
*shiftst_operand_list
[] = {
2373 static xtensa_iclass_internal shiftst_iclass
= {
2375 &shiftst_operand_list
[0]
2378 static xtensa_operand_internal
*l32r_operand_list
[] = {
2383 static xtensa_iclass_internal l32r_iclass
= {
2385 &l32r_operand_list
[0]
2388 static xtensa_iclass_internal rfe_iclass
= {
2393 static xtensa_operand_internal
*wait_operand_list
[] = {
2397 static xtensa_iclass_internal wait_iclass
= {
2399 &wait_operand_list
[0]
2402 static xtensa_operand_internal
*rfi_operand_list
[] = {
2406 static xtensa_iclass_internal rfi_iclass
= {
2408 &rfi_operand_list
[0]
2411 static xtensa_operand_internal
*movz_operand_list
[] = {
2417 static xtensa_iclass_internal movz_iclass
= {
2419 &movz_operand_list
[0]
2422 static xtensa_operand_internal
*callx_operand_list
[] = {
2426 static xtensa_iclass_internal callx_iclass
= {
2428 &callx_operand_list
[0]
2431 static xtensa_operand_internal
*mov_n_operand_list
[] = {
2436 static xtensa_iclass_internal mov_n_iclass
= {
2438 &mov_n_operand_list
[0]
2441 static xtensa_operand_internal
*loadi4_operand_list
[] = {
2447 static xtensa_iclass_internal loadi4_iclass
= {
2449 &loadi4_operand_list
[0]
2452 static xtensa_operand_internal
*exti_operand_list
[] = {
2459 static xtensa_iclass_internal exti_iclass
= {
2461 &exti_operand_list
[0]
2464 static xtensa_operand_internal
*break_operand_list
[] = {
2469 static xtensa_iclass_internal break_iclass
= {
2471 &break_operand_list
[0]
2474 static xtensa_operand_internal
*slli_operand_list
[] = {
2480 static xtensa_iclass_internal slli_iclass
= {
2482 &slli_operand_list
[0]
2485 static xtensa_operand_internal
*s16i_operand_list
[] = {
2491 static xtensa_iclass_internal s16i_iclass
= {
2493 &s16i_operand_list
[0]
2496 static xtensa_operand_internal
*call_operand_list
[] = {
2497 &lisoffsetx4_operand
2500 static xtensa_iclass_internal call_iclass
= {
2502 &call_operand_list
[0]
2505 static xtensa_operand_internal
*shifts_operand_list
[] = {
2510 static xtensa_iclass_internal shifts_iclass
= {
2512 &shifts_operand_list
[0]
2515 static xtensa_operand_internal
*shiftt_operand_list
[] = {
2520 static xtensa_iclass_internal shiftt_iclass
= {
2522 &shiftt_operand_list
[0]
2525 static xtensa_operand_internal
*rotw_operand_list
[] = {
2529 static xtensa_iclass_internal rotw_iclass
= {
2531 &rotw_operand_list
[0]
2534 static xtensa_operand_internal
*addsub_operand_list
[] = {
2540 static xtensa_iclass_internal addsub_iclass
= {
2542 &addsub_operand_list
[0]
2545 static xtensa_operand_internal
*l8i_operand_list
[] = {
2551 static xtensa_iclass_internal l8i_iclass
= {
2553 &l8i_operand_list
[0]
2556 static xtensa_operand_internal
*sari_operand_list
[] = {
2560 static xtensa_iclass_internal sari_iclass
= {
2562 &sari_operand_list
[0]
2565 static xtensa_operand_internal
*xsr_operand_list
[] = {
2570 static xtensa_iclass_internal xsr_iclass
= {
2572 &xsr_operand_list
[0]
2575 static xtensa_operand_internal
*rsil_operand_list
[] = {
2580 static xtensa_iclass_internal rsil_iclass
= {
2582 &rsil_operand_list
[0]
2585 static xtensa_operand_internal
*bst8_operand_list
[] = {
2591 static xtensa_iclass_internal bst8_iclass
= {
2593 &bst8_operand_list
[0]
2596 static xtensa_operand_internal
*addi_operand_list
[] = {
2602 static xtensa_iclass_internal addi_iclass
= {
2604 &addi_operand_list
[0]
2607 static xtensa_operand_internal
*callx12_operand_list
[] = {
2611 static xtensa_iclass_internal callx12_iclass
= {
2613 &callx12_operand_list
[0]
2616 static xtensa_operand_internal
*bsi8_operand_list
[] = {
2622 static xtensa_iclass_internal bsi8_iclass
= {
2624 &bsi8_operand_list
[0]
2627 static xtensa_operand_internal
*jumpx_operand_list
[] = {
2631 static xtensa_iclass_internal jumpx_iclass
= {
2633 &jumpx_operand_list
[0]
2636 static xtensa_iclass_internal retn_iclass
= {
2641 static xtensa_operand_internal
*nsa_operand_list
[] = {
2646 static xtensa_iclass_internal nsa_iclass
= {
2648 &nsa_operand_list
[0]
2651 static xtensa_operand_internal
*storei4_operand_list
[] = {
2657 static xtensa_iclass_internal storei4_iclass
= {
2659 &storei4_operand_list
[0]
2662 static xtensa_operand_internal
*wtlb_operand_list
[] = {
2667 static xtensa_iclass_internal wtlb_iclass
= {
2669 &wtlb_operand_list
[0]
2672 static xtensa_operand_internal
*dce_operand_list
[] = {
2677 static xtensa_iclass_internal dce_iclass
= {
2679 &dce_operand_list
[0]
2682 static xtensa_operand_internal
*l16i_operand_list
[] = {
2688 static xtensa_iclass_internal l16i_iclass
= {
2690 &l16i_operand_list
[0]
2693 static xtensa_operand_internal
*callx4_operand_list
[] = {
2697 static xtensa_iclass_internal callx4_iclass
= {
2699 &callx4_operand_list
[0]
2702 static xtensa_operand_internal
*callx8_operand_list
[] = {
2706 static xtensa_iclass_internal callx8_iclass
= {
2708 &callx8_operand_list
[0]
2711 static xtensa_operand_internal
*movsp_operand_list
[] = {
2716 static xtensa_iclass_internal movsp_iclass
= {
2718 &movsp_operand_list
[0]
2721 static xtensa_operand_internal
*wsr_operand_list
[] = {
2726 static xtensa_iclass_internal wsr_iclass
= {
2728 &wsr_operand_list
[0]
2731 static xtensa_operand_internal
*call12_operand_list
[] = {
2732 &lisoffsetx4_operand
2735 static xtensa_iclass_internal call12_iclass
= {
2737 &call12_operand_list
[0]
2740 static xtensa_operand_internal
*call4_operand_list
[] = {
2741 &lisoffsetx4_operand
2744 static xtensa_iclass_internal call4_iclass
= {
2746 &call4_operand_list
[0]
2749 static xtensa_operand_internal
*addmi_operand_list
[] = {
2752 &iisimm8x256_operand
2755 static xtensa_iclass_internal addmi_iclass
= {
2757 &addmi_operand_list
[0]
2760 static xtensa_operand_internal
*bit_operand_list
[] = {
2766 static xtensa_iclass_internal bit_iclass
= {
2768 &bit_operand_list
[0]
2771 static xtensa_operand_internal
*call8_operand_list
[] = {
2772 &lisoffsetx4_operand
2775 static xtensa_iclass_internal call8_iclass
= {
2777 &call8_operand_list
[0]
2780 static xtensa_iclass_internal itlba_iclass
= {
2785 static xtensa_operand_internal
*break_n_operand_list
[] = {
2789 static xtensa_iclass_internal break_n_iclass
= {
2791 &break_n_operand_list
[0]
2794 static xtensa_operand_internal
*sar_operand_list
[] = {
2798 static xtensa_iclass_internal sar_iclass
= {
2800 &sar_operand_list
[0]
2803 static xtensa_operand_internal
*s32e_operand_list
[] = {
2809 static xtensa_iclass_internal s32e_iclass
= {
2811 &s32e_operand_list
[0]
2814 static xtensa_operand_internal
*bz6_operand_list
[] = {
2819 static xtensa_iclass_internal bz6_iclass
= {
2821 &bz6_operand_list
[0]
2824 static xtensa_operand_internal
*loop_operand_list
[] = {
2829 static xtensa_iclass_internal loop_iclass
= {
2831 &loop_operand_list
[0]
2834 static xtensa_operand_internal
*rsr_operand_list
[] = {
2839 static xtensa_iclass_internal rsr_iclass
= {
2841 &rsr_operand_list
[0]
2844 static xtensa_operand_internal
*icache_operand_list
[] = {
2849 static xtensa_iclass_internal icache_iclass
= {
2851 &icache_operand_list
[0]
2854 static xtensa_operand_internal
*s8i_operand_list
[] = {
2860 static xtensa_iclass_internal s8i_iclass
= {
2862 &s8i_operand_list
[0]
2865 static xtensa_iclass_internal return_iclass
= {
2870 static xtensa_operand_internal
*dcache_operand_list
[] = {
2875 static xtensa_iclass_internal dcache_iclass
= {
2877 &dcache_operand_list
[0]
2880 static xtensa_operand_internal
*s32i_operand_list
[] = {
2886 static xtensa_iclass_internal s32i_iclass
= {
2888 &s32i_operand_list
[0]
2891 static xtensa_operand_internal
*jump_operand_list
[] = {
2895 static xtensa_iclass_internal jump_iclass
= {
2897 &jump_operand_list
[0]
2900 static xtensa_operand_internal
*addi_n_operand_list
[] = {
2906 static xtensa_iclass_internal addi_n_iclass
= {
2908 &addi_n_operand_list
[0]
2911 static xtensa_iclass_internal sync_iclass
= {
2916 static xtensa_operand_internal
*neg_operand_list
[] = {
2921 static xtensa_iclass_internal neg_iclass
= {
2923 &neg_operand_list
[0]
2926 static xtensa_iclass_internal syscall_iclass
= {
2931 static xtensa_operand_internal
*bsz12_operand_list
[] = {
2936 static xtensa_iclass_internal bsz12_iclass
= {
2938 &bsz12_operand_list
[0]
2941 static xtensa_iclass_internal excw_iclass
= {
2946 static xtensa_operand_internal
*movi_n_operand_list
[] = {
2951 static xtensa_iclass_internal movi_n_iclass
= {
2953 &movi_n_operand_list
[0]
2956 static xtensa_operand_internal
*rtlb_operand_list
[] = {
2961 static xtensa_iclass_internal rtlb_iclass
= {
2963 &rtlb_operand_list
[0]
2966 static xtensa_operand_internal
*actl_operand_list
[] = {
2971 static xtensa_iclass_internal actl_iclass
= {
2973 &actl_operand_list
[0]
2976 static xtensa_operand_internal
*srli_operand_list
[] = {
2982 static xtensa_iclass_internal srli_iclass
= {
2984 &srli_operand_list
[0]
2987 static xtensa_operand_internal
*bsi8b_operand_list
[] = {
2993 static xtensa_iclass_internal bsi8b_iclass
= {
2995 &bsi8b_operand_list
[0]
2998 static xtensa_operand_internal
*acts_operand_list
[] = {
3003 static xtensa_iclass_internal acts_iclass
= {
3005 &acts_operand_list
[0]
3008 static xtensa_operand_internal
*add_n_operand_list
[] = {
3014 static xtensa_iclass_internal add_n_iclass
= {
3016 &add_n_operand_list
[0]
3019 static xtensa_operand_internal
*srai_operand_list
[] = {
3025 static xtensa_iclass_internal srai_iclass
= {
3027 &srai_operand_list
[0]
3030 static xtensa_operand_internal
*entry_operand_list
[] = {
3035 static xtensa_iclass_internal entry_iclass
= {
3037 &entry_operand_list
[0]
3040 static xtensa_operand_internal
*l32e_operand_list
[] = {
3046 static xtensa_iclass_internal l32e_iclass
= {
3048 &l32e_operand_list
[0]
3051 static xtensa_operand_internal
*dpf_operand_list
[] = {
3056 static xtensa_iclass_internal dpf_iclass
= {
3058 &dpf_operand_list
[0]
3061 static xtensa_operand_internal
*l32i_operand_list
[] = {
3067 static xtensa_iclass_internal l32i_iclass
= {
3069 &l32i_operand_list
[0]
3072 static xtensa_insnbuf
abs_template (void);
3073 static xtensa_insnbuf
add_template (void);
3074 static xtensa_insnbuf
add_n_template (void);
3075 static xtensa_insnbuf
addi_template (void);
3076 static xtensa_insnbuf
addi_n_template (void);
3077 static xtensa_insnbuf
addmi_template (void);
3078 static xtensa_insnbuf
addx2_template (void);
3079 static xtensa_insnbuf
addx4_template (void);
3080 static xtensa_insnbuf
addx8_template (void);
3081 static xtensa_insnbuf
and_template (void);
3082 static xtensa_insnbuf
ball_template (void);
3083 static xtensa_insnbuf
bany_template (void);
3084 static xtensa_insnbuf
bbc_template (void);
3085 static xtensa_insnbuf
bbci_template (void);
3086 static xtensa_insnbuf
bbs_template (void);
3087 static xtensa_insnbuf
bbsi_template (void);
3088 static xtensa_insnbuf
beq_template (void);
3089 static xtensa_insnbuf
beqi_template (void);
3090 static xtensa_insnbuf
beqz_template (void);
3091 static xtensa_insnbuf
beqz_n_template (void);
3092 static xtensa_insnbuf
bge_template (void);
3093 static xtensa_insnbuf
bgei_template (void);
3094 static xtensa_insnbuf
bgeu_template (void);
3095 static xtensa_insnbuf
bgeui_template (void);
3096 static xtensa_insnbuf
bgez_template (void);
3097 static xtensa_insnbuf
blt_template (void);
3098 static xtensa_insnbuf
blti_template (void);
3099 static xtensa_insnbuf
bltu_template (void);
3100 static xtensa_insnbuf
bltui_template (void);
3101 static xtensa_insnbuf
bltz_template (void);
3102 static xtensa_insnbuf
bnall_template (void);
3103 static xtensa_insnbuf
bne_template (void);
3104 static xtensa_insnbuf
bnei_template (void);
3105 static xtensa_insnbuf
bnez_template (void);
3106 static xtensa_insnbuf
bnez_n_template (void);
3107 static xtensa_insnbuf
bnone_template (void);
3108 static xtensa_insnbuf
break_template (void);
3109 static xtensa_insnbuf
break_n_template (void);
3110 static xtensa_insnbuf
call0_template (void);
3111 static xtensa_insnbuf
call12_template (void);
3112 static xtensa_insnbuf
call4_template (void);
3113 static xtensa_insnbuf
call8_template (void);
3114 static xtensa_insnbuf
callx0_template (void);
3115 static xtensa_insnbuf
callx12_template (void);
3116 static xtensa_insnbuf
callx4_template (void);
3117 static xtensa_insnbuf
callx8_template (void);
3118 static xtensa_insnbuf
dhi_template (void);
3119 static xtensa_insnbuf
dhwb_template (void);
3120 static xtensa_insnbuf
dhwbi_template (void);
3121 static xtensa_insnbuf
dii_template (void);
3122 static xtensa_insnbuf
diwb_template (void);
3123 static xtensa_insnbuf
diwbi_template (void);
3124 static xtensa_insnbuf
dpfr_template (void);
3125 static xtensa_insnbuf
dpfro_template (void);
3126 static xtensa_insnbuf
dpfw_template (void);
3127 static xtensa_insnbuf
dpfwo_template (void);
3128 static xtensa_insnbuf
dsync_template (void);
3129 static xtensa_insnbuf
entry_template (void);
3130 static xtensa_insnbuf
esync_template (void);
3131 static xtensa_insnbuf
excw_template (void);
3132 static xtensa_insnbuf
extui_template (void);
3133 static xtensa_insnbuf
idtlb_template (void);
3134 static xtensa_insnbuf
idtlba_template (void);
3135 static xtensa_insnbuf
ihi_template (void);
3136 static xtensa_insnbuf
iii_template (void);
3137 static xtensa_insnbuf
iitlb_template (void);
3138 static xtensa_insnbuf
iitlba_template (void);
3139 static xtensa_insnbuf
ipf_template (void);
3140 static xtensa_insnbuf
isync_template (void);
3141 static xtensa_insnbuf
j_template (void);
3142 static xtensa_insnbuf
jx_template (void);
3143 static xtensa_insnbuf
l16si_template (void);
3144 static xtensa_insnbuf
l16ui_template (void);
3145 static xtensa_insnbuf
l32e_template (void);
3146 static xtensa_insnbuf
l32i_template (void);
3147 static xtensa_insnbuf
l32i_n_template (void);
3148 static xtensa_insnbuf
l32r_template (void);
3149 static xtensa_insnbuf
l8ui_template (void);
3150 static xtensa_insnbuf
ldct_template (void);
3151 static xtensa_insnbuf
lict_template (void);
3152 static xtensa_insnbuf
licw_template (void);
3153 static xtensa_insnbuf
loop_template (void);
3154 static xtensa_insnbuf
loopgtz_template (void);
3155 static xtensa_insnbuf
loopnez_template (void);
3156 static xtensa_insnbuf
memw_template (void);
3157 static xtensa_insnbuf
mov_n_template (void);
3158 static xtensa_insnbuf
moveqz_template (void);
3159 static xtensa_insnbuf
movgez_template (void);
3160 static xtensa_insnbuf
movi_template (void);
3161 static xtensa_insnbuf
movi_n_template (void);
3162 static xtensa_insnbuf
movltz_template (void);
3163 static xtensa_insnbuf
movnez_template (void);
3164 static xtensa_insnbuf
movsp_template (void);
3165 static xtensa_insnbuf
neg_template (void);
3166 static xtensa_insnbuf
nop_n_template (void);
3167 static xtensa_insnbuf
nsa_template (void);
3168 static xtensa_insnbuf
nsau_template (void);
3169 static xtensa_insnbuf
or_template (void);
3170 static xtensa_insnbuf
pdtlb_template (void);
3171 static xtensa_insnbuf
pitlb_template (void);
3172 static xtensa_insnbuf
rdtlb0_template (void);
3173 static xtensa_insnbuf
rdtlb1_template (void);
3174 static xtensa_insnbuf
ret_template (void);
3175 static xtensa_insnbuf
ret_n_template (void);
3176 static xtensa_insnbuf
retw_template (void);
3177 static xtensa_insnbuf
retw_n_template (void);
3178 static xtensa_insnbuf
rfde_template (void);
3179 static xtensa_insnbuf
rfe_template (void);
3180 static xtensa_insnbuf
rfi_template (void);
3181 static xtensa_insnbuf
rfwo_template (void);
3182 static xtensa_insnbuf
rfwu_template (void);
3183 static xtensa_insnbuf
ritlb0_template (void);
3184 static xtensa_insnbuf
ritlb1_template (void);
3185 static xtensa_insnbuf
rotw_template (void);
3186 static xtensa_insnbuf
rsil_template (void);
3187 static xtensa_insnbuf
rsr_template (void);
3188 static xtensa_insnbuf
rsync_template (void);
3189 static xtensa_insnbuf
s16i_template (void);
3190 static xtensa_insnbuf
s32e_template (void);
3191 static xtensa_insnbuf
s32i_template (void);
3192 static xtensa_insnbuf
s32i_n_template (void);
3193 static xtensa_insnbuf
s8i_template (void);
3194 static xtensa_insnbuf
sdct_template (void);
3195 static xtensa_insnbuf
sict_template (void);
3196 static xtensa_insnbuf
sicw_template (void);
3197 static xtensa_insnbuf
simcall_template (void);
3198 static xtensa_insnbuf
sll_template (void);
3199 static xtensa_insnbuf
slli_template (void);
3200 static xtensa_insnbuf
sra_template (void);
3201 static xtensa_insnbuf
srai_template (void);
3202 static xtensa_insnbuf
src_template (void);
3203 static xtensa_insnbuf
srl_template (void);
3204 static xtensa_insnbuf
srli_template (void);
3205 static xtensa_insnbuf
ssa8b_template (void);
3206 static xtensa_insnbuf
ssa8l_template (void);
3207 static xtensa_insnbuf
ssai_template (void);
3208 static xtensa_insnbuf
ssl_template (void);
3209 static xtensa_insnbuf
ssr_template (void);
3210 static xtensa_insnbuf
sub_template (void);
3211 static xtensa_insnbuf
subx2_template (void);
3212 static xtensa_insnbuf
subx4_template (void);
3213 static xtensa_insnbuf
subx8_template (void);
3214 static xtensa_insnbuf
syscall_template (void);
3215 static xtensa_insnbuf
waiti_template (void);
3216 static xtensa_insnbuf
wdtlb_template (void);
3217 static xtensa_insnbuf
witlb_template (void);
3218 static xtensa_insnbuf
wsr_template (void);
3219 static xtensa_insnbuf
xor_template (void);
3220 static xtensa_insnbuf
xsr_template (void);
3222 static xtensa_insnbuf
3225 static xtensa_insnbuf_word
template[] = { 0x00001006 };
3226 return &template[0];
3229 static xtensa_insnbuf
3232 static xtensa_insnbuf_word
template[] = { 0x00000008 };
3233 return &template[0];
3236 static xtensa_insnbuf
3237 add_n_template (void)
3239 static xtensa_insnbuf_word
template[] = { 0x00a00000 };
3240 return &template[0];
3243 static xtensa_insnbuf
3244 addi_template (void)
3246 static xtensa_insnbuf_word
template[] = { 0x00200c00 };
3247 return &template[0];
3250 static xtensa_insnbuf
3251 addi_n_template (void)
3253 static xtensa_insnbuf_word
template[] = { 0x00b00000 };
3254 return &template[0];
3257 static xtensa_insnbuf
3258 addmi_template (void)
3260 static xtensa_insnbuf_word
template[] = { 0x00200d00 };
3261 return &template[0];
3264 static xtensa_insnbuf
3265 addx2_template (void)
3267 static xtensa_insnbuf_word
template[] = { 0x00000009 };
3268 return &template[0];
3271 static xtensa_insnbuf
3272 addx4_template (void)
3274 static xtensa_insnbuf_word
template[] = { 0x0000000a };
3275 return &template[0];
3278 static xtensa_insnbuf
3279 addx8_template (void)
3281 static xtensa_insnbuf_word
template[] = { 0x0000000b };
3282 return &template[0];
3285 static xtensa_insnbuf
3288 static xtensa_insnbuf_word
template[] = { 0x00000001 };
3289 return &template[0];
3292 static xtensa_insnbuf
3293 ball_template (void)
3295 static xtensa_insnbuf_word
template[] = { 0x00700400 };
3296 return &template[0];
3299 static xtensa_insnbuf
3300 bany_template (void)
3302 static xtensa_insnbuf_word
template[] = { 0x00700800 };
3303 return &template[0];
3306 static xtensa_insnbuf
3309 static xtensa_insnbuf_word
template[] = { 0x00700500 };
3310 return &template[0];
3313 static xtensa_insnbuf
3314 bbci_template (void)
3316 static xtensa_insnbuf_word
template[] = { 0x00700600 };
3317 return &template[0];
3320 static xtensa_insnbuf
3323 static xtensa_insnbuf_word
template[] = { 0x00700d00 };
3324 return &template[0];
3327 static xtensa_insnbuf
3328 bbsi_template (void)
3330 static xtensa_insnbuf_word
template[] = { 0x00700e00 };
3331 return &template[0];
3334 static xtensa_insnbuf
3337 static xtensa_insnbuf_word
template[] = { 0x00700100 };
3338 return &template[0];
3341 static xtensa_insnbuf
3342 beqi_template (void)
3344 static xtensa_insnbuf_word
template[] = { 0x00680000 };
3345 return &template[0];
3348 static xtensa_insnbuf
3349 beqz_template (void)
3351 static xtensa_insnbuf_word
template[] = { 0x00640000 };
3352 return &template[0];
3355 static xtensa_insnbuf
3356 beqz_n_template (void)
3358 static xtensa_insnbuf_word
template[] = { 0x00c80000 };
3359 return &template[0];
3362 static xtensa_insnbuf
3365 static xtensa_insnbuf_word
template[] = { 0x00700a00 };
3366 return &template[0];
3369 static xtensa_insnbuf
3370 bgei_template (void)
3372 static xtensa_insnbuf_word
template[] = { 0x006b0000 };
3373 return &template[0];
3376 static xtensa_insnbuf
3377 bgeu_template (void)
3379 static xtensa_insnbuf_word
template[] = { 0x00700b00 };
3380 return &template[0];
3383 static xtensa_insnbuf
3384 bgeui_template (void)
3386 static xtensa_insnbuf_word
template[] = { 0x006f0000 };
3387 return &template[0];
3390 static xtensa_insnbuf
3391 bgez_template (void)
3393 static xtensa_insnbuf_word
template[] = { 0x00670000 };
3394 return &template[0];
3397 static xtensa_insnbuf
3400 static xtensa_insnbuf_word
template[] = { 0x00700200 };
3401 return &template[0];
3404 static xtensa_insnbuf
3405 blti_template (void)
3407 static xtensa_insnbuf_word
template[] = { 0x006a0000 };
3408 return &template[0];
3411 static xtensa_insnbuf
3412 bltu_template (void)
3414 static xtensa_insnbuf_word
template[] = { 0x00700300 };
3415 return &template[0];
3418 static xtensa_insnbuf
3419 bltui_template (void)
3421 static xtensa_insnbuf_word
template[] = { 0x006e0000 };
3422 return &template[0];
3425 static xtensa_insnbuf
3426 bltz_template (void)
3428 static xtensa_insnbuf_word
template[] = { 0x00660000 };
3429 return &template[0];
3432 static xtensa_insnbuf
3433 bnall_template (void)
3435 static xtensa_insnbuf_word
template[] = { 0x00700c00 };
3436 return &template[0];
3439 static xtensa_insnbuf
3442 static xtensa_insnbuf_word
template[] = { 0x00700900 };
3443 return &template[0];
3446 static xtensa_insnbuf
3447 bnei_template (void)
3449 static xtensa_insnbuf_word
template[] = { 0x00690000 };
3450 return &template[0];
3453 static xtensa_insnbuf
3454 bnez_template (void)
3456 static xtensa_insnbuf_word
template[] = { 0x00650000 };
3457 return &template[0];
3460 static xtensa_insnbuf
3461 bnez_n_template (void)
3463 static xtensa_insnbuf_word
template[] = { 0x00cc0000 };
3464 return &template[0];
3467 static xtensa_insnbuf
3468 bnone_template (void)
3470 static xtensa_insnbuf_word
template[] = { 0x00700000 };
3471 return &template[0];
3474 static xtensa_insnbuf
3475 break_template (void)
3477 static xtensa_insnbuf_word
template[] = { 0x00000400 };
3478 return &template[0];
3481 static xtensa_insnbuf
3482 break_n_template (void)
3484 static xtensa_insnbuf_word
template[] = { 0x00d20f00 };
3485 return &template[0];
3488 static xtensa_insnbuf
3489 call0_template (void)
3491 static xtensa_insnbuf_word
template[] = { 0x00500000 };
3492 return &template[0];
3495 static xtensa_insnbuf
3496 call12_template (void)
3498 static xtensa_insnbuf_word
template[] = { 0x005c0000 };
3499 return &template[0];
3502 static xtensa_insnbuf
3503 call4_template (void)
3505 static xtensa_insnbuf_word
template[] = { 0x00540000 };
3506 return &template[0];
3509 static xtensa_insnbuf
3510 call8_template (void)
3512 static xtensa_insnbuf_word
template[] = { 0x00580000 };
3513 return &template[0];
3516 static xtensa_insnbuf
3517 callx0_template (void)
3519 static xtensa_insnbuf_word
template[] = { 0x00030000 };
3520 return &template[0];
3523 static xtensa_insnbuf
3524 callx12_template (void)
3526 static xtensa_insnbuf_word
template[] = { 0x000f0000 };
3527 return &template[0];
3530 static xtensa_insnbuf
3531 callx4_template (void)
3533 static xtensa_insnbuf_word
template[] = { 0x00070000 };
3534 return &template[0];
3537 static xtensa_insnbuf
3538 callx8_template (void)
3540 static xtensa_insnbuf_word
template[] = { 0x000b0000 };
3541 return &template[0];
3544 static xtensa_insnbuf
3547 static xtensa_insnbuf_word
template[] = { 0x00260700 };
3548 return &template[0];
3551 static xtensa_insnbuf
3552 dhwb_template (void)
3554 static xtensa_insnbuf_word
template[] = { 0x00240700 };
3555 return &template[0];
3558 static xtensa_insnbuf
3559 dhwbi_template (void)
3561 static xtensa_insnbuf_word
template[] = { 0x00250700 };
3562 return &template[0];
3565 static xtensa_insnbuf
3568 static xtensa_insnbuf_word
template[] = { 0x00270700 };
3569 return &template[0];
3572 static xtensa_insnbuf
3573 diwb_template (void)
3575 static xtensa_insnbuf_word
template[] = { 0x00280740 };
3576 return &template[0];
3579 static xtensa_insnbuf
3580 diwbi_template (void)
3582 static xtensa_insnbuf_word
template[] = { 0x00280750 };
3583 return &template[0];
3586 static xtensa_insnbuf
3587 dpfr_template (void)
3589 static xtensa_insnbuf_word
template[] = { 0x00200700 };
3590 return &template[0];
3593 static xtensa_insnbuf
3594 dpfro_template (void)
3596 static xtensa_insnbuf_word
template[] = { 0x00220700 };
3597 return &template[0];
3600 static xtensa_insnbuf
3601 dpfw_template (void)
3603 static xtensa_insnbuf_word
template[] = { 0x00210700 };
3604 return &template[0];
3607 static xtensa_insnbuf
3608 dpfwo_template (void)
3610 static xtensa_insnbuf_word
template[] = { 0x00230700 };
3611 return &template[0];
3614 static xtensa_insnbuf
3615 dsync_template (void)
3617 static xtensa_insnbuf_word
template[] = { 0x00030200 };
3618 return &template[0];
3621 static xtensa_insnbuf
3622 entry_template (void)
3624 static xtensa_insnbuf_word
template[] = { 0x006c0000 };
3625 return &template[0];
3628 static xtensa_insnbuf
3629 esync_template (void)
3631 static xtensa_insnbuf_word
template[] = { 0x00020200 };
3632 return &template[0];
3635 static xtensa_insnbuf
3636 excw_template (void)
3638 static xtensa_insnbuf_word
template[] = { 0x00080200 };
3639 return &template[0];
3642 static xtensa_insnbuf
3643 extui_template (void)
3645 static xtensa_insnbuf_word
template[] = { 0x00000040 };
3646 return &template[0];
3649 static xtensa_insnbuf
3650 idtlb_template (void)
3652 static xtensa_insnbuf_word
template[] = { 0x00000c05 };
3653 return &template[0];
3656 static xtensa_insnbuf
3657 idtlba_template (void)
3659 static xtensa_insnbuf_word
template[] = { 0x00000805 };
3660 return &template[0];
3663 static xtensa_insnbuf
3666 static xtensa_insnbuf_word
template[] = { 0x002e0700 };
3667 return &template[0];
3670 static xtensa_insnbuf
3673 static xtensa_insnbuf_word
template[] = { 0x002f0700 };
3674 return &template[0];
3677 static xtensa_insnbuf
3678 iitlb_template (void)
3680 static xtensa_insnbuf_word
template[] = { 0x00000405 };
3681 return &template[0];
3684 static xtensa_insnbuf
3685 iitlba_template (void)
3687 static xtensa_insnbuf_word
template[] = { 0x00000005 };
3688 return &template[0];
3691 static xtensa_insnbuf
3694 static xtensa_insnbuf_word
template[] = { 0x002c0700 };
3695 return &template[0];
3698 static xtensa_insnbuf
3699 isync_template (void)
3701 static xtensa_insnbuf_word
template[] = { 0x00000200 };
3702 return &template[0];
3705 static xtensa_insnbuf
3708 static xtensa_insnbuf_word
template[] = { 0x00600000 };
3709 return &template[0];
3712 static xtensa_insnbuf
3715 static xtensa_insnbuf_word
template[] = { 0x000a0000 };
3716 return &template[0];
3719 static xtensa_insnbuf
3720 l16si_template (void)
3722 static xtensa_insnbuf_word
template[] = { 0x00200900 };
3723 return &template[0];
3726 static xtensa_insnbuf
3727 l16ui_template (void)
3729 static xtensa_insnbuf_word
template[] = { 0x00200100 };
3730 return &template[0];
3733 static xtensa_insnbuf
3734 l32e_template (void)
3736 static xtensa_insnbuf_word
template[] = { 0x00000090 };
3737 return &template[0];
3740 static xtensa_insnbuf
3741 l32i_template (void)
3743 static xtensa_insnbuf_word
template[] = { 0x00200200 };
3744 return &template[0];
3747 static xtensa_insnbuf
3748 l32i_n_template (void)
3750 static xtensa_insnbuf_word
template[] = { 0x00800000 };
3751 return &template[0];
3754 static xtensa_insnbuf
3755 l32r_template (void)
3757 static xtensa_insnbuf_word
template[] = { 0x00100000 };
3758 return &template[0];
3761 static xtensa_insnbuf
3762 l8ui_template (void)
3764 static xtensa_insnbuf_word
template[] = { 0x00200000 };
3765 return &template[0];
3768 static xtensa_insnbuf
3769 ldct_template (void)
3771 static xtensa_insnbuf_word
template[] = { 0x0000081f };
3772 return &template[0];
3775 static xtensa_insnbuf
3776 lict_template (void)
3778 static xtensa_insnbuf_word
template[] = { 0x0000001f };
3779 return &template[0];
3782 static xtensa_insnbuf
3783 licw_template (void)
3785 static xtensa_insnbuf_word
template[] = { 0x0000021f };
3786 return &template[0];
3789 static xtensa_insnbuf
3790 loop_template (void)
3792 static xtensa_insnbuf_word
template[] = { 0x006d0800 };
3793 return &template[0];
3796 static xtensa_insnbuf
3797 loopgtz_template (void)
3799 static xtensa_insnbuf_word
template[] = { 0x006d0a00 };
3800 return &template[0];
3803 static xtensa_insnbuf
3804 loopnez_template (void)
3806 static xtensa_insnbuf_word
template[] = { 0x006d0900 };
3807 return &template[0];
3810 static xtensa_insnbuf
3811 memw_template (void)
3813 static xtensa_insnbuf_word
template[] = { 0x000c0200 };
3814 return &template[0];
3817 static xtensa_insnbuf
3818 mov_n_template (void)
3820 static xtensa_insnbuf_word
template[] = { 0x00d00000 };
3821 return &template[0];
3824 static xtensa_insnbuf
3825 moveqz_template (void)
3827 static xtensa_insnbuf_word
template[] = { 0x00000038 };
3828 return &template[0];
3831 static xtensa_insnbuf
3832 movgez_template (void)
3834 static xtensa_insnbuf_word
template[] = { 0x0000003b };
3835 return &template[0];
3838 static xtensa_insnbuf
3839 movi_template (void)
3841 static xtensa_insnbuf_word
template[] = { 0x00200a00 };
3842 return &template[0];
3845 static xtensa_insnbuf
3846 movi_n_template (void)
3848 static xtensa_insnbuf_word
template[] = { 0x00c00000 };
3849 return &template[0];
3852 static xtensa_insnbuf
3853 movltz_template (void)
3855 static xtensa_insnbuf_word
template[] = { 0x0000003a };
3856 return &template[0];
3859 static xtensa_insnbuf
3860 movnez_template (void)
3862 static xtensa_insnbuf_word
template[] = { 0x00000039 };
3863 return &template[0];
3866 static xtensa_insnbuf
3867 movsp_template (void)
3869 static xtensa_insnbuf_word
template[] = { 0x00000100 };
3870 return &template[0];
3873 static xtensa_insnbuf
3876 static xtensa_insnbuf_word
template[] = { 0x00000006 };
3877 return &template[0];
3880 static xtensa_insnbuf
3881 nop_n_template (void)
3883 static xtensa_insnbuf_word
template[] = { 0x00d30f00 };
3884 return &template[0];
3887 static xtensa_insnbuf
3890 static xtensa_insnbuf_word
template[] = { 0x00000e04 };
3891 return &template[0];
3894 static xtensa_insnbuf
3895 nsau_template (void)
3897 static xtensa_insnbuf_word
template[] = { 0x00000f04 };
3898 return &template[0];
3901 static xtensa_insnbuf
3904 static xtensa_insnbuf_word
template[] = { 0x00000002 };
3905 return &template[0];
3908 static xtensa_insnbuf
3909 pdtlb_template (void)
3911 static xtensa_insnbuf_word
template[] = { 0x00000d05 };
3912 return &template[0];
3915 static xtensa_insnbuf
3916 pitlb_template (void)
3918 static xtensa_insnbuf_word
template[] = { 0x00000505 };
3919 return &template[0];
3922 static xtensa_insnbuf
3923 rdtlb0_template (void)
3925 static xtensa_insnbuf_word
template[] = { 0x00000b05 };
3926 return &template[0];
3929 static xtensa_insnbuf
3930 rdtlb1_template (void)
3932 static xtensa_insnbuf_word
template[] = { 0x00000f05 };
3933 return &template[0];
3936 static xtensa_insnbuf
3939 static xtensa_insnbuf_word
template[] = { 0x00020000 };
3940 return &template[0];
3943 static xtensa_insnbuf
3944 ret_n_template (void)
3946 static xtensa_insnbuf_word
template[] = { 0x00d00f00 };
3947 return &template[0];
3950 static xtensa_insnbuf
3951 retw_template (void)
3953 static xtensa_insnbuf_word
template[] = { 0x00060000 };
3954 return &template[0];
3957 static xtensa_insnbuf
3958 retw_n_template (void)
3960 static xtensa_insnbuf_word
template[] = { 0x00d10f00 };
3961 return &template[0];
3964 static xtensa_insnbuf
3965 rfde_template (void)
3967 static xtensa_insnbuf_word
template[] = { 0x00002300 };
3968 return &template[0];
3971 static xtensa_insnbuf
3974 static xtensa_insnbuf_word
template[] = { 0x00000300 };
3975 return &template[0];
3978 static xtensa_insnbuf
3981 static xtensa_insnbuf_word
template[] = { 0x00010300 };
3982 return &template[0];
3985 static xtensa_insnbuf
3986 rfwo_template (void)
3988 static xtensa_insnbuf_word
template[] = { 0x00004300 };
3989 return &template[0];
3992 static xtensa_insnbuf
3993 rfwu_template (void)
3995 static xtensa_insnbuf_word
template[] = { 0x00005300 };
3996 return &template[0];
3999 static xtensa_insnbuf
4000 ritlb0_template (void)
4002 static xtensa_insnbuf_word
template[] = { 0x00000305 };
4003 return &template[0];
4006 static xtensa_insnbuf
4007 ritlb1_template (void)
4009 static xtensa_insnbuf_word
template[] = { 0x00000705 };
4010 return &template[0];
4013 static xtensa_insnbuf
4014 rotw_template (void)
4016 static xtensa_insnbuf_word
template[] = { 0x00000804 };
4017 return &template[0];
4020 static xtensa_insnbuf
4021 rsil_template (void)
4023 static xtensa_insnbuf_word
template[] = { 0x00000600 };
4024 return &template[0];
4027 static xtensa_insnbuf
4030 static xtensa_insnbuf_word
template[] = { 0x00000030 };
4031 return &template[0];
4034 static xtensa_insnbuf
4035 rsync_template (void)
4037 static xtensa_insnbuf_word
template[] = { 0x00010200 };
4038 return &template[0];
4041 static xtensa_insnbuf
4042 s16i_template (void)
4044 static xtensa_insnbuf_word
template[] = { 0x00200500 };
4045 return &template[0];
4048 static xtensa_insnbuf
4049 s32e_template (void)
4051 static xtensa_insnbuf_word
template[] = { 0x00000094 };
4052 return &template[0];
4055 static xtensa_insnbuf
4056 s32i_template (void)
4058 static xtensa_insnbuf_word
template[] = { 0x00200600 };
4059 return &template[0];
4062 static xtensa_insnbuf
4063 s32i_n_template (void)
4065 static xtensa_insnbuf_word
template[] = { 0x00900000 };
4066 return &template[0];
4069 static xtensa_insnbuf
4072 static xtensa_insnbuf_word
template[] = { 0x00200400 };
4073 return &template[0];
4076 static xtensa_insnbuf
4077 sdct_template (void)
4079 static xtensa_insnbuf_word
template[] = { 0x0000091f };
4080 return &template[0];
4083 static xtensa_insnbuf
4084 sict_template (void)
4086 static xtensa_insnbuf_word
template[] = { 0x0000011f };
4087 return &template[0];
4090 static xtensa_insnbuf
4091 sicw_template (void)
4093 static xtensa_insnbuf_word
template[] = { 0x0000031f };
4094 return &template[0];
4097 static xtensa_insnbuf
4098 simcall_template (void)
4100 static xtensa_insnbuf_word
template[] = { 0x00001500 };
4101 return &template[0];
4104 static xtensa_insnbuf
4107 static xtensa_insnbuf_word
template[] = { 0x0000001a };
4108 return &template[0];
4111 static xtensa_insnbuf
4112 slli_template (void)
4114 static xtensa_insnbuf_word
template[] = { 0x00000010 };
4115 return &template[0];
4118 static xtensa_insnbuf
4121 static xtensa_insnbuf_word
template[] = { 0x0000001b };
4122 return &template[0];
4125 static xtensa_insnbuf
4126 srai_template (void)
4128 static xtensa_insnbuf_word
template[] = { 0x00000012 };
4129 return &template[0];
4132 static xtensa_insnbuf
4135 static xtensa_insnbuf_word
template[] = { 0x00000018 };
4136 return &template[0];
4139 static xtensa_insnbuf
4142 static xtensa_insnbuf_word
template[] = { 0x00000019 };
4143 return &template[0];
4146 static xtensa_insnbuf
4147 srli_template (void)
4149 static xtensa_insnbuf_word
template[] = { 0x00000014 };
4150 return &template[0];
4153 static xtensa_insnbuf
4154 ssa8b_template (void)
4156 static xtensa_insnbuf_word
template[] = { 0x00000304 };
4157 return &template[0];
4160 static xtensa_insnbuf
4161 ssa8l_template (void)
4163 static xtensa_insnbuf_word
template[] = { 0x00000204 };
4164 return &template[0];
4167 static xtensa_insnbuf
4168 ssai_template (void)
4170 static xtensa_insnbuf_word
template[] = { 0x00000404 };
4171 return &template[0];
4174 static xtensa_insnbuf
4177 static xtensa_insnbuf_word
template[] = { 0x00000104 };
4178 return &template[0];
4181 static xtensa_insnbuf
4184 static xtensa_insnbuf_word
template[] = { 0x00000004 };
4185 return &template[0];
4188 static xtensa_insnbuf
4191 static xtensa_insnbuf_word
template[] = { 0x0000000c };
4192 return &template[0];
4195 static xtensa_insnbuf
4196 subx2_template (void)
4198 static xtensa_insnbuf_word
template[] = { 0x0000000d };
4199 return &template[0];
4202 static xtensa_insnbuf
4203 subx4_template (void)
4205 static xtensa_insnbuf_word
template[] = { 0x0000000e };
4206 return &template[0];
4209 static xtensa_insnbuf
4210 subx8_template (void)
4212 static xtensa_insnbuf_word
template[] = { 0x0000000f };
4213 return &template[0];
4216 static xtensa_insnbuf
4217 syscall_template (void)
4219 static xtensa_insnbuf_word
template[] = { 0x00000500 };
4220 return &template[0];
4223 static xtensa_insnbuf
4224 waiti_template (void)
4226 static xtensa_insnbuf_word
template[] = { 0x00000700 };
4227 return &template[0];
4230 static xtensa_insnbuf
4231 wdtlb_template (void)
4233 static xtensa_insnbuf_word
template[] = { 0x00000e05 };
4234 return &template[0];
4237 static xtensa_insnbuf
4238 witlb_template (void)
4240 static xtensa_insnbuf_word
template[] = { 0x00000605 };
4241 return &template[0];
4244 static xtensa_insnbuf
4247 static xtensa_insnbuf_word
template[] = { 0x00000031 };
4248 return &template[0];
4251 static xtensa_insnbuf
4254 static xtensa_insnbuf_word
template[] = { 0x00000003 };
4255 return &template[0];
4258 static xtensa_insnbuf
4261 static xtensa_insnbuf_word
template[] = { 0x00000016 };
4262 return &template[0];
4265 static xtensa_opcode_internal abs_opcode
= {
4272 static xtensa_opcode_internal add_opcode
= {
4279 static xtensa_opcode_internal add_n_opcode
= {
4286 static xtensa_opcode_internal addi_opcode
= {
4293 static xtensa_opcode_internal addi_n_opcode
= {
4300 static xtensa_opcode_internal addmi_opcode
= {
4307 static xtensa_opcode_internal addx2_opcode
= {
4314 static xtensa_opcode_internal addx4_opcode
= {
4321 static xtensa_opcode_internal addx8_opcode
= {
4328 static xtensa_opcode_internal and_opcode
= {
4335 static xtensa_opcode_internal ball_opcode
= {
4342 static xtensa_opcode_internal bany_opcode
= {
4349 static xtensa_opcode_internal bbc_opcode
= {
4356 static xtensa_opcode_internal bbci_opcode
= {
4363 static xtensa_opcode_internal bbs_opcode
= {
4370 static xtensa_opcode_internal bbsi_opcode
= {
4377 static xtensa_opcode_internal beq_opcode
= {
4384 static xtensa_opcode_internal beqi_opcode
= {
4391 static xtensa_opcode_internal beqz_opcode
= {
4398 static xtensa_opcode_internal beqz_n_opcode
= {
4405 static xtensa_opcode_internal bge_opcode
= {
4412 static xtensa_opcode_internal bgei_opcode
= {
4419 static xtensa_opcode_internal bgeu_opcode
= {
4426 static xtensa_opcode_internal bgeui_opcode
= {
4433 static xtensa_opcode_internal bgez_opcode
= {
4440 static xtensa_opcode_internal blt_opcode
= {
4447 static xtensa_opcode_internal blti_opcode
= {
4454 static xtensa_opcode_internal bltu_opcode
= {
4461 static xtensa_opcode_internal bltui_opcode
= {
4468 static xtensa_opcode_internal bltz_opcode
= {
4475 static xtensa_opcode_internal bnall_opcode
= {
4482 static xtensa_opcode_internal bne_opcode
= {
4489 static xtensa_opcode_internal bnei_opcode
= {
4496 static xtensa_opcode_internal bnez_opcode
= {
4503 static xtensa_opcode_internal bnez_n_opcode
= {
4510 static xtensa_opcode_internal bnone_opcode
= {
4517 static xtensa_opcode_internal break_opcode
= {
4524 static xtensa_opcode_internal break_n_opcode
= {
4531 static xtensa_opcode_internal call0_opcode
= {
4538 static xtensa_opcode_internal call12_opcode
= {
4545 static xtensa_opcode_internal call4_opcode
= {
4552 static xtensa_opcode_internal call8_opcode
= {
4559 static xtensa_opcode_internal callx0_opcode
= {
4566 static xtensa_opcode_internal callx12_opcode
= {
4573 static xtensa_opcode_internal callx4_opcode
= {
4580 static xtensa_opcode_internal callx8_opcode
= {
4587 static xtensa_opcode_internal dhi_opcode
= {
4594 static xtensa_opcode_internal dhwb_opcode
= {
4601 static xtensa_opcode_internal dhwbi_opcode
= {
4608 static xtensa_opcode_internal dii_opcode
= {
4615 static xtensa_opcode_internal diwb_opcode
= {
4622 static xtensa_opcode_internal diwbi_opcode
= {
4629 static xtensa_opcode_internal dpfr_opcode
= {
4636 static xtensa_opcode_internal dpfro_opcode
= {
4643 static xtensa_opcode_internal dpfw_opcode
= {
4650 static xtensa_opcode_internal dpfwo_opcode
= {
4657 static xtensa_opcode_internal dsync_opcode
= {
4664 static xtensa_opcode_internal entry_opcode
= {
4671 static xtensa_opcode_internal esync_opcode
= {
4678 static xtensa_opcode_internal excw_opcode
= {
4685 static xtensa_opcode_internal extui_opcode
= {
4692 static xtensa_opcode_internal idtlb_opcode
= {
4699 static xtensa_opcode_internal idtlba_opcode
= {
4706 static xtensa_opcode_internal ihi_opcode
= {
4713 static xtensa_opcode_internal iii_opcode
= {
4720 static xtensa_opcode_internal iitlb_opcode
= {
4727 static xtensa_opcode_internal iitlba_opcode
= {
4734 static xtensa_opcode_internal ipf_opcode
= {
4741 static xtensa_opcode_internal isync_opcode
= {
4748 static xtensa_opcode_internal j_opcode
= {
4755 static xtensa_opcode_internal jx_opcode
= {
4762 static xtensa_opcode_internal l16si_opcode
= {
4769 static xtensa_opcode_internal l16ui_opcode
= {
4776 static xtensa_opcode_internal l32e_opcode
= {
4783 static xtensa_opcode_internal l32i_opcode
= {
4790 static xtensa_opcode_internal l32i_n_opcode
= {
4797 static xtensa_opcode_internal l32r_opcode
= {
4804 static xtensa_opcode_internal l8ui_opcode
= {
4811 static xtensa_opcode_internal ldct_opcode
= {
4818 static xtensa_opcode_internal lict_opcode
= {
4825 static xtensa_opcode_internal licw_opcode
= {
4832 static xtensa_opcode_internal loop_opcode
= {
4839 static xtensa_opcode_internal loopgtz_opcode
= {
4846 static xtensa_opcode_internal loopnez_opcode
= {
4853 static xtensa_opcode_internal memw_opcode
= {
4860 static xtensa_opcode_internal mov_n_opcode
= {
4867 static xtensa_opcode_internal moveqz_opcode
= {
4874 static xtensa_opcode_internal movgez_opcode
= {
4881 static xtensa_opcode_internal movi_opcode
= {
4888 static xtensa_opcode_internal movi_n_opcode
= {
4895 static xtensa_opcode_internal movltz_opcode
= {
4902 static xtensa_opcode_internal movnez_opcode
= {
4909 static xtensa_opcode_internal movsp_opcode
= {
4916 static xtensa_opcode_internal neg_opcode
= {
4923 static xtensa_opcode_internal nop_n_opcode
= {
4930 static xtensa_opcode_internal nsa_opcode
= {
4937 static xtensa_opcode_internal nsau_opcode
= {
4944 static xtensa_opcode_internal or_opcode
= {
4951 static xtensa_opcode_internal pdtlb_opcode
= {
4958 static xtensa_opcode_internal pitlb_opcode
= {
4965 static xtensa_opcode_internal rdtlb0_opcode
= {
4972 static xtensa_opcode_internal rdtlb1_opcode
= {
4979 static xtensa_opcode_internal ret_opcode
= {
4986 static xtensa_opcode_internal ret_n_opcode
= {
4993 static xtensa_opcode_internal retw_opcode
= {
5000 static xtensa_opcode_internal retw_n_opcode
= {
5007 static xtensa_opcode_internal rfde_opcode
= {
5014 static xtensa_opcode_internal rfe_opcode
= {
5021 static xtensa_opcode_internal rfi_opcode
= {
5028 static xtensa_opcode_internal rfwo_opcode
= {
5035 static xtensa_opcode_internal rfwu_opcode
= {
5042 static xtensa_opcode_internal ritlb0_opcode
= {
5049 static xtensa_opcode_internal ritlb1_opcode
= {
5056 static xtensa_opcode_internal rotw_opcode
= {
5063 static xtensa_opcode_internal rsil_opcode
= {
5070 static xtensa_opcode_internal rsr_opcode
= {
5077 static xtensa_opcode_internal rsync_opcode
= {
5084 static xtensa_opcode_internal s16i_opcode
= {
5091 static xtensa_opcode_internal s32e_opcode
= {
5098 static xtensa_opcode_internal s32i_opcode
= {
5105 static xtensa_opcode_internal s32i_n_opcode
= {
5112 static xtensa_opcode_internal s8i_opcode
= {
5119 static xtensa_opcode_internal sdct_opcode
= {
5126 static xtensa_opcode_internal sict_opcode
= {
5133 static xtensa_opcode_internal sicw_opcode
= {
5140 static xtensa_opcode_internal simcall_opcode
= {
5147 static xtensa_opcode_internal sll_opcode
= {
5154 static xtensa_opcode_internal slli_opcode
= {
5161 static xtensa_opcode_internal sra_opcode
= {
5168 static xtensa_opcode_internal srai_opcode
= {
5175 static xtensa_opcode_internal src_opcode
= {
5182 static xtensa_opcode_internal srl_opcode
= {
5189 static xtensa_opcode_internal srli_opcode
= {
5196 static xtensa_opcode_internal ssa8b_opcode
= {
5203 static xtensa_opcode_internal ssa8l_opcode
= {
5210 static xtensa_opcode_internal ssai_opcode
= {
5217 static xtensa_opcode_internal ssl_opcode
= {
5224 static xtensa_opcode_internal ssr_opcode
= {
5231 static xtensa_opcode_internal sub_opcode
= {
5238 static xtensa_opcode_internal subx2_opcode
= {
5245 static xtensa_opcode_internal subx4_opcode
= {
5252 static xtensa_opcode_internal subx8_opcode
= {
5259 static xtensa_opcode_internal syscall_opcode
= {
5266 static xtensa_opcode_internal waiti_opcode
= {
5273 static xtensa_opcode_internal wdtlb_opcode
= {
5280 static xtensa_opcode_internal witlb_opcode
= {
5287 static xtensa_opcode_internal wsr_opcode
= {
5294 static xtensa_opcode_internal xor_opcode
= {
5301 static xtensa_opcode_internal xsr_opcode
= {
5308 static xtensa_opcode_internal
* opcodes
[149] = {
5460 xtensa_opcode_internal
**
5467 get_num_opcodes (void)
5472 #define xtensa_abs_op 0
5473 #define xtensa_add_op 1
5474 #define xtensa_add_n_op 2
5475 #define xtensa_addi_op 3
5476 #define xtensa_addi_n_op 4
5477 #define xtensa_addmi_op 5
5478 #define xtensa_addx2_op 6
5479 #define xtensa_addx4_op 7
5480 #define xtensa_addx8_op 8
5481 #define xtensa_and_op 9
5482 #define xtensa_ball_op 10
5483 #define xtensa_bany_op 11
5484 #define xtensa_bbc_op 12
5485 #define xtensa_bbci_op 13
5486 #define xtensa_bbs_op 14
5487 #define xtensa_bbsi_op 15
5488 #define xtensa_beq_op 16
5489 #define xtensa_beqi_op 17
5490 #define xtensa_beqz_op 18
5491 #define xtensa_beqz_n_op 19
5492 #define xtensa_bge_op 20
5493 #define xtensa_bgei_op 21
5494 #define xtensa_bgeu_op 22
5495 #define xtensa_bgeui_op 23
5496 #define xtensa_bgez_op 24
5497 #define xtensa_blt_op 25
5498 #define xtensa_blti_op 26
5499 #define xtensa_bltu_op 27
5500 #define xtensa_bltui_op 28
5501 #define xtensa_bltz_op 29
5502 #define xtensa_bnall_op 30
5503 #define xtensa_bne_op 31
5504 #define xtensa_bnei_op 32
5505 #define xtensa_bnez_op 33
5506 #define xtensa_bnez_n_op 34
5507 #define xtensa_bnone_op 35
5508 #define xtensa_break_op 36
5509 #define xtensa_break_n_op 37
5510 #define xtensa_call0_op 38
5511 #define xtensa_call12_op 39
5512 #define xtensa_call4_op 40
5513 #define xtensa_call8_op 41
5514 #define xtensa_callx0_op 42
5515 #define xtensa_callx12_op 43
5516 #define xtensa_callx4_op 44
5517 #define xtensa_callx8_op 45
5518 #define xtensa_dhi_op 46
5519 #define xtensa_dhwb_op 47
5520 #define xtensa_dhwbi_op 48
5521 #define xtensa_dii_op 49
5522 #define xtensa_diwb_op 50
5523 #define xtensa_diwbi_op 51
5524 #define xtensa_dpfr_op 52
5525 #define xtensa_dpfro_op 53
5526 #define xtensa_dpfw_op 54
5527 #define xtensa_dpfwo_op 55
5528 #define xtensa_dsync_op 56
5529 #define xtensa_entry_op 57
5530 #define xtensa_esync_op 58
5531 #define xtensa_excw_op 59
5532 #define xtensa_extui_op 60
5533 #define xtensa_idtlb_op 61
5534 #define xtensa_idtlba_op 62
5535 #define xtensa_ihi_op 63
5536 #define xtensa_iii_op 64
5537 #define xtensa_iitlb_op 65
5538 #define xtensa_iitlba_op 66
5539 #define xtensa_ipf_op 67
5540 #define xtensa_isync_op 68
5541 #define xtensa_j_op 69
5542 #define xtensa_jx_op 70
5543 #define xtensa_l16si_op 71
5544 #define xtensa_l16ui_op 72
5545 #define xtensa_l32e_op 73
5546 #define xtensa_l32i_op 74
5547 #define xtensa_l32i_n_op 75
5548 #define xtensa_l32r_op 76
5549 #define xtensa_l8ui_op 77
5550 #define xtensa_ldct_op 78
5551 #define xtensa_lict_op 79
5552 #define xtensa_licw_op 80
5553 #define xtensa_loop_op 81
5554 #define xtensa_loopgtz_op 82
5555 #define xtensa_loopnez_op 83
5556 #define xtensa_memw_op 84
5557 #define xtensa_mov_n_op 85
5558 #define xtensa_moveqz_op 86
5559 #define xtensa_movgez_op 87
5560 #define xtensa_movi_op 88
5561 #define xtensa_movi_n_op 89
5562 #define xtensa_movltz_op 90
5563 #define xtensa_movnez_op 91
5564 #define xtensa_movsp_op 92
5565 #define xtensa_neg_op 93
5566 #define xtensa_nop_n_op 94
5567 #define xtensa_nsa_op 95
5568 #define xtensa_nsau_op 96
5569 #define xtensa_or_op 97
5570 #define xtensa_pdtlb_op 98
5571 #define xtensa_pitlb_op 99
5572 #define xtensa_rdtlb0_op 100
5573 #define xtensa_rdtlb1_op 101
5574 #define xtensa_ret_op 102
5575 #define xtensa_ret_n_op 103
5576 #define xtensa_retw_op 104
5577 #define xtensa_retw_n_op 105
5578 #define xtensa_rfde_op 106
5579 #define xtensa_rfe_op 107
5580 #define xtensa_rfi_op 108
5581 #define xtensa_rfwo_op 109
5582 #define xtensa_rfwu_op 110
5583 #define xtensa_ritlb0_op 111
5584 #define xtensa_ritlb1_op 112
5585 #define xtensa_rotw_op 113
5586 #define xtensa_rsil_op 114
5587 #define xtensa_rsr_op 115
5588 #define xtensa_rsync_op 116
5589 #define xtensa_s16i_op 117
5590 #define xtensa_s32e_op 118
5591 #define xtensa_s32i_op 119
5592 #define xtensa_s32i_n_op 120
5593 #define xtensa_s8i_op 121
5594 #define xtensa_sdct_op 122
5595 #define xtensa_sict_op 123
5596 #define xtensa_sicw_op 124
5597 #define xtensa_simcall_op 125
5598 #define xtensa_sll_op 126
5599 #define xtensa_slli_op 127
5600 #define xtensa_sra_op 128
5601 #define xtensa_srai_op 129
5602 #define xtensa_src_op 130
5603 #define xtensa_srl_op 131
5604 #define xtensa_srli_op 132
5605 #define xtensa_ssa8b_op 133
5606 #define xtensa_ssa8l_op 134
5607 #define xtensa_ssai_op 135
5608 #define xtensa_ssl_op 136
5609 #define xtensa_ssr_op 137
5610 #define xtensa_sub_op 138
5611 #define xtensa_subx2_op 139
5612 #define xtensa_subx4_op 140
5613 #define xtensa_subx8_op 141
5614 #define xtensa_syscall_op 142
5615 #define xtensa_waiti_op 143
5616 #define xtensa_wdtlb_op 144
5617 #define xtensa_witlb_op 145
5618 #define xtensa_wsr_op 146
5619 #define xtensa_xor_op 147
5620 #define xtensa_xsr_op 148
5623 decode_insn (const xtensa_insnbuf insn
)
5625 switch (get_op0_field (insn
)) {
5626 case 0: /* QRST: op0=0000 */
5627 switch (get_op1_field (insn
)) {
5628 case 3: /* RST3: op1=0011 */
5629 switch (get_op2_field (insn
)) {
5630 case 8: /* MOVEQZ: op2=1000 */
5631 return xtensa_moveqz_op
;
5632 case 9: /* MOVNEZ: op2=1001 */
5633 return xtensa_movnez_op
;
5634 case 10: /* MOVLTZ: op2=1010 */
5635 return xtensa_movltz_op
;
5636 case 11: /* MOVGEZ: op2=1011 */
5637 return xtensa_movgez_op
;
5638 case 0: /* RSR: op2=0000 */
5639 return xtensa_rsr_op
;
5640 case 1: /* WSR: op2=0001 */
5641 return xtensa_wsr_op
;
5644 case 9: /* LSI4: op1=1001 */
5645 switch (get_op2_field (insn
)) {
5646 case 4: /* S32E: op2=0100 */
5647 return xtensa_s32e_op
;
5648 case 0: /* L32E: op2=0000 */
5649 return xtensa_l32e_op
;
5652 case 4: /* EXTUI: op1=010x */
5653 case 5: /* EXTUI: op1=010x */
5654 return xtensa_extui_op
;
5655 case 0: /* RST0: op1=0000 */
5656 switch (get_op2_field (insn
)) {
5657 case 15: /* SUBX8: op2=1111 */
5658 return xtensa_subx8_op
;
5659 case 0: /* ST0: op2=0000 */
5660 switch (get_r_field (insn
)) {
5661 case 0: /* SNM0: r=0000 */
5662 switch (get_m_field (insn
)) {
5663 case 2: /* JR: m=10 */
5664 switch (get_n_field (insn
)) {
5665 case 0: /* RET: n=00 */
5666 return xtensa_ret_op
;
5667 case 1: /* RETW: n=01 */
5668 return xtensa_retw_op
;
5669 case 2: /* JX: n=10 */
5670 return xtensa_jx_op
;
5673 case 3: /* CALLX: m=11 */
5674 switch (get_n_field (insn
)) {
5675 case 0: /* CALLX0: n=00 */
5676 return xtensa_callx0_op
;
5677 case 1: /* CALLX4: n=01 */
5678 return xtensa_callx4_op
;
5679 case 2: /* CALLX8: n=10 */
5680 return xtensa_callx8_op
;
5681 case 3: /* CALLX12: n=11 */
5682 return xtensa_callx12_op
;
5687 case 1: /* MOVSP: r=0001 */
5688 return xtensa_movsp_op
;
5689 case 2: /* SYNC: r=0010 */
5690 switch (get_s_field (insn
)) {
5691 case 0: /* SYNCT: s=0000 */
5692 switch (get_t_field (insn
)) {
5693 case 2: /* ESYNC: t=0010 */
5694 return xtensa_esync_op
;
5695 case 3: /* DSYNC: t=0011 */
5696 return xtensa_dsync_op
;
5697 case 8: /* EXCW: t=1000 */
5698 return xtensa_excw_op
;
5699 case 12: /* MEMW: t=1100 */
5700 return xtensa_memw_op
;
5701 case 0: /* ISYNC: t=0000 */
5702 return xtensa_isync_op
;
5703 case 1: /* RSYNC: t=0001 */
5704 return xtensa_rsync_op
;
5709 case 4: /* BREAK: r=0100 */
5710 return xtensa_break_op
;
5711 case 3: /* RFEI: r=0011 */
5712 switch (get_t_field (insn
)) {
5713 case 0: /* RFET: t=0000 */
5714 switch (get_s_field (insn
)) {
5715 case 2: /* RFDE: s=0010 */
5716 return xtensa_rfde_op
;
5717 case 4: /* RFWO: s=0100 */
5718 return xtensa_rfwo_op
;
5719 case 5: /* RFWU: s=0101 */
5720 return xtensa_rfwu_op
;
5721 case 0: /* RFE: s=0000 */
5722 return xtensa_rfe_op
;
5725 case 1: /* RFI: t=0001 */
5726 return xtensa_rfi_op
;
5729 case 5: /* SCALL: r=0101 */
5730 switch (get_s_field (insn
)) {
5731 case 0: /* SYSCALL: s=0000 */
5732 return xtensa_syscall_op
;
5733 case 1: /* SIMCALL: s=0001 */
5734 return xtensa_simcall_op
;
5737 case 6: /* RSIL: r=0110 */
5738 return xtensa_rsil_op
;
5739 case 7: /* WAITI: r=0111 */
5740 return xtensa_waiti_op
;
5743 case 1: /* AND: op2=0001 */
5744 return xtensa_and_op
;
5745 case 2: /* OR: op2=0010 */
5746 return xtensa_or_op
;
5747 case 3: /* XOR: op2=0011 */
5748 return xtensa_xor_op
;
5749 case 4: /* ST1: op2=0100 */
5750 switch (get_r_field (insn
)) {
5751 case 15: /* NSAU: r=1111 */
5752 return xtensa_nsau_op
;
5753 case 0: /* SSR: r=0000 */
5754 return xtensa_ssr_op
;
5755 case 1: /* SSL: r=0001 */
5756 return xtensa_ssl_op
;
5757 case 2: /* SSA8L: r=0010 */
5758 return xtensa_ssa8l_op
;
5759 case 3: /* SSA8B: r=0011 */
5760 return xtensa_ssa8b_op
;
5761 case 4: /* SSAI: r=0100 */
5762 return xtensa_ssai_op
;
5763 case 8: /* ROTW: r=1000 */
5764 return xtensa_rotw_op
;
5765 case 14: /* NSA: r=1110 */
5766 return xtensa_nsa_op
;
5769 case 8: /* ADD: op2=1000 */
5770 return xtensa_add_op
;
5771 case 5: /* ST4: op2=0101 */
5772 switch (get_r_field (insn
)) {
5773 case 15: /* RDTLB1: r=1111 */
5774 return xtensa_rdtlb1_op
;
5775 case 0: /* IITLBA: r=0000 */
5776 return xtensa_iitlba_op
;
5777 case 3: /* RITLB0: r=0011 */
5778 return xtensa_ritlb0_op
;
5779 case 4: /* IITLB: r=0100 */
5780 return xtensa_iitlb_op
;
5781 case 8: /* IDTLBA: r=1000 */
5782 return xtensa_idtlba_op
;
5783 case 5: /* PITLB: r=0101 */
5784 return xtensa_pitlb_op
;
5785 case 6: /* WITLB: r=0110 */
5786 return xtensa_witlb_op
;
5787 case 7: /* RITLB1: r=0111 */
5788 return xtensa_ritlb1_op
;
5789 case 11: /* RDTLB0: r=1011 */
5790 return xtensa_rdtlb0_op
;
5791 case 12: /* IDTLB: r=1100 */
5792 return xtensa_idtlb_op
;
5793 case 13: /* PDTLB: r=1101 */
5794 return xtensa_pdtlb_op
;
5795 case 14: /* WDTLB: r=1110 */
5796 return xtensa_wdtlb_op
;
5799 case 6: /* RT0: op2=0110 */
5800 switch (get_s_field (insn
)) {
5801 case 0: /* NEG: s=0000 */
5802 return xtensa_neg_op
;
5803 case 1: /* ABS: s=0001 */
5804 return xtensa_abs_op
;
5807 case 9: /* ADDX2: op2=1001 */
5808 return xtensa_addx2_op
;
5809 case 10: /* ADDX4: op2=1010 */
5810 return xtensa_addx4_op
;
5811 case 11: /* ADDX8: op2=1011 */
5812 return xtensa_addx8_op
;
5813 case 12: /* SUB: op2=1100 */
5814 return xtensa_sub_op
;
5815 case 13: /* SUBX2: op2=1101 */
5816 return xtensa_subx2_op
;
5817 case 14: /* SUBX4: op2=1110 */
5818 return xtensa_subx4_op
;
5821 case 1: /* RST1: op1=0001 */
5822 switch (get_op2_field (insn
)) {
5823 case 15: /* IMP: op2=1111 */
5824 switch (get_r_field (insn
)) {
5825 case 0: /* LICT: r=0000 */
5826 return xtensa_lict_op
;
5827 case 1: /* SICT: r=0001 */
5828 return xtensa_sict_op
;
5829 case 2: /* LICW: r=0010 */
5830 return xtensa_licw_op
;
5831 case 3: /* SICW: r=0011 */
5832 return xtensa_sicw_op
;
5833 case 8: /* LDCT: r=1000 */
5834 return xtensa_ldct_op
;
5835 case 9: /* SDCT: r=1001 */
5836 return xtensa_sdct_op
;
5839 case 0: /* SLLI: op2=000x */
5840 case 1: /* SLLI: op2=000x */
5841 return xtensa_slli_op
;
5842 case 2: /* SRAI: op2=001x */
5843 case 3: /* SRAI: op2=001x */
5844 return xtensa_srai_op
;
5845 case 4: /* SRLI: op2=0100 */
5846 return xtensa_srli_op
;
5847 case 8: /* SRC: op2=1000 */
5848 return xtensa_src_op
;
5849 case 9: /* SRL: op2=1001 */
5850 return xtensa_srl_op
;
5851 case 6: /* XSR: op2=0110 */
5852 return xtensa_xsr_op
;
5853 case 10: /* SLL: op2=1010 */
5854 return xtensa_sll_op
;
5855 case 11: /* SRA: op2=1011 */
5856 return xtensa_sra_op
;
5861 case 1: /* L32R: op0=0001 */
5862 return xtensa_l32r_op
;
5863 case 2: /* LSAI: op0=0010 */
5864 switch (get_r_field (insn
)) {
5865 case 0: /* L8UI: r=0000 */
5866 return xtensa_l8ui_op
;
5867 case 1: /* L16UI: r=0001 */
5868 return xtensa_l16ui_op
;
5869 case 2: /* L32I: r=0010 */
5870 return xtensa_l32i_op
;
5871 case 4: /* S8I: r=0100 */
5872 return xtensa_s8i_op
;
5873 case 5: /* S16I: r=0101 */
5874 return xtensa_s16i_op
;
5875 case 9: /* L16SI: r=1001 */
5876 return xtensa_l16si_op
;
5877 case 6: /* S32I: r=0110 */
5878 return xtensa_s32i_op
;
5879 case 7: /* CACHE: r=0111 */
5880 switch (get_t_field (insn
)) {
5881 case 15: /* III: t=1111 */
5882 return xtensa_iii_op
;
5883 case 0: /* DPFR: t=0000 */
5884 return xtensa_dpfr_op
;
5885 case 1: /* DPFW: t=0001 */
5886 return xtensa_dpfw_op
;
5887 case 2: /* DPFRO: t=0010 */
5888 return xtensa_dpfro_op
;
5889 case 4: /* DHWB: t=0100 */
5890 return xtensa_dhwb_op
;
5891 case 3: /* DPFWO: t=0011 */
5892 return xtensa_dpfwo_op
;
5893 case 8: /* DCE: t=1000 */
5894 switch (get_op1_field (insn
)) {
5895 case 4: /* DIWB: op1=0100 */
5896 return xtensa_diwb_op
;
5897 case 5: /* DIWBI: op1=0101 */
5898 return xtensa_diwbi_op
;
5901 case 5: /* DHWBI: t=0101 */
5902 return xtensa_dhwbi_op
;
5903 case 6: /* DHI: t=0110 */
5904 return xtensa_dhi_op
;
5905 case 7: /* DII: t=0111 */
5906 return xtensa_dii_op
;
5907 case 12: /* IPF: t=1100 */
5908 return xtensa_ipf_op
;
5909 case 14: /* IHI: t=1110 */
5910 return xtensa_ihi_op
;
5913 case 10: /* MOVI: r=1010 */
5914 return xtensa_movi_op
;
5915 case 12: /* ADDI: r=1100 */
5916 return xtensa_addi_op
;
5917 case 13: /* ADDMI: r=1101 */
5918 return xtensa_addmi_op
;
5921 case 8: /* L32I.N: op0=1000 */
5922 return xtensa_l32i_n_op
;
5923 case 5: /* CALL: op0=0101 */
5924 switch (get_n_field (insn
)) {
5925 case 0: /* CALL0: n=00 */
5926 return xtensa_call0_op
;
5927 case 1: /* CALL4: n=01 */
5928 return xtensa_call4_op
;
5929 case 2: /* CALL8: n=10 */
5930 return xtensa_call8_op
;
5931 case 3: /* CALL12: n=11 */
5932 return xtensa_call12_op
;
5935 case 6: /* SI: op0=0110 */
5936 switch (get_n_field (insn
)) {
5937 case 0: /* J: n=00 */
5939 case 1: /* BZ: n=01 */
5940 switch (get_m_field (insn
)) {
5941 case 0: /* BEQZ: m=00 */
5942 return xtensa_beqz_op
;
5943 case 1: /* BNEZ: m=01 */
5944 return xtensa_bnez_op
;
5945 case 2: /* BLTZ: m=10 */
5946 return xtensa_bltz_op
;
5947 case 3: /* BGEZ: m=11 */
5948 return xtensa_bgez_op
;
5951 case 2: /* BI0: n=10 */
5952 switch (get_m_field (insn
)) {
5953 case 0: /* BEQI: m=00 */
5954 return xtensa_beqi_op
;
5955 case 1: /* BNEI: m=01 */
5956 return xtensa_bnei_op
;
5957 case 2: /* BLTI: m=10 */
5958 return xtensa_blti_op
;
5959 case 3: /* BGEI: m=11 */
5960 return xtensa_bgei_op
;
5963 case 3: /* BI1: n=11 */
5964 switch (get_m_field (insn
)) {
5965 case 0: /* ENTRY: m=00 */
5966 return xtensa_entry_op
;
5967 case 1: /* B1: m=01 */
5968 switch (get_r_field (insn
)) {
5969 case 8: /* LOOP: r=1000 */
5970 return xtensa_loop_op
;
5971 case 9: /* LOOPNEZ: r=1001 */
5972 return xtensa_loopnez_op
;
5973 case 10: /* LOOPGTZ: r=1010 */
5974 return xtensa_loopgtz_op
;
5977 case 2: /* BLTUI: m=10 */
5978 return xtensa_bltui_op
;
5979 case 3: /* BGEUI: m=11 */
5980 return xtensa_bgeui_op
;
5985 case 9: /* S32I.N: op0=1001 */
5986 return xtensa_s32i_n_op
;
5987 case 10: /* ADD.N: op0=1010 */
5988 return xtensa_add_n_op
;
5989 case 7: /* B: op0=0111 */
5990 switch (get_r_field (insn
)) {
5991 case 6: /* BBCI: r=011x */
5992 case 7: /* BBCI: r=011x */
5993 return xtensa_bbci_op
;
5994 case 0: /* BNONE: r=0000 */
5995 return xtensa_bnone_op
;
5996 case 1: /* BEQ: r=0001 */
5997 return xtensa_beq_op
;
5998 case 2: /* BLT: r=0010 */
5999 return xtensa_blt_op
;
6000 case 4: /* BALL: r=0100 */
6001 return xtensa_ball_op
;
6002 case 14: /* BBSI: r=111x */
6003 case 15: /* BBSI: r=111x */
6004 return xtensa_bbsi_op
;
6005 case 3: /* BLTU: r=0011 */
6006 return xtensa_bltu_op
;
6007 case 5: /* BBC: r=0101 */
6008 return xtensa_bbc_op
;
6009 case 8: /* BANY: r=1000 */
6010 return xtensa_bany_op
;
6011 case 9: /* BNE: r=1001 */
6012 return xtensa_bne_op
;
6013 case 10: /* BGE: r=1010 */
6014 return xtensa_bge_op
;
6015 case 11: /* BGEU: r=1011 */
6016 return xtensa_bgeu_op
;
6017 case 12: /* BNALL: r=1100 */
6018 return xtensa_bnall_op
;
6019 case 13: /* BBS: r=1101 */
6020 return xtensa_bbs_op
;
6023 case 11: /* ADDI.N: op0=1011 */
6024 return xtensa_addi_n_op
;
6025 case 12: /* ST2: op0=1100 */
6026 switch (get_i_field (insn
)) {
6027 case 0: /* MOVI.N: i=0 */
6028 return xtensa_movi_n_op
;
6029 case 1: /* BZ6: i=1 */
6030 switch (get_z_field (insn
)) {
6031 case 0: /* BEQZ.N: z=0 */
6032 return xtensa_beqz_n_op
;
6033 case 1: /* BNEZ.N: z=1 */
6034 return xtensa_bnez_n_op
;
6039 case 13: /* ST3: op0=1101 */
6040 switch (get_r_field (insn
)) {
6041 case 15: /* S3: r=1111 */
6042 switch (get_t_field (insn
)) {
6043 case 0: /* RET.N: t=0000 */
6044 return xtensa_ret_n_op
;
6045 case 1: /* RETW.N: t=0001 */
6046 return xtensa_retw_n_op
;
6047 case 2: /* BREAK.N: t=0010 */
6048 return xtensa_break_n_op
;
6049 case 3: /* NOP.N: t=0011 */
6050 return xtensa_nop_n_op
;
6053 case 0: /* MOV.N: r=0000 */
6054 return xtensa_mov_n_op
;
6058 return XTENSA_UNDEFINED
;
6062 interface_version (void)
6067 static struct config_struct config_table
[] = {
6068 {"IsaMemoryOrder", "BigEndian"},
6069 {"PIFReadDataBits", "128"},
6070 {"PIFWriteDataBits", "128"},
6071 {"IsaCoprocessorCount", "0"},
6072 {"IsaUseBooleans", "0"},
6073 {"IsaUseDensityInstruction", "1"},
6077 struct config_struct
* get_config_table (void);
6079 struct config_struct
*
6080 get_config_table (void)
6082 return config_table
;
6085 xtensa_isa_module xtensa_isa_modules
[] = {
6086 { get_num_opcodes
, get_opcodes
, decode_insn
, get_config_table
},