iq2000-opc.c revision 1.1 1 1.1 skrll /* Instruction opcode table for iq2000.
2 1.1 skrll
3 1.1 skrll THIS FILE IS MACHINE GENERATED WITH CGEN.
4 1.1 skrll
5 1.1 skrll Copyright 1996-2007 Free Software Foundation, Inc.
6 1.1 skrll
7 1.1 skrll This file is part of the GNU Binutils and/or GDB, the GNU debugger.
8 1.1 skrll
9 1.1 skrll This file is free software; you can redistribute it and/or modify
10 1.1 skrll it under the terms of the GNU General Public License as published by
11 1.1 skrll the Free Software Foundation; either version 3, or (at your option)
12 1.1 skrll any later version.
13 1.1 skrll
14 1.1 skrll It is distributed in the hope that it will be useful, but WITHOUT
15 1.1 skrll ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 1.1 skrll or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 1.1 skrll License for more details.
18 1.1 skrll
19 1.1 skrll You should have received a copy of the GNU General Public License along
20 1.1 skrll with this program; if not, write to the Free Software Foundation, Inc.,
21 1.1 skrll 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
22 1.1 skrll
23 1.1 skrll */
24 1.1 skrll
25 1.1 skrll #include "sysdep.h"
26 1.1 skrll #include "ansidecl.h"
27 1.1 skrll #include "bfd.h"
28 1.1 skrll #include "symcat.h"
29 1.1 skrll #include "iq2000-desc.h"
30 1.1 skrll #include "iq2000-opc.h"
31 1.1 skrll #include "libiberty.h"
32 1.1 skrll
33 1.1 skrll /* The hash functions are recorded here to help keep assembler code out of
34 1.1 skrll the disassembler and vice versa. */
35 1.1 skrll
36 1.1 skrll static int asm_hash_insn_p (const CGEN_INSN *);
37 1.1 skrll static unsigned int asm_hash_insn (const char *);
38 1.1 skrll static int dis_hash_insn_p (const CGEN_INSN *);
39 1.1 skrll static unsigned int dis_hash_insn (const char *, CGEN_INSN_INT);
40 1.1 skrll
41 1.1 skrll /* Instruction formats. */
42 1.1 skrll
43 1.1 skrll #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
44 1.1 skrll #define F(f) & iq2000_cgen_ifld_table[IQ2000_##f]
45 1.1 skrll #else
46 1.1 skrll #define F(f) & iq2000_cgen_ifld_table[IQ2000_/**/f]
47 1.1 skrll #endif
48 1.1 skrll static const CGEN_IFMT ifmt_empty ATTRIBUTE_UNUSED = {
49 1.1 skrll 0, 0, 0x0, { { 0 } }
50 1.1 skrll };
51 1.1 skrll
52 1.1 skrll static const CGEN_IFMT ifmt_add2 ATTRIBUTE_UNUSED = {
53 1.1 skrll 32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_RT) }, { F (F_RD_RS) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
54 1.1 skrll };
55 1.1 skrll
56 1.1 skrll static const CGEN_IFMT ifmt_add ATTRIBUTE_UNUSED = {
57 1.1 skrll 32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
58 1.1 skrll };
59 1.1 skrll
60 1.1 skrll static const CGEN_IFMT ifmt_addi2 ATTRIBUTE_UNUSED = {
61 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RT_RS) }, { F (F_IMM) }, { 0 } }
62 1.1 skrll };
63 1.1 skrll
64 1.1 skrll static const CGEN_IFMT ifmt_addi ATTRIBUTE_UNUSED = {
65 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
66 1.1 skrll };
67 1.1 skrll
68 1.1 skrll static const CGEN_IFMT ifmt_ram ATTRIBUTE_UNUSED = {
69 1.1 skrll 32, 32, 0xfc000020, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_5) }, { F (F_MASKL) }, { 0 } }
70 1.1 skrll };
71 1.1 skrll
72 1.1 skrll static const CGEN_IFMT ifmt_sll ATTRIBUTE_UNUSED = {
73 1.1 skrll 32, 32, 0xffe0003f, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
74 1.1 skrll };
75 1.1 skrll
76 1.1 skrll static const CGEN_IFMT ifmt_sllv2 ATTRIBUTE_UNUSED = {
77 1.1 skrll 32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RD_RT) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
78 1.1 skrll };
79 1.1 skrll
80 1.1 skrll static const CGEN_IFMT ifmt_slmv2 ATTRIBUTE_UNUSED = {
81 1.1 skrll 32, 32, 0xfc00003f, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RD_RT) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
82 1.1 skrll };
83 1.1 skrll
84 1.1 skrll static const CGEN_IFMT ifmt_slmv ATTRIBUTE_UNUSED = {
85 1.1 skrll 32, 32, 0xfc00003f, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
86 1.1 skrll };
87 1.1 skrll
88 1.1 skrll static const CGEN_IFMT ifmt_slti2 ATTRIBUTE_UNUSED = {
89 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RT_RS) }, { F (F_IMM) }, { 0 } }
90 1.1 skrll };
91 1.1 skrll
92 1.1 skrll static const CGEN_IFMT ifmt_slti ATTRIBUTE_UNUSED = {
93 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
94 1.1 skrll };
95 1.1 skrll
96 1.1 skrll static const CGEN_IFMT ifmt_sra2 ATTRIBUTE_UNUSED = {
97 1.1 skrll 32, 32, 0xffe0003f, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RD_RT) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
98 1.1 skrll };
99 1.1 skrll
100 1.1 skrll static const CGEN_IFMT ifmt_bbi ATTRIBUTE_UNUSED = {
101 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_OFFSET) }, { 0 } }
102 1.1 skrll };
103 1.1 skrll
104 1.1 skrll static const CGEN_IFMT ifmt_bbv ATTRIBUTE_UNUSED = {
105 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_OFFSET) }, { 0 } }
106 1.1 skrll };
107 1.1 skrll
108 1.1 skrll static const CGEN_IFMT ifmt_bgez ATTRIBUTE_UNUSED = {
109 1.1 skrll 32, 32, 0xfc1f0000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_OFFSET) }, { 0 } }
110 1.1 skrll };
111 1.1 skrll
112 1.1 skrll static const CGEN_IFMT ifmt_jalr ATTRIBUTE_UNUSED = {
113 1.1 skrll 32, 32, 0xfc1f07ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
114 1.1 skrll };
115 1.1 skrll
116 1.1 skrll static const CGEN_IFMT ifmt_jr ATTRIBUTE_UNUSED = {
117 1.1 skrll 32, 32, 0xfc1fffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
118 1.1 skrll };
119 1.1 skrll
120 1.1 skrll static const CGEN_IFMT ifmt_lb ATTRIBUTE_UNUSED = {
121 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
122 1.1 skrll };
123 1.1 skrll
124 1.1 skrll static const CGEN_IFMT ifmt_lui ATTRIBUTE_UNUSED = {
125 1.1 skrll 32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
126 1.1 skrll };
127 1.1 skrll
128 1.1 skrll static const CGEN_IFMT ifmt_break ATTRIBUTE_UNUSED = {
129 1.1 skrll 32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
130 1.1 skrll };
131 1.1 skrll
132 1.1 skrll static const CGEN_IFMT ifmt_syscall ATTRIBUTE_UNUSED = {
133 1.1 skrll 32, 32, 0xfc00003f, { { F (F_OPCODE) }, { F (F_EXCODE) }, { F (F_FUNC) }, { 0 } }
134 1.1 skrll };
135 1.1 skrll
136 1.1 skrll static const CGEN_IFMT ifmt_andoui ATTRIBUTE_UNUSED = {
137 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
138 1.1 skrll };
139 1.1 skrll
140 1.1 skrll static const CGEN_IFMT ifmt_andoui2 ATTRIBUTE_UNUSED = {
141 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RT_RS) }, { F (F_IMM) }, { 0 } }
142 1.1 skrll };
143 1.1 skrll
144 1.1 skrll static const CGEN_IFMT ifmt_mrgb ATTRIBUTE_UNUSED = {
145 1.1 skrll 32, 32, 0xfc00043f, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_10) }, { F (F_MASK) }, { F (F_FUNC) }, { 0 } }
146 1.1 skrll };
147 1.1 skrll
148 1.1 skrll static const CGEN_IFMT ifmt_mrgb2 ATTRIBUTE_UNUSED = {
149 1.1 skrll 32, 32, 0xfc00043f, { { F (F_OPCODE) }, { F (F_RT) }, { F (F_RD_RS) }, { F (F_10) }, { F (F_MASK) }, { F (F_FUNC) }, { 0 } }
150 1.1 skrll };
151 1.1 skrll
152 1.1 skrll static const CGEN_IFMT ifmt_bc0f ATTRIBUTE_UNUSED = {
153 1.1 skrll 32, 32, 0xffff0000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_OFFSET) }, { 0 } }
154 1.1 skrll };
155 1.1 skrll
156 1.1 skrll static const CGEN_IFMT ifmt_cfc0 ATTRIBUTE_UNUSED = {
157 1.1 skrll 32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_10_11) }, { 0 } }
158 1.1 skrll };
159 1.1 skrll
160 1.1 skrll static const CGEN_IFMT ifmt_chkhdr ATTRIBUTE_UNUSED = {
161 1.1 skrll 32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
162 1.1 skrll };
163 1.1 skrll
164 1.1 skrll static const CGEN_IFMT ifmt_lulck ATTRIBUTE_UNUSED = {
165 1.1 skrll 32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
166 1.1 skrll };
167 1.1 skrll
168 1.1 skrll static const CGEN_IFMT ifmt_pkrlr1 ATTRIBUTE_UNUSED = {
169 1.1 skrll 32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_COUNT) }, { F (F_INDEX) }, { 0 } }
170 1.1 skrll };
171 1.1 skrll
172 1.1 skrll static const CGEN_IFMT ifmt_rfe ATTRIBUTE_UNUSED = {
173 1.1 skrll 32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_25) }, { F (F_24_19) }, { F (F_FUNC) }, { 0 } }
174 1.1 skrll };
175 1.1 skrll
176 1.1 skrll static const CGEN_IFMT ifmt_j ATTRIBUTE_UNUSED = {
177 1.1 skrll 32, 32, 0xffff0000, { { F (F_OPCODE) }, { F (F_RSRVD) }, { F (F_JTARG) }, { 0 } }
178 1.1 skrll };
179 1.1 skrll
180 1.1 skrll static const CGEN_IFMT ifmt_mrgbq10 ATTRIBUTE_UNUSED = {
181 1.1 skrll 32, 32, 0xfc00003f, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_MASKQ10) }, { F (F_FUNC) }, { 0 } }
182 1.1 skrll };
183 1.1 skrll
184 1.1 skrll static const CGEN_IFMT ifmt_mrgbq102 ATTRIBUTE_UNUSED = {
185 1.1 skrll 32, 32, 0xfc00003f, { { F (F_OPCODE) }, { F (F_RT) }, { F (F_RD_RS) }, { F (F_MASKQ10) }, { F (F_FUNC) }, { 0 } }
186 1.1 skrll };
187 1.1 skrll
188 1.1 skrll static const CGEN_IFMT ifmt_jq10 ATTRIBUTE_UNUSED = {
189 1.1 skrll 32, 32, 0xffff0000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_JTARG) }, { 0 } }
190 1.1 skrll };
191 1.1 skrll
192 1.1 skrll static const CGEN_IFMT ifmt_jalq10 ATTRIBUTE_UNUSED = {
193 1.1 skrll 32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_JTARG) }, { 0 } }
194 1.1 skrll };
195 1.1 skrll
196 1.1 skrll static const CGEN_IFMT ifmt_avail ATTRIBUTE_UNUSED = {
197 1.1 skrll 32, 32, 0xffff07ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
198 1.1 skrll };
199 1.1 skrll
200 1.1 skrll static const CGEN_IFMT ifmt_rbi ATTRIBUTE_UNUSED = {
201 1.1 skrll 32, 32, 0xfc000700, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
202 1.1 skrll };
203 1.1 skrll
204 1.1 skrll static const CGEN_IFMT ifmt_cam36 ATTRIBUTE_UNUSED = {
205 1.1 skrll 32, 32, 0xffe007c0, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP_10) }, { F (F_CAM_Z) }, { F (F_CAM_Y) }, { 0 } }
206 1.1 skrll };
207 1.1 skrll
208 1.1 skrll static const CGEN_IFMT ifmt_cm32and ATTRIBUTE_UNUSED = {
209 1.1 skrll 32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
210 1.1 skrll };
211 1.1 skrll
212 1.1 skrll static const CGEN_IFMT ifmt_cm32rd ATTRIBUTE_UNUSED = {
213 1.1 skrll 32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
214 1.1 skrll };
215 1.1 skrll
216 1.1 skrll static const CGEN_IFMT ifmt_cm128ria3 ATTRIBUTE_UNUSED = {
217 1.1 skrll 32, 32, 0xfc0007fc, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_CM_4FUNC) }, { F (F_CM_3Z) }, { 0 } }
218 1.1 skrll };
219 1.1 skrll
220 1.1 skrll static const CGEN_IFMT ifmt_cm128ria4 ATTRIBUTE_UNUSED = {
221 1.1 skrll 32, 32, 0xfc0007f8, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_CM_3FUNC) }, { F (F_CM_4Z) }, { 0 } }
222 1.1 skrll };
223 1.1 skrll
224 1.1 skrll static const CGEN_IFMT ifmt_ctc ATTRIBUTE_UNUSED = {
225 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
226 1.1 skrll };
227 1.1 skrll
228 1.1 skrll #undef F
229 1.1 skrll
230 1.1 skrll #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
231 1.1 skrll #define A(a) (1 << CGEN_INSN_##a)
232 1.1 skrll #else
233 1.1 skrll #define A(a) (1 << CGEN_INSN_/**/a)
234 1.1 skrll #endif
235 1.1 skrll #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
236 1.1 skrll #define OPERAND(op) IQ2000_OPERAND_##op
237 1.1 skrll #else
238 1.1 skrll #define OPERAND(op) IQ2000_OPERAND_/**/op
239 1.1 skrll #endif
240 1.1 skrll #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
241 1.1 skrll #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
242 1.1 skrll
243 1.1 skrll /* The instruction table. */
244 1.1 skrll
245 1.1 skrll static const CGEN_OPCODE iq2000_cgen_insn_opcode_table[MAX_INSNS] =
246 1.1 skrll {
247 1.1 skrll /* Special null first entry.
248 1.1 skrll A `num' value of zero is thus invalid.
249 1.1 skrll Also, the special `invalid' insn resides here. */
250 1.1 skrll { { 0, 0, 0, 0 }, {{0}}, 0, {0}},
251 1.1 skrll /* add ${rd-rs},$rt */
252 1.1 skrll {
253 1.1 skrll { 0, 0, 0, 0 },
254 1.1 skrll { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
255 1.1 skrll & ifmt_add2, { 0x20 }
256 1.1 skrll },
257 1.1 skrll /* add $rd,$rs,$rt */
258 1.1 skrll {
259 1.1 skrll { 0, 0, 0, 0 },
260 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
261 1.1 skrll & ifmt_add, { 0x20 }
262 1.1 skrll },
263 1.1 skrll /* addi ${rt-rs},$lo16 */
264 1.1 skrll {
265 1.1 skrll { 0, 0, 0, 0 },
266 1.1 skrll { { MNEM, ' ', OP (RT_RS), ',', OP (LO16), 0 } },
267 1.1 skrll & ifmt_addi2, { 0x20000000 }
268 1.1 skrll },
269 1.1 skrll /* addi $rt,$rs,$lo16 */
270 1.1 skrll {
271 1.1 skrll { 0, 0, 0, 0 },
272 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
273 1.1 skrll & ifmt_addi, { 0x20000000 }
274 1.1 skrll },
275 1.1 skrll /* addiu ${rt-rs},$lo16 */
276 1.1 skrll {
277 1.1 skrll { 0, 0, 0, 0 },
278 1.1 skrll { { MNEM, ' ', OP (RT_RS), ',', OP (LO16), 0 } },
279 1.1 skrll & ifmt_addi2, { 0x24000000 }
280 1.1 skrll },
281 1.1 skrll /* addiu $rt,$rs,$lo16 */
282 1.1 skrll {
283 1.1 skrll { 0, 0, 0, 0 },
284 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
285 1.1 skrll & ifmt_addi, { 0x24000000 }
286 1.1 skrll },
287 1.1 skrll /* addu ${rd-rs},$rt */
288 1.1 skrll {
289 1.1 skrll { 0, 0, 0, 0 },
290 1.1 skrll { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
291 1.1 skrll & ifmt_add2, { 0x21 }
292 1.1 skrll },
293 1.1 skrll /* addu $rd,$rs,$rt */
294 1.1 skrll {
295 1.1 skrll { 0, 0, 0, 0 },
296 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
297 1.1 skrll & ifmt_add, { 0x21 }
298 1.1 skrll },
299 1.1 skrll /* ado16 ${rd-rs},$rt */
300 1.1 skrll {
301 1.1 skrll { 0, 0, 0, 0 },
302 1.1 skrll { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
303 1.1 skrll & ifmt_add2, { 0x29 }
304 1.1 skrll },
305 1.1 skrll /* ado16 $rd,$rs,$rt */
306 1.1 skrll {
307 1.1 skrll { 0, 0, 0, 0 },
308 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
309 1.1 skrll & ifmt_add, { 0x29 }
310 1.1 skrll },
311 1.1 skrll /* and ${rd-rs},$rt */
312 1.1 skrll {
313 1.1 skrll { 0, 0, 0, 0 },
314 1.1 skrll { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
315 1.1 skrll & ifmt_add2, { 0x24 }
316 1.1 skrll },
317 1.1 skrll /* and $rd,$rs,$rt */
318 1.1 skrll {
319 1.1 skrll { 0, 0, 0, 0 },
320 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
321 1.1 skrll & ifmt_add, { 0x24 }
322 1.1 skrll },
323 1.1 skrll /* andi ${rt-rs},$lo16 */
324 1.1 skrll {
325 1.1 skrll { 0, 0, 0, 0 },
326 1.1 skrll { { MNEM, ' ', OP (RT_RS), ',', OP (LO16), 0 } },
327 1.1 skrll & ifmt_addi2, { 0x30000000 }
328 1.1 skrll },
329 1.1 skrll /* andi $rt,$rs,$lo16 */
330 1.1 skrll {
331 1.1 skrll { 0, 0, 0, 0 },
332 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
333 1.1 skrll & ifmt_addi, { 0x30000000 }
334 1.1 skrll },
335 1.1 skrll /* andoi ${rt-rs},$lo16 */
336 1.1 skrll {
337 1.1 skrll { 0, 0, 0, 0 },
338 1.1 skrll { { MNEM, ' ', OP (RT_RS), ',', OP (LO16), 0 } },
339 1.1 skrll & ifmt_addi2, { 0xb0000000 }
340 1.1 skrll },
341 1.1 skrll /* andoi $rt,$rs,$lo16 */
342 1.1 skrll {
343 1.1 skrll { 0, 0, 0, 0 },
344 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
345 1.1 skrll & ifmt_addi, { 0xb0000000 }
346 1.1 skrll },
347 1.1 skrll /* nor ${rd-rs},$rt */
348 1.1 skrll {
349 1.1 skrll { 0, 0, 0, 0 },
350 1.1 skrll { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
351 1.1 skrll & ifmt_add2, { 0x27 }
352 1.1 skrll },
353 1.1 skrll /* nor $rd,$rs,$rt */
354 1.1 skrll {
355 1.1 skrll { 0, 0, 0, 0 },
356 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
357 1.1 skrll & ifmt_add, { 0x27 }
358 1.1 skrll },
359 1.1 skrll /* or ${rd-rs},$rt */
360 1.1 skrll {
361 1.1 skrll { 0, 0, 0, 0 },
362 1.1 skrll { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
363 1.1 skrll & ifmt_add2, { 0x25 }
364 1.1 skrll },
365 1.1 skrll /* or $rd,$rs,$rt */
366 1.1 skrll {
367 1.1 skrll { 0, 0, 0, 0 },
368 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
369 1.1 skrll & ifmt_add, { 0x25 }
370 1.1 skrll },
371 1.1 skrll /* ori ${rt-rs},$lo16 */
372 1.1 skrll {
373 1.1 skrll { 0, 0, 0, 0 },
374 1.1 skrll { { MNEM, ' ', OP (RT_RS), ',', OP (LO16), 0 } },
375 1.1 skrll & ifmt_addi2, { 0x34000000 }
376 1.1 skrll },
377 1.1 skrll /* ori $rt,$rs,$lo16 */
378 1.1 skrll {
379 1.1 skrll { 0, 0, 0, 0 },
380 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
381 1.1 skrll & ifmt_addi, { 0x34000000 }
382 1.1 skrll },
383 1.1 skrll /* ram $rd,$rt,$shamt,$maskl,$maskr */
384 1.1 skrll {
385 1.1 skrll { 0, 0, 0, 0 },
386 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (SHAMT), ',', OP (MASKL), ',', OP (MASKR), 0 } },
387 1.1 skrll & ifmt_ram, { 0x9c000000 }
388 1.1 skrll },
389 1.1 skrll /* sll $rd,$rt,$shamt */
390 1.1 skrll {
391 1.1 skrll { 0, 0, 0, 0 },
392 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (SHAMT), 0 } },
393 1.1 skrll & ifmt_sll, { 0x0 }
394 1.1 skrll },
395 1.1 skrll /* sllv ${rd-rt},$rs */
396 1.1 skrll {
397 1.1 skrll { 0, 0, 0, 0 },
398 1.1 skrll { { MNEM, ' ', OP (RD_RT), ',', OP (RS), 0 } },
399 1.1 skrll & ifmt_sllv2, { 0x4 }
400 1.1 skrll },
401 1.1 skrll /* sllv $rd,$rt,$rs */
402 1.1 skrll {
403 1.1 skrll { 0, 0, 0, 0 },
404 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), 0 } },
405 1.1 skrll & ifmt_add, { 0x4 }
406 1.1 skrll },
407 1.1 skrll /* slmv ${rd-rt},$rs,$shamt */
408 1.1 skrll {
409 1.1 skrll { 0, 0, 0, 0 },
410 1.1 skrll { { MNEM, ' ', OP (RD_RT), ',', OP (RS), ',', OP (SHAMT), 0 } },
411 1.1 skrll & ifmt_slmv2, { 0x1 }
412 1.1 skrll },
413 1.1 skrll /* slmv $rd,$rt,$rs,$shamt */
414 1.1 skrll {
415 1.1 skrll { 0, 0, 0, 0 },
416 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), ',', OP (SHAMT), 0 } },
417 1.1 skrll & ifmt_slmv, { 0x1 }
418 1.1 skrll },
419 1.1 skrll /* slt ${rd-rs},$rt */
420 1.1 skrll {
421 1.1 skrll { 0, 0, 0, 0 },
422 1.1 skrll { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
423 1.1 skrll & ifmt_add2, { 0x2a }
424 1.1 skrll },
425 1.1 skrll /* slt $rd,$rs,$rt */
426 1.1 skrll {
427 1.1 skrll { 0, 0, 0, 0 },
428 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
429 1.1 skrll & ifmt_add, { 0x2a }
430 1.1 skrll },
431 1.1 skrll /* slti ${rt-rs},$imm */
432 1.1 skrll {
433 1.1 skrll { 0, 0, 0, 0 },
434 1.1 skrll { { MNEM, ' ', OP (RT_RS), ',', OP (IMM), 0 } },
435 1.1 skrll & ifmt_slti2, { 0x28000000 }
436 1.1 skrll },
437 1.1 skrll /* slti $rt,$rs,$imm */
438 1.1 skrll {
439 1.1 skrll { 0, 0, 0, 0 },
440 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (IMM), 0 } },
441 1.1 skrll & ifmt_slti, { 0x28000000 }
442 1.1 skrll },
443 1.1 skrll /* sltiu ${rt-rs},$imm */
444 1.1 skrll {
445 1.1 skrll { 0, 0, 0, 0 },
446 1.1 skrll { { MNEM, ' ', OP (RT_RS), ',', OP (IMM), 0 } },
447 1.1 skrll & ifmt_slti2, { 0x2c000000 }
448 1.1 skrll },
449 1.1 skrll /* sltiu $rt,$rs,$imm */
450 1.1 skrll {
451 1.1 skrll { 0, 0, 0, 0 },
452 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (IMM), 0 } },
453 1.1 skrll & ifmt_slti, { 0x2c000000 }
454 1.1 skrll },
455 1.1 skrll /* sltu ${rd-rs},$rt */
456 1.1 skrll {
457 1.1 skrll { 0, 0, 0, 0 },
458 1.1 skrll { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
459 1.1 skrll & ifmt_add2, { 0x2b }
460 1.1 skrll },
461 1.1 skrll /* sltu $rd,$rs,$rt */
462 1.1 skrll {
463 1.1 skrll { 0, 0, 0, 0 },
464 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
465 1.1 skrll & ifmt_add, { 0x2b }
466 1.1 skrll },
467 1.1 skrll /* sra ${rd-rt},$shamt */
468 1.1 skrll {
469 1.1 skrll { 0, 0, 0, 0 },
470 1.1 skrll { { MNEM, ' ', OP (RD_RT), ',', OP (SHAMT), 0 } },
471 1.1 skrll & ifmt_sra2, { 0x3 }
472 1.1 skrll },
473 1.1 skrll /* sra $rd,$rt,$shamt */
474 1.1 skrll {
475 1.1 skrll { 0, 0, 0, 0 },
476 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (SHAMT), 0 } },
477 1.1 skrll & ifmt_sll, { 0x3 }
478 1.1 skrll },
479 1.1 skrll /* srav ${rd-rt},$rs */
480 1.1 skrll {
481 1.1 skrll { 0, 0, 0, 0 },
482 1.1 skrll { { MNEM, ' ', OP (RD_RT), ',', OP (RS), 0 } },
483 1.1 skrll & ifmt_sllv2, { 0x7 }
484 1.1 skrll },
485 1.1 skrll /* srav $rd,$rt,$rs */
486 1.1 skrll {
487 1.1 skrll { 0, 0, 0, 0 },
488 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), 0 } },
489 1.1 skrll & ifmt_add, { 0x7 }
490 1.1 skrll },
491 1.1 skrll /* srl $rd,$rt,$shamt */
492 1.1 skrll {
493 1.1 skrll { 0, 0, 0, 0 },
494 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (SHAMT), 0 } },
495 1.1 skrll & ifmt_sll, { 0x2 }
496 1.1 skrll },
497 1.1 skrll /* srlv ${rd-rt},$rs */
498 1.1 skrll {
499 1.1 skrll { 0, 0, 0, 0 },
500 1.1 skrll { { MNEM, ' ', OP (RD_RT), ',', OP (RS), 0 } },
501 1.1 skrll & ifmt_sllv2, { 0x6 }
502 1.1 skrll },
503 1.1 skrll /* srlv $rd,$rt,$rs */
504 1.1 skrll {
505 1.1 skrll { 0, 0, 0, 0 },
506 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), 0 } },
507 1.1 skrll & ifmt_add, { 0x6 }
508 1.1 skrll },
509 1.1 skrll /* srmv ${rd-rt},$rs,$shamt */
510 1.1 skrll {
511 1.1 skrll { 0, 0, 0, 0 },
512 1.1 skrll { { MNEM, ' ', OP (RD_RT), ',', OP (RS), ',', OP (SHAMT), 0 } },
513 1.1 skrll & ifmt_slmv2, { 0x5 }
514 1.1 skrll },
515 1.1 skrll /* srmv $rd,$rt,$rs,$shamt */
516 1.1 skrll {
517 1.1 skrll { 0, 0, 0, 0 },
518 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), ',', OP (SHAMT), 0 } },
519 1.1 skrll & ifmt_slmv, { 0x5 }
520 1.1 skrll },
521 1.1 skrll /* sub ${rd-rs},$rt */
522 1.1 skrll {
523 1.1 skrll { 0, 0, 0, 0 },
524 1.1 skrll { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
525 1.1 skrll & ifmt_add2, { 0x22 }
526 1.1 skrll },
527 1.1 skrll /* sub $rd,$rs,$rt */
528 1.1 skrll {
529 1.1 skrll { 0, 0, 0, 0 },
530 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
531 1.1 skrll & ifmt_add, { 0x22 }
532 1.1 skrll },
533 1.1 skrll /* subu ${rd-rs},$rt */
534 1.1 skrll {
535 1.1 skrll { 0, 0, 0, 0 },
536 1.1 skrll { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
537 1.1 skrll & ifmt_add2, { 0x23 }
538 1.1 skrll },
539 1.1 skrll /* subu $rd,$rs,$rt */
540 1.1 skrll {
541 1.1 skrll { 0, 0, 0, 0 },
542 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
543 1.1 skrll & ifmt_add, { 0x23 }
544 1.1 skrll },
545 1.1 skrll /* xor ${rd-rs},$rt */
546 1.1 skrll {
547 1.1 skrll { 0, 0, 0, 0 },
548 1.1 skrll { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
549 1.1 skrll & ifmt_add2, { 0x26 }
550 1.1 skrll },
551 1.1 skrll /* xor $rd,$rs,$rt */
552 1.1 skrll {
553 1.1 skrll { 0, 0, 0, 0 },
554 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
555 1.1 skrll & ifmt_add, { 0x26 }
556 1.1 skrll },
557 1.1 skrll /* xori ${rt-rs},$lo16 */
558 1.1 skrll {
559 1.1 skrll { 0, 0, 0, 0 },
560 1.1 skrll { { MNEM, ' ', OP (RT_RS), ',', OP (LO16), 0 } },
561 1.1 skrll & ifmt_addi2, { 0x38000000 }
562 1.1 skrll },
563 1.1 skrll /* xori $rt,$rs,$lo16 */
564 1.1 skrll {
565 1.1 skrll { 0, 0, 0, 0 },
566 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
567 1.1 skrll & ifmt_addi, { 0x38000000 }
568 1.1 skrll },
569 1.1 skrll /* bbi $rs($bitnum),$offset */
570 1.1 skrll {
571 1.1 skrll { 0, 0, 0, 0 },
572 1.1 skrll { { MNEM, ' ', OP (RS), '(', OP (BITNUM), ')', ',', OP (OFFSET), 0 } },
573 1.1 skrll & ifmt_bbi, { 0x70000000 }
574 1.1 skrll },
575 1.1 skrll /* bbin $rs($bitnum),$offset */
576 1.1 skrll {
577 1.1 skrll { 0, 0, 0, 0 },
578 1.1 skrll { { MNEM, ' ', OP (RS), '(', OP (BITNUM), ')', ',', OP (OFFSET), 0 } },
579 1.1 skrll & ifmt_bbi, { 0x78000000 }
580 1.1 skrll },
581 1.1 skrll /* bbv $rs,$rt,$offset */
582 1.1 skrll {
583 1.1 skrll { 0, 0, 0, 0 },
584 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
585 1.1 skrll & ifmt_bbv, { 0x74000000 }
586 1.1 skrll },
587 1.1 skrll /* bbvn $rs,$rt,$offset */
588 1.1 skrll {
589 1.1 skrll { 0, 0, 0, 0 },
590 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
591 1.1 skrll & ifmt_bbv, { 0x7c000000 }
592 1.1 skrll },
593 1.1 skrll /* beq $rs,$rt,$offset */
594 1.1 skrll {
595 1.1 skrll { 0, 0, 0, 0 },
596 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
597 1.1 skrll & ifmt_bbv, { 0x10000000 }
598 1.1 skrll },
599 1.1 skrll /* beql $rs,$rt,$offset */
600 1.1 skrll {
601 1.1 skrll { 0, 0, 0, 0 },
602 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
603 1.1 skrll & ifmt_bbv, { 0x50000000 }
604 1.1 skrll },
605 1.1 skrll /* bgez $rs,$offset */
606 1.1 skrll {
607 1.1 skrll { 0, 0, 0, 0 },
608 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
609 1.1 skrll & ifmt_bgez, { 0x4010000 }
610 1.1 skrll },
611 1.1 skrll /* bgezal $rs,$offset */
612 1.1 skrll {
613 1.1 skrll { 0, 0, 0, 0 },
614 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
615 1.1 skrll & ifmt_bgez, { 0x4110000 }
616 1.1 skrll },
617 1.1 skrll /* bgezall $rs,$offset */
618 1.1 skrll {
619 1.1 skrll { 0, 0, 0, 0 },
620 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
621 1.1 skrll & ifmt_bgez, { 0x4130000 }
622 1.1 skrll },
623 1.1 skrll /* bgezl $rs,$offset */
624 1.1 skrll {
625 1.1 skrll { 0, 0, 0, 0 },
626 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
627 1.1 skrll & ifmt_bgez, { 0x4030000 }
628 1.1 skrll },
629 1.1 skrll /* bltz $rs,$offset */
630 1.1 skrll {
631 1.1 skrll { 0, 0, 0, 0 },
632 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
633 1.1 skrll & ifmt_bgez, { 0x4000000 }
634 1.1 skrll },
635 1.1 skrll /* bltzl $rs,$offset */
636 1.1 skrll {
637 1.1 skrll { 0, 0, 0, 0 },
638 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
639 1.1 skrll & ifmt_bgez, { 0x4020000 }
640 1.1 skrll },
641 1.1 skrll /* bltzal $rs,$offset */
642 1.1 skrll {
643 1.1 skrll { 0, 0, 0, 0 },
644 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
645 1.1 skrll & ifmt_bgez, { 0x4100000 }
646 1.1 skrll },
647 1.1 skrll /* bltzall $rs,$offset */
648 1.1 skrll {
649 1.1 skrll { 0, 0, 0, 0 },
650 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
651 1.1 skrll & ifmt_bgez, { 0x4120000 }
652 1.1 skrll },
653 1.1 skrll /* bmb0 $rs,$rt,$offset */
654 1.1 skrll {
655 1.1 skrll { 0, 0, 0, 0 },
656 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
657 1.1 skrll & ifmt_bbv, { 0x60000000 }
658 1.1 skrll },
659 1.1 skrll /* bmb1 $rs,$rt,$offset */
660 1.1 skrll {
661 1.1 skrll { 0, 0, 0, 0 },
662 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
663 1.1 skrll & ifmt_bbv, { 0x64000000 }
664 1.1 skrll },
665 1.1 skrll /* bmb2 $rs,$rt,$offset */
666 1.1 skrll {
667 1.1 skrll { 0, 0, 0, 0 },
668 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
669 1.1 skrll & ifmt_bbv, { 0x68000000 }
670 1.1 skrll },
671 1.1 skrll /* bmb3 $rs,$rt,$offset */
672 1.1 skrll {
673 1.1 skrll { 0, 0, 0, 0 },
674 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
675 1.1 skrll & ifmt_bbv, { 0x6c000000 }
676 1.1 skrll },
677 1.1 skrll /* bne $rs,$rt,$offset */
678 1.1 skrll {
679 1.1 skrll { 0, 0, 0, 0 },
680 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
681 1.1 skrll & ifmt_bbv, { 0x14000000 }
682 1.1 skrll },
683 1.1 skrll /* bnel $rs,$rt,$offset */
684 1.1 skrll {
685 1.1 skrll { 0, 0, 0, 0 },
686 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
687 1.1 skrll & ifmt_bbv, { 0x54000000 }
688 1.1 skrll },
689 1.1 skrll /* jalr $rd,$rs */
690 1.1 skrll {
691 1.1 skrll { 0, 0, 0, 0 },
692 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), 0 } },
693 1.1 skrll & ifmt_jalr, { 0x9 }
694 1.1 skrll },
695 1.1 skrll /* jr $rs */
696 1.1 skrll {
697 1.1 skrll { 0, 0, 0, 0 },
698 1.1 skrll { { MNEM, ' ', OP (RS), 0 } },
699 1.1 skrll & ifmt_jr, { 0x8 }
700 1.1 skrll },
701 1.1 skrll /* lb $rt,$lo16($base) */
702 1.1 skrll {
703 1.1 skrll { 0, 0, 0, 0 },
704 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
705 1.1 skrll & ifmt_lb, { 0x80000000 }
706 1.1 skrll },
707 1.1 skrll /* lbu $rt,$lo16($base) */
708 1.1 skrll {
709 1.1 skrll { 0, 0, 0, 0 },
710 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
711 1.1 skrll & ifmt_lb, { 0x90000000 }
712 1.1 skrll },
713 1.1 skrll /* lh $rt,$lo16($base) */
714 1.1 skrll {
715 1.1 skrll { 0, 0, 0, 0 },
716 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
717 1.1 skrll & ifmt_lb, { 0x84000000 }
718 1.1 skrll },
719 1.1 skrll /* lhu $rt,$lo16($base) */
720 1.1 skrll {
721 1.1 skrll { 0, 0, 0, 0 },
722 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
723 1.1 skrll & ifmt_lb, { 0x94000000 }
724 1.1 skrll },
725 1.1 skrll /* lui $rt,$hi16 */
726 1.1 skrll {
727 1.1 skrll { 0, 0, 0, 0 },
728 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (HI16), 0 } },
729 1.1 skrll & ifmt_lui, { 0x3c000000 }
730 1.1 skrll },
731 1.1 skrll /* lw $rt,$lo16($base) */
732 1.1 skrll {
733 1.1 skrll { 0, 0, 0, 0 },
734 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
735 1.1 skrll & ifmt_lb, { 0x8c000000 }
736 1.1 skrll },
737 1.1 skrll /* sb $rt,$lo16($base) */
738 1.1 skrll {
739 1.1 skrll { 0, 0, 0, 0 },
740 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
741 1.1 skrll & ifmt_lb, { 0xa0000000 }
742 1.1 skrll },
743 1.1 skrll /* sh $rt,$lo16($base) */
744 1.1 skrll {
745 1.1 skrll { 0, 0, 0, 0 },
746 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
747 1.1 skrll & ifmt_lb, { 0xa4000000 }
748 1.1 skrll },
749 1.1 skrll /* sw $rt,$lo16($base) */
750 1.1 skrll {
751 1.1 skrll { 0, 0, 0, 0 },
752 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
753 1.1 skrll & ifmt_lb, { 0xac000000 }
754 1.1 skrll },
755 1.1 skrll /* break */
756 1.1 skrll {
757 1.1 skrll { 0, 0, 0, 0 },
758 1.1 skrll { { MNEM, 0 } },
759 1.1 skrll & ifmt_break, { 0xd }
760 1.1 skrll },
761 1.1 skrll /* syscall */
762 1.1 skrll {
763 1.1 skrll { 0, 0, 0, 0 },
764 1.1 skrll { { MNEM, 0 } },
765 1.1 skrll & ifmt_syscall, { 0xc }
766 1.1 skrll },
767 1.1 skrll /* andoui $rt,$rs,$hi16 */
768 1.1 skrll {
769 1.1 skrll { 0, 0, 0, 0 },
770 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (HI16), 0 } },
771 1.1 skrll & ifmt_andoui, { 0xfc000000 }
772 1.1 skrll },
773 1.1 skrll /* andoui ${rt-rs},$hi16 */
774 1.1 skrll {
775 1.1 skrll { 0, 0, 0, 0 },
776 1.1 skrll { { MNEM, ' ', OP (RT_RS), ',', OP (HI16), 0 } },
777 1.1 skrll & ifmt_andoui2, { 0xfc000000 }
778 1.1 skrll },
779 1.1 skrll /* orui ${rt-rs},$hi16 */
780 1.1 skrll {
781 1.1 skrll { 0, 0, 0, 0 },
782 1.1 skrll { { MNEM, ' ', OP (RT_RS), ',', OP (HI16), 0 } },
783 1.1 skrll & ifmt_andoui2, { 0xbc000000 }
784 1.1 skrll },
785 1.1 skrll /* orui $rt,$rs,$hi16 */
786 1.1 skrll {
787 1.1 skrll { 0, 0, 0, 0 },
788 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (HI16), 0 } },
789 1.1 skrll & ifmt_andoui, { 0xbc000000 }
790 1.1 skrll },
791 1.1 skrll /* bgtz $rs,$offset */
792 1.1 skrll {
793 1.1 skrll { 0, 0, 0, 0 },
794 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
795 1.1 skrll & ifmt_bgez, { 0x1c000000 }
796 1.1 skrll },
797 1.1 skrll /* bgtzl $rs,$offset */
798 1.1 skrll {
799 1.1 skrll { 0, 0, 0, 0 },
800 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
801 1.1 skrll & ifmt_bgez, { 0x5c000000 }
802 1.1 skrll },
803 1.1 skrll /* blez $rs,$offset */
804 1.1 skrll {
805 1.1 skrll { 0, 0, 0, 0 },
806 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
807 1.1 skrll & ifmt_bgez, { 0x18000000 }
808 1.1 skrll },
809 1.1 skrll /* blezl $rs,$offset */
810 1.1 skrll {
811 1.1 skrll { 0, 0, 0, 0 },
812 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
813 1.1 skrll & ifmt_bgez, { 0x58000000 }
814 1.1 skrll },
815 1.1 skrll /* mrgb $rd,$rs,$rt,$mask */
816 1.1 skrll {
817 1.1 skrll { 0, 0, 0, 0 },
818 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (MASK), 0 } },
819 1.1 skrll & ifmt_mrgb, { 0x2d }
820 1.1 skrll },
821 1.1 skrll /* mrgb ${rd-rs},$rt,$mask */
822 1.1 skrll {
823 1.1 skrll { 0, 0, 0, 0 },
824 1.1 skrll { { MNEM, ' ', OP (RD_RS), ',', OP (RT), ',', OP (MASK), 0 } },
825 1.1 skrll & ifmt_mrgb2, { 0x2d }
826 1.1 skrll },
827 1.1 skrll /* bctxt $rs,$offset */
828 1.1 skrll {
829 1.1 skrll { 0, 0, 0, 0 },
830 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
831 1.1 skrll & ifmt_bgez, { 0x4060000 }
832 1.1 skrll },
833 1.1 skrll /* bc0f $offset */
834 1.1 skrll {
835 1.1 skrll { 0, 0, 0, 0 },
836 1.1 skrll { { MNEM, ' ', OP (OFFSET), 0 } },
837 1.1 skrll & ifmt_bc0f, { 0x41000000 }
838 1.1 skrll },
839 1.1 skrll /* bc0fl $offset */
840 1.1 skrll {
841 1.1 skrll { 0, 0, 0, 0 },
842 1.1 skrll { { MNEM, ' ', OP (OFFSET), 0 } },
843 1.1 skrll & ifmt_bc0f, { 0x41020000 }
844 1.1 skrll },
845 1.1 skrll /* bc3f $offset */
846 1.1 skrll {
847 1.1 skrll { 0, 0, 0, 0 },
848 1.1 skrll { { MNEM, ' ', OP (OFFSET), 0 } },
849 1.1 skrll & ifmt_bc0f, { 0x4d000000 }
850 1.1 skrll },
851 1.1 skrll /* bc3fl $offset */
852 1.1 skrll {
853 1.1 skrll { 0, 0, 0, 0 },
854 1.1 skrll { { MNEM, ' ', OP (OFFSET), 0 } },
855 1.1 skrll & ifmt_bc0f, { 0x4d020000 }
856 1.1 skrll },
857 1.1 skrll /* bc0t $offset */
858 1.1 skrll {
859 1.1 skrll { 0, 0, 0, 0 },
860 1.1 skrll { { MNEM, ' ', OP (OFFSET), 0 } },
861 1.1 skrll & ifmt_bc0f, { 0x41010000 }
862 1.1 skrll },
863 1.1 skrll /* bc0tl $offset */
864 1.1 skrll {
865 1.1 skrll { 0, 0, 0, 0 },
866 1.1 skrll { { MNEM, ' ', OP (OFFSET), 0 } },
867 1.1 skrll & ifmt_bc0f, { 0x41030000 }
868 1.1 skrll },
869 1.1 skrll /* bc3t $offset */
870 1.1 skrll {
871 1.1 skrll { 0, 0, 0, 0 },
872 1.1 skrll { { MNEM, ' ', OP (OFFSET), 0 } },
873 1.1 skrll & ifmt_bc0f, { 0x4d010000 }
874 1.1 skrll },
875 1.1 skrll /* bc3tl $offset */
876 1.1 skrll {
877 1.1 skrll { 0, 0, 0, 0 },
878 1.1 skrll { { MNEM, ' ', OP (OFFSET), 0 } },
879 1.1 skrll & ifmt_bc0f, { 0x4d030000 }
880 1.1 skrll },
881 1.1 skrll /* cfc0 $rt,$rd */
882 1.1 skrll {
883 1.1 skrll { 0, 0, 0, 0 },
884 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
885 1.1 skrll & ifmt_cfc0, { 0x40400000 }
886 1.1 skrll },
887 1.1 skrll /* cfc1 $rt,$rd */
888 1.1 skrll {
889 1.1 skrll { 0, 0, 0, 0 },
890 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
891 1.1 skrll & ifmt_cfc0, { 0x44400000 }
892 1.1 skrll },
893 1.1 skrll /* cfc2 $rt,$rd */
894 1.1 skrll {
895 1.1 skrll { 0, 0, 0, 0 },
896 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
897 1.1 skrll & ifmt_cfc0, { 0x48400000 }
898 1.1 skrll },
899 1.1 skrll /* cfc3 $rt,$rd */
900 1.1 skrll {
901 1.1 skrll { 0, 0, 0, 0 },
902 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
903 1.1 skrll & ifmt_cfc0, { 0x4c400000 }
904 1.1 skrll },
905 1.1 skrll /* chkhdr $rd,$rt */
906 1.1 skrll {
907 1.1 skrll { 0, 0, 0, 0 },
908 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
909 1.1 skrll & ifmt_chkhdr, { 0x4d200000 }
910 1.1 skrll },
911 1.1 skrll /* ctc0 $rt,$rd */
912 1.1 skrll {
913 1.1 skrll { 0, 0, 0, 0 },
914 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
915 1.1 skrll & ifmt_cfc0, { 0x40c00000 }
916 1.1 skrll },
917 1.1 skrll /* ctc1 $rt,$rd */
918 1.1 skrll {
919 1.1 skrll { 0, 0, 0, 0 },
920 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
921 1.1 skrll & ifmt_cfc0, { 0x44c00000 }
922 1.1 skrll },
923 1.1 skrll /* ctc2 $rt,$rd */
924 1.1 skrll {
925 1.1 skrll { 0, 0, 0, 0 },
926 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
927 1.1 skrll & ifmt_cfc0, { 0x48c00000 }
928 1.1 skrll },
929 1.1 skrll /* ctc3 $rt,$rd */
930 1.1 skrll {
931 1.1 skrll { 0, 0, 0, 0 },
932 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
933 1.1 skrll & ifmt_cfc0, { 0x4cc00000 }
934 1.1 skrll },
935 1.1 skrll /* jcr $rs */
936 1.1 skrll {
937 1.1 skrll { 0, 0, 0, 0 },
938 1.1 skrll { { MNEM, ' ', OP (RS), 0 } },
939 1.1 skrll & ifmt_jr, { 0xa }
940 1.1 skrll },
941 1.1 skrll /* luc32 $rt,$rd */
942 1.1 skrll {
943 1.1 skrll { 0, 0, 0, 0 },
944 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
945 1.1 skrll & ifmt_chkhdr, { 0x48200003 }
946 1.1 skrll },
947 1.1 skrll /* luc32l $rt,$rd */
948 1.1 skrll {
949 1.1 skrll { 0, 0, 0, 0 },
950 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
951 1.1 skrll & ifmt_chkhdr, { 0x48200007 }
952 1.1 skrll },
953 1.1 skrll /* luc64 $rt,$rd */
954 1.1 skrll {
955 1.1 skrll { 0, 0, 0, 0 },
956 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
957 1.1 skrll & ifmt_chkhdr, { 0x4820000b }
958 1.1 skrll },
959 1.1 skrll /* luc64l $rt,$rd */
960 1.1 skrll {
961 1.1 skrll { 0, 0, 0, 0 },
962 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
963 1.1 skrll & ifmt_chkhdr, { 0x4820000f }
964 1.1 skrll },
965 1.1 skrll /* luk $rt,$rd */
966 1.1 skrll {
967 1.1 skrll { 0, 0, 0, 0 },
968 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
969 1.1 skrll & ifmt_chkhdr, { 0x48200008 }
970 1.1 skrll },
971 1.1 skrll /* lulck $rt */
972 1.1 skrll {
973 1.1 skrll { 0, 0, 0, 0 },
974 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
975 1.1 skrll & ifmt_lulck, { 0x48200004 }
976 1.1 skrll },
977 1.1 skrll /* lum32 $rt,$rd */
978 1.1 skrll {
979 1.1 skrll { 0, 0, 0, 0 },
980 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
981 1.1 skrll & ifmt_chkhdr, { 0x48200002 }
982 1.1 skrll },
983 1.1 skrll /* lum32l $rt,$rd */
984 1.1 skrll {
985 1.1 skrll { 0, 0, 0, 0 },
986 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
987 1.1 skrll & ifmt_chkhdr, { 0x48200006 }
988 1.1 skrll },
989 1.1 skrll /* lum64 $rt,$rd */
990 1.1 skrll {
991 1.1 skrll { 0, 0, 0, 0 },
992 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
993 1.1 skrll & ifmt_chkhdr, { 0x4820000a }
994 1.1 skrll },
995 1.1 skrll /* lum64l $rt,$rd */
996 1.1 skrll {
997 1.1 skrll { 0, 0, 0, 0 },
998 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
999 1.1 skrll & ifmt_chkhdr, { 0x4820000e }
1000 1.1 skrll },
1001 1.1 skrll /* lur $rt,$rd */
1002 1.1 skrll {
1003 1.1 skrll { 0, 0, 0, 0 },
1004 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
1005 1.1 skrll & ifmt_chkhdr, { 0x48200001 }
1006 1.1 skrll },
1007 1.1 skrll /* lurl $rt,$rd */
1008 1.1 skrll {
1009 1.1 skrll { 0, 0, 0, 0 },
1010 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
1011 1.1 skrll & ifmt_chkhdr, { 0x48200005 }
1012 1.1 skrll },
1013 1.1 skrll /* luulck $rt */
1014 1.1 skrll {
1015 1.1 skrll { 0, 0, 0, 0 },
1016 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
1017 1.1 skrll & ifmt_lulck, { 0x48200000 }
1018 1.1 skrll },
1019 1.1 skrll /* mfc0 $rt,$rd */
1020 1.1 skrll {
1021 1.1 skrll { 0, 0, 0, 0 },
1022 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
1023 1.1 skrll & ifmt_cfc0, { 0x40000000 }
1024 1.1 skrll },
1025 1.1 skrll /* mfc1 $rt,$rd */
1026 1.1 skrll {
1027 1.1 skrll { 0, 0, 0, 0 },
1028 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
1029 1.1 skrll & ifmt_cfc0, { 0x44000000 }
1030 1.1 skrll },
1031 1.1 skrll /* mfc2 $rt,$rd */
1032 1.1 skrll {
1033 1.1 skrll { 0, 0, 0, 0 },
1034 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
1035 1.1 skrll & ifmt_cfc0, { 0x48000000 }
1036 1.1 skrll },
1037 1.1 skrll /* mfc3 $rt,$rd */
1038 1.1 skrll {
1039 1.1 skrll { 0, 0, 0, 0 },
1040 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
1041 1.1 skrll & ifmt_cfc0, { 0x4c000000 }
1042 1.1 skrll },
1043 1.1 skrll /* mtc0 $rt,$rd */
1044 1.1 skrll {
1045 1.1 skrll { 0, 0, 0, 0 },
1046 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
1047 1.1 skrll & ifmt_cfc0, { 0x40800000 }
1048 1.1 skrll },
1049 1.1 skrll /* mtc1 $rt,$rd */
1050 1.1 skrll {
1051 1.1 skrll { 0, 0, 0, 0 },
1052 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
1053 1.1 skrll & ifmt_cfc0, { 0x44800000 }
1054 1.1 skrll },
1055 1.1 skrll /* mtc2 $rt,$rd */
1056 1.1 skrll {
1057 1.1 skrll { 0, 0, 0, 0 },
1058 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
1059 1.1 skrll & ifmt_cfc0, { 0x48800000 }
1060 1.1 skrll },
1061 1.1 skrll /* mtc3 $rt,$rd */
1062 1.1 skrll {
1063 1.1 skrll { 0, 0, 0, 0 },
1064 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
1065 1.1 skrll & ifmt_cfc0, { 0x4c800000 }
1066 1.1 skrll },
1067 1.1 skrll /* pkrl $rd,$rt */
1068 1.1 skrll {
1069 1.1 skrll { 0, 0, 0, 0 },
1070 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1071 1.1 skrll & ifmt_chkhdr, { 0x4c200007 }
1072 1.1 skrll },
1073 1.1 skrll /* pkrlr1 $rt,$_index,$count */
1074 1.1 skrll {
1075 1.1 skrll { 0, 0, 0, 0 },
1076 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
1077 1.1 skrll & ifmt_pkrlr1, { 0x4fa00000 }
1078 1.1 skrll },
1079 1.1 skrll /* pkrlr30 $rt,$_index,$count */
1080 1.1 skrll {
1081 1.1 skrll { 0, 0, 0, 0 },
1082 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
1083 1.1 skrll & ifmt_pkrlr1, { 0x4fe00000 }
1084 1.1 skrll },
1085 1.1 skrll /* rb $rd,$rt */
1086 1.1 skrll {
1087 1.1 skrll { 0, 0, 0, 0 },
1088 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1089 1.1 skrll & ifmt_chkhdr, { 0x4c200004 }
1090 1.1 skrll },
1091 1.1 skrll /* rbr1 $rt,$_index,$count */
1092 1.1 skrll {
1093 1.1 skrll { 0, 0, 0, 0 },
1094 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
1095 1.1 skrll & ifmt_pkrlr1, { 0x4f000000 }
1096 1.1 skrll },
1097 1.1 skrll /* rbr30 $rt,$_index,$count */
1098 1.1 skrll {
1099 1.1 skrll { 0, 0, 0, 0 },
1100 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
1101 1.1 skrll & ifmt_pkrlr1, { 0x4f400000 }
1102 1.1 skrll },
1103 1.1 skrll /* rfe */
1104 1.1 skrll {
1105 1.1 skrll { 0, 0, 0, 0 },
1106 1.1 skrll { { MNEM, 0 } },
1107 1.1 skrll & ifmt_rfe, { 0x42000010 }
1108 1.1 skrll },
1109 1.1 skrll /* rx $rd,$rt */
1110 1.1 skrll {
1111 1.1 skrll { 0, 0, 0, 0 },
1112 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1113 1.1 skrll & ifmt_chkhdr, { 0x4c200006 }
1114 1.1 skrll },
1115 1.1 skrll /* rxr1 $rt,$_index,$count */
1116 1.1 skrll {
1117 1.1 skrll { 0, 0, 0, 0 },
1118 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
1119 1.1 skrll & ifmt_pkrlr1, { 0x4f800000 }
1120 1.1 skrll },
1121 1.1 skrll /* rxr30 $rt,$_index,$count */
1122 1.1 skrll {
1123 1.1 skrll { 0, 0, 0, 0 },
1124 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
1125 1.1 skrll & ifmt_pkrlr1, { 0x4fc00000 }
1126 1.1 skrll },
1127 1.1 skrll /* sleep */
1128 1.1 skrll {
1129 1.1 skrll { 0, 0, 0, 0 },
1130 1.1 skrll { { MNEM, 0 } },
1131 1.1 skrll & ifmt_syscall, { 0xe }
1132 1.1 skrll },
1133 1.1 skrll /* srrd $rt */
1134 1.1 skrll {
1135 1.1 skrll { 0, 0, 0, 0 },
1136 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
1137 1.1 skrll & ifmt_lulck, { 0x48200010 }
1138 1.1 skrll },
1139 1.1 skrll /* srrdl $rt */
1140 1.1 skrll {
1141 1.1 skrll { 0, 0, 0, 0 },
1142 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
1143 1.1 skrll & ifmt_lulck, { 0x48200014 }
1144 1.1 skrll },
1145 1.1 skrll /* srulck $rt */
1146 1.1 skrll {
1147 1.1 skrll { 0, 0, 0, 0 },
1148 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
1149 1.1 skrll & ifmt_lulck, { 0x48200016 }
1150 1.1 skrll },
1151 1.1 skrll /* srwr $rt,$rd */
1152 1.1 skrll {
1153 1.1 skrll { 0, 0, 0, 0 },
1154 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
1155 1.1 skrll & ifmt_chkhdr, { 0x48200011 }
1156 1.1 skrll },
1157 1.1 skrll /* srwru $rt,$rd */
1158 1.1 skrll {
1159 1.1 skrll { 0, 0, 0, 0 },
1160 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
1161 1.1 skrll & ifmt_chkhdr, { 0x48200015 }
1162 1.1 skrll },
1163 1.1 skrll /* trapqfl */
1164 1.1 skrll {
1165 1.1 skrll { 0, 0, 0, 0 },
1166 1.1 skrll { { MNEM, 0 } },
1167 1.1 skrll & ifmt_break, { 0x4c200008 }
1168 1.1 skrll },
1169 1.1 skrll /* trapqne */
1170 1.1 skrll {
1171 1.1 skrll { 0, 0, 0, 0 },
1172 1.1 skrll { { MNEM, 0 } },
1173 1.1 skrll & ifmt_break, { 0x4c200009 }
1174 1.1 skrll },
1175 1.1 skrll /* traprel $rt */
1176 1.1 skrll {
1177 1.1 skrll { 0, 0, 0, 0 },
1178 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
1179 1.1 skrll & ifmt_lulck, { 0x4c20000a }
1180 1.1 skrll },
1181 1.1 skrll /* wb $rd,$rt */
1182 1.1 skrll {
1183 1.1 skrll { 0, 0, 0, 0 },
1184 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1185 1.1 skrll & ifmt_chkhdr, { 0x4c200000 }
1186 1.1 skrll },
1187 1.1 skrll /* wbu $rd,$rt */
1188 1.1 skrll {
1189 1.1 skrll { 0, 0, 0, 0 },
1190 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1191 1.1 skrll & ifmt_chkhdr, { 0x4c200001 }
1192 1.1 skrll },
1193 1.1 skrll /* wbr1 $rt,$_index,$count */
1194 1.1 skrll {
1195 1.1 skrll { 0, 0, 0, 0 },
1196 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
1197 1.1 skrll & ifmt_pkrlr1, { 0x4e000000 }
1198 1.1 skrll },
1199 1.1 skrll /* wbr1u $rt,$_index,$count */
1200 1.1 skrll {
1201 1.1 skrll { 0, 0, 0, 0 },
1202 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
1203 1.1 skrll & ifmt_pkrlr1, { 0x4e200000 }
1204 1.1 skrll },
1205 1.1 skrll /* wbr30 $rt,$_index,$count */
1206 1.1 skrll {
1207 1.1 skrll { 0, 0, 0, 0 },
1208 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
1209 1.1 skrll & ifmt_pkrlr1, { 0x4e400000 }
1210 1.1 skrll },
1211 1.1 skrll /* wbr30u $rt,$_index,$count */
1212 1.1 skrll {
1213 1.1 skrll { 0, 0, 0, 0 },
1214 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
1215 1.1 skrll & ifmt_pkrlr1, { 0x4e600000 }
1216 1.1 skrll },
1217 1.1 skrll /* wx $rd,$rt */
1218 1.1 skrll {
1219 1.1 skrll { 0, 0, 0, 0 },
1220 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1221 1.1 skrll & ifmt_chkhdr, { 0x4c200002 }
1222 1.1 skrll },
1223 1.1 skrll /* wxu $rd,$rt */
1224 1.1 skrll {
1225 1.1 skrll { 0, 0, 0, 0 },
1226 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1227 1.1 skrll & ifmt_chkhdr, { 0x4c200003 }
1228 1.1 skrll },
1229 1.1 skrll /* wxr1 $rt,$_index,$count */
1230 1.1 skrll {
1231 1.1 skrll { 0, 0, 0, 0 },
1232 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
1233 1.1 skrll & ifmt_pkrlr1, { 0x4e800000 }
1234 1.1 skrll },
1235 1.1 skrll /* wxr1u $rt,$_index,$count */
1236 1.1 skrll {
1237 1.1 skrll { 0, 0, 0, 0 },
1238 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
1239 1.1 skrll & ifmt_pkrlr1, { 0x4ea00000 }
1240 1.1 skrll },
1241 1.1 skrll /* wxr30 $rt,$_index,$count */
1242 1.1 skrll {
1243 1.1 skrll { 0, 0, 0, 0 },
1244 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
1245 1.1 skrll & ifmt_pkrlr1, { 0x4ec00000 }
1246 1.1 skrll },
1247 1.1 skrll /* wxr30u $rt,$_index,$count */
1248 1.1 skrll {
1249 1.1 skrll { 0, 0, 0, 0 },
1250 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
1251 1.1 skrll & ifmt_pkrlr1, { 0x4ee00000 }
1252 1.1 skrll },
1253 1.1 skrll /* ldw $rt,$lo16($base) */
1254 1.1 skrll {
1255 1.1 skrll { 0, 0, 0, 0 },
1256 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
1257 1.1 skrll & ifmt_lb, { 0xc0000000 }
1258 1.1 skrll },
1259 1.1 skrll /* sdw $rt,$lo16($base) */
1260 1.1 skrll {
1261 1.1 skrll { 0, 0, 0, 0 },
1262 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
1263 1.1 skrll & ifmt_lb, { 0xe0000000 }
1264 1.1 skrll },
1265 1.1 skrll /* j $jmptarg */
1266 1.1 skrll {
1267 1.1 skrll { 0, 0, 0, 0 },
1268 1.1 skrll { { MNEM, ' ', OP (JMPTARG), 0 } },
1269 1.1 skrll & ifmt_j, { 0x8000000 }
1270 1.1 skrll },
1271 1.1 skrll /* jal $jmptarg */
1272 1.1 skrll {
1273 1.1 skrll { 0, 0, 0, 0 },
1274 1.1 skrll { { MNEM, ' ', OP (JMPTARG), 0 } },
1275 1.1 skrll & ifmt_j, { 0xc000000 }
1276 1.1 skrll },
1277 1.1 skrll /* bmb $rs,$rt,$offset */
1278 1.1 skrll {
1279 1.1 skrll { 0, 0, 0, 0 },
1280 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
1281 1.1 skrll & ifmt_bbv, { 0xb4000000 }
1282 1.1 skrll },
1283 1.1 skrll /* andoui $rt,$rs,$hi16 */
1284 1.1 skrll {
1285 1.1 skrll { 0, 0, 0, 0 },
1286 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (HI16), 0 } },
1287 1.1 skrll & ifmt_andoui, { 0xbc000000 }
1288 1.1 skrll },
1289 1.1 skrll /* andoui ${rt-rs},$hi16 */
1290 1.1 skrll {
1291 1.1 skrll { 0, 0, 0, 0 },
1292 1.1 skrll { { MNEM, ' ', OP (RT_RS), ',', OP (HI16), 0 } },
1293 1.1 skrll & ifmt_andoui2, { 0xbc000000 }
1294 1.1 skrll },
1295 1.1 skrll /* orui $rt,$rs,$hi16 */
1296 1.1 skrll {
1297 1.1 skrll { 0, 0, 0, 0 },
1298 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (HI16), 0 } },
1299 1.1 skrll & ifmt_andoui, { 0x3c000000 }
1300 1.1 skrll },
1301 1.1 skrll /* orui ${rt-rs},$hi16 */
1302 1.1 skrll {
1303 1.1 skrll { 0, 0, 0, 0 },
1304 1.1 skrll { { MNEM, ' ', OP (RT_RS), ',', OP (HI16), 0 } },
1305 1.1 skrll & ifmt_andoui2, { 0x3c000000 }
1306 1.1 skrll },
1307 1.1 skrll /* mrgb $rd,$rs,$rt,$maskq10 */
1308 1.1 skrll {
1309 1.1 skrll { 0, 0, 0, 0 },
1310 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (MASKQ10), 0 } },
1311 1.1 skrll & ifmt_mrgbq10, { 0x2d }
1312 1.1 skrll },
1313 1.1 skrll /* mrgb ${rd-rs},$rt,$maskq10 */
1314 1.1 skrll {
1315 1.1 skrll { 0, 0, 0, 0 },
1316 1.1 skrll { { MNEM, ' ', OP (RD_RS), ',', OP (RT), ',', OP (MASKQ10), 0 } },
1317 1.1 skrll & ifmt_mrgbq102, { 0x2d }
1318 1.1 skrll },
1319 1.1 skrll /* j $jmptarg */
1320 1.1 skrll {
1321 1.1 skrll { 0, 0, 0, 0 },
1322 1.1 skrll { { MNEM, ' ', OP (JMPTARG), 0 } },
1323 1.1 skrll & ifmt_jq10, { 0x8000000 }
1324 1.1 skrll },
1325 1.1 skrll /* jal $rt,$jmptarg */
1326 1.1 skrll {
1327 1.1 skrll { 0, 0, 0, 0 },
1328 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (JMPTARG), 0 } },
1329 1.1 skrll & ifmt_jalq10, { 0xc000000 }
1330 1.1 skrll },
1331 1.1 skrll /* jal $jmptarg */
1332 1.1 skrll {
1333 1.1 skrll { 0, 0, 0, 0 },
1334 1.1 skrll { { MNEM, ' ', OP (JMPTARG), 0 } },
1335 1.1 skrll & ifmt_jq10, { 0xc1f0000 }
1336 1.1 skrll },
1337 1.1 skrll /* bbil $rs($bitnum),$offset */
1338 1.1 skrll {
1339 1.1 skrll { 0, 0, 0, 0 },
1340 1.1 skrll { { MNEM, ' ', OP (RS), '(', OP (BITNUM), ')', ',', OP (OFFSET), 0 } },
1341 1.1 skrll & ifmt_bbi, { 0xf0000000 }
1342 1.1 skrll },
1343 1.1 skrll /* bbinl $rs($bitnum),$offset */
1344 1.1 skrll {
1345 1.1 skrll { 0, 0, 0, 0 },
1346 1.1 skrll { { MNEM, ' ', OP (RS), '(', OP (BITNUM), ')', ',', OP (OFFSET), 0 } },
1347 1.1 skrll & ifmt_bbi, { 0xf8000000 }
1348 1.1 skrll },
1349 1.1 skrll /* bbvl $rs,$rt,$offset */
1350 1.1 skrll {
1351 1.1 skrll { 0, 0, 0, 0 },
1352 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
1353 1.1 skrll & ifmt_bbv, { 0xf4000000 }
1354 1.1 skrll },
1355 1.1 skrll /* bbvnl $rs,$rt,$offset */
1356 1.1 skrll {
1357 1.1 skrll { 0, 0, 0, 0 },
1358 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
1359 1.1 skrll & ifmt_bbv, { 0xfc000000 }
1360 1.1 skrll },
1361 1.1 skrll /* bgtzal $rs,$offset */
1362 1.1 skrll {
1363 1.1 skrll { 0, 0, 0, 0 },
1364 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
1365 1.1 skrll & ifmt_bgez, { 0x4150000 }
1366 1.1 skrll },
1367 1.1 skrll /* bgtzall $rs,$offset */
1368 1.1 skrll {
1369 1.1 skrll { 0, 0, 0, 0 },
1370 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
1371 1.1 skrll & ifmt_bgez, { 0x4170000 }
1372 1.1 skrll },
1373 1.1 skrll /* blezal $rs,$offset */
1374 1.1 skrll {
1375 1.1 skrll { 0, 0, 0, 0 },
1376 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
1377 1.1 skrll & ifmt_bgez, { 0x4140000 }
1378 1.1 skrll },
1379 1.1 skrll /* blezall $rs,$offset */
1380 1.1 skrll {
1381 1.1 skrll { 0, 0, 0, 0 },
1382 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
1383 1.1 skrll & ifmt_bgez, { 0x4160000 }
1384 1.1 skrll },
1385 1.1 skrll /* bgtz $rs,$offset */
1386 1.1 skrll {
1387 1.1 skrll { 0, 0, 0, 0 },
1388 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
1389 1.1 skrll & ifmt_bgez, { 0x4050000 }
1390 1.1 skrll },
1391 1.1 skrll /* bgtzl $rs,$offset */
1392 1.1 skrll {
1393 1.1 skrll { 0, 0, 0, 0 },
1394 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
1395 1.1 skrll & ifmt_bgez, { 0x4070000 }
1396 1.1 skrll },
1397 1.1 skrll /* blez $rs,$offset */
1398 1.1 skrll {
1399 1.1 skrll { 0, 0, 0, 0 },
1400 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
1401 1.1 skrll & ifmt_bgez, { 0x4040000 }
1402 1.1 skrll },
1403 1.1 skrll /* blezl $rs,$offset */
1404 1.1 skrll {
1405 1.1 skrll { 0, 0, 0, 0 },
1406 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
1407 1.1 skrll & ifmt_bgez, { 0x4060000 }
1408 1.1 skrll },
1409 1.1 skrll /* bmb $rs,$rt,$offset */
1410 1.1 skrll {
1411 1.1 skrll { 0, 0, 0, 0 },
1412 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
1413 1.1 skrll & ifmt_bbv, { 0x18000000 }
1414 1.1 skrll },
1415 1.1 skrll /* bmbl $rs,$rt,$offset */
1416 1.1 skrll {
1417 1.1 skrll { 0, 0, 0, 0 },
1418 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
1419 1.1 skrll & ifmt_bbv, { 0x58000000 }
1420 1.1 skrll },
1421 1.1 skrll /* bri $rs,$offset */
1422 1.1 skrll {
1423 1.1 skrll { 0, 0, 0, 0 },
1424 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
1425 1.1 skrll & ifmt_bgez, { 0x4080000 }
1426 1.1 skrll },
1427 1.1 skrll /* brv $rs,$offset */
1428 1.1 skrll {
1429 1.1 skrll { 0, 0, 0, 0 },
1430 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
1431 1.1 skrll & ifmt_bgez, { 0x4090000 }
1432 1.1 skrll },
1433 1.1 skrll /* bctx $rs,$offset */
1434 1.1 skrll {
1435 1.1 skrll { 0, 0, 0, 0 },
1436 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
1437 1.1 skrll & ifmt_bgez, { 0x40c0000 }
1438 1.1 skrll },
1439 1.1 skrll /* yield */
1440 1.1 skrll {
1441 1.1 skrll { 0, 0, 0, 0 },
1442 1.1 skrll { { MNEM, 0 } },
1443 1.1 skrll & ifmt_break, { 0xe }
1444 1.1 skrll },
1445 1.1 skrll /* crc32 $rd,$rs,$rt */
1446 1.1 skrll {
1447 1.1 skrll { 0, 0, 0, 0 },
1448 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1449 1.1 skrll & ifmt_add, { 0x4c000014 }
1450 1.1 skrll },
1451 1.1 skrll /* crc32b $rd,$rs,$rt */
1452 1.1 skrll {
1453 1.1 skrll { 0, 0, 0, 0 },
1454 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1455 1.1 skrll & ifmt_add, { 0x4c000015 }
1456 1.1 skrll },
1457 1.1 skrll /* cnt1s $rd,$rs */
1458 1.1 skrll {
1459 1.1 skrll { 0, 0, 0, 0 },
1460 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), 0 } },
1461 1.1 skrll & ifmt_add, { 0x2e }
1462 1.1 skrll },
1463 1.1 skrll /* avail $rd */
1464 1.1 skrll {
1465 1.1 skrll { 0, 0, 0, 0 },
1466 1.1 skrll { { MNEM, ' ', OP (RD), 0 } },
1467 1.1 skrll & ifmt_avail, { 0x4c000024 }
1468 1.1 skrll },
1469 1.1 skrll /* free $rd,$rs */
1470 1.1 skrll {
1471 1.1 skrll { 0, 0, 0, 0 },
1472 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), 0 } },
1473 1.1 skrll & ifmt_jalr, { 0x4c000025 }
1474 1.1 skrll },
1475 1.1 skrll /* tstod $rd,$rs */
1476 1.1 skrll {
1477 1.1 skrll { 0, 0, 0, 0 },
1478 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), 0 } },
1479 1.1 skrll & ifmt_jalr, { 0x4c000027 }
1480 1.1 skrll },
1481 1.1 skrll /* cmphdr $rd */
1482 1.1 skrll {
1483 1.1 skrll { 0, 0, 0, 0 },
1484 1.1 skrll { { MNEM, ' ', OP (RD), 0 } },
1485 1.1 skrll & ifmt_avail, { 0x4c00002c }
1486 1.1 skrll },
1487 1.1 skrll /* mcid $rd,$rt */
1488 1.1 skrll {
1489 1.1 skrll { 0, 0, 0, 0 },
1490 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1491 1.1 skrll & ifmt_chkhdr, { 0x4c000020 }
1492 1.1 skrll },
1493 1.1 skrll /* dba $rd */
1494 1.1 skrll {
1495 1.1 skrll { 0, 0, 0, 0 },
1496 1.1 skrll { { MNEM, ' ', OP (RD), 0 } },
1497 1.1 skrll & ifmt_avail, { 0x4c000022 }
1498 1.1 skrll },
1499 1.1 skrll /* dbd $rd,$rs,$rt */
1500 1.1 skrll {
1501 1.1 skrll { 0, 0, 0, 0 },
1502 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1503 1.1 skrll & ifmt_add, { 0x4c000021 }
1504 1.1 skrll },
1505 1.1 skrll /* dpwt $rd,$rs */
1506 1.1 skrll {
1507 1.1 skrll { 0, 0, 0, 0 },
1508 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), 0 } },
1509 1.1 skrll & ifmt_jalr, { 0x4c000023 }
1510 1.1 skrll },
1511 1.1 skrll /* chkhdr $rd,$rs */
1512 1.1 skrll {
1513 1.1 skrll { 0, 0, 0, 0 },
1514 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), 0 } },
1515 1.1 skrll & ifmt_jalr, { 0x4c000026 }
1516 1.1 skrll },
1517 1.1 skrll /* rba $rd,$rs,$rt */
1518 1.1 skrll {
1519 1.1 skrll { 0, 0, 0, 0 },
1520 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1521 1.1 skrll & ifmt_add, { 0x4c000008 }
1522 1.1 skrll },
1523 1.1 skrll /* rbal $rd,$rs,$rt */
1524 1.1 skrll {
1525 1.1 skrll { 0, 0, 0, 0 },
1526 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1527 1.1 skrll & ifmt_add, { 0x4c000009 }
1528 1.1 skrll },
1529 1.1 skrll /* rbar $rd,$rs,$rt */
1530 1.1 skrll {
1531 1.1 skrll { 0, 0, 0, 0 },
1532 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1533 1.1 skrll & ifmt_add, { 0x4c00000a }
1534 1.1 skrll },
1535 1.1 skrll /* wba $rd,$rs,$rt */
1536 1.1 skrll {
1537 1.1 skrll { 0, 0, 0, 0 },
1538 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1539 1.1 skrll & ifmt_add, { 0x4c000010 }
1540 1.1 skrll },
1541 1.1 skrll /* wbau $rd,$rs,$rt */
1542 1.1 skrll {
1543 1.1 skrll { 0, 0, 0, 0 },
1544 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1545 1.1 skrll & ifmt_add, { 0x4c000011 }
1546 1.1 skrll },
1547 1.1 skrll /* wbac $rd,$rs,$rt */
1548 1.1 skrll {
1549 1.1 skrll { 0, 0, 0, 0 },
1550 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1551 1.1 skrll & ifmt_add, { 0x4c000012 }
1552 1.1 skrll },
1553 1.1 skrll /* rbi $rd,$rs,$rt,$bytecount */
1554 1.1 skrll {
1555 1.1 skrll { 0, 0, 0, 0 },
1556 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
1557 1.1 skrll & ifmt_rbi, { 0x4c000200 }
1558 1.1 skrll },
1559 1.1 skrll /* rbil $rd,$rs,$rt,$bytecount */
1560 1.1 skrll {
1561 1.1 skrll { 0, 0, 0, 0 },
1562 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
1563 1.1 skrll & ifmt_rbi, { 0x4c000300 }
1564 1.1 skrll },
1565 1.1 skrll /* rbir $rd,$rs,$rt,$bytecount */
1566 1.1 skrll {
1567 1.1 skrll { 0, 0, 0, 0 },
1568 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
1569 1.1 skrll & ifmt_rbi, { 0x4c000100 }
1570 1.1 skrll },
1571 1.1 skrll /* wbi $rd,$rs,$rt,$bytecount */
1572 1.1 skrll {
1573 1.1 skrll { 0, 0, 0, 0 },
1574 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
1575 1.1 skrll & ifmt_rbi, { 0x4c000600 }
1576 1.1 skrll },
1577 1.1 skrll /* wbic $rd,$rs,$rt,$bytecount */
1578 1.1 skrll {
1579 1.1 skrll { 0, 0, 0, 0 },
1580 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
1581 1.1 skrll & ifmt_rbi, { 0x4c000500 }
1582 1.1 skrll },
1583 1.1 skrll /* wbiu $rd,$rs,$rt,$bytecount */
1584 1.1 skrll {
1585 1.1 skrll { 0, 0, 0, 0 },
1586 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
1587 1.1 skrll & ifmt_rbi, { 0x4c000700 }
1588 1.1 skrll },
1589 1.1 skrll /* pkrli $rd,$rs,$rt,$bytecount */
1590 1.1 skrll {
1591 1.1 skrll { 0, 0, 0, 0 },
1592 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
1593 1.1 skrll & ifmt_rbi, { 0x48000000 }
1594 1.1 skrll },
1595 1.1 skrll /* pkrlih $rd,$rs,$rt,$bytecount */
1596 1.1 skrll {
1597 1.1 skrll { 0, 0, 0, 0 },
1598 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
1599 1.1 skrll & ifmt_rbi, { 0x48000200 }
1600 1.1 skrll },
1601 1.1 skrll /* pkrliu $rd,$rs,$rt,$bytecount */
1602 1.1 skrll {
1603 1.1 skrll { 0, 0, 0, 0 },
1604 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
1605 1.1 skrll & ifmt_rbi, { 0x48000100 }
1606 1.1 skrll },
1607 1.1 skrll /* pkrlic $rd,$rs,$rt,$bytecount */
1608 1.1 skrll {
1609 1.1 skrll { 0, 0, 0, 0 },
1610 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
1611 1.1 skrll & ifmt_rbi, { 0x48000300 }
1612 1.1 skrll },
1613 1.1 skrll /* pkrla $rd,$rs,$rt */
1614 1.1 skrll {
1615 1.1 skrll { 0, 0, 0, 0 },
1616 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1617 1.1 skrll & ifmt_add, { 0x4c000028 }
1618 1.1 skrll },
1619 1.1 skrll /* pkrlau $rd,$rs,$rt */
1620 1.1 skrll {
1621 1.1 skrll { 0, 0, 0, 0 },
1622 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1623 1.1 skrll & ifmt_add, { 0x4c000029 }
1624 1.1 skrll },
1625 1.1 skrll /* pkrlah $rd,$rs,$rt */
1626 1.1 skrll {
1627 1.1 skrll { 0, 0, 0, 0 },
1628 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1629 1.1 skrll & ifmt_add, { 0x4c00002a }
1630 1.1 skrll },
1631 1.1 skrll /* pkrlac $rd,$rs,$rt */
1632 1.1 skrll {
1633 1.1 skrll { 0, 0, 0, 0 },
1634 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1635 1.1 skrll & ifmt_add, { 0x4c00002b }
1636 1.1 skrll },
1637 1.1 skrll /* lock $rd,$rt */
1638 1.1 skrll {
1639 1.1 skrll { 0, 0, 0, 0 },
1640 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1641 1.1 skrll & ifmt_chkhdr, { 0x4c000001 }
1642 1.1 skrll },
1643 1.1 skrll /* unlk $rd,$rt */
1644 1.1 skrll {
1645 1.1 skrll { 0, 0, 0, 0 },
1646 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1647 1.1 skrll & ifmt_chkhdr, { 0x4c000003 }
1648 1.1 skrll },
1649 1.1 skrll /* swrd $rd,$rt */
1650 1.1 skrll {
1651 1.1 skrll { 0, 0, 0, 0 },
1652 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1653 1.1 skrll & ifmt_chkhdr, { 0x4c000004 }
1654 1.1 skrll },
1655 1.1 skrll /* swrdl $rd,$rt */
1656 1.1 skrll {
1657 1.1 skrll { 0, 0, 0, 0 },
1658 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1659 1.1 skrll & ifmt_chkhdr, { 0x4c000005 }
1660 1.1 skrll },
1661 1.1 skrll /* swwr $rd,$rs,$rt */
1662 1.1 skrll {
1663 1.1 skrll { 0, 0, 0, 0 },
1664 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1665 1.1 skrll & ifmt_add, { 0x4c000006 }
1666 1.1 skrll },
1667 1.1 skrll /* swwru $rd,$rs,$rt */
1668 1.1 skrll {
1669 1.1 skrll { 0, 0, 0, 0 },
1670 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1671 1.1 skrll & ifmt_add, { 0x4c000007 }
1672 1.1 skrll },
1673 1.1 skrll /* dwrd $rd,$rt */
1674 1.1 skrll {
1675 1.1 skrll { 0, 0, 0, 0 },
1676 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1677 1.1 skrll & ifmt_chkhdr, { 0x4c00000c }
1678 1.1 skrll },
1679 1.1 skrll /* dwrdl $rd,$rt */
1680 1.1 skrll {
1681 1.1 skrll { 0, 0, 0, 0 },
1682 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1683 1.1 skrll & ifmt_chkhdr, { 0x4c00000d }
1684 1.1 skrll },
1685 1.1 skrll /* cam36 $rd,$rt,${cam-z},${cam-y} */
1686 1.1 skrll {
1687 1.1 skrll { 0, 0, 0, 0 },
1688 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Z), ',', OP (CAM_Y), 0 } },
1689 1.1 skrll & ifmt_cam36, { 0x4c000400 }
1690 1.1 skrll },
1691 1.1 skrll /* cam72 $rd,$rt,${cam-y},${cam-z} */
1692 1.1 skrll {
1693 1.1 skrll { 0, 0, 0, 0 },
1694 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Y), ',', OP (CAM_Z), 0 } },
1695 1.1 skrll & ifmt_cam36, { 0x4c000440 }
1696 1.1 skrll },
1697 1.1 skrll /* cam144 $rd,$rt,${cam-y},${cam-z} */
1698 1.1 skrll {
1699 1.1 skrll { 0, 0, 0, 0 },
1700 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Y), ',', OP (CAM_Z), 0 } },
1701 1.1 skrll & ifmt_cam36, { 0x4c000480 }
1702 1.1 skrll },
1703 1.1 skrll /* cam288 $rd,$rt,${cam-y},${cam-z} */
1704 1.1 skrll {
1705 1.1 skrll { 0, 0, 0, 0 },
1706 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Y), ',', OP (CAM_Z), 0 } },
1707 1.1 skrll & ifmt_cam36, { 0x4c0004c0 }
1708 1.1 skrll },
1709 1.1 skrll /* cm32and $rd,$rs,$rt */
1710 1.1 skrll {
1711 1.1 skrll { 0, 0, 0, 0 },
1712 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1713 1.1 skrll & ifmt_cm32and, { 0x4c0000ab }
1714 1.1 skrll },
1715 1.1 skrll /* cm32andn $rd,$rs,$rt */
1716 1.1 skrll {
1717 1.1 skrll { 0, 0, 0, 0 },
1718 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1719 1.1 skrll & ifmt_cm32and, { 0x4c0000a3 }
1720 1.1 skrll },
1721 1.1 skrll /* cm32or $rd,$rs,$rt */
1722 1.1 skrll {
1723 1.1 skrll { 0, 0, 0, 0 },
1724 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1725 1.1 skrll & ifmt_cm32and, { 0x4c0000aa }
1726 1.1 skrll },
1727 1.1 skrll /* cm32ra $rd,$rs,$rt */
1728 1.1 skrll {
1729 1.1 skrll { 0, 0, 0, 0 },
1730 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1731 1.1 skrll & ifmt_add, { 0x4c0000b0 }
1732 1.1 skrll },
1733 1.1 skrll /* cm32rd $rd,$rt */
1734 1.1 skrll {
1735 1.1 skrll { 0, 0, 0, 0 },
1736 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1737 1.1 skrll & ifmt_cm32rd, { 0x4c0000a1 }
1738 1.1 skrll },
1739 1.1 skrll /* cm32ri $rd,$rt */
1740 1.1 skrll {
1741 1.1 skrll { 0, 0, 0, 0 },
1742 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1743 1.1 skrll & ifmt_cm32rd, { 0x4c0000a4 }
1744 1.1 skrll },
1745 1.1 skrll /* cm32rs $rd,$rs,$rt */
1746 1.1 skrll {
1747 1.1 skrll { 0, 0, 0, 0 },
1748 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1749 1.1 skrll & ifmt_add, { 0x4c0000a0 }
1750 1.1 skrll },
1751 1.1 skrll /* cm32sa $rd,$rs,$rt */
1752 1.1 skrll {
1753 1.1 skrll { 0, 0, 0, 0 },
1754 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1755 1.1 skrll & ifmt_cm32and, { 0x4c0000b8 }
1756 1.1 skrll },
1757 1.1 skrll /* cm32sd $rd,$rt */
1758 1.1 skrll {
1759 1.1 skrll { 0, 0, 0, 0 },
1760 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1761 1.1 skrll & ifmt_cm32rd, { 0x4c0000a9 }
1762 1.1 skrll },
1763 1.1 skrll /* cm32si $rd,$rt */
1764 1.1 skrll {
1765 1.1 skrll { 0, 0, 0, 0 },
1766 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1767 1.1 skrll & ifmt_cm32rd, { 0x4c0000ac }
1768 1.1 skrll },
1769 1.1 skrll /* cm32ss $rd,$rs,$rt */
1770 1.1 skrll {
1771 1.1 skrll { 0, 0, 0, 0 },
1772 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1773 1.1 skrll & ifmt_cm32and, { 0x4c0000a8 }
1774 1.1 skrll },
1775 1.1 skrll /* cm32xor $rd,$rs,$rt */
1776 1.1 skrll {
1777 1.1 skrll { 0, 0, 0, 0 },
1778 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1779 1.1 skrll & ifmt_cm32and, { 0x4c0000a2 }
1780 1.1 skrll },
1781 1.1 skrll /* cm64clr $rd,$rt */
1782 1.1 skrll {
1783 1.1 skrll { 0, 0, 0, 0 },
1784 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1785 1.1 skrll & ifmt_cm32rd, { 0x4c000085 }
1786 1.1 skrll },
1787 1.1 skrll /* cm64ra $rd,$rs,$rt */
1788 1.1 skrll {
1789 1.1 skrll { 0, 0, 0, 0 },
1790 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1791 1.1 skrll & ifmt_cm32and, { 0x4c000090 }
1792 1.1 skrll },
1793 1.1 skrll /* cm64rd $rd,$rt */
1794 1.1 skrll {
1795 1.1 skrll { 0, 0, 0, 0 },
1796 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1797 1.1 skrll & ifmt_cm32rd, { 0x4c000081 }
1798 1.1 skrll },
1799 1.1 skrll /* cm64ri $rd,$rt */
1800 1.1 skrll {
1801 1.1 skrll { 0, 0, 0, 0 },
1802 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1803 1.1 skrll & ifmt_cm32rd, { 0x4c000084 }
1804 1.1 skrll },
1805 1.1 skrll /* cm64ria2 $rd,$rs,$rt */
1806 1.1 skrll {
1807 1.1 skrll { 0, 0, 0, 0 },
1808 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1809 1.1 skrll & ifmt_cm32and, { 0x4c000094 }
1810 1.1 skrll },
1811 1.1 skrll /* cm64rs $rd,$rs,$rt */
1812 1.1 skrll {
1813 1.1 skrll { 0, 0, 0, 0 },
1814 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1815 1.1 skrll & ifmt_cm32and, { 0x4c000080 }
1816 1.1 skrll },
1817 1.1 skrll /* cm64sa $rd,$rs,$rt */
1818 1.1 skrll {
1819 1.1 skrll { 0, 0, 0, 0 },
1820 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1821 1.1 skrll & ifmt_cm32and, { 0x4c000098 }
1822 1.1 skrll },
1823 1.1 skrll /* cm64sd $rd,$rt */
1824 1.1 skrll {
1825 1.1 skrll { 0, 0, 0, 0 },
1826 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1827 1.1 skrll & ifmt_cm32rd, { 0x4c000089 }
1828 1.1 skrll },
1829 1.1 skrll /* cm64si $rd,$rt */
1830 1.1 skrll {
1831 1.1 skrll { 0, 0, 0, 0 },
1832 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1833 1.1 skrll & ifmt_cm32rd, { 0x4c00008c }
1834 1.1 skrll },
1835 1.1 skrll /* cm64sia2 $rd,$rs,$rt */
1836 1.1 skrll {
1837 1.1 skrll { 0, 0, 0, 0 },
1838 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1839 1.1 skrll & ifmt_cm32and, { 0x4c00009c }
1840 1.1 skrll },
1841 1.1 skrll /* cm64ss $rd,$rs,$rt */
1842 1.1 skrll {
1843 1.1 skrll { 0, 0, 0, 0 },
1844 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1845 1.1 skrll & ifmt_cm32and, { 0x4c000088 }
1846 1.1 skrll },
1847 1.1 skrll /* cm128ria2 $rd,$rs,$rt */
1848 1.1 skrll {
1849 1.1 skrll { 0, 0, 0, 0 },
1850 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1851 1.1 skrll & ifmt_cm32and, { 0x4c000095 }
1852 1.1 skrll },
1853 1.1 skrll /* cm128ria3 $rd,$rs,$rt,${cm-3z} */
1854 1.1 skrll {
1855 1.1 skrll { 0, 0, 0, 0 },
1856 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (CM_3Z), 0 } },
1857 1.1 skrll & ifmt_cm128ria3, { 0x4c000090 }
1858 1.1 skrll },
1859 1.1 skrll /* cm128ria4 $rd,$rs,$rt,${cm-4z} */
1860 1.1 skrll {
1861 1.1 skrll { 0, 0, 0, 0 },
1862 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (CM_4Z), 0 } },
1863 1.1 skrll & ifmt_cm128ria4, { 0x4c0000b0 }
1864 1.1 skrll },
1865 1.1 skrll /* cm128sia2 $rd,$rs,$rt */
1866 1.1 skrll {
1867 1.1 skrll { 0, 0, 0, 0 },
1868 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1869 1.1 skrll & ifmt_cm32and, { 0x4c00009d }
1870 1.1 skrll },
1871 1.1 skrll /* cm128sia3 $rd,$rs,$rt,${cm-3z} */
1872 1.1 skrll {
1873 1.1 skrll { 0, 0, 0, 0 },
1874 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (CM_3Z), 0 } },
1875 1.1 skrll & ifmt_cm128ria3, { 0x4c000098 }
1876 1.1 skrll },
1877 1.1 skrll /* cm128sia4 $rd,$rs,$rt,${cm-4z} */
1878 1.1 skrll {
1879 1.1 skrll { 0, 0, 0, 0 },
1880 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (CM_4Z), 0 } },
1881 1.1 skrll & ifmt_cm128ria4, { 0x4c0000b8 }
1882 1.1 skrll },
1883 1.1 skrll /* cm128vsa $rd,$rs,$rt */
1884 1.1 skrll {
1885 1.1 skrll { 0, 0, 0, 0 },
1886 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
1887 1.1 skrll & ifmt_cm32and, { 0x4c0000a6 }
1888 1.1 skrll },
1889 1.1 skrll /* cfc $rd,$rt */
1890 1.1 skrll {
1891 1.1 skrll { 0, 0, 0, 0 },
1892 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
1893 1.1 skrll & ifmt_chkhdr, { 0x4c000000 }
1894 1.1 skrll },
1895 1.1 skrll /* ctc $rs,$rt */
1896 1.1 skrll {
1897 1.1 skrll { 0, 0, 0, 0 },
1898 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
1899 1.1 skrll & ifmt_ctc, { 0x4c000002 }
1900 1.1 skrll },
1901 1.1 skrll };
1902 1.1 skrll
1903 1.1 skrll #undef A
1904 1.1 skrll #undef OPERAND
1905 1.1 skrll #undef MNEM
1906 1.1 skrll #undef OP
1907 1.1 skrll
1908 1.1 skrll /* Formats for ALIAS macro-insns. */
1909 1.1 skrll
1910 1.1 skrll #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
1911 1.1 skrll #define F(f) & iq2000_cgen_ifld_table[IQ2000_##f]
1912 1.1 skrll #else
1913 1.1 skrll #define F(f) & iq2000_cgen_ifld_table[IQ2000_/**/f]
1914 1.1 skrll #endif
1915 1.1 skrll static const CGEN_IFMT ifmt_nop ATTRIBUTE_UNUSED = {
1916 1.1 skrll 32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
1917 1.1 skrll };
1918 1.1 skrll
1919 1.1 skrll static const CGEN_IFMT ifmt_li ATTRIBUTE_UNUSED = {
1920 1.1 skrll 32, 32, 0xfc1f0000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
1921 1.1 skrll };
1922 1.1 skrll
1923 1.1 skrll static const CGEN_IFMT ifmt_move ATTRIBUTE_UNUSED = {
1924 1.1 skrll 32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
1925 1.1 skrll };
1926 1.1 skrll
1927 1.1 skrll static const CGEN_IFMT ifmt_lb_base_0 ATTRIBUTE_UNUSED = {
1928 1.1 skrll 32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
1929 1.1 skrll };
1930 1.1 skrll
1931 1.1 skrll static const CGEN_IFMT ifmt_lbu_base_0 ATTRIBUTE_UNUSED = {
1932 1.1 skrll 32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
1933 1.1 skrll };
1934 1.1 skrll
1935 1.1 skrll static const CGEN_IFMT ifmt_lh_base_0 ATTRIBUTE_UNUSED = {
1936 1.1 skrll 32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
1937 1.1 skrll };
1938 1.1 skrll
1939 1.1 skrll static const CGEN_IFMT ifmt_lw_base_0 ATTRIBUTE_UNUSED = {
1940 1.1 skrll 32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
1941 1.1 skrll };
1942 1.1 skrll
1943 1.1 skrll static const CGEN_IFMT ifmt_m_add ATTRIBUTE_UNUSED = {
1944 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
1945 1.1 skrll };
1946 1.1 skrll
1947 1.1 skrll static const CGEN_IFMT ifmt_m_addu ATTRIBUTE_UNUSED = {
1948 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
1949 1.1 skrll };
1950 1.1 skrll
1951 1.1 skrll static const CGEN_IFMT ifmt_m_and ATTRIBUTE_UNUSED = {
1952 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
1953 1.1 skrll };
1954 1.1 skrll
1955 1.1 skrll static const CGEN_IFMT ifmt_m_j ATTRIBUTE_UNUSED = {
1956 1.1 skrll 32, 32, 0xfc1fffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
1957 1.1 skrll };
1958 1.1 skrll
1959 1.1 skrll static const CGEN_IFMT ifmt_m_or ATTRIBUTE_UNUSED = {
1960 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
1961 1.1 skrll };
1962 1.1 skrll
1963 1.1 skrll static const CGEN_IFMT ifmt_m_sll ATTRIBUTE_UNUSED = {
1964 1.1 skrll 32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
1965 1.1 skrll };
1966 1.1 skrll
1967 1.1 skrll static const CGEN_IFMT ifmt_m_slt ATTRIBUTE_UNUSED = {
1968 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
1969 1.1 skrll };
1970 1.1 skrll
1971 1.1 skrll static const CGEN_IFMT ifmt_m_sltu ATTRIBUTE_UNUSED = {
1972 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
1973 1.1 skrll };
1974 1.1 skrll
1975 1.1 skrll static const CGEN_IFMT ifmt_m_sra ATTRIBUTE_UNUSED = {
1976 1.1 skrll 32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
1977 1.1 skrll };
1978 1.1 skrll
1979 1.1 skrll static const CGEN_IFMT ifmt_m_srl ATTRIBUTE_UNUSED = {
1980 1.1 skrll 32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
1981 1.1 skrll };
1982 1.1 skrll
1983 1.1 skrll static const CGEN_IFMT ifmt_not ATTRIBUTE_UNUSED = {
1984 1.1 skrll 32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
1985 1.1 skrll };
1986 1.1 skrll
1987 1.1 skrll static const CGEN_IFMT ifmt_subi ATTRIBUTE_UNUSED = {
1988 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
1989 1.1 skrll };
1990 1.1 skrll
1991 1.1 skrll static const CGEN_IFMT ifmt_m_sub ATTRIBUTE_UNUSED = {
1992 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
1993 1.1 skrll };
1994 1.1 skrll
1995 1.1 skrll static const CGEN_IFMT ifmt_m_subu ATTRIBUTE_UNUSED = {
1996 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
1997 1.1 skrll };
1998 1.1 skrll
1999 1.1 skrll static const CGEN_IFMT ifmt_sb_base_0 ATTRIBUTE_UNUSED = {
2000 1.1 skrll 32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
2001 1.1 skrll };
2002 1.1 skrll
2003 1.1 skrll static const CGEN_IFMT ifmt_sh_base_0 ATTRIBUTE_UNUSED = {
2004 1.1 skrll 32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
2005 1.1 skrll };
2006 1.1 skrll
2007 1.1 skrll static const CGEN_IFMT ifmt_sw_base_0 ATTRIBUTE_UNUSED = {
2008 1.1 skrll 32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
2009 1.1 skrll };
2010 1.1 skrll
2011 1.1 skrll static const CGEN_IFMT ifmt_m_xor ATTRIBUTE_UNUSED = {
2012 1.1 skrll 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
2013 1.1 skrll };
2014 1.1 skrll
2015 1.1 skrll static const CGEN_IFMT ifmt_ldw_base_0 ATTRIBUTE_UNUSED = {
2016 1.1 skrll 32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
2017 1.1 skrll };
2018 1.1 skrll
2019 1.1 skrll static const CGEN_IFMT ifmt_sdw_base_0 ATTRIBUTE_UNUSED = {
2020 1.1 skrll 32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
2021 1.1 skrll };
2022 1.1 skrll
2023 1.1 skrll static const CGEN_IFMT ifmt_m_avail ATTRIBUTE_UNUSED = {
2024 1.1 skrll 32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2025 1.1 skrll };
2026 1.1 skrll
2027 1.1 skrll static const CGEN_IFMT ifmt_m_cam36 ATTRIBUTE_UNUSED = {
2028 1.1 skrll 32, 32, 0xffe007c7, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP_10) }, { F (F_CAM_Z) }, { F (F_CAM_Y) }, { 0 } }
2029 1.1 skrll };
2030 1.1 skrll
2031 1.1 skrll static const CGEN_IFMT ifmt_m_cam72 ATTRIBUTE_UNUSED = {
2032 1.1 skrll 32, 32, 0xffe007c7, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP_10) }, { F (F_CAM_Z) }, { F (F_CAM_Y) }, { 0 } }
2033 1.1 skrll };
2034 1.1 skrll
2035 1.1 skrll static const CGEN_IFMT ifmt_m_cam144 ATTRIBUTE_UNUSED = {
2036 1.1 skrll 32, 32, 0xffe007c7, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP_10) }, { F (F_CAM_Z) }, { F (F_CAM_Y) }, { 0 } }
2037 1.1 skrll };
2038 1.1 skrll
2039 1.1 skrll static const CGEN_IFMT ifmt_m_cam288 ATTRIBUTE_UNUSED = {
2040 1.1 skrll 32, 32, 0xffe007c7, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP_10) }, { F (F_CAM_Z) }, { F (F_CAM_Y) }, { 0 } }
2041 1.1 skrll };
2042 1.1 skrll
2043 1.1 skrll static const CGEN_IFMT ifmt_m_cm32read ATTRIBUTE_UNUSED = {
2044 1.1 skrll 32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2045 1.1 skrll };
2046 1.1 skrll
2047 1.1 skrll static const CGEN_IFMT ifmt_m_cm64read ATTRIBUTE_UNUSED = {
2048 1.1 skrll 32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2049 1.1 skrll };
2050 1.1 skrll
2051 1.1 skrll static const CGEN_IFMT ifmt_m_cm32mlog ATTRIBUTE_UNUSED = {
2052 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2053 1.1 skrll };
2054 1.1 skrll
2055 1.1 skrll static const CGEN_IFMT ifmt_m_cm32and ATTRIBUTE_UNUSED = {
2056 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2057 1.1 skrll };
2058 1.1 skrll
2059 1.1 skrll static const CGEN_IFMT ifmt_m_cm32andn ATTRIBUTE_UNUSED = {
2060 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2061 1.1 skrll };
2062 1.1 skrll
2063 1.1 skrll static const CGEN_IFMT ifmt_m_cm32or ATTRIBUTE_UNUSED = {
2064 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2065 1.1 skrll };
2066 1.1 skrll
2067 1.1 skrll static const CGEN_IFMT ifmt_m_cm32ra ATTRIBUTE_UNUSED = {
2068 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2069 1.1 skrll };
2070 1.1 skrll
2071 1.1 skrll static const CGEN_IFMT ifmt_m_cm32rd ATTRIBUTE_UNUSED = {
2072 1.1 skrll 32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2073 1.1 skrll };
2074 1.1 skrll
2075 1.1 skrll static const CGEN_IFMT ifmt_m_cm32ri ATTRIBUTE_UNUSED = {
2076 1.1 skrll 32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2077 1.1 skrll };
2078 1.1 skrll
2079 1.1 skrll static const CGEN_IFMT ifmt_m_cm32rs ATTRIBUTE_UNUSED = {
2080 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2081 1.1 skrll };
2082 1.1 skrll
2083 1.1 skrll static const CGEN_IFMT ifmt_m_cm32sa ATTRIBUTE_UNUSED = {
2084 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2085 1.1 skrll };
2086 1.1 skrll
2087 1.1 skrll static const CGEN_IFMT ifmt_m_cm32sd ATTRIBUTE_UNUSED = {
2088 1.1 skrll 32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2089 1.1 skrll };
2090 1.1 skrll
2091 1.1 skrll static const CGEN_IFMT ifmt_m_cm32si ATTRIBUTE_UNUSED = {
2092 1.1 skrll 32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2093 1.1 skrll };
2094 1.1 skrll
2095 1.1 skrll static const CGEN_IFMT ifmt_m_cm32ss ATTRIBUTE_UNUSED = {
2096 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2097 1.1 skrll };
2098 1.1 skrll
2099 1.1 skrll static const CGEN_IFMT ifmt_m_cm32xor ATTRIBUTE_UNUSED = {
2100 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2101 1.1 skrll };
2102 1.1 skrll
2103 1.1 skrll static const CGEN_IFMT ifmt_m_cm64clr ATTRIBUTE_UNUSED = {
2104 1.1 skrll 32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2105 1.1 skrll };
2106 1.1 skrll
2107 1.1 skrll static const CGEN_IFMT ifmt_m_cm64ra ATTRIBUTE_UNUSED = {
2108 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2109 1.1 skrll };
2110 1.1 skrll
2111 1.1 skrll static const CGEN_IFMT ifmt_m_cm64rd ATTRIBUTE_UNUSED = {
2112 1.1 skrll 32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2113 1.1 skrll };
2114 1.1 skrll
2115 1.1 skrll static const CGEN_IFMT ifmt_m_cm64ri ATTRIBUTE_UNUSED = {
2116 1.1 skrll 32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2117 1.1 skrll };
2118 1.1 skrll
2119 1.1 skrll static const CGEN_IFMT ifmt_m_cm64ria2 ATTRIBUTE_UNUSED = {
2120 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2121 1.1 skrll };
2122 1.1 skrll
2123 1.1 skrll static const CGEN_IFMT ifmt_m_cm64rs ATTRIBUTE_UNUSED = {
2124 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2125 1.1 skrll };
2126 1.1 skrll
2127 1.1 skrll static const CGEN_IFMT ifmt_m_cm64sa ATTRIBUTE_UNUSED = {
2128 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2129 1.1 skrll };
2130 1.1 skrll
2131 1.1 skrll static const CGEN_IFMT ifmt_m_cm64sd ATTRIBUTE_UNUSED = {
2132 1.1 skrll 32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2133 1.1 skrll };
2134 1.1 skrll
2135 1.1 skrll static const CGEN_IFMT ifmt_m_cm64si ATTRIBUTE_UNUSED = {
2136 1.1 skrll 32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2137 1.1 skrll };
2138 1.1 skrll
2139 1.1 skrll static const CGEN_IFMT ifmt_m_cm64sia2 ATTRIBUTE_UNUSED = {
2140 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2141 1.1 skrll };
2142 1.1 skrll
2143 1.1 skrll static const CGEN_IFMT ifmt_m_cm64ss ATTRIBUTE_UNUSED = {
2144 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2145 1.1 skrll };
2146 1.1 skrll
2147 1.1 skrll static const CGEN_IFMT ifmt_m_cm128ria2 ATTRIBUTE_UNUSED = {
2148 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2149 1.1 skrll };
2150 1.1 skrll
2151 1.1 skrll static const CGEN_IFMT ifmt_m_cm128ria3 ATTRIBUTE_UNUSED = {
2152 1.1 skrll 32, 32, 0xfc00fffc, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_CM_4FUNC) }, { F (F_CM_3Z) }, { 0 } }
2153 1.1 skrll };
2154 1.1 skrll
2155 1.1 skrll static const CGEN_IFMT ifmt_m_cm128ria4 ATTRIBUTE_UNUSED = {
2156 1.1 skrll 32, 32, 0xfc00fff8, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_CM_3FUNC) }, { F (F_CM_4Z) }, { 0 } }
2157 1.1 skrll };
2158 1.1 skrll
2159 1.1 skrll static const CGEN_IFMT ifmt_m_cm128sia2 ATTRIBUTE_UNUSED = {
2160 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
2161 1.1 skrll };
2162 1.1 skrll
2163 1.1 skrll static const CGEN_IFMT ifmt_m_cm128sia3 ATTRIBUTE_UNUSED = {
2164 1.1 skrll 32, 32, 0xfc00fffc, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_CM_4FUNC) }, { F (F_CM_3Z) }, { 0 } }
2165 1.1 skrll };
2166 1.1 skrll
2167 1.1 skrll static const CGEN_IFMT ifmt_m_cm128sia4 ATTRIBUTE_UNUSED = {
2168 1.1 skrll 32, 32, 0xfc00fff8, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_CM_3FUNC) }, { F (F_CM_4Z) }, { 0 } }
2169 1.1 skrll };
2170 1.1 skrll
2171 1.1 skrll static const CGEN_IFMT ifmt_m_cmphdr ATTRIBUTE_UNUSED = {
2172 1.1 skrll 32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2173 1.1 skrll };
2174 1.1 skrll
2175 1.1 skrll static const CGEN_IFMT ifmt_m_dbd ATTRIBUTE_UNUSED = {
2176 1.1 skrll 32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2177 1.1 skrll };
2178 1.1 skrll
2179 1.1 skrll static const CGEN_IFMT ifmt_m2_dbd ATTRIBUTE_UNUSED = {
2180 1.1 skrll 32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2181 1.1 skrll };
2182 1.1 skrll
2183 1.1 skrll static const CGEN_IFMT ifmt_m_dpwt ATTRIBUTE_UNUSED = {
2184 1.1 skrll 32, 32, 0xfc1fffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2185 1.1 skrll };
2186 1.1 skrll
2187 1.1 skrll static const CGEN_IFMT ifmt_m_free ATTRIBUTE_UNUSED = {
2188 1.1 skrll 32, 32, 0xfc1fffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2189 1.1 skrll };
2190 1.1 skrll
2191 1.1 skrll static const CGEN_IFMT ifmt_m_lock ATTRIBUTE_UNUSED = {
2192 1.1 skrll 32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2193 1.1 skrll };
2194 1.1 skrll
2195 1.1 skrll static const CGEN_IFMT ifmt_m_pkrla ATTRIBUTE_UNUSED = {
2196 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2197 1.1 skrll };
2198 1.1 skrll
2199 1.1 skrll static const CGEN_IFMT ifmt_m_pkrlac ATTRIBUTE_UNUSED = {
2200 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2201 1.1 skrll };
2202 1.1 skrll
2203 1.1 skrll static const CGEN_IFMT ifmt_m_pkrlah ATTRIBUTE_UNUSED = {
2204 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2205 1.1 skrll };
2206 1.1 skrll
2207 1.1 skrll static const CGEN_IFMT ifmt_m_pkrlau ATTRIBUTE_UNUSED = {
2208 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2209 1.1 skrll };
2210 1.1 skrll
2211 1.1 skrll static const CGEN_IFMT ifmt_m_pkrli ATTRIBUTE_UNUSED = {
2212 1.1 skrll 32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
2213 1.1 skrll };
2214 1.1 skrll
2215 1.1 skrll static const CGEN_IFMT ifmt_m_pkrlic ATTRIBUTE_UNUSED = {
2216 1.1 skrll 32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
2217 1.1 skrll };
2218 1.1 skrll
2219 1.1 skrll static const CGEN_IFMT ifmt_m_pkrlih ATTRIBUTE_UNUSED = {
2220 1.1 skrll 32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
2221 1.1 skrll };
2222 1.1 skrll
2223 1.1 skrll static const CGEN_IFMT ifmt_m_pkrliu ATTRIBUTE_UNUSED = {
2224 1.1 skrll 32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
2225 1.1 skrll };
2226 1.1 skrll
2227 1.1 skrll static const CGEN_IFMT ifmt_m_rba ATTRIBUTE_UNUSED = {
2228 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2229 1.1 skrll };
2230 1.1 skrll
2231 1.1 skrll static const CGEN_IFMT ifmt_m_rbal ATTRIBUTE_UNUSED = {
2232 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2233 1.1 skrll };
2234 1.1 skrll
2235 1.1 skrll static const CGEN_IFMT ifmt_m_rbar ATTRIBUTE_UNUSED = {
2236 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2237 1.1 skrll };
2238 1.1 skrll
2239 1.1 skrll static const CGEN_IFMT ifmt_m_rbi ATTRIBUTE_UNUSED = {
2240 1.1 skrll 32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
2241 1.1 skrll };
2242 1.1 skrll
2243 1.1 skrll static const CGEN_IFMT ifmt_m_rbil ATTRIBUTE_UNUSED = {
2244 1.1 skrll 32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
2245 1.1 skrll };
2246 1.1 skrll
2247 1.1 skrll static const CGEN_IFMT ifmt_m_rbir ATTRIBUTE_UNUSED = {
2248 1.1 skrll 32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
2249 1.1 skrll };
2250 1.1 skrll
2251 1.1 skrll static const CGEN_IFMT ifmt_m_swwr ATTRIBUTE_UNUSED = {
2252 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2253 1.1 skrll };
2254 1.1 skrll
2255 1.1 skrll static const CGEN_IFMT ifmt_m_swwru ATTRIBUTE_UNUSED = {
2256 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2257 1.1 skrll };
2258 1.1 skrll
2259 1.1 skrll static const CGEN_IFMT ifmt_m_tstod ATTRIBUTE_UNUSED = {
2260 1.1 skrll 32, 32, 0xfc1fffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2261 1.1 skrll };
2262 1.1 skrll
2263 1.1 skrll static const CGEN_IFMT ifmt_m_unlk ATTRIBUTE_UNUSED = {
2264 1.1 skrll 32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2265 1.1 skrll };
2266 1.1 skrll
2267 1.1 skrll static const CGEN_IFMT ifmt_m_wba ATTRIBUTE_UNUSED = {
2268 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2269 1.1 skrll };
2270 1.1 skrll
2271 1.1 skrll static const CGEN_IFMT ifmt_m_wbac ATTRIBUTE_UNUSED = {
2272 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2273 1.1 skrll };
2274 1.1 skrll
2275 1.1 skrll static const CGEN_IFMT ifmt_m_wbau ATTRIBUTE_UNUSED = {
2276 1.1 skrll 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
2277 1.1 skrll };
2278 1.1 skrll
2279 1.1 skrll static const CGEN_IFMT ifmt_m_wbi ATTRIBUTE_UNUSED = {
2280 1.1 skrll 32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
2281 1.1 skrll };
2282 1.1 skrll
2283 1.1 skrll static const CGEN_IFMT ifmt_m_wbic ATTRIBUTE_UNUSED = {
2284 1.1 skrll 32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
2285 1.1 skrll };
2286 1.1 skrll
2287 1.1 skrll static const CGEN_IFMT ifmt_m_wbiu ATTRIBUTE_UNUSED = {
2288 1.1 skrll 32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
2289 1.1 skrll };
2290 1.1 skrll
2291 1.1 skrll #undef F
2292 1.1 skrll
2293 1.1 skrll /* Each non-simple macro entry points to an array of expansion possibilities. */
2294 1.1 skrll
2295 1.1 skrll #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
2296 1.1 skrll #define A(a) (1 << CGEN_INSN_##a)
2297 1.1 skrll #else
2298 1.1 skrll #define A(a) (1 << CGEN_INSN_/**/a)
2299 1.1 skrll #endif
2300 1.1 skrll #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
2301 1.1 skrll #define OPERAND(op) IQ2000_OPERAND_##op
2302 1.1 skrll #else
2303 1.1 skrll #define OPERAND(op) IQ2000_OPERAND_/**/op
2304 1.1 skrll #endif
2305 1.1 skrll #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
2306 1.1 skrll #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
2307 1.1 skrll
2308 1.1 skrll /* The macro instruction table. */
2309 1.1 skrll
2310 1.1 skrll static const CGEN_IBASE iq2000_cgen_macro_insn_table[] =
2311 1.1 skrll {
2312 1.1 skrll /* nop */
2313 1.1 skrll {
2314 1.1 skrll -1, "nop", "nop", 32,
2315 1.1 skrll { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2316 1.1 skrll },
2317 1.1 skrll /* li $rs,$imm */
2318 1.1 skrll {
2319 1.1 skrll -1, "li", "li", 32,
2320 1.1 skrll { 0|A(NO_DIS)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2321 1.1 skrll },
2322 1.1 skrll /* move $rd,$rt */
2323 1.1 skrll {
2324 1.1 skrll -1, "move", "move", 32,
2325 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2326 1.1 skrll },
2327 1.1 skrll /* lb $rt,$lo16 */
2328 1.1 skrll {
2329 1.1 skrll -1, "lb-base-0", "lb", 32,
2330 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2331 1.1 skrll },
2332 1.1 skrll /* lbu $rt,$lo16 */
2333 1.1 skrll {
2334 1.1 skrll -1, "lbu-base-0", "lbu", 32,
2335 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2336 1.1 skrll },
2337 1.1 skrll /* lh $rt,$lo16 */
2338 1.1 skrll {
2339 1.1 skrll -1, "lh-base-0", "lh", 32,
2340 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2341 1.1 skrll },
2342 1.1 skrll /* lw $rt,$lo16 */
2343 1.1 skrll {
2344 1.1 skrll -1, "lw-base-0", "lw", 32,
2345 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2346 1.1 skrll },
2347 1.1 skrll /* add $rt,$rs,$lo16 */
2348 1.1 skrll {
2349 1.1 skrll -1, "m-add", "add", 32,
2350 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2351 1.1 skrll },
2352 1.1 skrll /* addu $rt,$rs,$lo16 */
2353 1.1 skrll {
2354 1.1 skrll -1, "m-addu", "addu", 32,
2355 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2356 1.1 skrll },
2357 1.1 skrll /* and $rt,$rs,$lo16 */
2358 1.1 skrll {
2359 1.1 skrll -1, "m-and", "and", 32,
2360 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2361 1.1 skrll },
2362 1.1 skrll /* j $rs */
2363 1.1 skrll {
2364 1.1 skrll -1, "m-j", "j", 32,
2365 1.1 skrll { 0|A(NO_DIS)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2366 1.1 skrll },
2367 1.1 skrll /* or $rt,$rs,$lo16 */
2368 1.1 skrll {
2369 1.1 skrll -1, "m-or", "or", 32,
2370 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2371 1.1 skrll },
2372 1.1 skrll /* sll $rd,$rt,$rs */
2373 1.1 skrll {
2374 1.1 skrll -1, "m-sll", "sll", 32,
2375 1.1 skrll { 0|A(NO_DIS)|A(USES_RS)|A(USES_RT)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2376 1.1 skrll },
2377 1.1 skrll /* slt $rt,$rs,$imm */
2378 1.1 skrll {
2379 1.1 skrll -1, "m-slt", "slt", 32,
2380 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2381 1.1 skrll },
2382 1.1 skrll /* sltu $rt,$rs,$imm */
2383 1.1 skrll {
2384 1.1 skrll -1, "m-sltu", "sltu", 32,
2385 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2386 1.1 skrll },
2387 1.1 skrll /* sra $rd,$rt,$rs */
2388 1.1 skrll {
2389 1.1 skrll -1, "m-sra", "sra", 32,
2390 1.1 skrll { 0|A(NO_DIS)|A(USES_RS)|A(USES_RT)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2391 1.1 skrll },
2392 1.1 skrll /* srl $rd,$rt,$rs */
2393 1.1 skrll {
2394 1.1 skrll -1, "m-srl", "srl", 32,
2395 1.1 skrll { 0|A(NO_DIS)|A(USES_RS)|A(USES_RT)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2396 1.1 skrll },
2397 1.1 skrll /* not $rd,$rt */
2398 1.1 skrll {
2399 1.1 skrll -1, "not", "not", 32,
2400 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2401 1.1 skrll },
2402 1.1 skrll /* subi $rt,$rs,$mlo16 */
2403 1.1 skrll {
2404 1.1 skrll -1, "subi", "subi", 32,
2405 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2406 1.1 skrll },
2407 1.1 skrll /* sub $rt,$rs,$mlo16 */
2408 1.1 skrll {
2409 1.1 skrll -1, "m-sub", "sub", 32,
2410 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2411 1.1 skrll },
2412 1.1 skrll /* subu $rt,$rs,$mlo16 */
2413 1.1 skrll {
2414 1.1 skrll -1, "m-subu", "subu", 32,
2415 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2416 1.1 skrll },
2417 1.1 skrll /* sb $rt,$lo16 */
2418 1.1 skrll {
2419 1.1 skrll -1, "sb-base-0", "sb", 32,
2420 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2421 1.1 skrll },
2422 1.1 skrll /* sh $rt,$lo16 */
2423 1.1 skrll {
2424 1.1 skrll -1, "sh-base-0", "sh", 32,
2425 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2426 1.1 skrll },
2427 1.1 skrll /* sw $rt,$lo16 */
2428 1.1 skrll {
2429 1.1 skrll -1, "sw-base-0", "sw", 32,
2430 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2431 1.1 skrll },
2432 1.1 skrll /* xor $rt,$rs,$lo16 */
2433 1.1 skrll {
2434 1.1 skrll -1, "m-xor", "xor", 32,
2435 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2436 1.1 skrll },
2437 1.1 skrll /* ldw $rt,$lo16 */
2438 1.1 skrll {
2439 1.1 skrll -1, "ldw-base-0", "ldw", 32,
2440 1.1 skrll { 0|A(NO_DIS)|A(USES_RS)|A(USES_RT)|A(LOAD_DELAY)|A(EVEN_REG_NUM)|A(ALIAS), { { { (1<<MACH_IQ2000), 0 } } } }
2441 1.1 skrll },
2442 1.1 skrll /* sdw $rt,$lo16 */
2443 1.1 skrll {
2444 1.1 skrll -1, "sdw-base-0", "sdw", 32,
2445 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(EVEN_REG_NUM)|A(ALIAS), { { { (1<<MACH_IQ2000), 0 } } } }
2446 1.1 skrll },
2447 1.1 skrll /* avail */
2448 1.1 skrll {
2449 1.1 skrll -1, "m-avail", "avail", 32,
2450 1.1 skrll { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2451 1.1 skrll },
2452 1.1 skrll /* cam36 $rd,$rt,${cam-z} */
2453 1.1 skrll {
2454 1.1 skrll -1, "m-cam36", "cam36", 32,
2455 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2456 1.1 skrll },
2457 1.1 skrll /* cam72 $rd,$rt,${cam-z} */
2458 1.1 skrll {
2459 1.1 skrll -1, "m-cam72", "cam72", 32,
2460 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2461 1.1 skrll },
2462 1.1 skrll /* cam144 $rd,$rt,${cam-z} */
2463 1.1 skrll {
2464 1.1 skrll -1, "m-cam144", "cam144", 32,
2465 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2466 1.1 skrll },
2467 1.1 skrll /* cam288 $rd,$rt,${cam-z} */
2468 1.1 skrll {
2469 1.1 skrll -1, "m-cam288", "cam288", 32,
2470 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2471 1.1 skrll },
2472 1.1 skrll /* cm32read $rd,$rt */
2473 1.1 skrll {
2474 1.1 skrll -1, "m-cm32read", "cm32read", 32,
2475 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2476 1.1 skrll },
2477 1.1 skrll /* cm64read $rd,$rt */
2478 1.1 skrll {
2479 1.1 skrll -1, "m-cm64read", "cm64read", 32,
2480 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2481 1.1 skrll },
2482 1.1 skrll /* cm32mlog $rs,$rt */
2483 1.1 skrll {
2484 1.1 skrll -1, "m-cm32mlog", "cm32mlog", 32,
2485 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2486 1.1 skrll },
2487 1.1 skrll /* cm32and $rs,$rt */
2488 1.1 skrll {
2489 1.1 skrll -1, "m-cm32and", "cm32and", 32,
2490 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2491 1.1 skrll },
2492 1.1 skrll /* cm32andn $rs,$rt */
2493 1.1 skrll {
2494 1.1 skrll -1, "m-cm32andn", "cm32andn", 32,
2495 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2496 1.1 skrll },
2497 1.1 skrll /* cm32or $rs,$rt */
2498 1.1 skrll {
2499 1.1 skrll -1, "m-cm32or", "cm32or", 32,
2500 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2501 1.1 skrll },
2502 1.1 skrll /* cm32ra $rs,$rt */
2503 1.1 skrll {
2504 1.1 skrll -1, "m-cm32ra", "cm32ra", 32,
2505 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2506 1.1 skrll },
2507 1.1 skrll /* cm32rd $rt */
2508 1.1 skrll {
2509 1.1 skrll -1, "m-cm32rd", "cm32rd", 32,
2510 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2511 1.1 skrll },
2512 1.1 skrll /* cm32ri $rt */
2513 1.1 skrll {
2514 1.1 skrll -1, "m-cm32ri", "cm32ri", 32,
2515 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2516 1.1 skrll },
2517 1.1 skrll /* cm32rs $rs,$rt */
2518 1.1 skrll {
2519 1.1 skrll -1, "m-cm32rs", "cm32rs", 32,
2520 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2521 1.1 skrll },
2522 1.1 skrll /* cm32sa $rs,$rt */
2523 1.1 skrll {
2524 1.1 skrll -1, "m-cm32sa", "cm32sa", 32,
2525 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2526 1.1 skrll },
2527 1.1 skrll /* cm32sd $rt */
2528 1.1 skrll {
2529 1.1 skrll -1, "m-cm32sd", "cm32sd", 32,
2530 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2531 1.1 skrll },
2532 1.1 skrll /* cm32si $rt */
2533 1.1 skrll {
2534 1.1 skrll -1, "m-cm32si", "cm32si", 32,
2535 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2536 1.1 skrll },
2537 1.1 skrll /* cm32ss $rs,$rt */
2538 1.1 skrll {
2539 1.1 skrll -1, "m-cm32ss", "cm32ss", 32,
2540 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2541 1.1 skrll },
2542 1.1 skrll /* cm32xor $rs,$rt */
2543 1.1 skrll {
2544 1.1 skrll -1, "m-cm32xor", "cm32xor", 32,
2545 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2546 1.1 skrll },
2547 1.1 skrll /* cm64clr $rt */
2548 1.1 skrll {
2549 1.1 skrll -1, "m-cm64clr", "cm64clr", 32,
2550 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2551 1.1 skrll },
2552 1.1 skrll /* cm64ra $rs,$rt */
2553 1.1 skrll {
2554 1.1 skrll -1, "m-cm64ra", "cm64ra", 32,
2555 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2556 1.1 skrll },
2557 1.1 skrll /* cm64rd $rt */
2558 1.1 skrll {
2559 1.1 skrll -1, "m-cm64rd", "cm64rd", 32,
2560 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2561 1.1 skrll },
2562 1.1 skrll /* cm64ri $rt */
2563 1.1 skrll {
2564 1.1 skrll -1, "m-cm64ri", "cm64ri", 32,
2565 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2566 1.1 skrll },
2567 1.1 skrll /* cm64ria2 $rs,$rt */
2568 1.1 skrll {
2569 1.1 skrll -1, "m-cm64ria2", "cm64ria2", 32,
2570 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2571 1.1 skrll },
2572 1.1 skrll /* cm64rs $rs,$rt */
2573 1.1 skrll {
2574 1.1 skrll -1, "m-cm64rs", "cm64rs", 32,
2575 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2576 1.1 skrll },
2577 1.1 skrll /* cm64sa $rs,$rt */
2578 1.1 skrll {
2579 1.1 skrll -1, "m-cm64sa", "cm64sa", 32,
2580 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2581 1.1 skrll },
2582 1.1 skrll /* cm64sd $rt */
2583 1.1 skrll {
2584 1.1 skrll -1, "m-cm64sd", "cm64sd", 32,
2585 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2586 1.1 skrll },
2587 1.1 skrll /* cm64si $rt */
2588 1.1 skrll {
2589 1.1 skrll -1, "m-cm64si", "cm64si", 32,
2590 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2591 1.1 skrll },
2592 1.1 skrll /* cm64sia2 $rs,$rt */
2593 1.1 skrll {
2594 1.1 skrll -1, "m-cm64sia2", "cm64sia2", 32,
2595 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2596 1.1 skrll },
2597 1.1 skrll /* cm64ss $rs,$rt */
2598 1.1 skrll {
2599 1.1 skrll -1, "m-cm64ss", "cm64ss", 32,
2600 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2601 1.1 skrll },
2602 1.1 skrll /* cm128ria2 $rs,$rt */
2603 1.1 skrll {
2604 1.1 skrll -1, "m-cm128ria2", "cm128ria2", 32,
2605 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2606 1.1 skrll },
2607 1.1 skrll /* cm128ria3 $rs,$rt,${cm-3z} */
2608 1.1 skrll {
2609 1.1 skrll -1, "m-cm128ria3", "cm128ria3", 32,
2610 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2611 1.1 skrll },
2612 1.1 skrll /* cm128ria4 $rs,$rt,${cm-4z} */
2613 1.1 skrll {
2614 1.1 skrll -1, "m-cm128ria4", "cm128ria4", 32,
2615 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2616 1.1 skrll },
2617 1.1 skrll /* cm128sia2 $rs,$rt */
2618 1.1 skrll {
2619 1.1 skrll -1, "m-cm128sia2", "cm128sia2", 32,
2620 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2621 1.1 skrll },
2622 1.1 skrll /* cm128sia3 $rs,$rt,${cm-3z} */
2623 1.1 skrll {
2624 1.1 skrll -1, "m-cm128sia3", "cm128sia3", 32,
2625 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2626 1.1 skrll },
2627 1.1 skrll /* cm128sia4 $rs,$rt,${cm-4z} */
2628 1.1 skrll {
2629 1.1 skrll -1, "m-cm128sia4", "cm128sia4", 32,
2630 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2631 1.1 skrll },
2632 1.1 skrll /* cmphdr */
2633 1.1 skrll {
2634 1.1 skrll -1, "m-cmphdr", "cmphdr", 32,
2635 1.1 skrll { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2636 1.1 skrll },
2637 1.1 skrll /* dbd $rd,$rt */
2638 1.1 skrll {
2639 1.1 skrll -1, "m-dbd", "dbd", 32,
2640 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2641 1.1 skrll },
2642 1.1 skrll /* dbd $rt */
2643 1.1 skrll {
2644 1.1 skrll -1, "m2-dbd", "dbd", 32,
2645 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2646 1.1 skrll },
2647 1.1 skrll /* dpwt $rs */
2648 1.1 skrll {
2649 1.1 skrll -1, "m-dpwt", "dpwt", 32,
2650 1.1 skrll { 0|A(NO_DIS)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2651 1.1 skrll },
2652 1.1 skrll /* free $rs */
2653 1.1 skrll {
2654 1.1 skrll -1, "m-free", "free", 32,
2655 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2656 1.1 skrll },
2657 1.1 skrll /* lock $rt */
2658 1.1 skrll {
2659 1.1 skrll -1, "m-lock", "lock", 32,
2660 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2661 1.1 skrll },
2662 1.1 skrll /* pkrla $rs,$rt */
2663 1.1 skrll {
2664 1.1 skrll -1, "m-pkrla", "pkrla", 32,
2665 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2666 1.1 skrll },
2667 1.1 skrll /* pkrlac $rs,$rt */
2668 1.1 skrll {
2669 1.1 skrll -1, "m-pkrlac", "pkrlac", 32,
2670 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2671 1.1 skrll },
2672 1.1 skrll /* pkrlah $rs,$rt */
2673 1.1 skrll {
2674 1.1 skrll -1, "m-pkrlah", "pkrlah", 32,
2675 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2676 1.1 skrll },
2677 1.1 skrll /* pkrlau $rs,$rt */
2678 1.1 skrll {
2679 1.1 skrll -1, "m-pkrlau", "pkrlau", 32,
2680 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2681 1.1 skrll },
2682 1.1 skrll /* pkrli $rs,$rt,$bytecount */
2683 1.1 skrll {
2684 1.1 skrll -1, "m-pkrli", "pkrli", 32,
2685 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2686 1.1 skrll },
2687 1.1 skrll /* pkrlic $rs,$rt,$bytecount */
2688 1.1 skrll {
2689 1.1 skrll -1, "m-pkrlic", "pkrlic", 32,
2690 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2691 1.1 skrll },
2692 1.1 skrll /* pkrlih $rs,$rt,$bytecount */
2693 1.1 skrll {
2694 1.1 skrll -1, "m-pkrlih", "pkrlih", 32,
2695 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2696 1.1 skrll },
2697 1.1 skrll /* pkrliu $rs,$rt,$bytecount */
2698 1.1 skrll {
2699 1.1 skrll -1, "m-pkrliu", "pkrliu", 32,
2700 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2701 1.1 skrll },
2702 1.1 skrll /* rba $rs,$rt */
2703 1.1 skrll {
2704 1.1 skrll -1, "m-rba", "rba", 32,
2705 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2706 1.1 skrll },
2707 1.1 skrll /* rbal $rs,$rt */
2708 1.1 skrll {
2709 1.1 skrll -1, "m-rbal", "rbal", 32,
2710 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2711 1.1 skrll },
2712 1.1 skrll /* rbar $rs,$rt */
2713 1.1 skrll {
2714 1.1 skrll -1, "m-rbar", "rbar", 32,
2715 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2716 1.1 skrll },
2717 1.1 skrll /* rbi $rs,$rt,$bytecount */
2718 1.1 skrll {
2719 1.1 skrll -1, "m-rbi", "rbi", 32,
2720 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2721 1.1 skrll },
2722 1.1 skrll /* rbil $rs,$rt,$bytecount */
2723 1.1 skrll {
2724 1.1 skrll -1, "m-rbil", "rbil", 32,
2725 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2726 1.1 skrll },
2727 1.1 skrll /* rbir $rs,$rt,$bytecount */
2728 1.1 skrll {
2729 1.1 skrll -1, "m-rbir", "rbir", 32,
2730 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2731 1.1 skrll },
2732 1.1 skrll /* swwr $rs,$rt */
2733 1.1 skrll {
2734 1.1 skrll -1, "m-swwr", "swwr", 32,
2735 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2736 1.1 skrll },
2737 1.1 skrll /* swwru $rs,$rt */
2738 1.1 skrll {
2739 1.1 skrll -1, "m-swwru", "swwru", 32,
2740 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2741 1.1 skrll },
2742 1.1 skrll /* tstod $rs */
2743 1.1 skrll {
2744 1.1 skrll -1, "m-tstod", "tstod", 32,
2745 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2746 1.1 skrll },
2747 1.1 skrll /* unlk $rt */
2748 1.1 skrll {
2749 1.1 skrll -1, "m-unlk", "unlk", 32,
2750 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2751 1.1 skrll },
2752 1.1 skrll /* wba $rs,$rt */
2753 1.1 skrll {
2754 1.1 skrll -1, "m-wba", "wba", 32,
2755 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2756 1.1 skrll },
2757 1.1 skrll /* wbac $rs,$rt */
2758 1.1 skrll {
2759 1.1 skrll -1, "m-wbac", "wbac", 32,
2760 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2761 1.1 skrll },
2762 1.1 skrll /* wbau $rs,$rt */
2763 1.1 skrll {
2764 1.1 skrll -1, "m-wbau", "wbau", 32,
2765 1.1 skrll { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2766 1.1 skrll },
2767 1.1 skrll /* wbi $rs,$rt,$bytecount */
2768 1.1 skrll {
2769 1.1 skrll -1, "m-wbi", "wbi", 32,
2770 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2771 1.1 skrll },
2772 1.1 skrll /* wbic $rs,$rt,$bytecount */
2773 1.1 skrll {
2774 1.1 skrll -1, "m-wbic", "wbic", 32,
2775 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2776 1.1 skrll },
2777 1.1 skrll /* wbiu $rs,$rt,$bytecount */
2778 1.1 skrll {
2779 1.1 skrll -1, "m-wbiu", "wbiu", 32,
2780 1.1 skrll { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
2781 1.1 skrll },
2782 1.1 skrll };
2783 1.1 skrll
2784 1.1 skrll /* The macro instruction opcode table. */
2785 1.1 skrll
2786 1.1 skrll static const CGEN_OPCODE iq2000_cgen_macro_insn_opcode_table[] =
2787 1.1 skrll {
2788 1.1 skrll /* nop */
2789 1.1 skrll {
2790 1.1 skrll { 0, 0, 0, 0 },
2791 1.1 skrll { { MNEM, 0 } },
2792 1.1 skrll & ifmt_nop, { 0x0 }
2793 1.1 skrll },
2794 1.1 skrll /* li $rs,$imm */
2795 1.1 skrll {
2796 1.1 skrll { 0, 0, 0, 0 },
2797 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (IMM), 0 } },
2798 1.1 skrll & ifmt_li, { 0x34000000 }
2799 1.1 skrll },
2800 1.1 skrll /* move $rd,$rt */
2801 1.1 skrll {
2802 1.1 skrll { 0, 0, 0, 0 },
2803 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
2804 1.1 skrll & ifmt_move, { 0x25 }
2805 1.1 skrll },
2806 1.1 skrll /* lb $rt,$lo16 */
2807 1.1 skrll {
2808 1.1 skrll { 0, 0, 0, 0 },
2809 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
2810 1.1 skrll & ifmt_lb_base_0, { 0x80000000 }
2811 1.1 skrll },
2812 1.1 skrll /* lbu $rt,$lo16 */
2813 1.1 skrll {
2814 1.1 skrll { 0, 0, 0, 0 },
2815 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
2816 1.1 skrll & ifmt_lbu_base_0, { 0x90000000 }
2817 1.1 skrll },
2818 1.1 skrll /* lh $rt,$lo16 */
2819 1.1 skrll {
2820 1.1 skrll { 0, 0, 0, 0 },
2821 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
2822 1.1 skrll & ifmt_lh_base_0, { 0x84000000 }
2823 1.1 skrll },
2824 1.1 skrll /* lw $rt,$lo16 */
2825 1.1 skrll {
2826 1.1 skrll { 0, 0, 0, 0 },
2827 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
2828 1.1 skrll & ifmt_lw_base_0, { 0x8c000000 }
2829 1.1 skrll },
2830 1.1 skrll /* add $rt,$rs,$lo16 */
2831 1.1 skrll {
2832 1.1 skrll { 0, 0, 0, 0 },
2833 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
2834 1.1 skrll & ifmt_m_add, { 0x20000000 }
2835 1.1 skrll },
2836 1.1 skrll /* addu $rt,$rs,$lo16 */
2837 1.1 skrll {
2838 1.1 skrll { 0, 0, 0, 0 },
2839 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
2840 1.1 skrll & ifmt_m_addu, { 0x24000000 }
2841 1.1 skrll },
2842 1.1 skrll /* and $rt,$rs,$lo16 */
2843 1.1 skrll {
2844 1.1 skrll { 0, 0, 0, 0 },
2845 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
2846 1.1 skrll & ifmt_m_and, { 0x30000000 }
2847 1.1 skrll },
2848 1.1 skrll /* j $rs */
2849 1.1 skrll {
2850 1.1 skrll { 0, 0, 0, 0 },
2851 1.1 skrll { { MNEM, ' ', OP (RS), 0 } },
2852 1.1 skrll & ifmt_m_j, { 0x8 }
2853 1.1 skrll },
2854 1.1 skrll /* or $rt,$rs,$lo16 */
2855 1.1 skrll {
2856 1.1 skrll { 0, 0, 0, 0 },
2857 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
2858 1.1 skrll & ifmt_m_or, { 0x34000000 }
2859 1.1 skrll },
2860 1.1 skrll /* sll $rd,$rt,$rs */
2861 1.1 skrll {
2862 1.1 skrll { 0, 0, 0, 0 },
2863 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), 0 } },
2864 1.1 skrll & ifmt_m_sll, { 0x4 }
2865 1.1 skrll },
2866 1.1 skrll /* slt $rt,$rs,$imm */
2867 1.1 skrll {
2868 1.1 skrll { 0, 0, 0, 0 },
2869 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (IMM), 0 } },
2870 1.1 skrll & ifmt_m_slt, { 0x28000000 }
2871 1.1 skrll },
2872 1.1 skrll /* sltu $rt,$rs,$imm */
2873 1.1 skrll {
2874 1.1 skrll { 0, 0, 0, 0 },
2875 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (IMM), 0 } },
2876 1.1 skrll & ifmt_m_sltu, { 0x2c000000 }
2877 1.1 skrll },
2878 1.1 skrll /* sra $rd,$rt,$rs */
2879 1.1 skrll {
2880 1.1 skrll { 0, 0, 0, 0 },
2881 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), 0 } },
2882 1.1 skrll & ifmt_m_sra, { 0x7 }
2883 1.1 skrll },
2884 1.1 skrll /* srl $rd,$rt,$rs */
2885 1.1 skrll {
2886 1.1 skrll { 0, 0, 0, 0 },
2887 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), 0 } },
2888 1.1 skrll & ifmt_m_srl, { 0x6 }
2889 1.1 skrll },
2890 1.1 skrll /* not $rd,$rt */
2891 1.1 skrll {
2892 1.1 skrll { 0, 0, 0, 0 },
2893 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
2894 1.1 skrll & ifmt_not, { 0x27 }
2895 1.1 skrll },
2896 1.1 skrll /* subi $rt,$rs,$mlo16 */
2897 1.1 skrll {
2898 1.1 skrll { 0, 0, 0, 0 },
2899 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (MLO16), 0 } },
2900 1.1 skrll & ifmt_subi, { 0x24000000 }
2901 1.1 skrll },
2902 1.1 skrll /* sub $rt,$rs,$mlo16 */
2903 1.1 skrll {
2904 1.1 skrll { 0, 0, 0, 0 },
2905 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (MLO16), 0 } },
2906 1.1 skrll & ifmt_m_sub, { 0x24000000 }
2907 1.1 skrll },
2908 1.1 skrll /* subu $rt,$rs,$mlo16 */
2909 1.1 skrll {
2910 1.1 skrll { 0, 0, 0, 0 },
2911 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (MLO16), 0 } },
2912 1.1 skrll & ifmt_m_subu, { 0x24000000 }
2913 1.1 skrll },
2914 1.1 skrll /* sb $rt,$lo16 */
2915 1.1 skrll {
2916 1.1 skrll { 0, 0, 0, 0 },
2917 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
2918 1.1 skrll & ifmt_sb_base_0, { 0xa0000000 }
2919 1.1 skrll },
2920 1.1 skrll /* sh $rt,$lo16 */
2921 1.1 skrll {
2922 1.1 skrll { 0, 0, 0, 0 },
2923 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
2924 1.1 skrll & ifmt_sh_base_0, { 0xa4000000 }
2925 1.1 skrll },
2926 1.1 skrll /* sw $rt,$lo16 */
2927 1.1 skrll {
2928 1.1 skrll { 0, 0, 0, 0 },
2929 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
2930 1.1 skrll & ifmt_sw_base_0, { 0xac000000 }
2931 1.1 skrll },
2932 1.1 skrll /* xor $rt,$rs,$lo16 */
2933 1.1 skrll {
2934 1.1 skrll { 0, 0, 0, 0 },
2935 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
2936 1.1 skrll & ifmt_m_xor, { 0x38000000 }
2937 1.1 skrll },
2938 1.1 skrll /* ldw $rt,$lo16 */
2939 1.1 skrll {
2940 1.1 skrll { 0, 0, 0, 0 },
2941 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
2942 1.1 skrll & ifmt_ldw_base_0, { 0xc0000000 }
2943 1.1 skrll },
2944 1.1 skrll /* sdw $rt,$lo16 */
2945 1.1 skrll {
2946 1.1 skrll { 0, 0, 0, 0 },
2947 1.1 skrll { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
2948 1.1 skrll & ifmt_sdw_base_0, { 0xe0000000 }
2949 1.1 skrll },
2950 1.1 skrll /* avail */
2951 1.1 skrll {
2952 1.1 skrll { 0, 0, 0, 0 },
2953 1.1 skrll { { MNEM, 0 } },
2954 1.1 skrll & ifmt_m_avail, { 0x4c000024 }
2955 1.1 skrll },
2956 1.1 skrll /* cam36 $rd,$rt,${cam-z} */
2957 1.1 skrll {
2958 1.1 skrll { 0, 0, 0, 0 },
2959 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Z), 0 } },
2960 1.1 skrll & ifmt_m_cam36, { 0x4c000400 }
2961 1.1 skrll },
2962 1.1 skrll /* cam72 $rd,$rt,${cam-z} */
2963 1.1 skrll {
2964 1.1 skrll { 0, 0, 0, 0 },
2965 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Z), 0 } },
2966 1.1 skrll & ifmt_m_cam72, { 0x4c000440 }
2967 1.1 skrll },
2968 1.1 skrll /* cam144 $rd,$rt,${cam-z} */
2969 1.1 skrll {
2970 1.1 skrll { 0, 0, 0, 0 },
2971 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Z), 0 } },
2972 1.1 skrll & ifmt_m_cam144, { 0x4c000480 }
2973 1.1 skrll },
2974 1.1 skrll /* cam288 $rd,$rt,${cam-z} */
2975 1.1 skrll {
2976 1.1 skrll { 0, 0, 0, 0 },
2977 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Z), 0 } },
2978 1.1 skrll & ifmt_m_cam288, { 0x4c0004c0 }
2979 1.1 skrll },
2980 1.1 skrll /* cm32read $rd,$rt */
2981 1.1 skrll {
2982 1.1 skrll { 0, 0, 0, 0 },
2983 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
2984 1.1 skrll & ifmt_m_cm32read, { 0x4c0000b0 }
2985 1.1 skrll },
2986 1.1 skrll /* cm64read $rd,$rt */
2987 1.1 skrll {
2988 1.1 skrll { 0, 0, 0, 0 },
2989 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
2990 1.1 skrll & ifmt_m_cm64read, { 0x4c000090 }
2991 1.1 skrll },
2992 1.1 skrll /* cm32mlog $rs,$rt */
2993 1.1 skrll {
2994 1.1 skrll { 0, 0, 0, 0 },
2995 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
2996 1.1 skrll & ifmt_m_cm32mlog, { 0x4c0000aa }
2997 1.1 skrll },
2998 1.1 skrll /* cm32and $rs,$rt */
2999 1.1 skrll {
3000 1.1 skrll { 0, 0, 0, 0 },
3001 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3002 1.1 skrll & ifmt_m_cm32and, { 0x4c0000ab }
3003 1.1 skrll },
3004 1.1 skrll /* cm32andn $rs,$rt */
3005 1.1 skrll {
3006 1.1 skrll { 0, 0, 0, 0 },
3007 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3008 1.1 skrll & ifmt_m_cm32andn, { 0x4c0000a3 }
3009 1.1 skrll },
3010 1.1 skrll /* cm32or $rs,$rt */
3011 1.1 skrll {
3012 1.1 skrll { 0, 0, 0, 0 },
3013 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3014 1.1 skrll & ifmt_m_cm32or, { 0x4c0000aa }
3015 1.1 skrll },
3016 1.1 skrll /* cm32ra $rs,$rt */
3017 1.1 skrll {
3018 1.1 skrll { 0, 0, 0, 0 },
3019 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3020 1.1 skrll & ifmt_m_cm32ra, { 0x4c0000b0 }
3021 1.1 skrll },
3022 1.1 skrll /* cm32rd $rt */
3023 1.1 skrll {
3024 1.1 skrll { 0, 0, 0, 0 },
3025 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
3026 1.1 skrll & ifmt_m_cm32rd, { 0x4c0000a1 }
3027 1.1 skrll },
3028 1.1 skrll /* cm32ri $rt */
3029 1.1 skrll {
3030 1.1 skrll { 0, 0, 0, 0 },
3031 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
3032 1.1 skrll & ifmt_m_cm32ri, { 0x4c0000a4 }
3033 1.1 skrll },
3034 1.1 skrll /* cm32rs $rs,$rt */
3035 1.1 skrll {
3036 1.1 skrll { 0, 0, 0, 0 },
3037 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3038 1.1 skrll & ifmt_m_cm32rs, { 0x4c0000a0 }
3039 1.1 skrll },
3040 1.1 skrll /* cm32sa $rs,$rt */
3041 1.1 skrll {
3042 1.1 skrll { 0, 0, 0, 0 },
3043 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3044 1.1 skrll & ifmt_m_cm32sa, { 0x4c0000b8 }
3045 1.1 skrll },
3046 1.1 skrll /* cm32sd $rt */
3047 1.1 skrll {
3048 1.1 skrll { 0, 0, 0, 0 },
3049 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
3050 1.1 skrll & ifmt_m_cm32sd, { 0x4c0000a9 }
3051 1.1 skrll },
3052 1.1 skrll /* cm32si $rt */
3053 1.1 skrll {
3054 1.1 skrll { 0, 0, 0, 0 },
3055 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
3056 1.1 skrll & ifmt_m_cm32si, { 0x4c0000ac }
3057 1.1 skrll },
3058 1.1 skrll /* cm32ss $rs,$rt */
3059 1.1 skrll {
3060 1.1 skrll { 0, 0, 0, 0 },
3061 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3062 1.1 skrll & ifmt_m_cm32ss, { 0x4c0000a8 }
3063 1.1 skrll },
3064 1.1 skrll /* cm32xor $rs,$rt */
3065 1.1 skrll {
3066 1.1 skrll { 0, 0, 0, 0 },
3067 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3068 1.1 skrll & ifmt_m_cm32xor, { 0x4c0000a2 }
3069 1.1 skrll },
3070 1.1 skrll /* cm64clr $rt */
3071 1.1 skrll {
3072 1.1 skrll { 0, 0, 0, 0 },
3073 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
3074 1.1 skrll & ifmt_m_cm64clr, { 0x4c000085 }
3075 1.1 skrll },
3076 1.1 skrll /* cm64ra $rs,$rt */
3077 1.1 skrll {
3078 1.1 skrll { 0, 0, 0, 0 },
3079 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3080 1.1 skrll & ifmt_m_cm64ra, { 0x4c000090 }
3081 1.1 skrll },
3082 1.1 skrll /* cm64rd $rt */
3083 1.1 skrll {
3084 1.1 skrll { 0, 0, 0, 0 },
3085 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
3086 1.1 skrll & ifmt_m_cm64rd, { 0x4c000081 }
3087 1.1 skrll },
3088 1.1 skrll /* cm64ri $rt */
3089 1.1 skrll {
3090 1.1 skrll { 0, 0, 0, 0 },
3091 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
3092 1.1 skrll & ifmt_m_cm64ri, { 0x4c000084 }
3093 1.1 skrll },
3094 1.1 skrll /* cm64ria2 $rs,$rt */
3095 1.1 skrll {
3096 1.1 skrll { 0, 0, 0, 0 },
3097 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3098 1.1 skrll & ifmt_m_cm64ria2, { 0x4c000094 }
3099 1.1 skrll },
3100 1.1 skrll /* cm64rs $rs,$rt */
3101 1.1 skrll {
3102 1.1 skrll { 0, 0, 0, 0 },
3103 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3104 1.1 skrll & ifmt_m_cm64rs, { 0x4c000080 }
3105 1.1 skrll },
3106 1.1 skrll /* cm64sa $rs,$rt */
3107 1.1 skrll {
3108 1.1 skrll { 0, 0, 0, 0 },
3109 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3110 1.1 skrll & ifmt_m_cm64sa, { 0x4c000098 }
3111 1.1 skrll },
3112 1.1 skrll /* cm64sd $rt */
3113 1.1 skrll {
3114 1.1 skrll { 0, 0, 0, 0 },
3115 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
3116 1.1 skrll & ifmt_m_cm64sd, { 0x4c000089 }
3117 1.1 skrll },
3118 1.1 skrll /* cm64si $rt */
3119 1.1 skrll {
3120 1.1 skrll { 0, 0, 0, 0 },
3121 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
3122 1.1 skrll & ifmt_m_cm64si, { 0x4c00008c }
3123 1.1 skrll },
3124 1.1 skrll /* cm64sia2 $rs,$rt */
3125 1.1 skrll {
3126 1.1 skrll { 0, 0, 0, 0 },
3127 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3128 1.1 skrll & ifmt_m_cm64sia2, { 0x4c00009c }
3129 1.1 skrll },
3130 1.1 skrll /* cm64ss $rs,$rt */
3131 1.1 skrll {
3132 1.1 skrll { 0, 0, 0, 0 },
3133 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3134 1.1 skrll & ifmt_m_cm64ss, { 0x4c000088 }
3135 1.1 skrll },
3136 1.1 skrll /* cm128ria2 $rs,$rt */
3137 1.1 skrll {
3138 1.1 skrll { 0, 0, 0, 0 },
3139 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3140 1.1 skrll & ifmt_m_cm128ria2, { 0x4c000095 }
3141 1.1 skrll },
3142 1.1 skrll /* cm128ria3 $rs,$rt,${cm-3z} */
3143 1.1 skrll {
3144 1.1 skrll { 0, 0, 0, 0 },
3145 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (CM_3Z), 0 } },
3146 1.1 skrll & ifmt_m_cm128ria3, { 0x4c000090 }
3147 1.1 skrll },
3148 1.1 skrll /* cm128ria4 $rs,$rt,${cm-4z} */
3149 1.1 skrll {
3150 1.1 skrll { 0, 0, 0, 0 },
3151 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (CM_4Z), 0 } },
3152 1.1 skrll & ifmt_m_cm128ria4, { 0x4c0000b0 }
3153 1.1 skrll },
3154 1.1 skrll /* cm128sia2 $rs,$rt */
3155 1.1 skrll {
3156 1.1 skrll { 0, 0, 0, 0 },
3157 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3158 1.1 skrll & ifmt_m_cm128sia2, { 0x4c00009d }
3159 1.1 skrll },
3160 1.1 skrll /* cm128sia3 $rs,$rt,${cm-3z} */
3161 1.1 skrll {
3162 1.1 skrll { 0, 0, 0, 0 },
3163 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (CM_3Z), 0 } },
3164 1.1 skrll & ifmt_m_cm128sia3, { 0x4c000098 }
3165 1.1 skrll },
3166 1.1 skrll /* cm128sia4 $rs,$rt,${cm-4z} */
3167 1.1 skrll {
3168 1.1 skrll { 0, 0, 0, 0 },
3169 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (CM_4Z), 0 } },
3170 1.1 skrll & ifmt_m_cm128sia4, { 0x4c0000b8 }
3171 1.1 skrll },
3172 1.1 skrll /* cmphdr */
3173 1.1 skrll {
3174 1.1 skrll { 0, 0, 0, 0 },
3175 1.1 skrll { { MNEM, 0 } },
3176 1.1 skrll & ifmt_m_cmphdr, { 0x4c00002c }
3177 1.1 skrll },
3178 1.1 skrll /* dbd $rd,$rt */
3179 1.1 skrll {
3180 1.1 skrll { 0, 0, 0, 0 },
3181 1.1 skrll { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
3182 1.1 skrll & ifmt_m_dbd, { 0x4c000021 }
3183 1.1 skrll },
3184 1.1 skrll /* dbd $rt */
3185 1.1 skrll {
3186 1.1 skrll { 0, 0, 0, 0 },
3187 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
3188 1.1 skrll & ifmt_m2_dbd, { 0x4c000021 }
3189 1.1 skrll },
3190 1.1 skrll /* dpwt $rs */
3191 1.1 skrll {
3192 1.1 skrll { 0, 0, 0, 0 },
3193 1.1 skrll { { MNEM, ' ', OP (RS), 0 } },
3194 1.1 skrll & ifmt_m_dpwt, { 0x4c000023 }
3195 1.1 skrll },
3196 1.1 skrll /* free $rs */
3197 1.1 skrll {
3198 1.1 skrll { 0, 0, 0, 0 },
3199 1.1 skrll { { MNEM, ' ', OP (RS), 0 } },
3200 1.1 skrll & ifmt_m_free, { 0x4c000025 }
3201 1.1 skrll },
3202 1.1 skrll /* lock $rt */
3203 1.1 skrll {
3204 1.1 skrll { 0, 0, 0, 0 },
3205 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
3206 1.1 skrll & ifmt_m_lock, { 0x4c000001 }
3207 1.1 skrll },
3208 1.1 skrll /* pkrla $rs,$rt */
3209 1.1 skrll {
3210 1.1 skrll { 0, 0, 0, 0 },
3211 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3212 1.1 skrll & ifmt_m_pkrla, { 0x4c000028 }
3213 1.1 skrll },
3214 1.1 skrll /* pkrlac $rs,$rt */
3215 1.1 skrll {
3216 1.1 skrll { 0, 0, 0, 0 },
3217 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3218 1.1 skrll & ifmt_m_pkrlac, { 0x4c00002b }
3219 1.1 skrll },
3220 1.1 skrll /* pkrlah $rs,$rt */
3221 1.1 skrll {
3222 1.1 skrll { 0, 0, 0, 0 },
3223 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3224 1.1 skrll & ifmt_m_pkrlah, { 0x4c00002a }
3225 1.1 skrll },
3226 1.1 skrll /* pkrlau $rs,$rt */
3227 1.1 skrll {
3228 1.1 skrll { 0, 0, 0, 0 },
3229 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3230 1.1 skrll & ifmt_m_pkrlau, { 0x4c000029 }
3231 1.1 skrll },
3232 1.1 skrll /* pkrli $rs,$rt,$bytecount */
3233 1.1 skrll {
3234 1.1 skrll { 0, 0, 0, 0 },
3235 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
3236 1.1 skrll & ifmt_m_pkrli, { 0x48000000 }
3237 1.1 skrll },
3238 1.1 skrll /* pkrlic $rs,$rt,$bytecount */
3239 1.1 skrll {
3240 1.1 skrll { 0, 0, 0, 0 },
3241 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
3242 1.1 skrll & ifmt_m_pkrlic, { 0x48000300 }
3243 1.1 skrll },
3244 1.1 skrll /* pkrlih $rs,$rt,$bytecount */
3245 1.1 skrll {
3246 1.1 skrll { 0, 0, 0, 0 },
3247 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
3248 1.1 skrll & ifmt_m_pkrlih, { 0x48000200 }
3249 1.1 skrll },
3250 1.1 skrll /* pkrliu $rs,$rt,$bytecount */
3251 1.1 skrll {
3252 1.1 skrll { 0, 0, 0, 0 },
3253 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
3254 1.1 skrll & ifmt_m_pkrliu, { 0x48000100 }
3255 1.1 skrll },
3256 1.1 skrll /* rba $rs,$rt */
3257 1.1 skrll {
3258 1.1 skrll { 0, 0, 0, 0 },
3259 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3260 1.1 skrll & ifmt_m_rba, { 0x4c000008 }
3261 1.1 skrll },
3262 1.1 skrll /* rbal $rs,$rt */
3263 1.1 skrll {
3264 1.1 skrll { 0, 0, 0, 0 },
3265 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3266 1.1 skrll & ifmt_m_rbal, { 0x4c000009 }
3267 1.1 skrll },
3268 1.1 skrll /* rbar $rs,$rt */
3269 1.1 skrll {
3270 1.1 skrll { 0, 0, 0, 0 },
3271 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3272 1.1 skrll & ifmt_m_rbar, { 0x4c00000a }
3273 1.1 skrll },
3274 1.1 skrll /* rbi $rs,$rt,$bytecount */
3275 1.1 skrll {
3276 1.1 skrll { 0, 0, 0, 0 },
3277 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
3278 1.1 skrll & ifmt_m_rbi, { 0x4c000200 }
3279 1.1 skrll },
3280 1.1 skrll /* rbil $rs,$rt,$bytecount */
3281 1.1 skrll {
3282 1.1 skrll { 0, 0, 0, 0 },
3283 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
3284 1.1 skrll & ifmt_m_rbil, { 0x4c000300 }
3285 1.1 skrll },
3286 1.1 skrll /* rbir $rs,$rt,$bytecount */
3287 1.1 skrll {
3288 1.1 skrll { 0, 0, 0, 0 },
3289 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
3290 1.1 skrll & ifmt_m_rbir, { 0x4c000100 }
3291 1.1 skrll },
3292 1.1 skrll /* swwr $rs,$rt */
3293 1.1 skrll {
3294 1.1 skrll { 0, 0, 0, 0 },
3295 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3296 1.1 skrll & ifmt_m_swwr, { 0x4c000006 }
3297 1.1 skrll },
3298 1.1 skrll /* swwru $rs,$rt */
3299 1.1 skrll {
3300 1.1 skrll { 0, 0, 0, 0 },
3301 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3302 1.1 skrll & ifmt_m_swwru, { 0x4c000007 }
3303 1.1 skrll },
3304 1.1 skrll /* tstod $rs */
3305 1.1 skrll {
3306 1.1 skrll { 0, 0, 0, 0 },
3307 1.1 skrll { { MNEM, ' ', OP (RS), 0 } },
3308 1.1 skrll & ifmt_m_tstod, { 0x4c000027 }
3309 1.1 skrll },
3310 1.1 skrll /* unlk $rt */
3311 1.1 skrll {
3312 1.1 skrll { 0, 0, 0, 0 },
3313 1.1 skrll { { MNEM, ' ', OP (RT), 0 } },
3314 1.1 skrll & ifmt_m_unlk, { 0x4c000003 }
3315 1.1 skrll },
3316 1.1 skrll /* wba $rs,$rt */
3317 1.1 skrll {
3318 1.1 skrll { 0, 0, 0, 0 },
3319 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3320 1.1 skrll & ifmt_m_wba, { 0x4c000010 }
3321 1.1 skrll },
3322 1.1 skrll /* wbac $rs,$rt */
3323 1.1 skrll {
3324 1.1 skrll { 0, 0, 0, 0 },
3325 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3326 1.1 skrll & ifmt_m_wbac, { 0x4c000012 }
3327 1.1 skrll },
3328 1.1 skrll /* wbau $rs,$rt */
3329 1.1 skrll {
3330 1.1 skrll { 0, 0, 0, 0 },
3331 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
3332 1.1 skrll & ifmt_m_wbau, { 0x4c000011 }
3333 1.1 skrll },
3334 1.1 skrll /* wbi $rs,$rt,$bytecount */
3335 1.1 skrll {
3336 1.1 skrll { 0, 0, 0, 0 },
3337 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
3338 1.1 skrll & ifmt_m_wbi, { 0x4c000600 }
3339 1.1 skrll },
3340 1.1 skrll /* wbic $rs,$rt,$bytecount */
3341 1.1 skrll {
3342 1.1 skrll { 0, 0, 0, 0 },
3343 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
3344 1.1 skrll & ifmt_m_wbic, { 0x4c000500 }
3345 1.1 skrll },
3346 1.1 skrll /* wbiu $rs,$rt,$bytecount */
3347 1.1 skrll {
3348 1.1 skrll { 0, 0, 0, 0 },
3349 1.1 skrll { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
3350 1.1 skrll & ifmt_m_wbiu, { 0x4c000700 }
3351 1.1 skrll },
3352 1.1 skrll };
3353 1.1 skrll
3354 1.1 skrll #undef A
3355 1.1 skrll #undef OPERAND
3356 1.1 skrll #undef MNEM
3357 1.1 skrll #undef OP
3358 1.1 skrll
3359 1.1 skrll #ifndef CGEN_ASM_HASH_P
3360 1.1 skrll #define CGEN_ASM_HASH_P(insn) 1
3361 1.1 skrll #endif
3362 1.1 skrll
3363 1.1 skrll #ifndef CGEN_DIS_HASH_P
3364 1.1 skrll #define CGEN_DIS_HASH_P(insn) 1
3365 1.1 skrll #endif
3366 1.1 skrll
3367 1.1 skrll /* Return non-zero if INSN is to be added to the hash table.
3368 1.1 skrll Targets are free to override CGEN_{ASM,DIS}_HASH_P in the .opc file. */
3369 1.1 skrll
3370 1.1 skrll static int
3371 1.1 skrll asm_hash_insn_p (insn)
3372 1.1 skrll const CGEN_INSN *insn ATTRIBUTE_UNUSED;
3373 1.1 skrll {
3374 1.1 skrll return CGEN_ASM_HASH_P (insn);
3375 1.1 skrll }
3376 1.1 skrll
3377 1.1 skrll static int
3378 1.1 skrll dis_hash_insn_p (insn)
3379 1.1 skrll const CGEN_INSN *insn;
3380 1.1 skrll {
3381 1.1 skrll /* If building the hash table and the NO-DIS attribute is present,
3382 1.1 skrll ignore. */
3383 1.1 skrll if (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_NO_DIS))
3384 1.1 skrll return 0;
3385 1.1 skrll return CGEN_DIS_HASH_P (insn);
3386 1.1 skrll }
3387 1.1 skrll
3388 1.1 skrll #ifndef CGEN_ASM_HASH
3389 1.1 skrll #define CGEN_ASM_HASH_SIZE 127
3390 1.1 skrll #ifdef CGEN_MNEMONIC_OPERANDS
3391 1.1 skrll #define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE)
3392 1.1 skrll #else
3393 1.1 skrll #define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE) /*FIXME*/
3394 1.1 skrll #endif
3395 1.1 skrll #endif
3396 1.1 skrll
3397 1.1 skrll /* It doesn't make much sense to provide a default here,
3398 1.1 skrll but while this is under development we do.
3399 1.1 skrll BUFFER is a pointer to the bytes of the insn, target order.
3400 1.1 skrll VALUE is the first base_insn_bitsize bits as an int in host order. */
3401 1.1 skrll
3402 1.1 skrll #ifndef CGEN_DIS_HASH
3403 1.1 skrll #define CGEN_DIS_HASH_SIZE 256
3404 1.1 skrll #define CGEN_DIS_HASH(buf, value) (*(unsigned char *) (buf))
3405 1.1 skrll #endif
3406 1.1 skrll
3407 1.1 skrll /* The result is the hash value of the insn.
3408 1.1 skrll Targets are free to override CGEN_{ASM,DIS}_HASH in the .opc file. */
3409 1.1 skrll
3410 1.1 skrll static unsigned int
3411 1.1 skrll asm_hash_insn (mnem)
3412 1.1 skrll const char * mnem;
3413 1.1 skrll {
3414 1.1 skrll return CGEN_ASM_HASH (mnem);
3415 1.1 skrll }
3416 1.1 skrll
3417 1.1 skrll /* BUF is a pointer to the bytes of the insn, target order.
3418 1.1 skrll VALUE is the first base_insn_bitsize bits as an int in host order. */
3419 1.1 skrll
3420 1.1 skrll static unsigned int
3421 1.1 skrll dis_hash_insn (buf, value)
3422 1.1 skrll const char * buf ATTRIBUTE_UNUSED;
3423 1.1 skrll CGEN_INSN_INT value ATTRIBUTE_UNUSED;
3424 1.1 skrll {
3425 1.1 skrll return CGEN_DIS_HASH (buf, value);
3426 1.1 skrll }
3427 1.1 skrll
3428 1.1 skrll /* Set the recorded length of the insn in the CGEN_FIELDS struct. */
3429 1.1 skrll
3430 1.1 skrll static void
3431 1.1 skrll set_fields_bitsize (CGEN_FIELDS *fields, int size)
3432 1.1 skrll {
3433 1.1 skrll CGEN_FIELDS_BITSIZE (fields) = size;
3434 1.1 skrll }
3435 1.1 skrll
3436 1.1 skrll /* Function to call before using the operand instance table.
3437 1.1 skrll This plugs the opcode entries and macro instructions into the cpu table. */
3438 1.1 skrll
3439 1.1 skrll void
3440 1.1 skrll iq2000_cgen_init_opcode_table (CGEN_CPU_DESC cd)
3441 1.1 skrll {
3442 1.1 skrll int i;
3443 1.1 skrll int num_macros = (sizeof (iq2000_cgen_macro_insn_table) /
3444 1.1 skrll sizeof (iq2000_cgen_macro_insn_table[0]));
3445 1.1 skrll const CGEN_IBASE *ib = & iq2000_cgen_macro_insn_table[0];
3446 1.1 skrll const CGEN_OPCODE *oc = & iq2000_cgen_macro_insn_opcode_table[0];
3447 1.1 skrll CGEN_INSN *insns = xmalloc (num_macros * sizeof (CGEN_INSN));
3448 1.1 skrll
3449 1.1 skrll memset (insns, 0, num_macros * sizeof (CGEN_INSN));
3450 1.1 skrll for (i = 0; i < num_macros; ++i)
3451 1.1 skrll {
3452 1.1 skrll insns[i].base = &ib[i];
3453 1.1 skrll insns[i].opcode = &oc[i];
3454 1.1 skrll iq2000_cgen_build_insn_regex (& insns[i]);
3455 1.1 skrll }
3456 1.1 skrll cd->macro_insn_table.init_entries = insns;
3457 1.1 skrll cd->macro_insn_table.entry_size = sizeof (CGEN_IBASE);
3458 1.1 skrll cd->macro_insn_table.num_init_entries = num_macros;
3459 1.1 skrll
3460 1.1 skrll oc = & iq2000_cgen_insn_opcode_table[0];
3461 1.1 skrll insns = (CGEN_INSN *) cd->insn_table.init_entries;
3462 1.1 skrll for (i = 0; i < MAX_INSNS; ++i)
3463 1.1 skrll {
3464 1.1 skrll insns[i].opcode = &oc[i];
3465 1.1 skrll iq2000_cgen_build_insn_regex (& insns[i]);
3466 1.1 skrll }
3467 1.1 skrll
3468 1.1 skrll cd->sizeof_fields = sizeof (CGEN_FIELDS);
3469 1.1 skrll cd->set_fields_bitsize = set_fields_bitsize;
3470 1.1 skrll
3471 1.1 skrll cd->asm_hash_p = asm_hash_insn_p;
3472 1.1 skrll cd->asm_hash = asm_hash_insn;
3473 1.1 skrll cd->asm_hash_size = CGEN_ASM_HASH_SIZE;
3474 1.1 skrll
3475 1.1 skrll cd->dis_hash_p = dis_hash_insn_p;
3476 1.1 skrll cd->dis_hash = dis_hash_insn;
3477 1.1 skrll cd->dis_hash_size = CGEN_DIS_HASH_SIZE;
3478 1.1 skrll }
3479