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