opcodes/arc: Move instruction length logic to new function
[external/binutils.git] / opcodes / mep-opc.c
1 /* Instruction opcode table for mep.
2
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
4
5 Copyright (C) 1996-2016 Free Software Foundation, Inc.
6
7 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
8
9    This file is free software; you can redistribute it and/or modify
10    it under the terms of the GNU General Public License as published by
11    the Free Software Foundation; either version 3, or (at your option)
12    any later version.
13
14    It is distributed in the hope that it will be useful, but WITHOUT
15    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
17    License for more details.
18
19    You should have received a copy of the GNU General Public License along
20    with this program; if not, write to the Free Software Foundation, Inc.,
21    51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
22
23 */
24
25 #include "sysdep.h"
26 #include "ansidecl.h"
27 #include "bfd.h"
28 #include "symcat.h"
29 #include "mep-desc.h"
30 #include "mep-opc.h"
31 #include "libiberty.h"
32
33 /* -- opc.c */
34 #include "elf/mep.h"
35
36 /* A mask for all ISAs executed by the core. */
37 CGEN_ATTR_VALUE_BITSET_TYPE mep_all_core_isas_mask = {0, 0};
38
39 void
40 init_mep_all_core_isas_mask (void)
41 {
42   if (mep_all_core_isas_mask.length != 0)
43     return;
44   cgen_bitset_init (& mep_all_core_isas_mask, ISA_MAX);
45   cgen_bitset_set (& mep_all_core_isas_mask, ISA_MEP);
46   /* begin-all-core-isas */
47   cgen_bitset_add (& mep_all_core_isas_mask, ISA_EXT_CORE1);
48   /* end-all-core-isas */
49 }
50
51 CGEN_ATTR_VALUE_BITSET_TYPE mep_all_cop_isas_mask = {0, 0};
52
53 void
54 init_mep_all_cop_isas_mask (void)
55 {
56   if (mep_all_cop_isas_mask.length != 0)
57     return;
58   cgen_bitset_init (& mep_all_cop_isas_mask, ISA_MAX);
59   /* begin-all-cop-isas */
60   cgen_bitset_add (& mep_all_cop_isas_mask, ISA_EXT_COP1_16);
61   cgen_bitset_add (& mep_all_cop_isas_mask, ISA_EXT_COP1_32);
62   cgen_bitset_add (& mep_all_cop_isas_mask, ISA_EXT_COP1_48);
63   cgen_bitset_add (& mep_all_cop_isas_mask, ISA_EXT_COP1_64);
64   /* end-all-cop-isas */
65 }
66
67 int
68 mep_insn_supported_by_isa (const CGEN_INSN *insn, CGEN_ATTR_VALUE_BITSET_TYPE *isa_mask)
69 {
70   CGEN_BITSET insn_isas = CGEN_INSN_BITSET_ATTR_VALUE (insn, CGEN_INSN_ISA);
71   return cgen_bitset_intersect_p (& insn_isas, isa_mask);
72 }
73
74 #define OPTION_MASK \
75         ( (1 << CGEN_INSN_OPTIONAL_BIT_INSN) \
76         | (1 << CGEN_INSN_OPTIONAL_MUL_INSN) \
77         | (1 << CGEN_INSN_OPTIONAL_DIV_INSN) \
78         | (1 << CGEN_INSN_OPTIONAL_DEBUG_INSN) \
79         | (1 << CGEN_INSN_OPTIONAL_LDZ_INSN) \
80         | (1 << CGEN_INSN_OPTIONAL_ABS_INSN) \
81         | (1 << CGEN_INSN_OPTIONAL_AVE_INSN) \
82         | (1 << CGEN_INSN_OPTIONAL_MINMAX_INSN) \
83         | (1 << CGEN_INSN_OPTIONAL_CLIP_INSN) \
84         | (1 << CGEN_INSN_OPTIONAL_SAT_INSN) \
85         | (1 << CGEN_INSN_OPTIONAL_UCI_INSN) \
86         | (1 << CGEN_INSN_OPTIONAL_DSP_INSN) \
87         | (1 << CGEN_INSN_OPTIONAL_CP_INSN) \
88         | (1 << CGEN_INSN_OPTIONAL_CP64_INSN) )
89
90
91 mep_config_map_struct mep_config_map[] =
92 {
93   /* config-map-start */
94   /* Default entry: first module, with all options enabled. */
95   { "", 0,  EF_MEP_COP_IVC2 | EF_MEP_CPU_C5,0, 64, { 1, "\x20" }, { 1, "\x10" }, { 1, "\x8" }, { 1, "\x4" }, { 1, "\x3c" }, { 1, "\xc0" }, OPTION_MASK | (1 << CGEN_INSN_OPTIONAL_DSP_INSN) | (1 << CGEN_INSN_OPTIONAL_UCI_INSN) },
96   { "default", CONFIG_DEFAULT, EF_MEP_COP_IVC2 | EF_MEP_CPU_C5, 0, 64, { 1, "\x20" }, { 1, "\x10" }, { 1, "\x8" }, { 1, "\x4" }, { 1, "\x3c" }, { 1, "\xc0" },
97           0
98         | (1 << CGEN_INSN_OPTIONAL_CP_INSN)
99         | (1 << CGEN_INSN_OPTIONAL_CP64_INSN)
100         | (1 << CGEN_INSN_OPTIONAL_MUL_INSN)
101         | (1 << CGEN_INSN_OPTIONAL_DIV_INSN)
102         | (1 << CGEN_INSN_OPTIONAL_BIT_INSN)
103         | (1 << CGEN_INSN_OPTIONAL_LDZ_INSN)
104         | (1 << CGEN_INSN_OPTIONAL_ABS_INSN)
105         | (1 << CGEN_INSN_OPTIONAL_AVE_INSN)
106         | (1 << CGEN_INSN_OPTIONAL_MINMAX_INSN)
107         | (1 << CGEN_INSN_OPTIONAL_CLIP_INSN)
108         | (1 << CGEN_INSN_OPTIONAL_SAT_INSN) },
109   /* config-map-end */
110   { 0, 0, 0, 0, 0, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, 0 }
111 };
112
113 int mep_config_index = 0;
114
115 static int
116 check_configured_mach (int machs)
117 {
118   /* All base insns are supported.  */
119   int mach = 1 << MACH_BASE;
120   switch (MEP_CPU & EF_MEP_CPU_MASK)
121     {
122     case EF_MEP_CPU_C2:
123     case EF_MEP_CPU_C3:
124       mach |= (1 << MACH_MEP);
125       break;
126     case EF_MEP_CPU_H1:
127       mach |= (1 << MACH_H1);
128       break;
129     case EF_MEP_CPU_C5:
130       mach |= (1 << MACH_MEP);
131       mach |= (1 << MACH_C5);
132       break;
133     default:
134       break;
135     }
136   return machs & mach;
137 }
138
139 int
140 mep_cgen_insn_supported (CGEN_CPU_DESC cd, const CGEN_INSN *insn)
141 {
142   int iconfig = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_CONFIG);
143   int machs = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_MACH);
144   CGEN_BITSET isas = CGEN_INSN_BITSET_ATTR_VALUE (insn, CGEN_INSN_ISA);
145   int ok1;
146   int ok2;
147   int ok3;
148
149   /* If the insn has an option bit set that we don't want,
150      reject it.  */
151   if (CGEN_INSN_ATTRS (insn)->bool_ & OPTION_MASK & ~MEP_OMASK)
152     return 0;
153
154   /* If attributes are absent, assume no restriction. */
155   if (machs == 0)
156     machs = ~0;
157
158   ok1 = ((machs & cd->machs) && cgen_bitset_intersect_p (& isas, cd->isas));
159   /* If the insn is config-specific, make sure it matches.  */
160   ok2 =  (iconfig == 0 || iconfig == MEP_CONFIG);
161   /* Make sure the insn is supported by the configured mach  */
162   ok3 = check_configured_mach (machs);
163
164   return (ok1 && ok2 && ok3);
165 }
166
167 int
168 mep_cgen_insn_supported_asm (CGEN_CPU_DESC cd, const CGEN_INSN *insn)
169 {
170 #ifdef MEP_IVC2_SUPPORTED
171   /* If we're assembling VLIW packets, ignore the 12-bit BSR as we
172      can't relax that.  The 24-bit BSR is matched instead.  */
173   if (insn->base->num == MEP_INSN_BSR12
174       && cgen_bitset_contains (cd->isas, ISA_EXT_COP1_64))
175     return 0;
176 #endif
177
178   return mep_cgen_insn_supported (cd, insn);
179 }
180 /* The hash functions are recorded here to help keep assembler code out of
181    the disassembler and vice versa.  */
182
183 static int asm_hash_insn_p        (const CGEN_INSN *);
184 static unsigned int asm_hash_insn (const char *);
185 static int dis_hash_insn_p        (const CGEN_INSN *);
186 static unsigned int dis_hash_insn (const char *, CGEN_INSN_INT);
187
188 /* Instruction formats.  */
189
190 #define F(f) & mep_cgen_ifld_table[MEP_##f]
191 static const CGEN_IFMT ifmt_empty ATTRIBUTE_UNUSED = {
192   0, 0, 0x0, { { 0 } }
193 };
194
195 static const CGEN_IFMT ifmt_stcb_r ATTRIBUTE_UNUSED = {
196   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
197 };
198
199 static const CGEN_IFMT ifmt_pref ATTRIBUTE_UNUSED = {
200   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
201 };
202
203 static const CGEN_IFMT ifmt_prefd ATTRIBUTE_UNUSED = {
204   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16S16) }, { 0 } }
205 };
206
207 static const CGEN_IFMT ifmt_casb3 ATTRIBUTE_UNUSED = {
208   32, 32, 0xf00ff0ff, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_C5N4) }, { F (F_RL5) }, { F (F_C5N6) }, { F (F_C5N7) }, { 0 } }
209 };
210
211 static const CGEN_IFMT ifmt_sbcp ATTRIBUTE_UNUSED = {
212   32, 32, 0xf00ff000, { { F (F_MAJOR) }, { F (F_CRN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_EXT4) }, { F (F_12S20) }, { 0 } }
213 };
214
215 static const CGEN_IFMT ifmt_lbucpa ATTRIBUTE_UNUSED = {
216   32, 32, 0xf00ffc00, { { F (F_MAJOR) }, { F (F_CRN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_EXT4) }, { F (F_EXT62) }, { F (F_CDISP10) }, { 0 } }
217 };
218
219 static const CGEN_IFMT ifmt_lhucpa ATTRIBUTE_UNUSED = {
220   32, 32, 0xf00ffc00, { { F (F_MAJOR) }, { F (F_CRN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_EXT4) }, { F (F_EXT62) }, { F (F_CDISP10) }, { 0 } }
221 };
222
223 static const CGEN_IFMT ifmt_uci ATTRIBUTE_UNUSED = {
224   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16S16) }, { 0 } }
225 };
226
227 static const CGEN_IFMT ifmt_dsp ATTRIBUTE_UNUSED = {
228   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16U16) }, { 0 } }
229 };
230
231 static const CGEN_IFMT ifmt_dsp0 ATTRIBUTE_UNUSED = {
232   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_C5_RNMUIMM24) }, { F (F_SUB4) }, { 0 } }
233 };
234
235 static const CGEN_IFMT ifmt_dsp1 ATTRIBUTE_UNUSED = {
236   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_C5_RMUIMM20) }, { F (F_SUB4) }, { 0 } }
237 };
238
239 static const CGEN_IFMT ifmt_sb ATTRIBUTE_UNUSED = {
240   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
241 };
242
243 static const CGEN_IFMT ifmt_sh ATTRIBUTE_UNUSED = {
244   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
245 };
246
247 static const CGEN_IFMT ifmt_sw ATTRIBUTE_UNUSED = {
248   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
249 };
250
251 static const CGEN_IFMT ifmt_lbu ATTRIBUTE_UNUSED = {
252   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
253 };
254
255 static const CGEN_IFMT ifmt_lhu ATTRIBUTE_UNUSED = {
256   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
257 };
258
259 static const CGEN_IFMT ifmt_sw_sp ATTRIBUTE_UNUSED = {
260   16, 16, 0xf083, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_8) }, { F (F_7U9A4) }, { F (F_SUB2) }, { 0 } }
261 };
262
263 static const CGEN_IFMT ifmt_sb_tp ATTRIBUTE_UNUSED = {
264   16, 16, 0xf880, { { F (F_MAJOR) }, { F (F_4) }, { F (F_RN3) }, { F (F_8) }, { F (F_7U9) }, { 0 } }
265 };
266
267 static const CGEN_IFMT ifmt_sh_tp ATTRIBUTE_UNUSED = {
268   16, 16, 0xf881, { { F (F_MAJOR) }, { F (F_4) }, { F (F_RN3) }, { F (F_8) }, { F (F_7U9A2) }, { F (F_15) }, { 0 } }
269 };
270
271 static const CGEN_IFMT ifmt_sw_tp ATTRIBUTE_UNUSED = {
272   16, 16, 0xf883, { { F (F_MAJOR) }, { F (F_4) }, { F (F_RN3) }, { F (F_8) }, { F (F_7U9A4) }, { F (F_SUB2) }, { 0 } }
273 };
274
275 static const CGEN_IFMT ifmt_lbu_tp ATTRIBUTE_UNUSED = {
276   16, 16, 0xf880, { { F (F_MAJOR) }, { F (F_4) }, { F (F_RN3) }, { F (F_8) }, { F (F_7U9) }, { 0 } }
277 };
278
279 static const CGEN_IFMT ifmt_lhu_tp ATTRIBUTE_UNUSED = {
280   16, 16, 0xf881, { { F (F_MAJOR) }, { F (F_4) }, { F (F_RN3) }, { F (F_8) }, { F (F_7U9A2) }, { F (F_15) }, { 0 } }
281 };
282
283 static const CGEN_IFMT ifmt_sb16 ATTRIBUTE_UNUSED = {
284   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16S16) }, { 0 } }
285 };
286
287 static const CGEN_IFMT ifmt_sh16 ATTRIBUTE_UNUSED = {
288   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16S16) }, { 0 } }
289 };
290
291 static const CGEN_IFMT ifmt_sw16 ATTRIBUTE_UNUSED = {
292   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16S16) }, { 0 } }
293 };
294
295 static const CGEN_IFMT ifmt_lbu16 ATTRIBUTE_UNUSED = {
296   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16S16) }, { 0 } }
297 };
298
299 static const CGEN_IFMT ifmt_lhu16 ATTRIBUTE_UNUSED = {
300   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16S16) }, { 0 } }
301 };
302
303 static const CGEN_IFMT ifmt_sw24 ATTRIBUTE_UNUSED = {
304   32, 32, 0xf0030000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_24U8A4N) }, { F (F_SUB2) }, { 0 } }
305 };
306
307 static const CGEN_IFMT ifmt_extb ATTRIBUTE_UNUSED = {
308   16, 16, 0xf0ff, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
309 };
310
311 static const CGEN_IFMT ifmt_ssarb ATTRIBUTE_UNUSED = {
312   16, 16, 0xfc0f, { { F (F_MAJOR) }, { F (F_4) }, { F (F_5) }, { F (F_2U6) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
313 };
314
315 static const CGEN_IFMT ifmt_mov ATTRIBUTE_UNUSED = {
316   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
317 };
318
319 static const CGEN_IFMT ifmt_movi8 ATTRIBUTE_UNUSED = {
320   16, 16, 0xf000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_8S8) }, { 0 } }
321 };
322
323 static const CGEN_IFMT ifmt_movi16 ATTRIBUTE_UNUSED = {
324   32, 32, 0xf0ff0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16S16) }, { 0 } }
325 };
326
327 static const CGEN_IFMT ifmt_movu24 ATTRIBUTE_UNUSED = {
328   32, 32, 0xf8000000, { { F (F_MAJOR) }, { F (F_4) }, { F (F_RN3) }, { F (F_24U8N) }, { 0 } }
329 };
330
331 static const CGEN_IFMT ifmt_movu16 ATTRIBUTE_UNUSED = {
332   32, 32, 0xf0ff0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16U16) }, { 0 } }
333 };
334
335 static const CGEN_IFMT ifmt_add3 ATTRIBUTE_UNUSED = {
336   16, 16, 0xf000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_RL) }, { 0 } }
337 };
338
339 static const CGEN_IFMT ifmt_add ATTRIBUTE_UNUSED = {
340   16, 16, 0xf003, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_6S8) }, { F (F_SUB2) }, { 0 } }
341 };
342
343 static const CGEN_IFMT ifmt_add3i ATTRIBUTE_UNUSED = {
344   16, 16, 0xf083, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_8) }, { F (F_7U9A4) }, { F (F_SUB2) }, { 0 } }
345 };
346
347 static const CGEN_IFMT ifmt_slt3i ATTRIBUTE_UNUSED = {
348   16, 16, 0xf007, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_5U8) }, { F (F_SUB3) }, { 0 } }
349 };
350
351 static const CGEN_IFMT ifmt_bra ATTRIBUTE_UNUSED = {
352   16, 16, 0xf001, { { F (F_MAJOR) }, { F (F_12S4A2) }, { F (F_15) }, { 0 } }
353 };
354
355 static const CGEN_IFMT ifmt_beqz ATTRIBUTE_UNUSED = {
356   16, 16, 0xf001, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_8S8A2) }, { F (F_15) }, { 0 } }
357 };
358
359 static const CGEN_IFMT ifmt_beqi ATTRIBUTE_UNUSED = {
360   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_4U8) }, { F (F_SUB4) }, { F (F_17S16A2) }, { 0 } }
361 };
362
363 static const CGEN_IFMT ifmt_beq ATTRIBUTE_UNUSED = {
364   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_17S16A2) }, { 0 } }
365 };
366
367 static const CGEN_IFMT ifmt_bsr24 ATTRIBUTE_UNUSED = {
368   32, 32, 0xf80f0000, { { F (F_MAJOR) }, { F (F_4) }, { F (F_24S5A2N) }, { F (F_SUB4) }, { 0 } }
369 };
370
371 static const CGEN_IFMT ifmt_jmp ATTRIBUTE_UNUSED = {
372   16, 16, 0xff0f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
373 };
374
375 static const CGEN_IFMT ifmt_jmp24 ATTRIBUTE_UNUSED = {
376   32, 32, 0xf80f0000, { { F (F_MAJOR) }, { F (F_4) }, { F (F_24U5A2N) }, { F (F_SUB4) }, { 0 } }
377 };
378
379 static const CGEN_IFMT ifmt_ret ATTRIBUTE_UNUSED = {
380   16, 16, 0xffff, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
381 };
382
383 static const CGEN_IFMT ifmt_repeat ATTRIBUTE_UNUSED = {
384   32, 32, 0xf0ff0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_17S16A2) }, { 0 } }
385 };
386
387 static const CGEN_IFMT ifmt_erepeat ATTRIBUTE_UNUSED = {
388   32, 32, 0xffff0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_17S16A2) }, { 0 } }
389 };
390
391 static const CGEN_IFMT ifmt_stc_lp ATTRIBUTE_UNUSED = {
392   16, 16, 0xf0ff, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_CSRN_LO) }, { F (F_12) }, { F (F_13) }, { F (F_14) }, { F (F_CSRN_HI) }, { 0 } }
393 };
394
395 static const CGEN_IFMT ifmt_stc ATTRIBUTE_UNUSED = {
396   16, 16, 0xf00e, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_CSRN) }, { F (F_12) }, { F (F_13) }, { F (F_14) }, { 0 } }
397 };
398
399 static const CGEN_IFMT ifmt_swi ATTRIBUTE_UNUSED = {
400   16, 16, 0xffcf, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_8) }, { F (F_9) }, { F (F_2U10) }, { F (F_SUB4) }, { 0 } }
401 };
402
403 static const CGEN_IFMT ifmt_bsetm ATTRIBUTE_UNUSED = {
404   16, 16, 0xf80f, { { F (F_MAJOR) }, { F (F_4) }, { F (F_3U5) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
405 };
406
407 static const CGEN_IFMT ifmt_madd ATTRIBUTE_UNUSED = {
408   32, 32, 0xf00fffff, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16U16) }, { 0 } }
409 };
410
411 static const CGEN_IFMT ifmt_clip ATTRIBUTE_UNUSED = {
412   32, 32, 0xf0ffff07, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_EXT) }, { F (F_5U24) }, { F (F_29) }, { F (F_30) }, { F (F_31) }, { 0 } }
413 };
414
415 static const CGEN_IFMT ifmt_swcp ATTRIBUTE_UNUSED = {
416   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_CRN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
417 };
418
419 static const CGEN_IFMT ifmt_smcp ATTRIBUTE_UNUSED = {
420   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_CRN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
421 };
422
423 static const CGEN_IFMT ifmt_swcp16 ATTRIBUTE_UNUSED = {
424   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_CRN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16S16) }, { 0 } }
425 };
426
427 static const CGEN_IFMT ifmt_smcp16 ATTRIBUTE_UNUSED = {
428   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_CRN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16S16) }, { 0 } }
429 };
430
431 static const CGEN_IFMT ifmt_swcpa ATTRIBUTE_UNUSED = {
432   32, 32, 0xf00ffc00, { { F (F_MAJOR) }, { F (F_CRN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_EXT4) }, { F (F_EXT62) }, { F (F_CDISP10) }, { 0 } }
433 };
434
435 static const CGEN_IFMT ifmt_smcpa ATTRIBUTE_UNUSED = {
436   32, 32, 0xf00ffc00, { { F (F_MAJOR) }, { F (F_CRN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_EXT4) }, { F (F_EXT62) }, { F (F_CDISP10) }, { 0 } }
437 };
438
439 static const CGEN_IFMT ifmt_bcpeq ATTRIBUTE_UNUSED = {
440   32, 32, 0xff0f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_17S16A2) }, { 0 } }
441 };
442
443 static const CGEN_IFMT ifmt_sim_syscall ATTRIBUTE_UNUSED = {
444   16, 16, 0xf8ef, { { F (F_MAJOR) }, { F (F_4) }, { F (F_CALLNUM) }, { F (F_8) }, { F (F_9) }, { F (F_10) }, { F (F_SUB4) }, { 0 } }
445 };
446
447 static const CGEN_IFMT ifmt_cmov_crn_rm ATTRIBUTE_UNUSED = {
448   32, 32, 0xf00ffff7, { { F (F_MAJOR) }, { F (F_CRNX) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_IVC2_4U16) }, { F (F_IVC2_4U20) }, { F (F_IVC2_4U24) }, { F (F_29) }, { F (F_30) }, { F (F_31) }, { 0 } }
449 };
450
451 static const CGEN_IFMT ifmt_cmovc_ccrn_rm ATTRIBUTE_UNUSED = {
452   32, 32, 0xf00ffff3, { { F (F_MAJOR) }, { F (F_IVC2_CCRN_C3) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_IVC2_4U16) }, { F (F_IVC2_4U20) }, { F (F_IVC2_4U24) }, { F (F_30) }, { F (F_31) }, { 0 } }
453 };
454
455 static const CGEN_IFMT ifmt_cmov_crn_rm_p0 ATTRIBUTE_UNUSED = {
456   32, 32, 0xfff7ff, { { F (F_IVC2_CRNX) }, { F (F_IVC2_CRM) }, { F (F_IVC2_CMOV1) }, { F (F_21) }, { F (F_IVC2_CMOV2) }, { F (F_IVC2_CMOV3) }, { 0 } }
457 };
458
459 static const CGEN_IFMT ifmt_cmovc_ccrn_rm_p0 ATTRIBUTE_UNUSED = {
460   32, 32, 0xfff3ff, { { F (F_IVC2_CCRN) }, { F (F_IVC2_CRM) }, { F (F_IVC2_CMOV1) }, { F (F_IVC2_CMOV2) }, { F (F_IVC2_CMOV3) }, { 0 } }
461 };
462
463 static const CGEN_IFMT ifmt_cpadd3_b_C3 ATTRIBUTE_UNUSED = {
464   32, 32, 0xfe0ff801, { { F (F_MAJOR) }, { F (F_IVC2_3U4) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } }
465 };
466
467 static const CGEN_IFMT ifmt_cpfsftbi_C3 ATTRIBUTE_UNUSED = {
468   32, 32, 0xf00ff801, { { F (F_MAJOR) }, { F (F_IVC2_3U4) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } }
469 };
470
471 static const CGEN_IFMT ifmt_cpmovfrcsar0_C3 ATTRIBUTE_UNUSED = {
472   32, 32, 0xfe0fffff, { { F (F_MAJOR) }, { F (F_IVC2_3U4) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } }
473 };
474
475 static const CGEN_IFMT ifmt_cpmovtocsar0_C3 ATTRIBUTE_UNUSED = {
476   32, 32, 0xfffff83f, { { F (F_MAJOR) }, { F (F_IVC2_3U4) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } }
477 };
478
479 static const CGEN_IFMT ifmt_cpmov_C3 ATTRIBUTE_UNUSED = {
480   32, 32, 0xfe0ff83f, { { F (F_MAJOR) }, { F (F_IVC2_3U4) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } }
481 };
482
483 static const CGEN_IFMT ifmt_cpcmpeqz_b_C3 ATTRIBUTE_UNUSED = {
484   32, 32, 0xfffff801, { { F (F_MAJOR) }, { F (F_IVC2_3U4) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } }
485 };
486
487 static const CGEN_IFMT ifmt_cpsrli3_b_C3 ATTRIBUTE_UNUSED = {
488   32, 32, 0xfc0ff801, { { F (F_MAJOR) }, { F (F_IVC2_2U4) }, { F (F_IVC2_3U6) }, { F (F_IVC2_3U9) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } }
489 };
490
491 static const CGEN_IFMT ifmt_cpsrli3_h_C3 ATTRIBUTE_UNUSED = {
492   32, 32, 0xfc0ff801, { { F (F_MAJOR) }, { F (F_IVC2_2U4) }, { F (F_IVC2_2U6) }, { F (F_IVC2_4U8) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } }
493 };
494
495 static const CGEN_IFMT ifmt_cpsrli3_w_C3 ATTRIBUTE_UNUSED = {
496   32, 32, 0xfc0ff801, { { F (F_MAJOR) }, { F (F_IVC2_2U4) }, { F (F_IVC2_1U6) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } }
497 };
498
499 static const CGEN_IFMT ifmt_cdsrli3_C3 ATTRIBUTE_UNUSED = {
500   32, 32, 0xfc0ff801, { { F (F_MAJOR) }, { F (F_IVC2_2U4) }, { F (F_IVC2_6U6) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } }
501 };
502
503 static const CGEN_IFMT ifmt_cpmovi_b_C3 ATTRIBUTE_UNUSED = {
504   32, 32, 0xf00ff83f, { { F (F_MAJOR) }, { F (F_IVC2_8S4) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } }
505 };
506
507 static const CGEN_IFMT ifmt_cpmoviu_h_C3 ATTRIBUTE_UNUSED = {
508   32, 32, 0xf00ff83f, { { F (F_MAJOR) }, { F (F_IVC2_8U4) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } }
509 };
510
511 static const CGEN_IFMT ifmt_cpsrlia1_P1 ATTRIBUTE_UNUSED = {
512   32, 32, 0xfc0fffff, { { F (F_MAJOR) }, { F (F_IVC2_2U4) }, { F (F_IVC2_1U6) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } }
513 };
514
515 static const CGEN_IFMT ifmt_c0nop_P0_P0S ATTRIBUTE_UNUSED = {
516   32, 32, 0xffffffff, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } }
517 };
518
519 static const CGEN_IFMT ifmt_cpadd3_b_P0S_P1 ATTRIBUTE_UNUSED = {
520   32, 32, 0xfff8000f, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } }
521 };
522
523 static const CGEN_IFMT ifmt_cpmov_P0S_P1 ATTRIBUTE_UNUSED = {
524   32, 32, 0xfff83e0f, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } }
525 };
526
527 static const CGEN_IFMT ifmt_cpccadd_b_P0S_P1 ATTRIBUTE_UNUSED = {
528   32, 32, 0xfff83fff, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } }
529 };
530
531 static const CGEN_IFMT ifmt_cpmovfrcsar0_P0S_P1 ATTRIBUTE_UNUSED = {
532   32, 32, 0xfffffe0f, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } }
533 };
534
535 static const CGEN_IFMT ifmt_cpcmpeqz_b_P0S_P1 ATTRIBUTE_UNUSED = {
536   32, 32, 0xfff801ff, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } }
537 };
538
539 static const CGEN_IFMT ifmt_cpsrlia0_P0S ATTRIBUTE_UNUSED = {
540   32, 32, 0xfffffe0f, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } }
541 };
542
543 static const CGEN_IFMT ifmt_cpfsftbi_P0_P1 ATTRIBUTE_UNUSED = {
544   32, 32, 0xf8000f, { { F (F_IVC2_5U0) }, { F (F_IVC2_3U5) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } }
545 };
546
547 static const CGEN_IFMT ifmt_cpsrli3_b_P0_P1 ATTRIBUTE_UNUSED = {
548   32, 32, 0xf83e0f, { { F (F_IVC2_5U0) }, { F (F_IVC2_3U5) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } }
549 };
550
551 static const CGEN_IFMT ifmt_cpsrli3_h_P0_P1 ATTRIBUTE_UNUSED = {
552   32, 32, 0xf83e0f, { { F (F_IVC2_4U0) }, { F (F_IVC2_4U4) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } }
553 };
554
555 static const CGEN_IFMT ifmt_cpsrli3_w_P0_P1 ATTRIBUTE_UNUSED = {
556   32, 32, 0xf83e0f, { { F (F_IVC2_3U0) }, { F (F_IVC2_5U3) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } }
557 };
558
559 static const CGEN_IFMT ifmt_cdsrli3_P0_P1 ATTRIBUTE_UNUSED = {
560   32, 32, 0xf83e0f, { { F (F_IVC2_2U0) }, { F (F_IVC2_6U2) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } }
561 };
562
563 static const CGEN_IFMT ifmt_cpmovi_h_P0_P1 ATTRIBUTE_UNUSED = {
564   32, 32, 0xf8300f, { { F (F_IVC2_SIMM16P0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_2U18) }, { F (F_IVC2_4U28) }, { 0 } }
565 };
566
567 static const CGEN_IFMT ifmt_cpmoviu_w_P0_P1 ATTRIBUTE_UNUSED = {
568   32, 32, 0xf8300f, { { F (F_IVC2_IMM16P0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_2U18) }, { F (F_IVC2_4U28) }, { 0 } }
569 };
570
571 static const CGEN_IFMT ifmt_cpmovi_b_P0S_P1 ATTRIBUTE_UNUSED = {
572   32, 32, 0xfff8300f, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_2U18) }, { F (F_IVC2_8U20) }, { F (F_IVC2_4U28) }, { 0 } }
573 };
574
575 static const CGEN_IFMT ifmt_cpfmulia1s0u_b_P1 ATTRIBUTE_UNUSED = {
576   32, 32, 0xf801ff, { { F (F_IVC2_8S0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } }
577 };
578
579 static const CGEN_IFMT ifmt_cpfmulia1u_b_P1 ATTRIBUTE_UNUSED = {
580   32, 32, 0xf8018f, { { F (F_IVC2_8S0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_2U23) }, { F (F_IVC2_3U25) }, { F (F_IVC2_4U28) }, { 0 } }
581 };
582
583 #undef F
584
585 #define A(a) (1 << CGEN_INSN_##a)
586 #define OPERAND(op) MEP_OPERAND_##op
587 #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
588 #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
589
590 /* The instruction table.  */
591
592 static const CGEN_OPCODE mep_cgen_insn_opcode_table[MAX_INSNS] =
593 {
594   /* Special null first entry.
595      A `num' value of zero is thus invalid.
596      Also, the special `invalid' insn resides here.  */
597   { { 0, 0, 0, 0 }, {{0}}, 0, {0}},
598 /* stcb $rn,($rma) */
599   {
600     { 0, 0, 0, 0 },
601     { { MNEM, ' ', OP (RN), ',', '(', OP (RMA), ')', 0 } },
602     & ifmt_stcb_r, { 0x700c }
603   },
604 /* ldcb $rn,($rma) */
605   {
606     { 0, 0, 0, 0 },
607     { { MNEM, ' ', OP (RN), ',', '(', OP (RMA), ')', 0 } },
608     & ifmt_stcb_r, { 0x700d }
609   },
610 /* pref $cimm4,($rma) */
611   {
612     { 0, 0, 0, 0 },
613     { { MNEM, ' ', OP (CIMM4), ',', '(', OP (RMA), ')', 0 } },
614     & ifmt_pref, { 0x7005 }
615   },
616 /* pref $cimm4,$sdisp16($rma) */
617   {
618     { 0, 0, 0, 0 },
619     { { MNEM, ' ', OP (CIMM4), ',', OP (SDISP16), '(', OP (RMA), ')', 0 } },
620     & ifmt_prefd, { 0xf0030000 }
621   },
622 /* casb3 $rl5,$rn,($rm) */
623   {
624     { 0, 0, 0, 0 },
625     { { MNEM, ' ', OP (RL5), ',', OP (RN), ',', '(', OP (RM), ')', 0 } },
626     & ifmt_casb3, { 0xf0012000 }
627   },
628 /* cash3 $rl5,$rn,($rm) */
629   {
630     { 0, 0, 0, 0 },
631     { { MNEM, ' ', OP (RL5), ',', OP (RN), ',', '(', OP (RM), ')', 0 } },
632     & ifmt_casb3, { 0xf0012001 }
633   },
634 /* casw3 $rl5,$rn,($rm) */
635   {
636     { 0, 0, 0, 0 },
637     { { MNEM, ' ', OP (RL5), ',', OP (RN), ',', '(', OP (RM), ')', 0 } },
638     & ifmt_casb3, { 0xf0012002 }
639   },
640 /* sbcp $crn,$cdisp12($rma) */
641   {
642     { 0, 0, 0, 0 },
643     { { MNEM, ' ', OP (CRN), ',', OP (CDISP12), '(', OP (RMA), ')', 0 } },
644     & ifmt_sbcp, { 0xf0060000 }
645   },
646 /* lbcp $crn,$cdisp12($rma) */
647   {
648     { 0, 0, 0, 0 },
649     { { MNEM, ' ', OP (CRN), ',', OP (CDISP12), '(', OP (RMA), ')', 0 } },
650     & ifmt_sbcp, { 0xf0064000 }
651   },
652 /* lbucp $crn,$cdisp12($rma) */
653   {
654     { 0, 0, 0, 0 },
655     { { MNEM, ' ', OP (CRN), ',', OP (CDISP12), '(', OP (RMA), ')', 0 } },
656     & ifmt_sbcp, { 0xf006c000 }
657   },
658 /* shcp $crn,$cdisp12($rma) */
659   {
660     { 0, 0, 0, 0 },
661     { { MNEM, ' ', OP (CRN), ',', OP (CDISP12), '(', OP (RMA), ')', 0 } },
662     & ifmt_sbcp, { 0xf0061000 }
663   },
664 /* lhcp $crn,$cdisp12($rma) */
665   {
666     { 0, 0, 0, 0 },
667     { { MNEM, ' ', OP (CRN), ',', OP (CDISP12), '(', OP (RMA), ')', 0 } },
668     & ifmt_sbcp, { 0xf0065000 }
669   },
670 /* lhucp $crn,$cdisp12($rma) */
671   {
672     { 0, 0, 0, 0 },
673     { { MNEM, ' ', OP (CRN), ',', OP (CDISP12), '(', OP (RMA), ')', 0 } },
674     & ifmt_sbcp, { 0xf006d000 }
675   },
676 /* lbucpa $crn,($rma+),$cdisp10 */
677   {
678     { 0, 0, 0, 0 },
679     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10), 0 } },
680     & ifmt_lbucpa, { 0xf005c000 }
681   },
682 /* lhucpa $crn,($rma+),$cdisp10a2 */
683   {
684     { 0, 0, 0, 0 },
685     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A2), 0 } },
686     & ifmt_lhucpa, { 0xf005d000 }
687   },
688 /* lbucpm0 $crn,($rma+),$cdisp10 */
689   {
690     { 0, 0, 0, 0 },
691     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10), 0 } },
692     & ifmt_lbucpa, { 0xf005c800 }
693   },
694 /* lhucpm0 $crn,($rma+),$cdisp10a2 */
695   {
696     { 0, 0, 0, 0 },
697     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A2), 0 } },
698     & ifmt_lhucpa, { 0xf005d800 }
699   },
700 /* lbucpm1 $crn,($rma+),$cdisp10 */
701   {
702     { 0, 0, 0, 0 },
703     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10), 0 } },
704     & ifmt_lbucpa, { 0xf005cc00 }
705   },
706 /* lhucpm1 $crn,($rma+),$cdisp10a2 */
707   {
708     { 0, 0, 0, 0 },
709     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A2), 0 } },
710     & ifmt_lhucpa, { 0xf005dc00 }
711   },
712 /* uci $rn,$rm,$uimm16 */
713   {
714     { 0, 0, 0, 0 },
715     { { MNEM, ' ', OP (RN), ',', OP (RM), ',', OP (UIMM16), 0 } },
716     & ifmt_uci, { 0xf0020000 }
717   },
718 /* dsp $rn,$rm,$uimm16 */
719   {
720     { 0, 0, 0, 0 },
721     { { MNEM, ' ', OP (RN), ',', OP (RM), ',', OP (UIMM16), 0 } },
722     & ifmt_dsp, { 0xf0000000 }
723   },
724 /* dsp0 $c5rnmuimm24 */
725   {
726     { 0, 0, 0, 0 },
727     { { MNEM, ' ', OP (C5RNMUIMM24), 0 } },
728     & ifmt_dsp0, { 0xf0000000 }
729   },
730 /* dsp1 $rn,$c5rmuimm20 */
731   {
732     { 0, 0, 0, 0 },
733     { { MNEM, ' ', OP (RN), ',', OP (C5RMUIMM20), 0 } },
734     & ifmt_dsp1, { 0xf0000000 }
735   },
736 /* sb $rnc,($rma) */
737   {
738     { 0, 0, 0, 0 },
739     { { MNEM, ' ', OP (RNC), ',', '(', OP (RMA), ')', 0 } },
740     & ifmt_sb, { 0x8 }
741   },
742 /* sh $rns,($rma) */
743   {
744     { 0, 0, 0, 0 },
745     { { MNEM, ' ', OP (RNS), ',', '(', OP (RMA), ')', 0 } },
746     & ifmt_sh, { 0x9 }
747   },
748 /* sw $rnl,($rma) */
749   {
750     { 0, 0, 0, 0 },
751     { { MNEM, ' ', OP (RNL), ',', '(', OP (RMA), ')', 0 } },
752     & ifmt_sw, { 0xa }
753   },
754 /* lb $rnc,($rma) */
755   {
756     { 0, 0, 0, 0 },
757     { { MNEM, ' ', OP (RNC), ',', '(', OP (RMA), ')', 0 } },
758     & ifmt_sb, { 0xc }
759   },
760 /* lh $rns,($rma) */
761   {
762     { 0, 0, 0, 0 },
763     { { MNEM, ' ', OP (RNS), ',', '(', OP (RMA), ')', 0 } },
764     & ifmt_sh, { 0xd }
765   },
766 /* lw $rnl,($rma) */
767   {
768     { 0, 0, 0, 0 },
769     { { MNEM, ' ', OP (RNL), ',', '(', OP (RMA), ')', 0 } },
770     & ifmt_sw, { 0xe }
771   },
772 /* lbu $rnuc,($rma) */
773   {
774     { 0, 0, 0, 0 },
775     { { MNEM, ' ', OP (RNUC), ',', '(', OP (RMA), ')', 0 } },
776     & ifmt_lbu, { 0xb }
777   },
778 /* lhu $rnus,($rma) */
779   {
780     { 0, 0, 0, 0 },
781     { { MNEM, ' ', OP (RNUS), ',', '(', OP (RMA), ')', 0 } },
782     & ifmt_lhu, { 0xf }
783   },
784 /* sw $rnl,$udisp7a4($spr) */
785   {
786     { 0, 0, 0, 0 },
787     { { MNEM, ' ', OP (RNL), ',', OP (UDISP7A4), '(', OP (SPR), ')', 0 } },
788     & ifmt_sw_sp, { 0x4002 }
789   },
790 /* lw $rnl,$udisp7a4($spr) */
791   {
792     { 0, 0, 0, 0 },
793     { { MNEM, ' ', OP (RNL), ',', OP (UDISP7A4), '(', OP (SPR), ')', 0 } },
794     & ifmt_sw_sp, { 0x4003 }
795   },
796 /* sb $rn3c,$udisp7($tpr) */
797   {
798     { 0, 0, 0, 0 },
799     { { MNEM, ' ', OP (RN3C), ',', OP (UDISP7), '(', OP (TPR), ')', 0 } },
800     & ifmt_sb_tp, { 0x8000 }
801   },
802 /* sh $rn3s,$udisp7a2($tpr) */
803   {
804     { 0, 0, 0, 0 },
805     { { MNEM, ' ', OP (RN3S), ',', OP (UDISP7A2), '(', OP (TPR), ')', 0 } },
806     & ifmt_sh_tp, { 0x8080 }
807   },
808 /* sw $rn3l,$udisp7a4($tpr) */
809   {
810     { 0, 0, 0, 0 },
811     { { MNEM, ' ', OP (RN3L), ',', OP (UDISP7A4), '(', OP (TPR), ')', 0 } },
812     & ifmt_sw_tp, { 0x4082 }
813   },
814 /* lb $rn3c,$udisp7($tpr) */
815   {
816     { 0, 0, 0, 0 },
817     { { MNEM, ' ', OP (RN3C), ',', OP (UDISP7), '(', OP (TPR), ')', 0 } },
818     & ifmt_sb_tp, { 0x8800 }
819   },
820 /* lh $rn3s,$udisp7a2($tpr) */
821   {
822     { 0, 0, 0, 0 },
823     { { MNEM, ' ', OP (RN3S), ',', OP (UDISP7A2), '(', OP (TPR), ')', 0 } },
824     & ifmt_sh_tp, { 0x8880 }
825   },
826 /* lw $rn3l,$udisp7a4($tpr) */
827   {
828     { 0, 0, 0, 0 },
829     { { MNEM, ' ', OP (RN3L), ',', OP (UDISP7A4), '(', OP (TPR), ')', 0 } },
830     & ifmt_sw_tp, { 0x4083 }
831   },
832 /* lbu $rn3uc,$udisp7($tpr) */
833   {
834     { 0, 0, 0, 0 },
835     { { MNEM, ' ', OP (RN3UC), ',', OP (UDISP7), '(', OP (TPR), ')', 0 } },
836     & ifmt_lbu_tp, { 0x4880 }
837   },
838 /* lhu $rn3us,$udisp7a2($tpr) */
839   {
840     { 0, 0, 0, 0 },
841     { { MNEM, ' ', OP (RN3US), ',', OP (UDISP7A2), '(', OP (TPR), ')', 0 } },
842     & ifmt_lhu_tp, { 0x8881 }
843   },
844 /* sb $rnc,$sdisp16($rma) */
845   {
846     { 0, 0, 0, 0 },
847     { { MNEM, ' ', OP (RNC), ',', OP (SDISP16), '(', OP (RMA), ')', 0 } },
848     & ifmt_sb16, { 0xc0080000 }
849   },
850 /* sh $rns,$sdisp16($rma) */
851   {
852     { 0, 0, 0, 0 },
853     { { MNEM, ' ', OP (RNS), ',', OP (SDISP16), '(', OP (RMA), ')', 0 } },
854     & ifmt_sh16, { 0xc0090000 }
855   },
856 /* sw $rnl,$sdisp16($rma) */
857   {
858     { 0, 0, 0, 0 },
859     { { MNEM, ' ', OP (RNL), ',', OP (SDISP16), '(', OP (RMA), ')', 0 } },
860     & ifmt_sw16, { 0xc00a0000 }
861   },
862 /* lb $rnc,$sdisp16($rma) */
863   {
864     { 0, 0, 0, 0 },
865     { { MNEM, ' ', OP (RNC), ',', OP (SDISP16), '(', OP (RMA), ')', 0 } },
866     & ifmt_sb16, { 0xc00c0000 }
867   },
868 /* lh $rns,$sdisp16($rma) */
869   {
870     { 0, 0, 0, 0 },
871     { { MNEM, ' ', OP (RNS), ',', OP (SDISP16), '(', OP (RMA), ')', 0 } },
872     & ifmt_sh16, { 0xc00d0000 }
873   },
874 /* lw $rnl,$sdisp16($rma) */
875   {
876     { 0, 0, 0, 0 },
877     { { MNEM, ' ', OP (RNL), ',', OP (SDISP16), '(', OP (RMA), ')', 0 } },
878     & ifmt_sw16, { 0xc00e0000 }
879   },
880 /* lbu $rnuc,$sdisp16($rma) */
881   {
882     { 0, 0, 0, 0 },
883     { { MNEM, ' ', OP (RNUC), ',', OP (SDISP16), '(', OP (RMA), ')', 0 } },
884     & ifmt_lbu16, { 0xc00b0000 }
885   },
886 /* lhu $rnus,$sdisp16($rma) */
887   {
888     { 0, 0, 0, 0 },
889     { { MNEM, ' ', OP (RNUS), ',', OP (SDISP16), '(', OP (RMA), ')', 0 } },
890     & ifmt_lhu16, { 0xc00f0000 }
891   },
892 /* sw $rnl,($addr24a4) */
893   {
894     { 0, 0, 0, 0 },
895     { { MNEM, ' ', OP (RNL), ',', '(', OP (ADDR24A4), ')', 0 } },
896     & ifmt_sw24, { 0xe0020000 }
897   },
898 /* lw $rnl,($addr24a4) */
899   {
900     { 0, 0, 0, 0 },
901     { { MNEM, ' ', OP (RNL), ',', '(', OP (ADDR24A4), ')', 0 } },
902     & ifmt_sw24, { 0xe0030000 }
903   },
904 /* extb $rn */
905   {
906     { 0, 0, 0, 0 },
907     { { MNEM, ' ', OP (RN), 0 } },
908     & ifmt_extb, { 0x100d }
909   },
910 /* exth $rn */
911   {
912     { 0, 0, 0, 0 },
913     { { MNEM, ' ', OP (RN), 0 } },
914     & ifmt_extb, { 0x102d }
915   },
916 /* extub $rn */
917   {
918     { 0, 0, 0, 0 },
919     { { MNEM, ' ', OP (RN), 0 } },
920     & ifmt_extb, { 0x108d }
921   },
922 /* extuh $rn */
923   {
924     { 0, 0, 0, 0 },
925     { { MNEM, ' ', OP (RN), 0 } },
926     & ifmt_extb, { 0x10ad }
927   },
928 /* ssarb $udisp2($rm) */
929   {
930     { 0, 0, 0, 0 },
931     { { MNEM, ' ', OP (UDISP2), '(', OP (RM), ')', 0 } },
932     & ifmt_ssarb, { 0x100c }
933   },
934 /* mov $rn,$rm */
935   {
936     { 0, 0, 0, 0 },
937     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
938     & ifmt_mov, { 0x0 }
939   },
940 /* mov $rn,$simm8 */
941   {
942     { 0, 0, 0, 0 },
943     { { MNEM, ' ', OP (RN), ',', OP (SIMM8), 0 } },
944     & ifmt_movi8, { 0x5000 }
945   },
946 /* mov $rn,$simm16 */
947   {
948     { 0, 0, 0, 0 },
949     { { MNEM, ' ', OP (RN), ',', OP (SIMM16), 0 } },
950     & ifmt_movi16, { 0xc0010000 }
951   },
952 /* movu $rn3,$uimm24 */
953   {
954     { 0, 0, 0, 0 },
955     { { MNEM, ' ', OP (RN3), ',', OP (UIMM24), 0 } },
956     & ifmt_movu24, { 0xd0000000 }
957   },
958 /* movu $rn,$uimm16 */
959   {
960     { 0, 0, 0, 0 },
961     { { MNEM, ' ', OP (RN), ',', OP (UIMM16), 0 } },
962     & ifmt_movu16, { 0xc0110000 }
963   },
964 /* movh $rn,$uimm16 */
965   {
966     { 0, 0, 0, 0 },
967     { { MNEM, ' ', OP (RN), ',', OP (UIMM16), 0 } },
968     & ifmt_movu16, { 0xc0210000 }
969   },
970 /* add3 $rl,$rn,$rm */
971   {
972     { 0, 0, 0, 0 },
973     { { MNEM, ' ', OP (RL), ',', OP (RN), ',', OP (RM), 0 } },
974     & ifmt_add3, { 0x9000 }
975   },
976 /* add $rn,$simm6 */
977   {
978     { 0, 0, 0, 0 },
979     { { MNEM, ' ', OP (RN), ',', OP (SIMM6), 0 } },
980     & ifmt_add, { 0x6000 }
981   },
982 /* add3 $rn,$spr,$uimm7a4 */
983   {
984     { 0, 0, 0, 0 },
985     { { MNEM, ' ', OP (RN), ',', OP (SPR), ',', OP (UIMM7A4), 0 } },
986     & ifmt_add3i, { 0x4000 }
987   },
988 /* advck3 \$0,$rn,$rm */
989   {
990     { 0, 0, 0, 0 },
991     { { MNEM, ' ', '$', '0', ',', OP (RN), ',', OP (RM), 0 } },
992     & ifmt_mov, { 0x7 }
993   },
994 /* sub $rn,$rm */
995   {
996     { 0, 0, 0, 0 },
997     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
998     & ifmt_mov, { 0x4 }
999   },
1000 /* sbvck3 \$0,$rn,$rm */
1001   {
1002     { 0, 0, 0, 0 },
1003     { { MNEM, ' ', '$', '0', ',', OP (RN), ',', OP (RM), 0 } },
1004     & ifmt_mov, { 0x5 }
1005   },
1006 /* neg $rn,$rm */
1007   {
1008     { 0, 0, 0, 0 },
1009     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1010     & ifmt_mov, { 0x1 }
1011   },
1012 /* slt3 \$0,$rn,$rm */
1013   {
1014     { 0, 0, 0, 0 },
1015     { { MNEM, ' ', '$', '0', ',', OP (RN), ',', OP (RM), 0 } },
1016     & ifmt_mov, { 0x2 }
1017   },
1018 /* sltu3 \$0,$rn,$rm */
1019   {
1020     { 0, 0, 0, 0 },
1021     { { MNEM, ' ', '$', '0', ',', OP (RN), ',', OP (RM), 0 } },
1022     & ifmt_mov, { 0x3 }
1023   },
1024 /* slt3 \$0,$rn,$uimm5 */
1025   {
1026     { 0, 0, 0, 0 },
1027     { { MNEM, ' ', '$', '0', ',', OP (RN), ',', OP (UIMM5), 0 } },
1028     & ifmt_slt3i, { 0x6001 }
1029   },
1030 /* sltu3 \$0,$rn,$uimm5 */
1031   {
1032     { 0, 0, 0, 0 },
1033     { { MNEM, ' ', '$', '0', ',', OP (RN), ',', OP (UIMM5), 0 } },
1034     & ifmt_slt3i, { 0x6005 }
1035   },
1036 /* sl1ad3 \$0,$rn,$rm */
1037   {
1038     { 0, 0, 0, 0 },
1039     { { MNEM, ' ', '$', '0', ',', OP (RN), ',', OP (RM), 0 } },
1040     & ifmt_mov, { 0x2006 }
1041   },
1042 /* sl2ad3 \$0,$rn,$rm */
1043   {
1044     { 0, 0, 0, 0 },
1045     { { MNEM, ' ', '$', '0', ',', OP (RN), ',', OP (RM), 0 } },
1046     & ifmt_mov, { 0x2007 }
1047   },
1048 /* add3 $rn,$rm,$simm16 */
1049   {
1050     { 0, 0, 0, 0 },
1051     { { MNEM, ' ', OP (RN), ',', OP (RM), ',', OP (SIMM16), 0 } },
1052     & ifmt_uci, { 0xc0000000 }
1053   },
1054 /* slt3 $rn,$rm,$simm16 */
1055   {
1056     { 0, 0, 0, 0 },
1057     { { MNEM, ' ', OP (RN), ',', OP (RM), ',', OP (SIMM16), 0 } },
1058     & ifmt_uci, { 0xc0020000 }
1059   },
1060 /* sltu3 $rn,$rm,$uimm16 */
1061   {
1062     { 0, 0, 0, 0 },
1063     { { MNEM, ' ', OP (RN), ',', OP (RM), ',', OP (UIMM16), 0 } },
1064     & ifmt_dsp, { 0xc0030000 }
1065   },
1066 /* or $rn,$rm */
1067   {
1068     { 0, 0, 0, 0 },
1069     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1070     & ifmt_mov, { 0x1000 }
1071   },
1072 /* and $rn,$rm */
1073   {
1074     { 0, 0, 0, 0 },
1075     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1076     & ifmt_mov, { 0x1001 }
1077   },
1078 /* xor $rn,$rm */
1079   {
1080     { 0, 0, 0, 0 },
1081     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1082     & ifmt_mov, { 0x1002 }
1083   },
1084 /* nor $rn,$rm */
1085   {
1086     { 0, 0, 0, 0 },
1087     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1088     & ifmt_mov, { 0x1003 }
1089   },
1090 /* or3 $rn,$rm,$uimm16 */
1091   {
1092     { 0, 0, 0, 0 },
1093     { { MNEM, ' ', OP (RN), ',', OP (RM), ',', OP (UIMM16), 0 } },
1094     & ifmt_dsp, { 0xc0040000 }
1095   },
1096 /* and3 $rn,$rm,$uimm16 */
1097   {
1098     { 0, 0, 0, 0 },
1099     { { MNEM, ' ', OP (RN), ',', OP (RM), ',', OP (UIMM16), 0 } },
1100     & ifmt_dsp, { 0xc0050000 }
1101   },
1102 /* xor3 $rn,$rm,$uimm16 */
1103   {
1104     { 0, 0, 0, 0 },
1105     { { MNEM, ' ', OP (RN), ',', OP (RM), ',', OP (UIMM16), 0 } },
1106     & ifmt_dsp, { 0xc0060000 }
1107   },
1108 /* sra $rn,$rm */
1109   {
1110     { 0, 0, 0, 0 },
1111     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1112     & ifmt_mov, { 0x200d }
1113   },
1114 /* srl $rn,$rm */
1115   {
1116     { 0, 0, 0, 0 },
1117     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1118     & ifmt_mov, { 0x200c }
1119   },
1120 /* sll $rn,$rm */
1121   {
1122     { 0, 0, 0, 0 },
1123     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1124     & ifmt_mov, { 0x200e }
1125   },
1126 /* sra $rn,$uimm5 */
1127   {
1128     { 0, 0, 0, 0 },
1129     { { MNEM, ' ', OP (RN), ',', OP (UIMM5), 0 } },
1130     & ifmt_slt3i, { 0x6003 }
1131   },
1132 /* srl $rn,$uimm5 */
1133   {
1134     { 0, 0, 0, 0 },
1135     { { MNEM, ' ', OP (RN), ',', OP (UIMM5), 0 } },
1136     & ifmt_slt3i, { 0x6002 }
1137   },
1138 /* sll $rn,$uimm5 */
1139   {
1140     { 0, 0, 0, 0 },
1141     { { MNEM, ' ', OP (RN), ',', OP (UIMM5), 0 } },
1142     & ifmt_slt3i, { 0x6006 }
1143   },
1144 /* sll3 \$0,$rn,$uimm5 */
1145   {
1146     { 0, 0, 0, 0 },
1147     { { MNEM, ' ', '$', '0', ',', OP (RN), ',', OP (UIMM5), 0 } },
1148     & ifmt_slt3i, { 0x6007 }
1149   },
1150 /* fsft $rn,$rm */
1151   {
1152     { 0, 0, 0, 0 },
1153     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1154     & ifmt_mov, { 0x200f }
1155   },
1156 /* bra $pcrel12a2 */
1157   {
1158     { 0, 0, 0, 0 },
1159     { { MNEM, ' ', OP (PCREL12A2), 0 } },
1160     & ifmt_bra, { 0xb000 }
1161   },
1162 /* beqz $rn,$pcrel8a2 */
1163   {
1164     { 0, 0, 0, 0 },
1165     { { MNEM, ' ', OP (RN), ',', OP (PCREL8A2), 0 } },
1166     & ifmt_beqz, { 0xa000 }
1167   },
1168 /* bnez $rn,$pcrel8a2 */
1169   {
1170     { 0, 0, 0, 0 },
1171     { { MNEM, ' ', OP (RN), ',', OP (PCREL8A2), 0 } },
1172     & ifmt_beqz, { 0xa001 }
1173   },
1174 /* beqi $rn,$uimm4,$pcrel17a2 */
1175   {
1176     { 0, 0, 0, 0 },
1177     { { MNEM, ' ', OP (RN), ',', OP (UIMM4), ',', OP (PCREL17A2), 0 } },
1178     & ifmt_beqi, { 0xe0000000 }
1179   },
1180 /* bnei $rn,$uimm4,$pcrel17a2 */
1181   {
1182     { 0, 0, 0, 0 },
1183     { { MNEM, ' ', OP (RN), ',', OP (UIMM4), ',', OP (PCREL17A2), 0 } },
1184     & ifmt_beqi, { 0xe0040000 }
1185   },
1186 /* blti $rn,$uimm4,$pcrel17a2 */
1187   {
1188     { 0, 0, 0, 0 },
1189     { { MNEM, ' ', OP (RN), ',', OP (UIMM4), ',', OP (PCREL17A2), 0 } },
1190     & ifmt_beqi, { 0xe00c0000 }
1191   },
1192 /* bgei $rn,$uimm4,$pcrel17a2 */
1193   {
1194     { 0, 0, 0, 0 },
1195     { { MNEM, ' ', OP (RN), ',', OP (UIMM4), ',', OP (PCREL17A2), 0 } },
1196     & ifmt_beqi, { 0xe0080000 }
1197   },
1198 /* beq $rn,$rm,$pcrel17a2 */
1199   {
1200     { 0, 0, 0, 0 },
1201     { { MNEM, ' ', OP (RN), ',', OP (RM), ',', OP (PCREL17A2), 0 } },
1202     & ifmt_beq, { 0xe0010000 }
1203   },
1204 /* bne $rn,$rm,$pcrel17a2 */
1205   {
1206     { 0, 0, 0, 0 },
1207     { { MNEM, ' ', OP (RN), ',', OP (RM), ',', OP (PCREL17A2), 0 } },
1208     & ifmt_beq, { 0xe0050000 }
1209   },
1210 /* bsr $pcrel12a2 */
1211   {
1212     { 0, 0, 0, 0 },
1213     { { MNEM, ' ', OP (PCREL12A2), 0 } },
1214     & ifmt_bra, { 0xb001 }
1215   },
1216 /* bsr $pcrel24a2 */
1217   {
1218     { 0, 0, 0, 0 },
1219     { { MNEM, ' ', OP (PCREL24A2), 0 } },
1220     & ifmt_bsr24, { 0xd8090000 }
1221   },
1222 /* jmp $rm */
1223   {
1224     { 0, 0, 0, 0 },
1225     { { MNEM, ' ', OP (RM), 0 } },
1226     & ifmt_jmp, { 0x100e }
1227   },
1228 /* jmp $pcabs24a2 */
1229   {
1230     { 0, 0, 0, 0 },
1231     { { MNEM, ' ', OP (PCABS24A2), 0 } },
1232     & ifmt_jmp24, { 0xd8080000 }
1233   },
1234 /* jsr $rm */
1235   {
1236     { 0, 0, 0, 0 },
1237     { { MNEM, ' ', OP (RM), 0 } },
1238     & ifmt_jmp, { 0x100f }
1239   },
1240 /* ret */
1241   {
1242     { 0, 0, 0, 0 },
1243     { { MNEM, 0 } },
1244     & ifmt_ret, { 0x7002 }
1245   },
1246 /* repeat $rn,$pcrel17a2 */
1247   {
1248     { 0, 0, 0, 0 },
1249     { { MNEM, ' ', OP (RN), ',', OP (PCREL17A2), 0 } },
1250     & ifmt_repeat, { 0xe0090000 }
1251   },
1252 /* erepeat $pcrel17a2 */
1253   {
1254     { 0, 0, 0, 0 },
1255     { { MNEM, ' ', OP (PCREL17A2), 0 } },
1256     & ifmt_erepeat, { 0xe0190000 }
1257   },
1258 /* stc $rn,\$lp */
1259   {
1260     { 0, 0, 0, 0 },
1261     { { MNEM, ' ', OP (RN), ',', '$', 'l', 'p', 0 } },
1262     & ifmt_stc_lp, { 0x7018 }
1263   },
1264 /* stc $rn,\$hi */
1265   {
1266     { 0, 0, 0, 0 },
1267     { { MNEM, ' ', OP (RN), ',', '$', 'h', 'i', 0 } },
1268     & ifmt_stc_lp, { 0x7078 }
1269   },
1270 /* stc $rn,\$lo */
1271   {
1272     { 0, 0, 0, 0 },
1273     { { MNEM, ' ', OP (RN), ',', '$', 'l', 'o', 0 } },
1274     & ifmt_stc_lp, { 0x7088 }
1275   },
1276 /* stc $rn,$csrn */
1277   {
1278     { 0, 0, 0, 0 },
1279     { { MNEM, ' ', OP (RN), ',', OP (CSRN), 0 } },
1280     & ifmt_stc, { 0x7008 }
1281   },
1282 /* ldc $rn,\$lp */
1283   {
1284     { 0, 0, 0, 0 },
1285     { { MNEM, ' ', OP (RN), ',', '$', 'l', 'p', 0 } },
1286     & ifmt_stc_lp, { 0x701a }
1287   },
1288 /* ldc $rn,\$hi */
1289   {
1290     { 0, 0, 0, 0 },
1291     { { MNEM, ' ', OP (RN), ',', '$', 'h', 'i', 0 } },
1292     & ifmt_stc_lp, { 0x707a }
1293   },
1294 /* ldc $rn,\$lo */
1295   {
1296     { 0, 0, 0, 0 },
1297     { { MNEM, ' ', OP (RN), ',', '$', 'l', 'o', 0 } },
1298     & ifmt_stc_lp, { 0x708a }
1299   },
1300 /* ldc $rn,$csrn */
1301   {
1302     { 0, 0, 0, 0 },
1303     { { MNEM, ' ', OP (RN), ',', OP (CSRN), 0 } },
1304     & ifmt_stc, { 0x700a }
1305   },
1306 /* di */
1307   {
1308     { 0, 0, 0, 0 },
1309     { { MNEM, 0 } },
1310     & ifmt_ret, { 0x7000 }
1311   },
1312 /* ei */
1313   {
1314     { 0, 0, 0, 0 },
1315     { { MNEM, 0 } },
1316     & ifmt_ret, { 0x7010 }
1317   },
1318 /* reti */
1319   {
1320     { 0, 0, 0, 0 },
1321     { { MNEM, 0 } },
1322     & ifmt_ret, { 0x7012 }
1323   },
1324 /* halt */
1325   {
1326     { 0, 0, 0, 0 },
1327     { { MNEM, 0 } },
1328     & ifmt_ret, { 0x7022 }
1329   },
1330 /* sleep */
1331   {
1332     { 0, 0, 0, 0 },
1333     { { MNEM, 0 } },
1334     & ifmt_ret, { 0x7062 }
1335   },
1336 /* swi $uimm2 */
1337   {
1338     { 0, 0, 0, 0 },
1339     { { MNEM, ' ', OP (UIMM2), 0 } },
1340     & ifmt_swi, { 0x7006 }
1341   },
1342 /* break */
1343   {
1344     { 0, 0, 0, 0 },
1345     { { MNEM, 0 } },
1346     & ifmt_ret, { 0x7032 }
1347   },
1348 /* syncm */
1349   {
1350     { 0, 0, 0, 0 },
1351     { { MNEM, 0 } },
1352     & ifmt_ret, { 0x7011 }
1353   },
1354 /* stcb $rn,$uimm16 */
1355   {
1356     { 0, 0, 0, 0 },
1357     { { MNEM, ' ', OP (RN), ',', OP (UIMM16), 0 } },
1358     & ifmt_movu16, { 0xf0040000 }
1359   },
1360 /* ldcb $rn,$uimm16 */
1361   {
1362     { 0, 0, 0, 0 },
1363     { { MNEM, ' ', OP (RN), ',', OP (UIMM16), 0 } },
1364     & ifmt_movu16, { 0xf0140000 }
1365   },
1366 /* bsetm ($rma),$uimm3 */
1367   {
1368     { 0, 0, 0, 0 },
1369     { { MNEM, ' ', '(', OP (RMA), ')', ',', OP (UIMM3), 0 } },
1370     & ifmt_bsetm, { 0x2000 }
1371   },
1372 /* bclrm ($rma),$uimm3 */
1373   {
1374     { 0, 0, 0, 0 },
1375     { { MNEM, ' ', '(', OP (RMA), ')', ',', OP (UIMM3), 0 } },
1376     & ifmt_bsetm, { 0x2001 }
1377   },
1378 /* bnotm ($rma),$uimm3 */
1379   {
1380     { 0, 0, 0, 0 },
1381     { { MNEM, ' ', '(', OP (RMA), ')', ',', OP (UIMM3), 0 } },
1382     & ifmt_bsetm, { 0x2002 }
1383   },
1384 /* btstm \$0,($rma),$uimm3 */
1385   {
1386     { 0, 0, 0, 0 },
1387     { { MNEM, ' ', '$', '0', ',', '(', OP (RMA), ')', ',', OP (UIMM3), 0 } },
1388     & ifmt_bsetm, { 0x2003 }
1389   },
1390 /* tas $rn,($rma) */
1391   {
1392     { 0, 0, 0, 0 },
1393     { { MNEM, ' ', OP (RN), ',', '(', OP (RMA), ')', 0 } },
1394     & ifmt_stcb_r, { 0x2004 }
1395   },
1396 /* cache $cimm4,($rma) */
1397   {
1398     { 0, 0, 0, 0 },
1399     { { MNEM, ' ', OP (CIMM4), ',', '(', OP (RMA), ')', 0 } },
1400     & ifmt_pref, { 0x7004 }
1401   },
1402 /* mul $rn,$rm */
1403   {
1404     { 0, 0, 0, 0 },
1405     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1406     & ifmt_mov, { 0x1004 }
1407   },
1408 /* mulu $rn,$rm */
1409   {
1410     { 0, 0, 0, 0 },
1411     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1412     & ifmt_mov, { 0x1005 }
1413   },
1414 /* mulr $rn,$rm */
1415   {
1416     { 0, 0, 0, 0 },
1417     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1418     & ifmt_mov, { 0x1006 }
1419   },
1420 /* mulru $rn,$rm */
1421   {
1422     { 0, 0, 0, 0 },
1423     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1424     & ifmt_mov, { 0x1007 }
1425   },
1426 /* madd $rn,$rm */
1427   {
1428     { 0, 0, 0, 0 },
1429     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1430     & ifmt_madd, { 0xf0013004 }
1431   },
1432 /* maddu $rn,$rm */
1433   {
1434     { 0, 0, 0, 0 },
1435     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1436     & ifmt_madd, { 0xf0013005 }
1437   },
1438 /* maddr $rn,$rm */
1439   {
1440     { 0, 0, 0, 0 },
1441     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1442     & ifmt_madd, { 0xf0013006 }
1443   },
1444 /* maddru $rn,$rm */
1445   {
1446     { 0, 0, 0, 0 },
1447     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1448     & ifmt_madd, { 0xf0013007 }
1449   },
1450 /* div $rn,$rm */
1451   {
1452     { 0, 0, 0, 0 },
1453     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1454     & ifmt_mov, { 0x1008 }
1455   },
1456 /* divu $rn,$rm */
1457   {
1458     { 0, 0, 0, 0 },
1459     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1460     & ifmt_mov, { 0x1009 }
1461   },
1462 /* dret */
1463   {
1464     { 0, 0, 0, 0 },
1465     { { MNEM, 0 } },
1466     & ifmt_ret, { 0x7013 }
1467   },
1468 /* dbreak */
1469   {
1470     { 0, 0, 0, 0 },
1471     { { MNEM, 0 } },
1472     & ifmt_ret, { 0x7033 }
1473   },
1474 /* ldz $rn,$rm */
1475   {
1476     { 0, 0, 0, 0 },
1477     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1478     & ifmt_madd, { 0xf0010000 }
1479   },
1480 /* abs $rn,$rm */
1481   {
1482     { 0, 0, 0, 0 },
1483     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1484     & ifmt_madd, { 0xf0010003 }
1485   },
1486 /* ave $rn,$rm */
1487   {
1488     { 0, 0, 0, 0 },
1489     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1490     & ifmt_madd, { 0xf0010002 }
1491   },
1492 /* min $rn,$rm */
1493   {
1494     { 0, 0, 0, 0 },
1495     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1496     & ifmt_madd, { 0xf0010004 }
1497   },
1498 /* max $rn,$rm */
1499   {
1500     { 0, 0, 0, 0 },
1501     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1502     & ifmt_madd, { 0xf0010005 }
1503   },
1504 /* minu $rn,$rm */
1505   {
1506     { 0, 0, 0, 0 },
1507     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1508     & ifmt_madd, { 0xf0010006 }
1509   },
1510 /* maxu $rn,$rm */
1511   {
1512     { 0, 0, 0, 0 },
1513     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1514     & ifmt_madd, { 0xf0010007 }
1515   },
1516 /* clip $rn,$cimm5 */
1517   {
1518     { 0, 0, 0, 0 },
1519     { { MNEM, ' ', OP (RN), ',', OP (CIMM5), 0 } },
1520     & ifmt_clip, { 0xf0011000 }
1521   },
1522 /* clipu $rn,$cimm5 */
1523   {
1524     { 0, 0, 0, 0 },
1525     { { MNEM, ' ', OP (RN), ',', OP (CIMM5), 0 } },
1526     & ifmt_clip, { 0xf0011001 }
1527   },
1528 /* sadd $rn,$rm */
1529   {
1530     { 0, 0, 0, 0 },
1531     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1532     & ifmt_madd, { 0xf0010008 }
1533   },
1534 /* ssub $rn,$rm */
1535   {
1536     { 0, 0, 0, 0 },
1537     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1538     & ifmt_madd, { 0xf001000a }
1539   },
1540 /* saddu $rn,$rm */
1541   {
1542     { 0, 0, 0, 0 },
1543     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1544     & ifmt_madd, { 0xf0010009 }
1545   },
1546 /* ssubu $rn,$rm */
1547   {
1548     { 0, 0, 0, 0 },
1549     { { MNEM, ' ', OP (RN), ',', OP (RM), 0 } },
1550     & ifmt_madd, { 0xf001000b }
1551   },
1552 /* swcp $crn,($rma) */
1553   {
1554     { 0, 0, 0, 0 },
1555     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), ')', 0 } },
1556     & ifmt_swcp, { 0x3008 }
1557   },
1558 /* lwcp $crn,($rma) */
1559   {
1560     { 0, 0, 0, 0 },
1561     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), ')', 0 } },
1562     & ifmt_swcp, { 0x3009 }
1563   },
1564 /* smcp $crn64,($rma) */
1565   {
1566     { 0, 0, 0, 0 },
1567     { { MNEM, ' ', OP (CRN64), ',', '(', OP (RMA), ')', 0 } },
1568     & ifmt_smcp, { 0x300a }
1569   },
1570 /* lmcp $crn64,($rma) */
1571   {
1572     { 0, 0, 0, 0 },
1573     { { MNEM, ' ', OP (CRN64), ',', '(', OP (RMA), ')', 0 } },
1574     & ifmt_smcp, { 0x300b }
1575   },
1576 /* swcpi $crn,($rma+) */
1577   {
1578     { 0, 0, 0, 0 },
1579     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', 0 } },
1580     & ifmt_swcp, { 0x3000 }
1581   },
1582 /* lwcpi $crn,($rma+) */
1583   {
1584     { 0, 0, 0, 0 },
1585     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', 0 } },
1586     & ifmt_swcp, { 0x3001 }
1587   },
1588 /* smcpi $crn64,($rma+) */
1589   {
1590     { 0, 0, 0, 0 },
1591     { { MNEM, ' ', OP (CRN64), ',', '(', OP (RMA), '+', ')', 0 } },
1592     & ifmt_smcp, { 0x3002 }
1593   },
1594 /* lmcpi $crn64,($rma+) */
1595   {
1596     { 0, 0, 0, 0 },
1597     { { MNEM, ' ', OP (CRN64), ',', '(', OP (RMA), '+', ')', 0 } },
1598     & ifmt_smcp, { 0x3003 }
1599   },
1600 /* swcp $crn,$sdisp16($rma) */
1601   {
1602     { 0, 0, 0, 0 },
1603     { { MNEM, ' ', OP (CRN), ',', OP (SDISP16), '(', OP (RMA), ')', 0 } },
1604     & ifmt_swcp16, { 0xf00c0000 }
1605   },
1606 /* lwcp $crn,$sdisp16($rma) */
1607   {
1608     { 0, 0, 0, 0 },
1609     { { MNEM, ' ', OP (CRN), ',', OP (SDISP16), '(', OP (RMA), ')', 0 } },
1610     & ifmt_swcp16, { 0xf00d0000 }
1611   },
1612 /* smcp $crn64,$sdisp16($rma) */
1613   {
1614     { 0, 0, 0, 0 },
1615     { { MNEM, ' ', OP (CRN64), ',', OP (SDISP16), '(', OP (RMA), ')', 0 } },
1616     & ifmt_smcp16, { 0xf00e0000 }
1617   },
1618 /* lmcp $crn64,$sdisp16($rma) */
1619   {
1620     { 0, 0, 0, 0 },
1621     { { MNEM, ' ', OP (CRN64), ',', OP (SDISP16), '(', OP (RMA), ')', 0 } },
1622     & ifmt_smcp16, { 0xf00f0000 }
1623   },
1624 /* sbcpa $crn,($rma+),$cdisp10 */
1625   {
1626     { 0, 0, 0, 0 },
1627     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10), 0 } },
1628     & ifmt_lbucpa, { 0xf0050000 }
1629   },
1630 /* lbcpa $crn,($rma+),$cdisp10 */
1631   {
1632     { 0, 0, 0, 0 },
1633     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10), 0 } },
1634     & ifmt_lbucpa, { 0xf0054000 }
1635   },
1636 /* shcpa $crn,($rma+),$cdisp10a2 */
1637   {
1638     { 0, 0, 0, 0 },
1639     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A2), 0 } },
1640     & ifmt_lhucpa, { 0xf0051000 }
1641   },
1642 /* lhcpa $crn,($rma+),$cdisp10a2 */
1643   {
1644     { 0, 0, 0, 0 },
1645     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A2), 0 } },
1646     & ifmt_lhucpa, { 0xf0055000 }
1647   },
1648 /* swcpa $crn,($rma+),$cdisp10a4 */
1649   {
1650     { 0, 0, 0, 0 },
1651     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A4), 0 } },
1652     & ifmt_swcpa, { 0xf0052000 }
1653   },
1654 /* lwcpa $crn,($rma+),$cdisp10a4 */
1655   {
1656     { 0, 0, 0, 0 },
1657     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A4), 0 } },
1658     & ifmt_swcpa, { 0xf0056000 }
1659   },
1660 /* smcpa $crn64,($rma+),$cdisp10a8 */
1661   {
1662     { 0, 0, 0, 0 },
1663     { { MNEM, ' ', OP (CRN64), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A8), 0 } },
1664     & ifmt_smcpa, { 0xf0053000 }
1665   },
1666 /* lmcpa $crn64,($rma+),$cdisp10a8 */
1667   {
1668     { 0, 0, 0, 0 },
1669     { { MNEM, ' ', OP (CRN64), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A8), 0 } },
1670     & ifmt_smcpa, { 0xf0057000 }
1671   },
1672 /* sbcpm0 $crn,($rma+),$cdisp10 */
1673   {
1674     { 0, 0, 0, 0 },
1675     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10), 0 } },
1676     & ifmt_lbucpa, { 0xf0050800 }
1677   },
1678 /* lbcpm0 $crn,($rma+),$cdisp10 */
1679   {
1680     { 0, 0, 0, 0 },
1681     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10), 0 } },
1682     & ifmt_lbucpa, { 0xf0054800 }
1683   },
1684 /* shcpm0 $crn,($rma+),$cdisp10a2 */
1685   {
1686     { 0, 0, 0, 0 },
1687     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A2), 0 } },
1688     & ifmt_lhucpa, { 0xf0051800 }
1689   },
1690 /* lhcpm0 $crn,($rma+),$cdisp10a2 */
1691   {
1692     { 0, 0, 0, 0 },
1693     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A2), 0 } },
1694     & ifmt_lhucpa, { 0xf0055800 }
1695   },
1696 /* swcpm0 $crn,($rma+),$cdisp10a4 */
1697   {
1698     { 0, 0, 0, 0 },
1699     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A4), 0 } },
1700     & ifmt_swcpa, { 0xf0052800 }
1701   },
1702 /* lwcpm0 $crn,($rma+),$cdisp10a4 */
1703   {
1704     { 0, 0, 0, 0 },
1705     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A4), 0 } },
1706     & ifmt_swcpa, { 0xf0056800 }
1707   },
1708 /* smcpm0 $crn64,($rma+),$cdisp10a8 */
1709   {
1710     { 0, 0, 0, 0 },
1711     { { MNEM, ' ', OP (CRN64), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A8), 0 } },
1712     & ifmt_smcpa, { 0xf0053800 }
1713   },
1714 /* lmcpm0 $crn64,($rma+),$cdisp10a8 */
1715   {
1716     { 0, 0, 0, 0 },
1717     { { MNEM, ' ', OP (CRN64), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A8), 0 } },
1718     & ifmt_smcpa, { 0xf0057800 }
1719   },
1720 /* sbcpm1 $crn,($rma+),$cdisp10 */
1721   {
1722     { 0, 0, 0, 0 },
1723     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10), 0 } },
1724     & ifmt_lbucpa, { 0xf0050c00 }
1725   },
1726 /* lbcpm1 $crn,($rma+),$cdisp10 */
1727   {
1728     { 0, 0, 0, 0 },
1729     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10), 0 } },
1730     & ifmt_lbucpa, { 0xf0054c00 }
1731   },
1732 /* shcpm1 $crn,($rma+),$cdisp10a2 */
1733   {
1734     { 0, 0, 0, 0 },
1735     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A2), 0 } },
1736     & ifmt_lhucpa, { 0xf0051c00 }
1737   },
1738 /* lhcpm1 $crn,($rma+),$cdisp10a2 */
1739   {
1740     { 0, 0, 0, 0 },
1741     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A2), 0 } },
1742     & ifmt_lhucpa, { 0xf0055c00 }
1743   },
1744 /* swcpm1 $crn,($rma+),$cdisp10a4 */
1745   {
1746     { 0, 0, 0, 0 },
1747     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A4), 0 } },
1748     & ifmt_swcpa, { 0xf0052c00 }
1749   },
1750 /* lwcpm1 $crn,($rma+),$cdisp10a4 */
1751   {
1752     { 0, 0, 0, 0 },
1753     { { MNEM, ' ', OP (CRN), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A4), 0 } },
1754     & ifmt_swcpa, { 0xf0056c00 }
1755   },
1756 /* smcpm1 $crn64,($rma+),$cdisp10a8 */
1757   {
1758     { 0, 0, 0, 0 },
1759     { { MNEM, ' ', OP (CRN64), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A8), 0 } },
1760     & ifmt_smcpa, { 0xf0053c00 }
1761   },
1762 /* lmcpm1 $crn64,($rma+),$cdisp10a8 */
1763   {
1764     { 0, 0, 0, 0 },
1765     { { MNEM, ' ', OP (CRN64), ',', '(', OP (RMA), '+', ')', ',', OP (CDISP10A8), 0 } },
1766     & ifmt_smcpa, { 0xf0057c00 }
1767   },
1768 /* bcpeq $cccc,$pcrel17a2 */
1769   {
1770     { 0, 0, 0, 0 },
1771     { { MNEM, ' ', OP (CCCC), ',', OP (PCREL17A2), 0 } },
1772     & ifmt_bcpeq, { 0xd8040000 }
1773   },
1774 /* bcpne $cccc,$pcrel17a2 */
1775   {
1776     { 0, 0, 0, 0 },
1777     { { MNEM, ' ', OP (CCCC), ',', OP (PCREL17A2), 0 } },
1778     & ifmt_bcpeq, { 0xd8050000 }
1779   },
1780 /* bcpat $cccc,$pcrel17a2 */
1781   {
1782     { 0, 0, 0, 0 },
1783     { { MNEM, ' ', OP (CCCC), ',', OP (PCREL17A2), 0 } },
1784     & ifmt_bcpeq, { 0xd8060000 }
1785   },
1786 /* bcpaf $cccc,$pcrel17a2 */
1787   {
1788     { 0, 0, 0, 0 },
1789     { { MNEM, ' ', OP (CCCC), ',', OP (PCREL17A2), 0 } },
1790     & ifmt_bcpeq, { 0xd8070000 }
1791   },
1792 /* synccp */
1793   {
1794     { 0, 0, 0, 0 },
1795     { { MNEM, 0 } },
1796     & ifmt_ret, { 0x7021 }
1797   },
1798 /* jsrv $rm */
1799   {
1800     { 0, 0, 0, 0 },
1801     { { MNEM, ' ', OP (RM), 0 } },
1802     & ifmt_jmp, { 0x180f }
1803   },
1804 /* bsrv $pcrel24a2 */
1805   {
1806     { 0, 0, 0, 0 },
1807     { { MNEM, ' ', OP (PCREL24A2), 0 } },
1808     & ifmt_bsr24, { 0xd80b0000 }
1809   },
1810 /* --syscall-- */
1811   {
1812     { 0, 0, 0, 0 },
1813     { { MNEM, 0 } },
1814     & ifmt_sim_syscall, { 0x7800 }
1815   },
1816 /* --reserved-- */
1817   {
1818     { 0, 0, 0, 0 },
1819     { { MNEM, 0 } },
1820     & ifmt_mov, { 0x6 }
1821   },
1822 /* --reserved-- */
1823   {
1824     { 0, 0, 0, 0 },
1825     { { MNEM, 0 } },
1826     & ifmt_mov, { 0x100a }
1827   },
1828 /* --reserved-- */
1829   {
1830     { 0, 0, 0, 0 },
1831     { { MNEM, 0 } },
1832     & ifmt_mov, { 0x100b }
1833   },
1834 /* --reserved-- */
1835   {
1836     { 0, 0, 0, 0 },
1837     { { MNEM, 0 } },
1838     & ifmt_mov, { 0x2005 }
1839   },
1840 /* --reserved-- */
1841   {
1842     { 0, 0, 0, 0 },
1843     { { MNEM, 0 } },
1844     & ifmt_mov, { 0x2008 }
1845   },
1846 /* --reserved-- */
1847   {
1848     { 0, 0, 0, 0 },
1849     { { MNEM, 0 } },
1850     & ifmt_mov, { 0x2009 }
1851   },
1852 /* --reserved-- */
1853   {
1854     { 0, 0, 0, 0 },
1855     { { MNEM, 0 } },
1856     & ifmt_mov, { 0x200a }
1857   },
1858 /* --reserved-- */
1859   {
1860     { 0, 0, 0, 0 },
1861     { { MNEM, 0 } },
1862     & ifmt_mov, { 0x200b }
1863   },
1864 /* --reserved-- */
1865   {
1866     { 0, 0, 0, 0 },
1867     { { MNEM, 0 } },
1868     & ifmt_mov, { 0x3004 }
1869   },
1870 /* --reserved-- */
1871   {
1872     { 0, 0, 0, 0 },
1873     { { MNEM, 0 } },
1874     & ifmt_mov, { 0x3005 }
1875   },
1876 /* --reserved-- */
1877   {
1878     { 0, 0, 0, 0 },
1879     { { MNEM, 0 } },
1880     & ifmt_mov, { 0x3006 }
1881   },
1882 /* --reserved-- */
1883   {
1884     { 0, 0, 0, 0 },
1885     { { MNEM, 0 } },
1886     & ifmt_mov, { 0x3007 }
1887   },
1888 /* --reserved-- */
1889   {
1890     { 0, 0, 0, 0 },
1891     { { MNEM, 0 } },
1892     & ifmt_mov, { 0x300c }
1893   },
1894 /* --reserved-- */
1895   {
1896     { 0, 0, 0, 0 },
1897     { { MNEM, 0 } },
1898     & ifmt_mov, { 0x300d }
1899   },
1900 /* --reserved-- */
1901   {
1902     { 0, 0, 0, 0 },
1903     { { MNEM, 0 } },
1904     & ifmt_mov, { 0x300e }
1905   },
1906 /* --reserved-- */
1907   {
1908     { 0, 0, 0, 0 },
1909     { { MNEM, 0 } },
1910     & ifmt_mov, { 0x300f }
1911   },
1912 /* --reserved-- */
1913   {
1914     { 0, 0, 0, 0 },
1915     { { MNEM, 0 } },
1916     & ifmt_mov, { 0x7007 }
1917   },
1918 /* --reserved-- */
1919   {
1920     { 0, 0, 0, 0 },
1921     { { MNEM, 0 } },
1922     & ifmt_mov, { 0x700e }
1923   },
1924 /* --reserved-- */
1925   {
1926     { 0, 0, 0, 0 },
1927     { { MNEM, 0 } },
1928     & ifmt_mov, { 0x700f }
1929   },
1930 /* --reserved-- */
1931   {
1932     { 0, 0, 0, 0 },
1933     { { MNEM, 0 } },
1934     & ifmt_mov, { 0xc007 }
1935   },
1936 /* --reserved-- */
1937   {
1938     { 0, 0, 0, 0 },
1939     { { MNEM, 0 } },
1940     & ifmt_mov, { 0xe00d }
1941   },
1942 /* --reserved-- */
1943   {
1944     { 0, 0, 0, 0 },
1945     { { MNEM, 0 } },
1946     & ifmt_mov, { 0xf008 }
1947   },
1948 /* cmov $crnx64,$rm */
1949   {
1950     { 0, 0, 0, 0 },
1951     { { MNEM, ' ', OP (CRNX64), ',', OP (RM), 0 } },
1952     & ifmt_cmov_crn_rm, { 0xf007f000 }
1953   },
1954 /* cmov $rm,$crnx64 */
1955   {
1956     { 0, 0, 0, 0 },
1957     { { MNEM, ' ', OP (RM), ',', OP (CRNX64), 0 } },
1958     & ifmt_cmov_crn_rm, { 0xf007f001 }
1959   },
1960 /* cmovc $ivc2c3ccrn,$rm */
1961   {
1962     { 0, 0, 0, 0 },
1963     { { MNEM, ' ', OP (IVC2C3CCRN), ',', OP (RM), 0 } },
1964     & ifmt_cmovc_ccrn_rm, { 0xf007f002 }
1965   },
1966 /* cmovc $rm,$ivc2c3ccrn */
1967   {
1968     { 0, 0, 0, 0 },
1969     { { MNEM, ' ', OP (RM), ',', OP (IVC2C3CCRN), 0 } },
1970     & ifmt_cmovc_ccrn_rm, { 0xf007f003 }
1971   },
1972 /* cmovh $crnx64,$rm */
1973   {
1974     { 0, 0, 0, 0 },
1975     { { MNEM, ' ', OP (CRNX64), ',', OP (RM), 0 } },
1976     & ifmt_cmov_crn_rm, { 0xf007f100 }
1977   },
1978 /* cmovh $rm,$crnx64 */
1979   {
1980     { 0, 0, 0, 0 },
1981     { { MNEM, ' ', OP (RM), ',', OP (CRNX64), 0 } },
1982     & ifmt_cmov_crn_rm, { 0xf007f101 }
1983   },
1984 /* cmov $ivc2crn,$ivc2rm */
1985   {
1986     { 0, 0, 0, 0 },
1987     { { MNEM, ' ', OP (IVC2CRN), ',', OP (IVC2RM), 0 } },
1988     & ifmt_cmov_crn_rm_p0, { 0xf00000 }
1989   },
1990 /* cmov $ivc2rm,$ivc2crn */
1991   {
1992     { 0, 0, 0, 0 },
1993     { { MNEM, ' ', OP (IVC2RM), ',', OP (IVC2CRN), 0 } },
1994     & ifmt_cmov_crn_rm_p0, { 0xf00100 }
1995   },
1996 /* cmovc $ivc2ccrn,$ivc2rm */
1997   {
1998     { 0, 0, 0, 0 },
1999     { { MNEM, ' ', OP (IVC2CCRN), ',', OP (IVC2RM), 0 } },
2000     & ifmt_cmovc_ccrn_rm_p0, { 0xf00200 }
2001   },
2002 /* cmovc $ivc2rm,$ivc2ccrn */
2003   {
2004     { 0, 0, 0, 0 },
2005     { { MNEM, ' ', OP (IVC2RM), ',', OP (IVC2CCRN), 0 } },
2006     & ifmt_cmovc_ccrn_rm_p0, { 0xf00300 }
2007   },
2008 /* cmovh $ivc2crn,$ivc2rm */
2009   {
2010     { 0, 0, 0, 0 },
2011     { { MNEM, ' ', OP (IVC2CRN), ',', OP (IVC2RM), 0 } },
2012     & ifmt_cmov_crn_rm_p0, { 0xf10000 }
2013   },
2014 /* cmovh $ivc2rm,$ivc2crn */
2015   {
2016     { 0, 0, 0, 0 },
2017     { { MNEM, ' ', OP (IVC2RM), ',', OP (IVC2CRN), 0 } },
2018     & ifmt_cmov_crn_rm_p0, { 0xf10100 }
2019   },
2020 /* cpadd3.b $croc,$crqc,$crpc */
2021   {
2022     { 0, 0, 0, 0 },
2023     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2024     & ifmt_cpadd3_b_C3, { 0xf0070000 }
2025   },
2026 /* cpadd3.h $croc,$crqc,$crpc */
2027   {
2028     { 0, 0, 0, 0 },
2029     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2030     & ifmt_cpadd3_b_C3, { 0xf2070000 }
2031   },
2032 /* cpadd3.w $croc,$crqc,$crpc */
2033   {
2034     { 0, 0, 0, 0 },
2035     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2036     & ifmt_cpadd3_b_C3, { 0xf4070000 }
2037   },
2038 /* cdadd3 $croc,$crqc,$crpc */
2039   {
2040     { 0, 0, 0, 0 },
2041     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2042     & ifmt_cpadd3_b_C3, { 0xf6070000 }
2043   },
2044 /* cpsub3.b $croc,$crqc,$crpc */
2045   {
2046     { 0, 0, 0, 0 },
2047     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2048     & ifmt_cpadd3_b_C3, { 0xf8070000 }
2049   },
2050 /* cpsub3.h $croc,$crqc,$crpc */
2051   {
2052     { 0, 0, 0, 0 },
2053     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2054     & ifmt_cpadd3_b_C3, { 0xfa070000 }
2055   },
2056 /* cpsub3.w $croc,$crqc,$crpc */
2057   {
2058     { 0, 0, 0, 0 },
2059     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2060     & ifmt_cpadd3_b_C3, { 0xfc070000 }
2061   },
2062 /* cdsub3 $croc,$crqc,$crpc */
2063   {
2064     { 0, 0, 0, 0 },
2065     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2066     & ifmt_cpadd3_b_C3, { 0xfe070000 }
2067   },
2068 /* cpand3 $croc,$crqc,$crpc */
2069   {
2070     { 0, 0, 0, 0 },
2071     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2072     & ifmt_cpadd3_b_C3, { 0xf0070800 }
2073   },
2074 /* cpor3 $croc,$crqc,$crpc */
2075   {
2076     { 0, 0, 0, 0 },
2077     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2078     & ifmt_cpadd3_b_C3, { 0xf2070800 }
2079   },
2080 /* cpnor3 $croc,$crqc,$crpc */
2081   {
2082     { 0, 0, 0, 0 },
2083     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2084     & ifmt_cpadd3_b_C3, { 0xf4070800 }
2085   },
2086 /* cpxor3 $croc,$crqc,$crpc */
2087   {
2088     { 0, 0, 0, 0 },
2089     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2090     & ifmt_cpadd3_b_C3, { 0xf6070800 }
2091   },
2092 /* cpsel $croc,$crqc,$crpc */
2093   {
2094     { 0, 0, 0, 0 },
2095     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2096     & ifmt_cpadd3_b_C3, { 0xf8070800 }
2097   },
2098 /* cpfsftbi $croc,$crqc,$crpc,$imm3p4 */
2099   {
2100     { 0, 0, 0, 0 },
2101     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), ',', OP (IMM3P4), 0 } },
2102     & ifmt_cpfsftbi_C3, { 0xf007e800 }
2103   },
2104 /* cpfsftbs0 $croc,$crqc,$crpc */
2105   {
2106     { 0, 0, 0, 0 },
2107     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2108     & ifmt_cpadd3_b_C3, { 0xfc070800 }
2109   },
2110 /* cpfsftbs1 $croc,$crqc,$crpc */
2111   {
2112     { 0, 0, 0, 0 },
2113     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2114     & ifmt_cpadd3_b_C3, { 0xfe070800 }
2115   },
2116 /* cpunpacku.b $croc,$crqc,$crpc */
2117   {
2118     { 0, 0, 0, 0 },
2119     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2120     & ifmt_cpadd3_b_C3, { 0xf0071000 }
2121   },
2122 /* cpunpacku.h $croc,$crqc,$crpc */
2123   {
2124     { 0, 0, 0, 0 },
2125     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2126     & ifmt_cpadd3_b_C3, { 0xf2071000 }
2127   },
2128 /* cpunpacku.w $croc,$crqc,$crpc */
2129   {
2130     { 0, 0, 0, 0 },
2131     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2132     & ifmt_cpadd3_b_C3, { 0xf4071000 }
2133   },
2134 /* cpunpackl.b $croc,$crqc,$crpc */
2135   {
2136     { 0, 0, 0, 0 },
2137     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2138     & ifmt_cpadd3_b_C3, { 0xf8071000 }
2139   },
2140 /* cpunpackl.h $croc,$crqc,$crpc */
2141   {
2142     { 0, 0, 0, 0 },
2143     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2144     & ifmt_cpadd3_b_C3, { 0xfa071000 }
2145   },
2146 /* cpunpackl.w $croc,$crqc,$crpc */
2147   {
2148     { 0, 0, 0, 0 },
2149     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2150     & ifmt_cpadd3_b_C3, { 0xfc071000 }
2151   },
2152 /* cppacku.b $croc,$crqc,$crpc */
2153   {
2154     { 0, 0, 0, 0 },
2155     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2156     & ifmt_cpadd3_b_C3, { 0xf8071800 }
2157   },
2158 /* cppack.b $croc,$crqc,$crpc */
2159   {
2160     { 0, 0, 0, 0 },
2161     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2162     & ifmt_cpadd3_b_C3, { 0xfa071800 }
2163   },
2164 /* cppack.h $croc,$crqc,$crpc */
2165   {
2166     { 0, 0, 0, 0 },
2167     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2168     & ifmt_cpadd3_b_C3, { 0xfe071800 }
2169   },
2170 /* cpsrl3.b $croc,$crqc,$crpc */
2171   {
2172     { 0, 0, 0, 0 },
2173     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2174     & ifmt_cpadd3_b_C3, { 0xf0072000 }
2175   },
2176 /* cpssrl3.b $croc,$crqc,$crpc */
2177   {
2178     { 0, 0, 0, 0 },
2179     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2180     & ifmt_cpadd3_b_C3, { 0xf2072000 }
2181   },
2182 /* cpsrl3.h $croc,$crqc,$crpc */
2183   {
2184     { 0, 0, 0, 0 },
2185     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2186     & ifmt_cpadd3_b_C3, { 0xf4072000 }
2187   },
2188 /* cpssrl3.h $croc,$crqc,$crpc */
2189   {
2190     { 0, 0, 0, 0 },
2191     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2192     & ifmt_cpadd3_b_C3, { 0xf6072000 }
2193   },
2194 /* cpsrl3.w $croc,$crqc,$crpc */
2195   {
2196     { 0, 0, 0, 0 },
2197     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2198     & ifmt_cpadd3_b_C3, { 0xf8072000 }
2199   },
2200 /* cpssrl3.w $croc,$crqc,$crpc */
2201   {
2202     { 0, 0, 0, 0 },
2203     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2204     & ifmt_cpadd3_b_C3, { 0xfa072000 }
2205   },
2206 /* cdsrl3 $croc,$crqc,$crpc */
2207   {
2208     { 0, 0, 0, 0 },
2209     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2210     & ifmt_cpadd3_b_C3, { 0xfc072000 }
2211   },
2212 /* cpsra3.b $croc,$crqc,$crpc */
2213   {
2214     { 0, 0, 0, 0 },
2215     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2216     & ifmt_cpadd3_b_C3, { 0xf0072800 }
2217   },
2218 /* cpssra3.b $croc,$crqc,$crpc */
2219   {
2220     { 0, 0, 0, 0 },
2221     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2222     & ifmt_cpadd3_b_C3, { 0xf2072800 }
2223   },
2224 /* cpsra3.h $croc,$crqc,$crpc */
2225   {
2226     { 0, 0, 0, 0 },
2227     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2228     & ifmt_cpadd3_b_C3, { 0xf4072800 }
2229   },
2230 /* cpssra3.h $croc,$crqc,$crpc */
2231   {
2232     { 0, 0, 0, 0 },
2233     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2234     & ifmt_cpadd3_b_C3, { 0xf6072800 }
2235   },
2236 /* cpsra3.w $croc,$crqc,$crpc */
2237   {
2238     { 0, 0, 0, 0 },
2239     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2240     & ifmt_cpadd3_b_C3, { 0xf8072800 }
2241   },
2242 /* cpssra3.w $croc,$crqc,$crpc */
2243   {
2244     { 0, 0, 0, 0 },
2245     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2246     & ifmt_cpadd3_b_C3, { 0xfa072800 }
2247   },
2248 /* cdsra3 $croc,$crqc,$crpc */
2249   {
2250     { 0, 0, 0, 0 },
2251     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2252     & ifmt_cpadd3_b_C3, { 0xfc072800 }
2253   },
2254 /* cpsll3.b $croc,$crqc,$crpc */
2255   {
2256     { 0, 0, 0, 0 },
2257     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2258     & ifmt_cpadd3_b_C3, { 0xf0073000 }
2259   },
2260 /* cpssll3.b $croc,$crqc,$crpc */
2261   {
2262     { 0, 0, 0, 0 },
2263     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2264     & ifmt_cpadd3_b_C3, { 0xf2073000 }
2265   },
2266 /* cpsll3.h $croc,$crqc,$crpc */
2267   {
2268     { 0, 0, 0, 0 },
2269     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2270     & ifmt_cpadd3_b_C3, { 0xf4073000 }
2271   },
2272 /* cpssll3.h $croc,$crqc,$crpc */
2273   {
2274     { 0, 0, 0, 0 },
2275     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2276     & ifmt_cpadd3_b_C3, { 0xf6073000 }
2277   },
2278 /* cpsll3.w $croc,$crqc,$crpc */
2279   {
2280     { 0, 0, 0, 0 },
2281     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2282     & ifmt_cpadd3_b_C3, { 0xf8073000 }
2283   },
2284 /* cpssll3.w $croc,$crqc,$crpc */
2285   {
2286     { 0, 0, 0, 0 },
2287     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2288     & ifmt_cpadd3_b_C3, { 0xfa073000 }
2289   },
2290 /* cdsll3 $croc,$crqc,$crpc */
2291   {
2292     { 0, 0, 0, 0 },
2293     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2294     & ifmt_cpadd3_b_C3, { 0xfc073000 }
2295   },
2296 /* cpsla3.h $croc,$crqc,$crpc */
2297   {
2298     { 0, 0, 0, 0 },
2299     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2300     & ifmt_cpadd3_b_C3, { 0xf4073800 }
2301   },
2302 /* cpsla3.w $croc,$crqc,$crpc */
2303   {
2304     { 0, 0, 0, 0 },
2305     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2306     & ifmt_cpadd3_b_C3, { 0xf8073800 }
2307   },
2308 /* cpsadd3.h $croc,$crqc,$crpc */
2309   {
2310     { 0, 0, 0, 0 },
2311     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2312     & ifmt_cpadd3_b_C3, { 0xf4074000 }
2313   },
2314 /* cpsadd3.w $croc,$crqc,$crpc */
2315   {
2316     { 0, 0, 0, 0 },
2317     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2318     & ifmt_cpadd3_b_C3, { 0xf6074000 }
2319   },
2320 /* cpssub3.h $croc,$crqc,$crpc */
2321   {
2322     { 0, 0, 0, 0 },
2323     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2324     & ifmt_cpadd3_b_C3, { 0xfc074000 }
2325   },
2326 /* cpssub3.w $croc,$crqc,$crpc */
2327   {
2328     { 0, 0, 0, 0 },
2329     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2330     & ifmt_cpadd3_b_C3, { 0xfe074000 }
2331   },
2332 /* cpextuaddu3.b $croc,$crqc,$crpc */
2333   {
2334     { 0, 0, 0, 0 },
2335     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2336     & ifmt_cpadd3_b_C3, { 0xf0074800 }
2337   },
2338 /* cpextuadd3.b $croc,$crqc,$crpc */
2339   {
2340     { 0, 0, 0, 0 },
2341     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2342     & ifmt_cpadd3_b_C3, { 0xf2074800 }
2343   },
2344 /* cpextladdu3.b $croc,$crqc,$crpc */
2345   {
2346     { 0, 0, 0, 0 },
2347     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2348     & ifmt_cpadd3_b_C3, { 0xf4074800 }
2349   },
2350 /* cpextladd3.b $croc,$crqc,$crpc */
2351   {
2352     { 0, 0, 0, 0 },
2353     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2354     & ifmt_cpadd3_b_C3, { 0xf6074800 }
2355   },
2356 /* cpextusubu3.b $croc,$crqc,$crpc */
2357   {
2358     { 0, 0, 0, 0 },
2359     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2360     & ifmt_cpadd3_b_C3, { 0xf8074800 }
2361   },
2362 /* cpextusub3.b $croc,$crqc,$crpc */
2363   {
2364     { 0, 0, 0, 0 },
2365     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2366     & ifmt_cpadd3_b_C3, { 0xfa074800 }
2367   },
2368 /* cpextlsubu3.b $croc,$crqc,$crpc */
2369   {
2370     { 0, 0, 0, 0 },
2371     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2372     & ifmt_cpadd3_b_C3, { 0xfc074800 }
2373   },
2374 /* cpextlsub3.b $croc,$crqc,$crpc */
2375   {
2376     { 0, 0, 0, 0 },
2377     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2378     & ifmt_cpadd3_b_C3, { 0xfe074800 }
2379   },
2380 /* cpaveu3.b $croc,$crqc,$crpc */
2381   {
2382     { 0, 0, 0, 0 },
2383     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2384     & ifmt_cpadd3_b_C3, { 0xf0075000 }
2385   },
2386 /* cpave3.b $croc,$crqc,$crpc */
2387   {
2388     { 0, 0, 0, 0 },
2389     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2390     & ifmt_cpadd3_b_C3, { 0xf2075000 }
2391   },
2392 /* cpave3.h $croc,$crqc,$crpc */
2393   {
2394     { 0, 0, 0, 0 },
2395     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2396     & ifmt_cpadd3_b_C3, { 0xf4075000 }
2397   },
2398 /* cpave3.w $croc,$crqc,$crpc */
2399   {
2400     { 0, 0, 0, 0 },
2401     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2402     & ifmt_cpadd3_b_C3, { 0xf6075000 }
2403   },
2404 /* cpaddsru3.b $croc,$crqc,$crpc */
2405   {
2406     { 0, 0, 0, 0 },
2407     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2408     & ifmt_cpadd3_b_C3, { 0xf8075000 }
2409   },
2410 /* cpaddsr3.b $croc,$crqc,$crpc */
2411   {
2412     { 0, 0, 0, 0 },
2413     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2414     & ifmt_cpadd3_b_C3, { 0xfa075000 }
2415   },
2416 /* cpaddsr3.h $croc,$crqc,$crpc */
2417   {
2418     { 0, 0, 0, 0 },
2419     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2420     & ifmt_cpadd3_b_C3, { 0xfc075000 }
2421   },
2422 /* cpaddsr3.w $croc,$crqc,$crpc */
2423   {
2424     { 0, 0, 0, 0 },
2425     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2426     & ifmt_cpadd3_b_C3, { 0xfe075000 }
2427   },
2428 /* cpabsu3.b $croc,$crqc,$crpc */
2429   {
2430     { 0, 0, 0, 0 },
2431     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2432     & ifmt_cpadd3_b_C3, { 0xf0075800 }
2433   },
2434 /* cpabs3.b $croc,$crqc,$crpc */
2435   {
2436     { 0, 0, 0, 0 },
2437     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2438     & ifmt_cpadd3_b_C3, { 0xf2075800 }
2439   },
2440 /* cpabs3.h $croc,$crqc,$crpc */
2441   {
2442     { 0, 0, 0, 0 },
2443     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2444     & ifmt_cpadd3_b_C3, { 0xf4075800 }
2445   },
2446 /* cpmaxu3.b $croc,$crqc,$crpc */
2447   {
2448     { 0, 0, 0, 0 },
2449     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2450     & ifmt_cpadd3_b_C3, { 0xf0076000 }
2451   },
2452 /* cpmax3.b $croc,$crqc,$crpc */
2453   {
2454     { 0, 0, 0, 0 },
2455     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2456     & ifmt_cpadd3_b_C3, { 0xf2076000 }
2457   },
2458 /* cpmax3.h $croc,$crqc,$crpc */
2459   {
2460     { 0, 0, 0, 0 },
2461     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2462     & ifmt_cpadd3_b_C3, { 0xf6076000 }
2463   },
2464 /* cpmaxu3.w $croc,$crqc,$crpc */
2465   {
2466     { 0, 0, 0, 0 },
2467     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2468     & ifmt_cpadd3_b_C3, { 0xf8076000 }
2469   },
2470 /* cpmax3.w $croc,$crqc,$crpc */
2471   {
2472     { 0, 0, 0, 0 },
2473     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2474     & ifmt_cpadd3_b_C3, { 0xfa076000 }
2475   },
2476 /* cpminu3.b $croc,$crqc,$crpc */
2477   {
2478     { 0, 0, 0, 0 },
2479     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2480     & ifmt_cpadd3_b_C3, { 0xf0076800 }
2481   },
2482 /* cpmin3.b $croc,$crqc,$crpc */
2483   {
2484     { 0, 0, 0, 0 },
2485     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2486     & ifmt_cpadd3_b_C3, { 0xf2076800 }
2487   },
2488 /* cpmin3.h $croc,$crqc,$crpc */
2489   {
2490     { 0, 0, 0, 0 },
2491     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2492     & ifmt_cpadd3_b_C3, { 0xf6076800 }
2493   },
2494 /* cpminu3.w $croc,$crqc,$crpc */
2495   {
2496     { 0, 0, 0, 0 },
2497     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2498     & ifmt_cpadd3_b_C3, { 0xf8076800 }
2499   },
2500 /* cpmin3.w $croc,$crqc,$crpc */
2501   {
2502     { 0, 0, 0, 0 },
2503     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } },
2504     & ifmt_cpadd3_b_C3, { 0xfa076800 }
2505   },
2506 /* cpmovfrcsar0 $croc */
2507   {
2508     { 0, 0, 0, 0 },
2509     { { MNEM, ' ', OP (CROC), 0 } },
2510     & ifmt_cpmovfrcsar0_C3, { 0xf0078000 }
2511   },
2512 /* cpmovfrcsar1 $croc */
2513   {
2514     { 0, 0, 0, 0 },
2515     { { MNEM, ' ', OP (CROC), 0 } },
2516     & ifmt_cpmovfrcsar0_C3, { 0xf007801e }
2517   },
2518 /* cpmovfrcc $croc */
2519   {
2520     { 0, 0, 0, 0 },
2521     { { MNEM, ' ', OP (CROC), 0 } },
2522     & ifmt_cpmovfrcsar0_C3, { 0xf0078002 }
2523   },
2524 /* cpmovtocsar0 $crqc */
2525   {
2526     { 0, 0, 0, 0 },
2527     { { MNEM, ' ', OP (CRQC), 0 } },
2528     & ifmt_cpmovtocsar0_C3, { 0xf0078020 }
2529   },
2530 /* cpmovtocsar1 $crqc */
2531   {
2532     { 0, 0, 0, 0 },
2533     { { MNEM, ' ', OP (CRQC), 0 } },
2534     & ifmt_cpmovtocsar0_C3, { 0xf007803e }
2535   },
2536 /* cpmovtocc $crqc */
2537   {
2538     { 0, 0, 0, 0 },
2539     { { MNEM, ' ', OP (CRQC), 0 } },
2540     & ifmt_cpmovtocsar0_C3, { 0xf0078022 }
2541   },
2542 /* cpmov $croc,$crqc */
2543   {
2544     { 0, 0, 0, 0 },
2545     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2546     & ifmt_cpmov_C3, { 0xf0078800 }
2547   },
2548 /* cpabsz.b $croc,$crqc */
2549   {
2550     { 0, 0, 0, 0 },
2551     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2552     & ifmt_cpmov_C3, { 0xf0078802 }
2553   },
2554 /* cpabsz.h $croc,$crqc */
2555   {
2556     { 0, 0, 0, 0 },
2557     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2558     & ifmt_cpmov_C3, { 0xf0078804 }
2559   },
2560 /* cpabsz.w $croc,$crqc */
2561   {
2562     { 0, 0, 0, 0 },
2563     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2564     & ifmt_cpmov_C3, { 0xf0078806 }
2565   },
2566 /* cpldz.h $croc,$crqc */
2567   {
2568     { 0, 0, 0, 0 },
2569     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2570     & ifmt_cpmov_C3, { 0xf0078808 }
2571   },
2572 /* cpldz.w $croc,$crqc */
2573   {
2574     { 0, 0, 0, 0 },
2575     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2576     & ifmt_cpmov_C3, { 0xf007880a }
2577   },
2578 /* cpnorm.h $croc,$crqc */
2579   {
2580     { 0, 0, 0, 0 },
2581     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2582     & ifmt_cpmov_C3, { 0xf007880c }
2583   },
2584 /* cpnorm.w $croc,$crqc */
2585   {
2586     { 0, 0, 0, 0 },
2587     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2588     & ifmt_cpmov_C3, { 0xf007880e }
2589   },
2590 /* cphaddu.b $croc,$crqc */
2591   {
2592     { 0, 0, 0, 0 },
2593     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2594     & ifmt_cpmov_C3, { 0xf0078810 }
2595   },
2596 /* cphadd.b $croc,$crqc */
2597   {
2598     { 0, 0, 0, 0 },
2599     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2600     & ifmt_cpmov_C3, { 0xf0078812 }
2601   },
2602 /* cphadd.h $croc,$crqc */
2603   {
2604     { 0, 0, 0, 0 },
2605     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2606     & ifmt_cpmov_C3, { 0xf0078814 }
2607   },
2608 /* cphadd.w $croc,$crqc */
2609   {
2610     { 0, 0, 0, 0 },
2611     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2612     & ifmt_cpmov_C3, { 0xf0078816 }
2613   },
2614 /* cpccadd.b $crqc */
2615   {
2616     { 0, 0, 0, 0 },
2617     { { MNEM, ' ', OP (CRQC), 0 } },
2618     & ifmt_cpmov_C3, { 0xf0078818 }
2619   },
2620 /* cpbcast.b $croc,$crqc */
2621   {
2622     { 0, 0, 0, 0 },
2623     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2624     & ifmt_cpmov_C3, { 0xf007881a }
2625   },
2626 /* cpbcast.h $croc,$crqc */
2627   {
2628     { 0, 0, 0, 0 },
2629     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2630     & ifmt_cpmov_C3, { 0xf007881c }
2631   },
2632 /* cpbcast.w $croc,$crqc */
2633   {
2634     { 0, 0, 0, 0 },
2635     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2636     & ifmt_cpmov_C3, { 0xf007881e }
2637   },
2638 /* cpextuu.b $croc,$crqc */
2639   {
2640     { 0, 0, 0, 0 },
2641     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2642     & ifmt_cpmov_C3, { 0xf0078820 }
2643   },
2644 /* cpextu.b $croc,$crqc */
2645   {
2646     { 0, 0, 0, 0 },
2647     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2648     & ifmt_cpmov_C3, { 0xf0078822 }
2649   },
2650 /* cpextuu.h $croc,$crqc */
2651   {
2652     { 0, 0, 0, 0 },
2653     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2654     & ifmt_cpmov_C3, { 0xf0078824 }
2655   },
2656 /* cpextu.h $croc,$crqc */
2657   {
2658     { 0, 0, 0, 0 },
2659     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2660     & ifmt_cpmov_C3, { 0xf0078826 }
2661   },
2662 /* cpextlu.b $croc,$crqc */
2663   {
2664     { 0, 0, 0, 0 },
2665     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2666     & ifmt_cpmov_C3, { 0xf0078828 }
2667   },
2668 /* cpextl.b $croc,$crqc */
2669   {
2670     { 0, 0, 0, 0 },
2671     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2672     & ifmt_cpmov_C3, { 0xf007882a }
2673   },
2674 /* cpextlu.h $croc,$crqc */
2675   {
2676     { 0, 0, 0, 0 },
2677     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2678     & ifmt_cpmov_C3, { 0xf007882c }
2679   },
2680 /* cpextl.h $croc,$crqc */
2681   {
2682     { 0, 0, 0, 0 },
2683     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2684     & ifmt_cpmov_C3, { 0xf007882e }
2685   },
2686 /* cpcastub.h $croc,$crqc */
2687   {
2688     { 0, 0, 0, 0 },
2689     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2690     & ifmt_cpmov_C3, { 0xf0078830 }
2691   },
2692 /* cpcastb.h $croc,$crqc */
2693   {
2694     { 0, 0, 0, 0 },
2695     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2696     & ifmt_cpmov_C3, { 0xf0078832 }
2697   },
2698 /* cpcastub.w $croc,$crqc */
2699   {
2700     { 0, 0, 0, 0 },
2701     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2702     & ifmt_cpmov_C3, { 0xf0078838 }
2703   },
2704 /* cpcastb.w $croc,$crqc */
2705   {
2706     { 0, 0, 0, 0 },
2707     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2708     & ifmt_cpmov_C3, { 0xf007883a }
2709   },
2710 /* cpcastuh.w $croc,$crqc */
2711   {
2712     { 0, 0, 0, 0 },
2713     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2714     & ifmt_cpmov_C3, { 0xf007883c }
2715   },
2716 /* cpcasth.w $croc,$crqc */
2717   {
2718     { 0, 0, 0, 0 },
2719     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2720     & ifmt_cpmov_C3, { 0xf007883e }
2721   },
2722 /* cdcastuw $croc,$crqc */
2723   {
2724     { 0, 0, 0, 0 },
2725     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2726     & ifmt_cpmov_C3, { 0xf0078834 }
2727   },
2728 /* cdcastw $croc,$crqc */
2729   {
2730     { 0, 0, 0, 0 },
2731     { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } },
2732     & ifmt_cpmov_C3, { 0xf0078836 }
2733   },
2734 /* cpcmpeqz.b $crqc,$crpc */
2735   {
2736     { 0, 0, 0, 0 },
2737     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2738     & ifmt_cpcmpeqz_b_C3, { 0xf0079000 }
2739   },
2740 /* cpcmpeq.b $crqc,$crpc */
2741   {
2742     { 0, 0, 0, 0 },
2743     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2744     & ifmt_cpcmpeqz_b_C3, { 0xf0179000 }
2745   },
2746 /* cpcmpeq.h $crqc,$crpc */
2747   {
2748     { 0, 0, 0, 0 },
2749     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2750     & ifmt_cpcmpeqz_b_C3, { 0xf0379000 }
2751   },
2752 /* cpcmpeq.w $crqc,$crpc */
2753   {
2754     { 0, 0, 0, 0 },
2755     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2756     & ifmt_cpcmpeqz_b_C3, { 0xf0579000 }
2757   },
2758 /* cpcmpne.b $crqc,$crpc */
2759   {
2760     { 0, 0, 0, 0 },
2761     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2762     & ifmt_cpcmpeqz_b_C3, { 0xf0979000 }
2763   },
2764 /* cpcmpne.h $crqc,$crpc */
2765   {
2766     { 0, 0, 0, 0 },
2767     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2768     & ifmt_cpcmpeqz_b_C3, { 0xf0b79000 }
2769   },
2770 /* cpcmpne.w $crqc,$crpc */
2771   {
2772     { 0, 0, 0, 0 },
2773     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2774     & ifmt_cpcmpeqz_b_C3, { 0xf0d79000 }
2775   },
2776 /* cpcmpgtu.b $crqc,$crpc */
2777   {
2778     { 0, 0, 0, 0 },
2779     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2780     & ifmt_cpcmpeqz_b_C3, { 0xf1079000 }
2781   },
2782 /* cpcmpgt.b $crqc,$crpc */
2783   {
2784     { 0, 0, 0, 0 },
2785     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2786     & ifmt_cpcmpeqz_b_C3, { 0xf1179000 }
2787   },
2788 /* cpcmpgt.h $crqc,$crpc */
2789   {
2790     { 0, 0, 0, 0 },
2791     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2792     & ifmt_cpcmpeqz_b_C3, { 0xf1379000 }
2793   },
2794 /* cpcmpgtu.w $crqc,$crpc */
2795   {
2796     { 0, 0, 0, 0 },
2797     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2798     & ifmt_cpcmpeqz_b_C3, { 0xf1479000 }
2799   },
2800 /* cpcmpgt.w $crqc,$crpc */
2801   {
2802     { 0, 0, 0, 0 },
2803     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2804     & ifmt_cpcmpeqz_b_C3, { 0xf1579000 }
2805   },
2806 /* cpcmpgeu.b $crqc,$crpc */
2807   {
2808     { 0, 0, 0, 0 },
2809     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2810     & ifmt_cpcmpeqz_b_C3, { 0xf1879000 }
2811   },
2812 /* cpcmpge.b $crqc,$crpc */
2813   {
2814     { 0, 0, 0, 0 },
2815     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2816     & ifmt_cpcmpeqz_b_C3, { 0xf1979000 }
2817   },
2818 /* cpcmpge.h $crqc,$crpc */
2819   {
2820     { 0, 0, 0, 0 },
2821     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2822     & ifmt_cpcmpeqz_b_C3, { 0xf1b79000 }
2823   },
2824 /* cpcmpgeu.w $crqc,$crpc */
2825   {
2826     { 0, 0, 0, 0 },
2827     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2828     & ifmt_cpcmpeqz_b_C3, { 0xf1c79000 }
2829   },
2830 /* cpcmpge.w $crqc,$crpc */
2831   {
2832     { 0, 0, 0, 0 },
2833     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2834     & ifmt_cpcmpeqz_b_C3, { 0xf1d79000 }
2835   },
2836 /* cpacmpeq.b $crqc,$crpc */
2837   {
2838     { 0, 0, 0, 0 },
2839     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2840     & ifmt_cpcmpeqz_b_C3, { 0xf2179000 }
2841   },
2842 /* cpacmpeq.h $crqc,$crpc */
2843   {
2844     { 0, 0, 0, 0 },
2845     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2846     & ifmt_cpcmpeqz_b_C3, { 0xf2379000 }
2847   },
2848 /* cpacmpeq.w $crqc,$crpc */
2849   {
2850     { 0, 0, 0, 0 },
2851     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2852     & ifmt_cpcmpeqz_b_C3, { 0xf2579000 }
2853   },
2854 /* cpacmpne.b $crqc,$crpc */
2855   {
2856     { 0, 0, 0, 0 },
2857     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2858     & ifmt_cpcmpeqz_b_C3, { 0xf2979000 }
2859   },
2860 /* cpacmpne.h $crqc,$crpc */
2861   {
2862     { 0, 0, 0, 0 },
2863     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2864     & ifmt_cpcmpeqz_b_C3, { 0xf2b79000 }
2865   },
2866 /* cpacmpne.w $crqc,$crpc */
2867   {
2868     { 0, 0, 0, 0 },
2869     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2870     & ifmt_cpcmpeqz_b_C3, { 0xf2d79000 }
2871   },
2872 /* cpacmpgtu.b $crqc,$crpc */
2873   {
2874     { 0, 0, 0, 0 },
2875     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2876     & ifmt_cpcmpeqz_b_C3, { 0xf3079000 }
2877   },
2878 /* cpacmpgt.b $crqc,$crpc */
2879   {
2880     { 0, 0, 0, 0 },
2881     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2882     & ifmt_cpcmpeqz_b_C3, { 0xf3179000 }
2883   },
2884 /* cpacmpgt.h $crqc,$crpc */
2885   {
2886     { 0, 0, 0, 0 },
2887     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2888     & ifmt_cpcmpeqz_b_C3, { 0xf3379000 }
2889   },
2890 /* cpacmpgtu.w $crqc,$crpc */
2891   {
2892     { 0, 0, 0, 0 },
2893     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2894     & ifmt_cpcmpeqz_b_C3, { 0xf3479000 }
2895   },
2896 /* cpacmpgt.w $crqc,$crpc */
2897   {
2898     { 0, 0, 0, 0 },
2899     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2900     & ifmt_cpcmpeqz_b_C3, { 0xf3579000 }
2901   },
2902 /* cpacmpgeu.b $crqc,$crpc */
2903   {
2904     { 0, 0, 0, 0 },
2905     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2906     & ifmt_cpcmpeqz_b_C3, { 0xf3879000 }
2907   },
2908 /* cpacmpge.b $crqc,$crpc */
2909   {
2910     { 0, 0, 0, 0 },
2911     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2912     & ifmt_cpcmpeqz_b_C3, { 0xf3979000 }
2913   },
2914 /* cpacmpge.h $crqc,$crpc */
2915   {
2916     { 0, 0, 0, 0 },
2917     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2918     & ifmt_cpcmpeqz_b_C3, { 0xf3b79000 }
2919   },
2920 /* cpacmpgeu.w $crqc,$crpc */
2921   {
2922     { 0, 0, 0, 0 },
2923     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2924     & ifmt_cpcmpeqz_b_C3, { 0xf3c79000 }
2925   },
2926 /* cpacmpge.w $crqc,$crpc */
2927   {
2928     { 0, 0, 0, 0 },
2929     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2930     & ifmt_cpcmpeqz_b_C3, { 0xf3d79000 }
2931   },
2932 /* cpocmpeq.b $crqc,$crpc */
2933   {
2934     { 0, 0, 0, 0 },
2935     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2936     & ifmt_cpcmpeqz_b_C3, { 0xf4179000 }
2937   },
2938 /* cpocmpeq.h $crqc,$crpc */
2939   {
2940     { 0, 0, 0, 0 },
2941     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2942     & ifmt_cpcmpeqz_b_C3, { 0xf4379000 }
2943   },
2944 /* cpocmpeq.w $crqc,$crpc */
2945   {
2946     { 0, 0, 0, 0 },
2947     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2948     & ifmt_cpcmpeqz_b_C3, { 0xf4579000 }
2949   },
2950 /* cpocmpne.b $crqc,$crpc */
2951   {
2952     { 0, 0, 0, 0 },
2953     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2954     & ifmt_cpcmpeqz_b_C3, { 0xf4979000 }
2955   },
2956 /* cpocmpne.h $crqc,$crpc */
2957   {
2958     { 0, 0, 0, 0 },
2959     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2960     & ifmt_cpcmpeqz_b_C3, { 0xf4b79000 }
2961   },
2962 /* cpocmpne.w $crqc,$crpc */
2963   {
2964     { 0, 0, 0, 0 },
2965     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2966     & ifmt_cpcmpeqz_b_C3, { 0xf4d79000 }
2967   },
2968 /* cpocmpgtu.b $crqc,$crpc */
2969   {
2970     { 0, 0, 0, 0 },
2971     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2972     & ifmt_cpcmpeqz_b_C3, { 0xf5079000 }
2973   },
2974 /* cpocmpgt.b $crqc,$crpc */
2975   {
2976     { 0, 0, 0, 0 },
2977     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2978     & ifmt_cpcmpeqz_b_C3, { 0xf5179000 }
2979   },
2980 /* cpocmpgt.h $crqc,$crpc */
2981   {
2982     { 0, 0, 0, 0 },
2983     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2984     & ifmt_cpcmpeqz_b_C3, { 0xf5379000 }
2985   },
2986 /* cpocmpgtu.w $crqc,$crpc */
2987   {
2988     { 0, 0, 0, 0 },
2989     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2990     & ifmt_cpcmpeqz_b_C3, { 0xf5479000 }
2991   },
2992 /* cpocmpgt.w $crqc,$crpc */
2993   {
2994     { 0, 0, 0, 0 },
2995     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
2996     & ifmt_cpcmpeqz_b_C3, { 0xf5579000 }
2997   },
2998 /* cpocmpgeu.b $crqc,$crpc */
2999   {
3000     { 0, 0, 0, 0 },
3001     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3002     & ifmt_cpcmpeqz_b_C3, { 0xf5879000 }
3003   },
3004 /* cpocmpge.b $crqc,$crpc */
3005   {
3006     { 0, 0, 0, 0 },
3007     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3008     & ifmt_cpcmpeqz_b_C3, { 0xf5979000 }
3009   },
3010 /* cpocmpge.h $crqc,$crpc */
3011   {
3012     { 0, 0, 0, 0 },
3013     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3014     & ifmt_cpcmpeqz_b_C3, { 0xf5b79000 }
3015   },
3016 /* cpocmpgeu.w $crqc,$crpc */
3017   {
3018     { 0, 0, 0, 0 },
3019     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3020     & ifmt_cpcmpeqz_b_C3, { 0xf5c79000 }
3021   },
3022 /* cpocmpge.w $crqc,$crpc */
3023   {
3024     { 0, 0, 0, 0 },
3025     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3026     & ifmt_cpcmpeqz_b_C3, { 0xf5d79000 }
3027   },
3028 /* cpsrli3.b $crqc,$crpc,$imm3p9 */
3029   {
3030     { 0, 0, 0, 0 },
3031     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM3P9), 0 } },
3032     & ifmt_cpsrli3_b_C3, { 0xf007a000 }
3033   },
3034 /* cpsrli3.h $crqc,$crpc,$imm4p8 */
3035   {
3036     { 0, 0, 0, 0 },
3037     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM4P8), 0 } },
3038     & ifmt_cpsrli3_h_C3, { 0xf407a000 }
3039   },
3040 /* cpsrli3.w $crqc,$crpc,$imm5p7 */
3041   {
3042     { 0, 0, 0, 0 },
3043     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM5P7), 0 } },
3044     & ifmt_cpsrli3_w_C3, { 0xf807a000 }
3045   },
3046 /* cdsrli3 $crqc,$crpc,$imm6p6 */
3047   {
3048     { 0, 0, 0, 0 },
3049     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM6P6), 0 } },
3050     & ifmt_cdsrli3_C3, { 0xfc07a000 }
3051   },
3052 /* cpsrai3.b $crqc,$crpc,$imm3p9 */
3053   {
3054     { 0, 0, 0, 0 },
3055     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM3P9), 0 } },
3056     & ifmt_cpsrli3_b_C3, { 0xf007a800 }
3057   },
3058 /* cpsrai3.h $crqc,$crpc,$imm4p8 */
3059   {
3060     { 0, 0, 0, 0 },
3061     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM4P8), 0 } },
3062     & ifmt_cpsrli3_h_C3, { 0xf407a800 }
3063   },
3064 /* cpsrai3.w $crqc,$crpc,$imm5p7 */
3065   {
3066     { 0, 0, 0, 0 },
3067     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM5P7), 0 } },
3068     & ifmt_cpsrli3_w_C3, { 0xf807a800 }
3069   },
3070 /* cdsrai3 $crqc,$crpc,$imm6p6 */
3071   {
3072     { 0, 0, 0, 0 },
3073     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM6P6), 0 } },
3074     & ifmt_cdsrli3_C3, { 0xfc07a800 }
3075   },
3076 /* cpslli3.b $crqc,$crpc,$imm3p9 */
3077   {
3078     { 0, 0, 0, 0 },
3079     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM3P9), 0 } },
3080     & ifmt_cpsrli3_b_C3, { 0xf007b000 }
3081   },
3082 /* cpslli3.h $crqc,$crpc,$imm4p8 */
3083   {
3084     { 0, 0, 0, 0 },
3085     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM4P8), 0 } },
3086     & ifmt_cpsrli3_h_C3, { 0xf407b000 }
3087   },
3088 /* cpslli3.w $crqc,$crpc,$imm5p7 */
3089   {
3090     { 0, 0, 0, 0 },
3091     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM5P7), 0 } },
3092     & ifmt_cpsrli3_w_C3, { 0xf807b000 }
3093   },
3094 /* cdslli3 $crqc,$crpc,$imm6p6 */
3095   {
3096     { 0, 0, 0, 0 },
3097     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM6P6), 0 } },
3098     & ifmt_cdsrli3_C3, { 0xfc07b000 }
3099   },
3100 /* cpslai3.h $crqc,$crpc,$imm4p8 */
3101   {
3102     { 0, 0, 0, 0 },
3103     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM4P8), 0 } },
3104     & ifmt_cpsrli3_h_C3, { 0xf407b800 }
3105   },
3106 /* cpslai3.w $crqc,$crpc,$imm5p7 */
3107   {
3108     { 0, 0, 0, 0 },
3109     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM5P7), 0 } },
3110     & ifmt_cpsrli3_w_C3, { 0xf807b800 }
3111   },
3112 /* cpclipiu3.w $crqc,$crpc,$imm5p7 */
3113   {
3114     { 0, 0, 0, 0 },
3115     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM5P7), 0 } },
3116     & ifmt_cpsrli3_w_C3, { 0xf007c000 }
3117   },
3118 /* cpclipi3.w $crqc,$crpc,$imm5p7 */
3119   {
3120     { 0, 0, 0, 0 },
3121     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM5P7), 0 } },
3122     & ifmt_cpsrli3_w_C3, { 0xf407c000 }
3123   },
3124 /* cdclipiu3 $crqc,$crpc,$imm6p6 */
3125   {
3126     { 0, 0, 0, 0 },
3127     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM6P6), 0 } },
3128     & ifmt_cdsrli3_C3, { 0xf807c000 }
3129   },
3130 /* cdclipi3 $crqc,$crpc,$imm6p6 */
3131   {
3132     { 0, 0, 0, 0 },
3133     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM6P6), 0 } },
3134     & ifmt_cdsrli3_C3, { 0xfc07c000 }
3135   },
3136 /* cpmovi.b $crqc,$simm8p4 */
3137   {
3138     { 0, 0, 0, 0 },
3139     { { MNEM, ' ', OP (CRQC), ',', OP (SIMM8P4), 0 } },
3140     & ifmt_cpmovi_b_C3, { 0xf007c800 }
3141   },
3142 /* cpmoviu.h $crqc,$imm8p4 */
3143   {
3144     { 0, 0, 0, 0 },
3145     { { MNEM, ' ', OP (CRQC), ',', OP (IMM8P4), 0 } },
3146     & ifmt_cpmoviu_h_C3, { 0xf007c804 }
3147   },
3148 /* cpmovi.h $crqc,$simm8p4 */
3149   {
3150     { 0, 0, 0, 0 },
3151     { { MNEM, ' ', OP (CRQC), ',', OP (SIMM8P4), 0 } },
3152     & ifmt_cpmovi_b_C3, { 0xf007c806 }
3153   },
3154 /* cpmoviu.w $crqc,$imm8p4 */
3155   {
3156     { 0, 0, 0, 0 },
3157     { { MNEM, ' ', OP (CRQC), ',', OP (IMM8P4), 0 } },
3158     & ifmt_cpmoviu_h_C3, { 0xf007c808 }
3159   },
3160 /* cpmovi.w $crqc,$simm8p4 */
3161   {
3162     { 0, 0, 0, 0 },
3163     { { MNEM, ' ', OP (CRQC), ',', OP (SIMM8P4), 0 } },
3164     & ifmt_cpmovi_b_C3, { 0xf007c80a }
3165   },
3166 /* cdmoviu $crqc,$imm8p4 */
3167   {
3168     { 0, 0, 0, 0 },
3169     { { MNEM, ' ', OP (CRQC), ',', OP (IMM8P4), 0 } },
3170     & ifmt_cpmoviu_h_C3, { 0xf007c80c }
3171   },
3172 /* cdmovi $crqc,$simm8p4 */
3173   {
3174     { 0, 0, 0, 0 },
3175     { { MNEM, ' ', OP (CRQC), ',', OP (SIMM8P4), 0 } },
3176     & ifmt_cpmovi_b_C3, { 0xf007c80e }
3177   },
3178 /* cpadda1u.b $crqc,$crpc */
3179   {
3180     { 0, 0, 0, 0 },
3181     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3182     & ifmt_cpcmpeqz_b_C3, { 0xf0070001 }
3183   },
3184 /* cpadda1.b $crqc,$crpc */
3185   {
3186     { 0, 0, 0, 0 },
3187     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3188     & ifmt_cpcmpeqz_b_C3, { 0xf0170001 }
3189   },
3190 /* cpaddua1.h $crqc,$crpc */
3191   {
3192     { 0, 0, 0, 0 },
3193     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3194     & ifmt_cpcmpeqz_b_C3, { 0xf0270001 }
3195   },
3196 /* cpaddla1.h $crqc,$crpc */
3197   {
3198     { 0, 0, 0, 0 },
3199     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3200     & ifmt_cpcmpeqz_b_C3, { 0xf0370001 }
3201   },
3202 /* cpaddaca1u.b $crqc,$crpc */
3203   {
3204     { 0, 0, 0, 0 },
3205     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3206     & ifmt_cpcmpeqz_b_C3, { 0xf0470001 }
3207   },
3208 /* cpaddaca1.b $crqc,$crpc */
3209   {
3210     { 0, 0, 0, 0 },
3211     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3212     & ifmt_cpcmpeqz_b_C3, { 0xf0570001 }
3213   },
3214 /* cpaddacua1.h $crqc,$crpc */
3215   {
3216     { 0, 0, 0, 0 },
3217     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3218     & ifmt_cpcmpeqz_b_C3, { 0xf0670001 }
3219   },
3220 /* cpaddacla1.h $crqc,$crpc */
3221   {
3222     { 0, 0, 0, 0 },
3223     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3224     & ifmt_cpcmpeqz_b_C3, { 0xf0770001 }
3225   },
3226 /* cpsuba1u.b $crqc,$crpc */
3227   {
3228     { 0, 0, 0, 0 },
3229     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3230     & ifmt_cpcmpeqz_b_C3, { 0xf0870001 }
3231   },
3232 /* cpsuba1.b $crqc,$crpc */
3233   {
3234     { 0, 0, 0, 0 },
3235     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3236     & ifmt_cpcmpeqz_b_C3, { 0xf0970001 }
3237   },
3238 /* cpsubua1.h $crqc,$crpc */
3239   {
3240     { 0, 0, 0, 0 },
3241     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3242     & ifmt_cpcmpeqz_b_C3, { 0xf0a70001 }
3243   },
3244 /* cpsubla1.h $crqc,$crpc */
3245   {
3246     { 0, 0, 0, 0 },
3247     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3248     & ifmt_cpcmpeqz_b_C3, { 0xf0b70001 }
3249   },
3250 /* cpsubaca1u.b $crqc,$crpc */
3251   {
3252     { 0, 0, 0, 0 },
3253     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3254     & ifmt_cpcmpeqz_b_C3, { 0xf0c70001 }
3255   },
3256 /* cpsubaca1.b $crqc,$crpc */
3257   {
3258     { 0, 0, 0, 0 },
3259     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3260     & ifmt_cpcmpeqz_b_C3, { 0xf0d70001 }
3261   },
3262 /* cpsubacua1.h $crqc,$crpc */
3263   {
3264     { 0, 0, 0, 0 },
3265     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3266     & ifmt_cpcmpeqz_b_C3, { 0xf0e70001 }
3267   },
3268 /* cpsubacla1.h $crqc,$crpc */
3269   {
3270     { 0, 0, 0, 0 },
3271     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3272     & ifmt_cpcmpeqz_b_C3, { 0xf0f70001 }
3273   },
3274 /* cpabsa1u.b $crqc,$crpc */
3275   {
3276     { 0, 0, 0, 0 },
3277     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3278     & ifmt_cpcmpeqz_b_C3, { 0xf1070001 }
3279   },
3280 /* cpabsa1.b $crqc,$crpc */
3281   {
3282     { 0, 0, 0, 0 },
3283     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3284     & ifmt_cpcmpeqz_b_C3, { 0xf1170001 }
3285   },
3286 /* cpabsua1.h $crqc,$crpc */
3287   {
3288     { 0, 0, 0, 0 },
3289     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3290     & ifmt_cpcmpeqz_b_C3, { 0xf1270001 }
3291   },
3292 /* cpabsla1.h $crqc,$crpc */
3293   {
3294     { 0, 0, 0, 0 },
3295     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3296     & ifmt_cpcmpeqz_b_C3, { 0xf1370001 }
3297   },
3298 /* cpsada1u.b $crqc,$crpc */
3299   {
3300     { 0, 0, 0, 0 },
3301     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3302     & ifmt_cpcmpeqz_b_C3, { 0xf1470001 }
3303   },
3304 /* cpsada1.b $crqc,$crpc */
3305   {
3306     { 0, 0, 0, 0 },
3307     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3308     & ifmt_cpcmpeqz_b_C3, { 0xf1570001 }
3309   },
3310 /* cpsadua1.h $crqc,$crpc */
3311   {
3312     { 0, 0, 0, 0 },
3313     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3314     & ifmt_cpcmpeqz_b_C3, { 0xf1670001 }
3315   },
3316 /* cpsadla1.h $crqc,$crpc */
3317   {
3318     { 0, 0, 0, 0 },
3319     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3320     & ifmt_cpcmpeqz_b_C3, { 0xf1770001 }
3321   },
3322 /* cpseta1.h $crqc,$crpc */
3323   {
3324     { 0, 0, 0, 0 },
3325     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3326     & ifmt_cpcmpeqz_b_C3, { 0xf2070001 }
3327   },
3328 /* cpsetua1.w $crqc,$crpc */
3329   {
3330     { 0, 0, 0, 0 },
3331     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3332     & ifmt_cpcmpeqz_b_C3, { 0xf2270001 }
3333   },
3334 /* cpsetla1.w $crqc,$crpc */
3335   {
3336     { 0, 0, 0, 0 },
3337     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3338     & ifmt_cpcmpeqz_b_C3, { 0xf2370001 }
3339   },
3340 /* cpmova1.b $croc */
3341   {
3342     { 0, 0, 0, 0 },
3343     { { MNEM, ' ', OP (CROC), 0 } },
3344     & ifmt_cpmovfrcsar0_C3, { 0xf0072001 }
3345   },
3346 /* cpmovua1.h $croc */
3347   {
3348     { 0, 0, 0, 0 },
3349     { { MNEM, ' ', OP (CROC), 0 } },
3350     & ifmt_cpmovfrcsar0_C3, { 0xf0072005 }
3351   },
3352 /* cpmovla1.h $croc */
3353   {
3354     { 0, 0, 0, 0 },
3355     { { MNEM, ' ', OP (CROC), 0 } },
3356     & ifmt_cpmovfrcsar0_C3, { 0xf0072007 }
3357   },
3358 /* cpmovuua1.w $croc */
3359   {
3360     { 0, 0, 0, 0 },
3361     { { MNEM, ' ', OP (CROC), 0 } },
3362     & ifmt_cpmovfrcsar0_C3, { 0xf0072009 }
3363   },
3364 /* cpmovula1.w $croc */
3365   {
3366     { 0, 0, 0, 0 },
3367     { { MNEM, ' ', OP (CROC), 0 } },
3368     & ifmt_cpmovfrcsar0_C3, { 0xf007200b }
3369   },
3370 /* cpmovlua1.w $croc */
3371   {
3372     { 0, 0, 0, 0 },
3373     { { MNEM, ' ', OP (CROC), 0 } },
3374     & ifmt_cpmovfrcsar0_C3, { 0xf007200d }
3375   },
3376 /* cpmovlla1.w $croc */
3377   {
3378     { 0, 0, 0, 0 },
3379     { { MNEM, ' ', OP (CROC), 0 } },
3380     & ifmt_cpmovfrcsar0_C3, { 0xf007200f }
3381   },
3382 /* cppacka1u.b $croc */
3383   {
3384     { 0, 0, 0, 0 },
3385     { { MNEM, ' ', OP (CROC), 0 } },
3386     & ifmt_cpmovfrcsar0_C3, { 0xf0072021 }
3387   },
3388 /* cppacka1.b $croc */
3389   {
3390     { 0, 0, 0, 0 },
3391     { { MNEM, ' ', OP (CROC), 0 } },
3392     & ifmt_cpmovfrcsar0_C3, { 0xf0072023 }
3393   },
3394 /* cppackua1.h $croc */
3395   {
3396     { 0, 0, 0, 0 },
3397     { { MNEM, ' ', OP (CROC), 0 } },
3398     & ifmt_cpmovfrcsar0_C3, { 0xf0072025 }
3399   },
3400 /* cppackla1.h $croc */
3401   {
3402     { 0, 0, 0, 0 },
3403     { { MNEM, ' ', OP (CROC), 0 } },
3404     & ifmt_cpmovfrcsar0_C3, { 0xf0072027 }
3405   },
3406 /* cppackua1.w $croc */
3407   {
3408     { 0, 0, 0, 0 },
3409     { { MNEM, ' ', OP (CROC), 0 } },
3410     & ifmt_cpmovfrcsar0_C3, { 0xf0072029 }
3411   },
3412 /* cppackla1.w $croc */
3413   {
3414     { 0, 0, 0, 0 },
3415     { { MNEM, ' ', OP (CROC), 0 } },
3416     & ifmt_cpmovfrcsar0_C3, { 0xf007202b }
3417   },
3418 /* cpmovhua1.w $croc */
3419   {
3420     { 0, 0, 0, 0 },
3421     { { MNEM, ' ', OP (CROC), 0 } },
3422     & ifmt_cpmovfrcsar0_C3, { 0xf007202d }
3423   },
3424 /* cpmovhla1.w $croc */
3425   {
3426     { 0, 0, 0, 0 },
3427     { { MNEM, ' ', OP (CROC), 0 } },
3428     & ifmt_cpmovfrcsar0_C3, { 0xf007202f }
3429   },
3430 /* cpsrla1 $crqc */
3431   {
3432     { 0, 0, 0, 0 },
3433     { { MNEM, ' ', OP (CRQC), 0 } },
3434     & ifmt_cpmovtocsar0_C3, { 0xf0071001 }
3435   },
3436 /* cpsraa1 $crqc */
3437   {
3438     { 0, 0, 0, 0 },
3439     { { MNEM, ' ', OP (CRQC), 0 } },
3440     & ifmt_cpmovtocsar0_C3, { 0xf0171001 }
3441   },
3442 /* cpslla1 $crqc */
3443   {
3444     { 0, 0, 0, 0 },
3445     { { MNEM, ' ', OP (CRQC), 0 } },
3446     & ifmt_cpmovtocsar0_C3, { 0xf0271001 }
3447   },
3448 /* cpsrlia1 $imm5p7 */
3449   {
3450     { 0, 0, 0, 0 },
3451     { { MNEM, ' ', OP (IMM5P7), 0 } },
3452     & ifmt_cpsrlia1_P1, { 0xf0071801 }
3453   },
3454 /* cpsraia1 $imm5p7 */
3455   {
3456     { 0, 0, 0, 0 },
3457     { { MNEM, ' ', OP (IMM5P7), 0 } },
3458     & ifmt_cpsrlia1_P1, { 0xf4071801 }
3459   },
3460 /* cpsllia1 $imm5p7 */
3461   {
3462     { 0, 0, 0, 0 },
3463     { { MNEM, ' ', OP (IMM5P7), 0 } },
3464     & ifmt_cpsrlia1_P1, { 0xf8071801 }
3465   },
3466 /* cpssqa1u.b $crqc,$crpc */
3467   {
3468     { 0, 0, 0, 0 },
3469     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3470     & ifmt_cpcmpeqz_b_C3, { 0xf0070801 }
3471   },
3472 /* cpssqa1.b $crqc,$crpc */
3473   {
3474     { 0, 0, 0, 0 },
3475     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3476     & ifmt_cpcmpeqz_b_C3, { 0xf0170801 }
3477   },
3478 /* cpssda1u.b $crqc,$crpc */
3479   {
3480     { 0, 0, 0, 0 },
3481     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3482     & ifmt_cpcmpeqz_b_C3, { 0xf0470801 }
3483   },
3484 /* cpssda1.b $crqc,$crpc */
3485   {
3486     { 0, 0, 0, 0 },
3487     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3488     & ifmt_cpcmpeqz_b_C3, { 0xf0570801 }
3489   },
3490 /* cpmula1u.b $crqc,$crpc */
3491   {
3492     { 0, 0, 0, 0 },
3493     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3494     & ifmt_cpcmpeqz_b_C3, { 0xf0870801 }
3495   },
3496 /* cpmula1.b $crqc,$crpc */
3497   {
3498     { 0, 0, 0, 0 },
3499     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3500     & ifmt_cpcmpeqz_b_C3, { 0xf0970801 }
3501   },
3502 /* cpmulua1.h $crqc,$crpc */
3503   {
3504     { 0, 0, 0, 0 },
3505     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3506     & ifmt_cpcmpeqz_b_C3, { 0xf0a70801 }
3507   },
3508 /* cpmulla1.h $crqc,$crpc */
3509   {
3510     { 0, 0, 0, 0 },
3511     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3512     & ifmt_cpcmpeqz_b_C3, { 0xf0b70801 }
3513   },
3514 /* cpmulua1u.w $crqc,$crpc */
3515   {
3516     { 0, 0, 0, 0 },
3517     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3518     & ifmt_cpcmpeqz_b_C3, { 0xf0c70801 }
3519   },
3520 /* cpmulla1u.w $crqc,$crpc */
3521   {
3522     { 0, 0, 0, 0 },
3523     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3524     & ifmt_cpcmpeqz_b_C3, { 0xf0d70801 }
3525   },
3526 /* cpmulua1.w $crqc,$crpc */
3527   {
3528     { 0, 0, 0, 0 },
3529     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3530     & ifmt_cpcmpeqz_b_C3, { 0xf0e70801 }
3531   },
3532 /* cpmulla1.w $crqc,$crpc */
3533   {
3534     { 0, 0, 0, 0 },
3535     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3536     & ifmt_cpcmpeqz_b_C3, { 0xf0f70801 }
3537   },
3538 /* cpmada1u.b $crqc,$crpc */
3539   {
3540     { 0, 0, 0, 0 },
3541     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3542     & ifmt_cpcmpeqz_b_C3, { 0xf1070801 }
3543   },
3544 /* cpmada1.b $crqc,$crpc */
3545   {
3546     { 0, 0, 0, 0 },
3547     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3548     & ifmt_cpcmpeqz_b_C3, { 0xf1170801 }
3549   },
3550 /* cpmadua1.h $crqc,$crpc */
3551   {
3552     { 0, 0, 0, 0 },
3553     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3554     & ifmt_cpcmpeqz_b_C3, { 0xf1270801 }
3555   },
3556 /* cpmadla1.h $crqc,$crpc */
3557   {
3558     { 0, 0, 0, 0 },
3559     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3560     & ifmt_cpcmpeqz_b_C3, { 0xf1370801 }
3561   },
3562 /* cpmadua1u.w $crqc,$crpc */
3563   {
3564     { 0, 0, 0, 0 },
3565     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3566     & ifmt_cpcmpeqz_b_C3, { 0xf1470801 }
3567   },
3568 /* cpmadla1u.w $crqc,$crpc */
3569   {
3570     { 0, 0, 0, 0 },
3571     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3572     & ifmt_cpcmpeqz_b_C3, { 0xf1570801 }
3573   },
3574 /* cpmadua1.w $crqc,$crpc */
3575   {
3576     { 0, 0, 0, 0 },
3577     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3578     & ifmt_cpcmpeqz_b_C3, { 0xf1670801 }
3579   },
3580 /* cpmadla1.w $crqc,$crpc */
3581   {
3582     { 0, 0, 0, 0 },
3583     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3584     & ifmt_cpcmpeqz_b_C3, { 0xf1770801 }
3585   },
3586 /* cpmsbua1.h $crqc,$crpc */
3587   {
3588     { 0, 0, 0, 0 },
3589     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3590     & ifmt_cpcmpeqz_b_C3, { 0xf1a70801 }
3591   },
3592 /* cpmsbla1.h $crqc,$crpc */
3593   {
3594     { 0, 0, 0, 0 },
3595     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3596     & ifmt_cpcmpeqz_b_C3, { 0xf1b70801 }
3597   },
3598 /* cpmsbua1u.w $crqc,$crpc */
3599   {
3600     { 0, 0, 0, 0 },
3601     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3602     & ifmt_cpcmpeqz_b_C3, { 0xf1c70801 }
3603   },
3604 /* cpmsbla1u.w $crqc,$crpc */
3605   {
3606     { 0, 0, 0, 0 },
3607     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3608     & ifmt_cpcmpeqz_b_C3, { 0xf1d70801 }
3609   },
3610 /* cpmsbua1.w $crqc,$crpc */
3611   {
3612     { 0, 0, 0, 0 },
3613     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3614     & ifmt_cpcmpeqz_b_C3, { 0xf1e70801 }
3615   },
3616 /* cpmsbla1.w $crqc,$crpc */
3617   {
3618     { 0, 0, 0, 0 },
3619     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3620     & ifmt_cpcmpeqz_b_C3, { 0xf1f70801 }
3621   },
3622 /* cpsmadua1.h $crqc,$crpc */
3623   {
3624     { 0, 0, 0, 0 },
3625     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3626     & ifmt_cpcmpeqz_b_C3, { 0xf3270801 }
3627   },
3628 /* cpsmadla1.h $crqc,$crpc */
3629   {
3630     { 0, 0, 0, 0 },
3631     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3632     & ifmt_cpcmpeqz_b_C3, { 0xf3370801 }
3633   },
3634 /* cpsmadua1.w $crqc,$crpc */
3635   {
3636     { 0, 0, 0, 0 },
3637     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3638     & ifmt_cpcmpeqz_b_C3, { 0xf3670801 }
3639   },
3640 /* cpsmadla1.w $crqc,$crpc */
3641   {
3642     { 0, 0, 0, 0 },
3643     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3644     & ifmt_cpcmpeqz_b_C3, { 0xf3770801 }
3645   },
3646 /* cpsmsbua1.h $crqc,$crpc */
3647   {
3648     { 0, 0, 0, 0 },
3649     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3650     & ifmt_cpcmpeqz_b_C3, { 0xf3a70801 }
3651   },
3652 /* cpsmsbla1.h $crqc,$crpc */
3653   {
3654     { 0, 0, 0, 0 },
3655     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3656     & ifmt_cpcmpeqz_b_C3, { 0xf3b70801 }
3657   },
3658 /* cpsmsbua1.w $crqc,$crpc */
3659   {
3660     { 0, 0, 0, 0 },
3661     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3662     & ifmt_cpcmpeqz_b_C3, { 0xf3e70801 }
3663   },
3664 /* cpsmsbla1.w $crqc,$crpc */
3665   {
3666     { 0, 0, 0, 0 },
3667     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3668     & ifmt_cpcmpeqz_b_C3, { 0xf3f70801 }
3669   },
3670 /* cpmulslua1.h $crqc,$crpc */
3671   {
3672     { 0, 0, 0, 0 },
3673     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3674     & ifmt_cpcmpeqz_b_C3, { 0xf4a70801 }
3675   },
3676 /* cpmulslla1.h $crqc,$crpc */
3677   {
3678     { 0, 0, 0, 0 },
3679     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3680     & ifmt_cpcmpeqz_b_C3, { 0xf4b70801 }
3681   },
3682 /* cpmulslua1.w $crqc,$crpc */
3683   {
3684     { 0, 0, 0, 0 },
3685     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3686     & ifmt_cpcmpeqz_b_C3, { 0xf4e70801 }
3687   },
3688 /* cpmulslla1.w $crqc,$crpc */
3689   {
3690     { 0, 0, 0, 0 },
3691     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3692     & ifmt_cpcmpeqz_b_C3, { 0xf4f70801 }
3693   },
3694 /* cpsmadslua1.h $crqc,$crpc */
3695   {
3696     { 0, 0, 0, 0 },
3697     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3698     & ifmt_cpcmpeqz_b_C3, { 0xf7270801 }
3699   },
3700 /* cpsmadslla1.h $crqc,$crpc */
3701   {
3702     { 0, 0, 0, 0 },
3703     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3704     & ifmt_cpcmpeqz_b_C3, { 0xf7370801 }
3705   },
3706 /* cpsmadslua1.w $crqc,$crpc */
3707   {
3708     { 0, 0, 0, 0 },
3709     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3710     & ifmt_cpcmpeqz_b_C3, { 0xf7670801 }
3711   },
3712 /* cpsmadslla1.w $crqc,$crpc */
3713   {
3714     { 0, 0, 0, 0 },
3715     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3716     & ifmt_cpcmpeqz_b_C3, { 0xf7770801 }
3717   },
3718 /* cpsmsbslua1.h $crqc,$crpc */
3719   {
3720     { 0, 0, 0, 0 },
3721     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3722     & ifmt_cpcmpeqz_b_C3, { 0xf7a70801 }
3723   },
3724 /* cpsmsbslla1.h $crqc,$crpc */
3725   {
3726     { 0, 0, 0, 0 },
3727     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3728     & ifmt_cpcmpeqz_b_C3, { 0xf7b70801 }
3729   },
3730 /* cpsmsbslua1.w $crqc,$crpc */
3731   {
3732     { 0, 0, 0, 0 },
3733     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3734     & ifmt_cpcmpeqz_b_C3, { 0xf7e70801 }
3735   },
3736 /* cpsmsbslla1.w $crqc,$crpc */
3737   {
3738     { 0, 0, 0, 0 },
3739     { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } },
3740     & ifmt_cpcmpeqz_b_C3, { 0xf7f70801 }
3741   },
3742 /* c0nop */
3743   {
3744     { 0, 0, 0, 0 },
3745     { { MNEM, 0 } },
3746     & ifmt_c0nop_P0_P0S, { 0x0 }
3747   },
3748 /* cpadd3.b $crop,$crqp,$crpp */
3749   {
3750     { 0, 0, 0, 0 },
3751     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
3752     & ifmt_cpadd3_b_P0S_P1, { 0x80000 }
3753   },
3754 /* cpadd3.h $crop,$crqp,$crpp */
3755   {
3756     { 0, 0, 0, 0 },
3757     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
3758     & ifmt_cpadd3_b_P0S_P1, { 0x100000 }
3759   },
3760 /* cpadd3.w $crop,$crqp,$crpp */
3761   {
3762     { 0, 0, 0, 0 },
3763     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
3764     & ifmt_cpadd3_b_P0S_P1, { 0x180000 }
3765   },
3766 /* cpunpacku.b $crop,$crqp,$crpp */
3767   {
3768     { 0, 0, 0, 0 },
3769     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
3770     & ifmt_cpadd3_b_P0S_P1, { 0x280000 }
3771   },
3772 /* cpunpacku.h $crop,$crqp,$crpp */
3773   {
3774     { 0, 0, 0, 0 },
3775     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
3776     & ifmt_cpadd3_b_P0S_P1, { 0x300000 }
3777   },
3778 /* cpunpacku.w $crop,$crqp,$crpp */
3779   {
3780     { 0, 0, 0, 0 },
3781     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
3782     & ifmt_cpadd3_b_P0S_P1, { 0x380000 }
3783   },
3784 /* cpunpackl.b $crop,$crqp,$crpp */
3785   {
3786     { 0, 0, 0, 0 },
3787     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
3788     & ifmt_cpadd3_b_P0S_P1, { 0x480000 }
3789   },
3790 /* cpunpackl.h $crop,$crqp,$crpp */
3791   {
3792     { 0, 0, 0, 0 },
3793     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
3794     & ifmt_cpadd3_b_P0S_P1, { 0x500000 }
3795   },
3796 /* cpunpackl.w $crop,$crqp,$crpp */
3797   {
3798     { 0, 0, 0, 0 },
3799     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
3800     & ifmt_cpadd3_b_P0S_P1, { 0x580000 }
3801   },
3802 /* cpsel $crop,$crqp,$crpp */
3803   {
3804     { 0, 0, 0, 0 },
3805     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
3806     & ifmt_cpadd3_b_P0S_P1, { 0x200000 }
3807   },
3808 /* cpfsftbs0 $crop,$crqp,$crpp */
3809   {
3810     { 0, 0, 0, 0 },
3811     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
3812     & ifmt_cpadd3_b_P0S_P1, { 0x600000 }
3813   },
3814 /* cpfsftbs1 $crop,$crqp,$crpp */
3815   {
3816     { 0, 0, 0, 0 },
3817     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
3818     & ifmt_cpadd3_b_P0S_P1, { 0x680000 }
3819   },
3820 /* cpmov $crop,$crqp */
3821   {
3822     { 0, 0, 0, 0 },
3823     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3824     & ifmt_cpmov_P0S_P1, { 0x800000 }
3825   },
3826 /* cpabsz.b $crop,$crqp */
3827   {
3828     { 0, 0, 0, 0 },
3829     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3830     & ifmt_cpmov_P0S_P1, { 0x800200 }
3831   },
3832 /* cpabsz.h $crop,$crqp */
3833   {
3834     { 0, 0, 0, 0 },
3835     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3836     & ifmt_cpmov_P0S_P1, { 0x800400 }
3837   },
3838 /* cpabsz.w $crop,$crqp */
3839   {
3840     { 0, 0, 0, 0 },
3841     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3842     & ifmt_cpmov_P0S_P1, { 0x800600 }
3843   },
3844 /* cpldz.h $crop,$crqp */
3845   {
3846     { 0, 0, 0, 0 },
3847     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3848     & ifmt_cpmov_P0S_P1, { 0x800800 }
3849   },
3850 /* cpldz.w $crop,$crqp */
3851   {
3852     { 0, 0, 0, 0 },
3853     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3854     & ifmt_cpmov_P0S_P1, { 0x800a00 }
3855   },
3856 /* cpnorm.h $crop,$crqp */
3857   {
3858     { 0, 0, 0, 0 },
3859     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3860     & ifmt_cpmov_P0S_P1, { 0x800c00 }
3861   },
3862 /* cpnorm.w $crop,$crqp */
3863   {
3864     { 0, 0, 0, 0 },
3865     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3866     & ifmt_cpmov_P0S_P1, { 0x800e00 }
3867   },
3868 /* cphaddu.b $crop,$crqp */
3869   {
3870     { 0, 0, 0, 0 },
3871     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3872     & ifmt_cpmov_P0S_P1, { 0x801000 }
3873   },
3874 /* cphadd.b $crop,$crqp */
3875   {
3876     { 0, 0, 0, 0 },
3877     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3878     & ifmt_cpmov_P0S_P1, { 0x801200 }
3879   },
3880 /* cphadd.h $crop,$crqp */
3881   {
3882     { 0, 0, 0, 0 },
3883     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3884     & ifmt_cpmov_P0S_P1, { 0x801400 }
3885   },
3886 /* cphadd.w $crop,$crqp */
3887   {
3888     { 0, 0, 0, 0 },
3889     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3890     & ifmt_cpmov_P0S_P1, { 0x801600 }
3891   },
3892 /* cpccadd.b $crqp */
3893   {
3894     { 0, 0, 0, 0 },
3895     { { MNEM, ' ', OP (CRQP), 0 } },
3896     & ifmt_cpccadd_b_P0S_P1, { 0x801800 }
3897   },
3898 /* cpbcast.b $crop,$crqp */
3899   {
3900     { 0, 0, 0, 0 },
3901     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3902     & ifmt_cpmov_P0S_P1, { 0x801a00 }
3903   },
3904 /* cpbcast.h $crop,$crqp */
3905   {
3906     { 0, 0, 0, 0 },
3907     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3908     & ifmt_cpmov_P0S_P1, { 0x801c00 }
3909   },
3910 /* cpbcast.w $crop,$crqp */
3911   {
3912     { 0, 0, 0, 0 },
3913     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3914     & ifmt_cpmov_P0S_P1, { 0x801e00 }
3915   },
3916 /* cpextuu.b $crop,$crqp */
3917   {
3918     { 0, 0, 0, 0 },
3919     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3920     & ifmt_cpmov_P0S_P1, { 0x802000 }
3921   },
3922 /* cpextu.b $crop,$crqp */
3923   {
3924     { 0, 0, 0, 0 },
3925     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3926     & ifmt_cpmov_P0S_P1, { 0x802200 }
3927   },
3928 /* cpextuu.h $crop,$crqp */
3929   {
3930     { 0, 0, 0, 0 },
3931     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3932     & ifmt_cpmov_P0S_P1, { 0x802400 }
3933   },
3934 /* cpextu.h $crop,$crqp */
3935   {
3936     { 0, 0, 0, 0 },
3937     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3938     & ifmt_cpmov_P0S_P1, { 0x802600 }
3939   },
3940 /* cpextlu.b $crop,$crqp */
3941   {
3942     { 0, 0, 0, 0 },
3943     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3944     & ifmt_cpmov_P0S_P1, { 0x802800 }
3945   },
3946 /* cpextl.b $crop,$crqp */
3947   {
3948     { 0, 0, 0, 0 },
3949     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3950     & ifmt_cpmov_P0S_P1, { 0x802a00 }
3951   },
3952 /* cpextlu.h $crop,$crqp */
3953   {
3954     { 0, 0, 0, 0 },
3955     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3956     & ifmt_cpmov_P0S_P1, { 0x802c00 }
3957   },
3958 /* cpextl.h $crop,$crqp */
3959   {
3960     { 0, 0, 0, 0 },
3961     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3962     & ifmt_cpmov_P0S_P1, { 0x802e00 }
3963   },
3964 /* cpcastub.h $crop,$crqp */
3965   {
3966     { 0, 0, 0, 0 },
3967     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3968     & ifmt_cpmov_P0S_P1, { 0x803000 }
3969   },
3970 /* cpcastb.h $crop,$crqp */
3971   {
3972     { 0, 0, 0, 0 },
3973     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3974     & ifmt_cpmov_P0S_P1, { 0x803200 }
3975   },
3976 /* cpcastub.w $crop,$crqp */
3977   {
3978     { 0, 0, 0, 0 },
3979     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3980     & ifmt_cpmov_P0S_P1, { 0x803800 }
3981   },
3982 /* cpcastb.w $crop,$crqp */
3983   {
3984     { 0, 0, 0, 0 },
3985     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3986     & ifmt_cpmov_P0S_P1, { 0x803a00 }
3987   },
3988 /* cpcastuh.w $crop,$crqp */
3989   {
3990     { 0, 0, 0, 0 },
3991     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3992     & ifmt_cpmov_P0S_P1, { 0x803c00 }
3993   },
3994 /* cpcasth.w $crop,$crqp */
3995   {
3996     { 0, 0, 0, 0 },
3997     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
3998     & ifmt_cpmov_P0S_P1, { 0x803e00 }
3999   },
4000 /* cdcastuw $crop,$crqp */
4001   {
4002     { 0, 0, 0, 0 },
4003     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
4004     & ifmt_cpmov_P0S_P1, { 0x803400 }
4005   },
4006 /* cdcastw $crop,$crqp */
4007   {
4008     { 0, 0, 0, 0 },
4009     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } },
4010     & ifmt_cpmov_P0S_P1, { 0x803600 }
4011   },
4012 /* cpmovfrcsar0 $crop */
4013   {
4014     { 0, 0, 0, 0 },
4015     { { MNEM, ' ', OP (CROP), 0 } },
4016     & ifmt_cpmovfrcsar0_P0S_P1, { 0x880000 }
4017   },
4018 /* cpmovfrcsar1 $crop */
4019   {
4020     { 0, 0, 0, 0 },
4021     { { MNEM, ' ', OP (CROP), 0 } },
4022     & ifmt_cpmovfrcsar0_P0S_P1, { 0x881e00 }
4023   },
4024 /* cpmovfrcc $crop */
4025   {
4026     { 0, 0, 0, 0 },
4027     { { MNEM, ' ', OP (CROP), 0 } },
4028     & ifmt_cpmovfrcsar0_P0S_P1, { 0x880200 }
4029   },
4030 /* cpmovtocsar0 $crqp */
4031   {
4032     { 0, 0, 0, 0 },
4033     { { MNEM, ' ', OP (CRQP), 0 } },
4034     & ifmt_cpccadd_b_P0S_P1, { 0x882000 }
4035   },
4036 /* cpmovtocsar1 $crqp */
4037   {
4038     { 0, 0, 0, 0 },
4039     { { MNEM, ' ', OP (CRQP), 0 } },
4040     & ifmt_cpccadd_b_P0S_P1, { 0x883e00 }
4041   },
4042 /* cpmovtocc $crqp */
4043   {
4044     { 0, 0, 0, 0 },
4045     { { MNEM, ' ', OP (CRQP), 0 } },
4046     & ifmt_cpccadd_b_P0S_P1, { 0x882200 }
4047   },
4048 /* cpcmpeqz.b $crqp,$crpp */
4049   {
4050     { 0, 0, 0, 0 },
4051     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4052     & ifmt_cpcmpeqz_b_P0S_P1, { 0x900000 }
4053   },
4054 /* cpcmpeq.b $crqp,$crpp */
4055   {
4056     { 0, 0, 0, 0 },
4057     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4058     & ifmt_cpcmpeqz_b_P0S_P1, { 0x900010 }
4059   },
4060 /* cpcmpeq.h $crqp,$crpp */
4061   {
4062     { 0, 0, 0, 0 },
4063     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4064     & ifmt_cpcmpeqz_b_P0S_P1, { 0x900030 }
4065   },
4066 /* cpcmpeq.w $crqp,$crpp */
4067   {
4068     { 0, 0, 0, 0 },
4069     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4070     & ifmt_cpcmpeqz_b_P0S_P1, { 0x900050 }
4071   },
4072 /* cpcmpne.b $crqp,$crpp */
4073   {
4074     { 0, 0, 0, 0 },
4075     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4076     & ifmt_cpcmpeqz_b_P0S_P1, { 0x900090 }
4077   },
4078 /* cpcmpne.h $crqp,$crpp */
4079   {
4080     { 0, 0, 0, 0 },
4081     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4082     & ifmt_cpcmpeqz_b_P0S_P1, { 0x9000b0 }
4083   },
4084 /* cpcmpne.w $crqp,$crpp */
4085   {
4086     { 0, 0, 0, 0 },
4087     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4088     & ifmt_cpcmpeqz_b_P0S_P1, { 0x9000d0 }
4089   },
4090 /* cpcmpgtu.b $crqp,$crpp */
4091   {
4092     { 0, 0, 0, 0 },
4093     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4094     & ifmt_cpcmpeqz_b_P0S_P1, { 0x900100 }
4095   },
4096 /* cpcmpgt.b $crqp,$crpp */
4097   {
4098     { 0, 0, 0, 0 },
4099     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4100     & ifmt_cpcmpeqz_b_P0S_P1, { 0x900110 }
4101   },
4102 /* cpcmpgt.h $crqp,$crpp */
4103   {
4104     { 0, 0, 0, 0 },
4105     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4106     & ifmt_cpcmpeqz_b_P0S_P1, { 0x900130 }
4107   },
4108 /* cpcmpgtu.w $crqp,$crpp */
4109   {
4110     { 0, 0, 0, 0 },
4111     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4112     & ifmt_cpcmpeqz_b_P0S_P1, { 0x900140 }
4113   },
4114 /* cpcmpgt.w $crqp,$crpp */
4115   {
4116     { 0, 0, 0, 0 },
4117     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4118     & ifmt_cpcmpeqz_b_P0S_P1, { 0x900150 }
4119   },
4120 /* cpcmpgeu.b $crqp,$crpp */
4121   {
4122     { 0, 0, 0, 0 },
4123     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4124     & ifmt_cpcmpeqz_b_P0S_P1, { 0x900180 }
4125   },
4126 /* cpcmpge.b $crqp,$crpp */
4127   {
4128     { 0, 0, 0, 0 },
4129     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4130     & ifmt_cpcmpeqz_b_P0S_P1, { 0x900190 }
4131   },
4132 /* cpcmpge.h $crqp,$crpp */
4133   {
4134     { 0, 0, 0, 0 },
4135     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4136     & ifmt_cpcmpeqz_b_P0S_P1, { 0x9001b0 }
4137   },
4138 /* cpcmpgeu.w $crqp,$crpp */
4139   {
4140     { 0, 0, 0, 0 },
4141     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4142     & ifmt_cpcmpeqz_b_P0S_P1, { 0x9001c0 }
4143   },
4144 /* cpcmpge.w $crqp,$crpp */
4145   {
4146     { 0, 0, 0, 0 },
4147     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4148     & ifmt_cpcmpeqz_b_P0S_P1, { 0x9001d0 }
4149   },
4150 /* cpadda0u.b $crqp,$crpp */
4151   {
4152     { 0, 0, 0, 0 },
4153     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4154     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00000 }
4155   },
4156 /* cpadda0.b $crqp,$crpp */
4157   {
4158     { 0, 0, 0, 0 },
4159     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4160     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00010 }
4161   },
4162 /* cpaddua0.h $crqp,$crpp */
4163   {
4164     { 0, 0, 0, 0 },
4165     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4166     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00020 }
4167   },
4168 /* cpaddla0.h $crqp,$crpp */
4169   {
4170     { 0, 0, 0, 0 },
4171     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4172     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00030 }
4173   },
4174 /* cpaddaca0u.b $crqp,$crpp */
4175   {
4176     { 0, 0, 0, 0 },
4177     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4178     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00040 }
4179   },
4180 /* cpaddaca0.b $crqp,$crpp */
4181   {
4182     { 0, 0, 0, 0 },
4183     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4184     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00050 }
4185   },
4186 /* cpaddacua0.h $crqp,$crpp */
4187   {
4188     { 0, 0, 0, 0 },
4189     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4190     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00060 }
4191   },
4192 /* cpaddacla0.h $crqp,$crpp */
4193   {
4194     { 0, 0, 0, 0 },
4195     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4196     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00070 }
4197   },
4198 /* cpsuba0u.b $crqp,$crpp */
4199   {
4200     { 0, 0, 0, 0 },
4201     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4202     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00080 }
4203   },
4204 /* cpsuba0.b $crqp,$crpp */
4205   {
4206     { 0, 0, 0, 0 },
4207     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4208     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00090 }
4209   },
4210 /* cpsubua0.h $crqp,$crpp */
4211   {
4212     { 0, 0, 0, 0 },
4213     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4214     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000a0 }
4215   },
4216 /* cpsubla0.h $crqp,$crpp */
4217   {
4218     { 0, 0, 0, 0 },
4219     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4220     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000b0 }
4221   },
4222 /* cpsubaca0u.b $crqp,$crpp */
4223   {
4224     { 0, 0, 0, 0 },
4225     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4226     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000c0 }
4227   },
4228 /* cpsubaca0.b $crqp,$crpp */
4229   {
4230     { 0, 0, 0, 0 },
4231     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4232     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000d0 }
4233   },
4234 /* cpsubacua0.h $crqp,$crpp */
4235   {
4236     { 0, 0, 0, 0 },
4237     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4238     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000e0 }
4239   },
4240 /* cpsubacla0.h $crqp,$crpp */
4241   {
4242     { 0, 0, 0, 0 },
4243     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4244     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000f0 }
4245   },
4246 /* cpabsa0u.b $crqp,$crpp */
4247   {
4248     { 0, 0, 0, 0 },
4249     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4250     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00100 }
4251   },
4252 /* cpabsa0.b $crqp,$crpp */
4253   {
4254     { 0, 0, 0, 0 },
4255     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4256     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00110 }
4257   },
4258 /* cpabsua0.h $crqp,$crpp */
4259   {
4260     { 0, 0, 0, 0 },
4261     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4262     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00120 }
4263   },
4264 /* cpabsla0.h $crqp,$crpp */
4265   {
4266     { 0, 0, 0, 0 },
4267     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4268     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00130 }
4269   },
4270 /* cpsada0u.b $crqp,$crpp */
4271   {
4272     { 0, 0, 0, 0 },
4273     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4274     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00140 }
4275   },
4276 /* cpsada0.b $crqp,$crpp */
4277   {
4278     { 0, 0, 0, 0 },
4279     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4280     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00150 }
4281   },
4282 /* cpsadua0.h $crqp,$crpp */
4283   {
4284     { 0, 0, 0, 0 },
4285     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4286     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00160 }
4287   },
4288 /* cpsadla0.h $crqp,$crpp */
4289   {
4290     { 0, 0, 0, 0 },
4291     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4292     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00170 }
4293   },
4294 /* cpseta0.h $crqp,$crpp */
4295   {
4296     { 0, 0, 0, 0 },
4297     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4298     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc001b0 }
4299   },
4300 /* cpsetua0.w $crqp,$crpp */
4301   {
4302     { 0, 0, 0, 0 },
4303     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4304     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc001c0 }
4305   },
4306 /* cpsetla0.w $crqp,$crpp */
4307   {
4308     { 0, 0, 0, 0 },
4309     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4310     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc001d0 }
4311   },
4312 /* cpmova0.b $crop */
4313   {
4314     { 0, 0, 0, 0 },
4315     { { MNEM, ' ', OP (CROP), 0 } },
4316     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80200 }
4317   },
4318 /* cpmovua0.h $crop */
4319   {
4320     { 0, 0, 0, 0 },
4321     { { MNEM, ' ', OP (CROP), 0 } },
4322     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80400 }
4323   },
4324 /* cpmovla0.h $crop */
4325   {
4326     { 0, 0, 0, 0 },
4327     { { MNEM, ' ', OP (CROP), 0 } },
4328     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80600 }
4329   },
4330 /* cpmovuua0.w $crop */
4331   {
4332     { 0, 0, 0, 0 },
4333     { { MNEM, ' ', OP (CROP), 0 } },
4334     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80800 }
4335   },
4336 /* cpmovula0.w $crop */
4337   {
4338     { 0, 0, 0, 0 },
4339     { { MNEM, ' ', OP (CROP), 0 } },
4340     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80a00 }
4341   },
4342 /* cpmovlua0.w $crop */
4343   {
4344     { 0, 0, 0, 0 },
4345     { { MNEM, ' ', OP (CROP), 0 } },
4346     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80c00 }
4347   },
4348 /* cpmovlla0.w $crop */
4349   {
4350     { 0, 0, 0, 0 },
4351     { { MNEM, ' ', OP (CROP), 0 } },
4352     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80e00 }
4353   },
4354 /* cppacka0u.b $crop */
4355   {
4356     { 0, 0, 0, 0 },
4357     { { MNEM, ' ', OP (CROP), 0 } },
4358     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81000 }
4359   },
4360 /* cppacka0.b $crop */
4361   {
4362     { 0, 0, 0, 0 },
4363     { { MNEM, ' ', OP (CROP), 0 } },
4364     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81200 }
4365   },
4366 /* cppackua0.h $crop */
4367   {
4368     { 0, 0, 0, 0 },
4369     { { MNEM, ' ', OP (CROP), 0 } },
4370     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81400 }
4371   },
4372 /* cppackla0.h $crop */
4373   {
4374     { 0, 0, 0, 0 },
4375     { { MNEM, ' ', OP (CROP), 0 } },
4376     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81600 }
4377   },
4378 /* cppackua0.w $crop */
4379   {
4380     { 0, 0, 0, 0 },
4381     { { MNEM, ' ', OP (CROP), 0 } },
4382     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81800 }
4383   },
4384 /* cppackla0.w $crop */
4385   {
4386     { 0, 0, 0, 0 },
4387     { { MNEM, ' ', OP (CROP), 0 } },
4388     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81a00 }
4389   },
4390 /* cpmovhua0.w $crop */
4391   {
4392     { 0, 0, 0, 0 },
4393     { { MNEM, ' ', OP (CROP), 0 } },
4394     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81c00 }
4395   },
4396 /* cpmovhla0.w $crop */
4397   {
4398     { 0, 0, 0, 0 },
4399     { { MNEM, ' ', OP (CROP), 0 } },
4400     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81e00 }
4401   },
4402 /* cpacsuma0 */
4403   {
4404     { 0, 0, 0, 0 },
4405     { { MNEM, 0 } },
4406     & ifmt_c0nop_P0_P0S, { 0xc82000 }
4407   },
4408 /* cpaccpa0 */
4409   {
4410     { 0, 0, 0, 0 },
4411     { { MNEM, 0 } },
4412     & ifmt_c0nop_P0_P0S, { 0xc82200 }
4413   },
4414 /* cpsrla0 $crqp */
4415   {
4416     { 0, 0, 0, 0 },
4417     { { MNEM, ' ', OP (CRQP), 0 } },
4418     & ifmt_cpccadd_b_P0S_P1, { 0xc83000 }
4419   },
4420 /* cpsraa0 $crqp */
4421   {
4422     { 0, 0, 0, 0 },
4423     { { MNEM, ' ', OP (CRQP), 0 } },
4424     & ifmt_cpccadd_b_P0S_P1, { 0xc83200 }
4425   },
4426 /* cpslla0 $crqp */
4427   {
4428     { 0, 0, 0, 0 },
4429     { { MNEM, ' ', OP (CRQP), 0 } },
4430     & ifmt_cpccadd_b_P0S_P1, { 0xc83400 }
4431   },
4432 /* cpsrlia0 $imm5p23 */
4433   {
4434     { 0, 0, 0, 0 },
4435     { { MNEM, ' ', OP (IMM5P23), 0 } },
4436     & ifmt_cpsrlia0_P0S, { 0xc83800 }
4437   },
4438 /* cpsraia0 $imm5p23 */
4439   {
4440     { 0, 0, 0, 0 },
4441     { { MNEM, ' ', OP (IMM5P23), 0 } },
4442     & ifmt_cpsrlia0_P0S, { 0xc83a00 }
4443   },
4444 /* cpsllia0 $imm5p23 */
4445   {
4446     { 0, 0, 0, 0 },
4447     { { MNEM, ' ', OP (IMM5P23), 0 } },
4448     & ifmt_cpsrlia0_P0S, { 0xc83c00 }
4449   },
4450 /* cpfsftba0s0u.b $crqp,$crpp */
4451   {
4452     { 0, 0, 0, 0 },
4453     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4454     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80000 }
4455   },
4456 /* cpfsftba0s0.b $crqp,$crpp */
4457   {
4458     { 0, 0, 0, 0 },
4459     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4460     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80010 }
4461   },
4462 /* cpfsftbua0s0.h $crqp,$crpp */
4463   {
4464     { 0, 0, 0, 0 },
4465     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4466     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80020 }
4467   },
4468 /* cpfsftbla0s0.h $crqp,$crpp */
4469   {
4470     { 0, 0, 0, 0 },
4471     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4472     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80030 }
4473   },
4474 /* cpfaca0s0u.b $crqp,$crpp */
4475   {
4476     { 0, 0, 0, 0 },
4477     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4478     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80040 }
4479   },
4480 /* cpfaca0s0.b $crqp,$crpp */
4481   {
4482     { 0, 0, 0, 0 },
4483     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4484     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80050 }
4485   },
4486 /* cpfacua0s0.h $crqp,$crpp */
4487   {
4488     { 0, 0, 0, 0 },
4489     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4490     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80060 }
4491   },
4492 /* cpfacla0s0.h $crqp,$crpp */
4493   {
4494     { 0, 0, 0, 0 },
4495     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4496     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80070 }
4497   },
4498 /* cpfsftba0s1u.b $crqp,$crpp */
4499   {
4500     { 0, 0, 0, 0 },
4501     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4502     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80080 }
4503   },
4504 /* cpfsftba0s1.b $crqp,$crpp */
4505   {
4506     { 0, 0, 0, 0 },
4507     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4508     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80090 }
4509   },
4510 /* cpfsftbua0s1.h $crqp,$crpp */
4511   {
4512     { 0, 0, 0, 0 },
4513     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4514     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf800a0 }
4515   },
4516 /* cpfsftbla0s1.h $crqp,$crpp */
4517   {
4518     { 0, 0, 0, 0 },
4519     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4520     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf800b0 }
4521   },
4522 /* cpfaca0s1u.b $crqp,$crpp */
4523   {
4524     { 0, 0, 0, 0 },
4525     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4526     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf800c0 }
4527   },
4528 /* cpfaca0s1.b $crqp,$crpp */
4529   {
4530     { 0, 0, 0, 0 },
4531     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4532     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf800d0 }
4533   },
4534 /* cpfacua0s1.h $crqp,$crpp */
4535   {
4536     { 0, 0, 0, 0 },
4537     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4538     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf800e0 }
4539   },
4540 /* cpfacla0s1.h $crqp,$crpp */
4541   {
4542     { 0, 0, 0, 0 },
4543     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4544     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf800f0 }
4545   },
4546 /* cpfsftbi $crop,$crqp,$crpp,$imm3p5 */
4547   {
4548     { 0, 0, 0, 0 },
4549     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P5), 0 } },
4550     & ifmt_cpfsftbi_P0_P1, { 0x400000 }
4551   },
4552 /* cpacmpeq.b $crqp,$crpp */
4553   {
4554     { 0, 0, 0, 0 },
4555     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4556     & ifmt_cpcmpeqz_b_P0S_P1, { 0x980010 }
4557   },
4558 /* cpacmpeq.h $crqp,$crpp */
4559   {
4560     { 0, 0, 0, 0 },
4561     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4562     & ifmt_cpcmpeqz_b_P0S_P1, { 0x980030 }
4563   },
4564 /* cpacmpeq.w $crqp,$crpp */
4565   {
4566     { 0, 0, 0, 0 },
4567     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4568     & ifmt_cpcmpeqz_b_P0S_P1, { 0x980050 }
4569   },
4570 /* cpacmpne.b $crqp,$crpp */
4571   {
4572     { 0, 0, 0, 0 },
4573     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4574     & ifmt_cpcmpeqz_b_P0S_P1, { 0x980090 }
4575   },
4576 /* cpacmpne.h $crqp,$crpp */
4577   {
4578     { 0, 0, 0, 0 },
4579     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4580     & ifmt_cpcmpeqz_b_P0S_P1, { 0x9800b0 }
4581   },
4582 /* cpacmpne.w $crqp,$crpp */
4583   {
4584     { 0, 0, 0, 0 },
4585     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4586     & ifmt_cpcmpeqz_b_P0S_P1, { 0x9800d0 }
4587   },
4588 /* cpacmpgtu.b $crqp,$crpp */
4589   {
4590     { 0, 0, 0, 0 },
4591     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4592     & ifmt_cpcmpeqz_b_P0S_P1, { 0x980100 }
4593   },
4594 /* cpacmpgt.b $crqp,$crpp */
4595   {
4596     { 0, 0, 0, 0 },
4597     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4598     & ifmt_cpcmpeqz_b_P0S_P1, { 0x980110 }
4599   },
4600 /* cpacmpgt.h $crqp,$crpp */
4601   {
4602     { 0, 0, 0, 0 },
4603     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4604     & ifmt_cpcmpeqz_b_P0S_P1, { 0x980130 }
4605   },
4606 /* cpacmpgtu.w $crqp,$crpp */
4607   {
4608     { 0, 0, 0, 0 },
4609     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4610     & ifmt_cpcmpeqz_b_P0S_P1, { 0x980140 }
4611   },
4612 /* cpacmpgt.w $crqp,$crpp */
4613   {
4614     { 0, 0, 0, 0 },
4615     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4616     & ifmt_cpcmpeqz_b_P0S_P1, { 0x980150 }
4617   },
4618 /* cpacmpgeu.b $crqp,$crpp */
4619   {
4620     { 0, 0, 0, 0 },
4621     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4622     & ifmt_cpcmpeqz_b_P0S_P1, { 0x980180 }
4623   },
4624 /* cpacmpge.b $crqp,$crpp */
4625   {
4626     { 0, 0, 0, 0 },
4627     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4628     & ifmt_cpcmpeqz_b_P0S_P1, { 0x980190 }
4629   },
4630 /* cpacmpge.h $crqp,$crpp */
4631   {
4632     { 0, 0, 0, 0 },
4633     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4634     & ifmt_cpcmpeqz_b_P0S_P1, { 0x9801b0 }
4635   },
4636 /* cpacmpgeu.w $crqp,$crpp */
4637   {
4638     { 0, 0, 0, 0 },
4639     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4640     & ifmt_cpcmpeqz_b_P0S_P1, { 0x9801c0 }
4641   },
4642 /* cpacmpge.w $crqp,$crpp */
4643   {
4644     { 0, 0, 0, 0 },
4645     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4646     & ifmt_cpcmpeqz_b_P0S_P1, { 0x9801d0 }
4647   },
4648 /* cpocmpeq.b $crqp,$crpp */
4649   {
4650     { 0, 0, 0, 0 },
4651     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4652     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980010 }
4653   },
4654 /* cpocmpeq.h $crqp,$crpp */
4655   {
4656     { 0, 0, 0, 0 },
4657     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4658     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980030 }
4659   },
4660 /* cpocmpeq.w $crqp,$crpp */
4661   {
4662     { 0, 0, 0, 0 },
4663     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4664     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980050 }
4665   },
4666 /* cpocmpne.b $crqp,$crpp */
4667   {
4668     { 0, 0, 0, 0 },
4669     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4670     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980090 }
4671   },
4672 /* cpocmpne.h $crqp,$crpp */
4673   {
4674     { 0, 0, 0, 0 },
4675     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4676     & ifmt_cpcmpeqz_b_P0S_P1, { 0x19800b0 }
4677   },
4678 /* cpocmpne.w $crqp,$crpp */
4679   {
4680     { 0, 0, 0, 0 },
4681     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4682     & ifmt_cpcmpeqz_b_P0S_P1, { 0x19800d0 }
4683   },
4684 /* cpocmpgtu.b $crqp,$crpp */
4685   {
4686     { 0, 0, 0, 0 },
4687     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4688     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980100 }
4689   },
4690 /* cpocmpgt.b $crqp,$crpp */
4691   {
4692     { 0, 0, 0, 0 },
4693     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4694     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980110 }
4695   },
4696 /* cpocmpgt.h $crqp,$crpp */
4697   {
4698     { 0, 0, 0, 0 },
4699     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4700     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980130 }
4701   },
4702 /* cpocmpgtu.w $crqp,$crpp */
4703   {
4704     { 0, 0, 0, 0 },
4705     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4706     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980140 }
4707   },
4708 /* cpocmpgt.w $crqp,$crpp */
4709   {
4710     { 0, 0, 0, 0 },
4711     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4712     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980150 }
4713   },
4714 /* cpocmpgeu.b $crqp,$crpp */
4715   {
4716     { 0, 0, 0, 0 },
4717     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4718     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980180 }
4719   },
4720 /* cpocmpge.b $crqp,$crpp */
4721   {
4722     { 0, 0, 0, 0 },
4723     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4724     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980190 }
4725   },
4726 /* cpocmpge.h $crqp,$crpp */
4727   {
4728     { 0, 0, 0, 0 },
4729     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4730     & ifmt_cpcmpeqz_b_P0S_P1, { 0x19801b0 }
4731   },
4732 /* cpocmpgeu.w $crqp,$crpp */
4733   {
4734     { 0, 0, 0, 0 },
4735     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4736     & ifmt_cpcmpeqz_b_P0S_P1, { 0x19801c0 }
4737   },
4738 /* cpocmpge.w $crqp,$crpp */
4739   {
4740     { 0, 0, 0, 0 },
4741     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
4742     & ifmt_cpcmpeqz_b_P0S_P1, { 0x19801d0 }
4743   },
4744 /* cdadd3 $crop,$crqp,$crpp */
4745   {
4746     { 0, 0, 0, 0 },
4747     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4748     & ifmt_cpadd3_b_P0S_P1, { 0x3a00000 }
4749   },
4750 /* cpsub3.b $crop,$crqp,$crpp */
4751   {
4752     { 0, 0, 0, 0 },
4753     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4754     & ifmt_cpadd3_b_P0S_P1, { 0x4a00000 }
4755   },
4756 /* cpsub3.h $crop,$crqp,$crpp */
4757   {
4758     { 0, 0, 0, 0 },
4759     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4760     & ifmt_cpadd3_b_P0S_P1, { 0x5a00000 }
4761   },
4762 /* cpsub3.w $crop,$crqp,$crpp */
4763   {
4764     { 0, 0, 0, 0 },
4765     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4766     & ifmt_cpadd3_b_P0S_P1, { 0x6a00000 }
4767   },
4768 /* cdsub3 $crop,$crqp,$crpp */
4769   {
4770     { 0, 0, 0, 0 },
4771     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4772     & ifmt_cpadd3_b_P0S_P1, { 0x7a00000 }
4773   },
4774 /* cpsadd3.h $crop,$crqp,$crpp */
4775   {
4776     { 0, 0, 0, 0 },
4777     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4778     & ifmt_cpadd3_b_P0S_P1, { 0xaa00000 }
4779   },
4780 /* cpsadd3.w $crop,$crqp,$crpp */
4781   {
4782     { 0, 0, 0, 0 },
4783     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4784     & ifmt_cpadd3_b_P0S_P1, { 0xba00000 }
4785   },
4786 /* cpssub3.h $crop,$crqp,$crpp */
4787   {
4788     { 0, 0, 0, 0 },
4789     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4790     & ifmt_cpadd3_b_P0S_P1, { 0xea00000 }
4791   },
4792 /* cpssub3.w $crop,$crqp,$crpp */
4793   {
4794     { 0, 0, 0, 0 },
4795     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4796     & ifmt_cpadd3_b_P0S_P1, { 0xfa00000 }
4797   },
4798 /* cpextuaddu3.b $crop,$crqp,$crpp */
4799   {
4800     { 0, 0, 0, 0 },
4801     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4802     & ifmt_cpadd3_b_P0S_P1, { 0x10a00000 }
4803   },
4804 /* cpextuadd3.b $crop,$crqp,$crpp */
4805   {
4806     { 0, 0, 0, 0 },
4807     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4808     & ifmt_cpadd3_b_P0S_P1, { 0x11a00000 }
4809   },
4810 /* cpextladdu3.b $crop,$crqp,$crpp */
4811   {
4812     { 0, 0, 0, 0 },
4813     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4814     & ifmt_cpadd3_b_P0S_P1, { 0x12a00000 }
4815   },
4816 /* cpextladd3.b $crop,$crqp,$crpp */
4817   {
4818     { 0, 0, 0, 0 },
4819     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4820     & ifmt_cpadd3_b_P0S_P1, { 0x13a00000 }
4821   },
4822 /* cpextusubu3.b $crop,$crqp,$crpp */
4823   {
4824     { 0, 0, 0, 0 },
4825     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4826     & ifmt_cpadd3_b_P0S_P1, { 0x14a00000 }
4827   },
4828 /* cpextusub3.b $crop,$crqp,$crpp */
4829   {
4830     { 0, 0, 0, 0 },
4831     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4832     & ifmt_cpadd3_b_P0S_P1, { 0x15a00000 }
4833   },
4834 /* cpextlsubu3.b $crop,$crqp,$crpp */
4835   {
4836     { 0, 0, 0, 0 },
4837     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4838     & ifmt_cpadd3_b_P0S_P1, { 0x16a00000 }
4839   },
4840 /* cpextlsub3.b $crop,$crqp,$crpp */
4841   {
4842     { 0, 0, 0, 0 },
4843     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4844     & ifmt_cpadd3_b_P0S_P1, { 0x17a00000 }
4845   },
4846 /* cpaveu3.b $crop,$crqp,$crpp */
4847   {
4848     { 0, 0, 0, 0 },
4849     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4850     & ifmt_cpadd3_b_P0S_P1, { 0x18a00000 }
4851   },
4852 /* cpave3.b $crop,$crqp,$crpp */
4853   {
4854     { 0, 0, 0, 0 },
4855     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4856     & ifmt_cpadd3_b_P0S_P1, { 0x19a00000 }
4857   },
4858 /* cpave3.h $crop,$crqp,$crpp */
4859   {
4860     { 0, 0, 0, 0 },
4861     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4862     & ifmt_cpadd3_b_P0S_P1, { 0x1aa00000 }
4863   },
4864 /* cpave3.w $crop,$crqp,$crpp */
4865   {
4866     { 0, 0, 0, 0 },
4867     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4868     & ifmt_cpadd3_b_P0S_P1, { 0x1ba00000 }
4869   },
4870 /* cpaddsru3.b $crop,$crqp,$crpp */
4871   {
4872     { 0, 0, 0, 0 },
4873     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4874     & ifmt_cpadd3_b_P0S_P1, { 0x1ca00000 }
4875   },
4876 /* cpaddsr3.b $crop,$crqp,$crpp */
4877   {
4878     { 0, 0, 0, 0 },
4879     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4880     & ifmt_cpadd3_b_P0S_P1, { 0x1da00000 }
4881   },
4882 /* cpaddsr3.h $crop,$crqp,$crpp */
4883   {
4884     { 0, 0, 0, 0 },
4885     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4886     & ifmt_cpadd3_b_P0S_P1, { 0x1ea00000 }
4887   },
4888 /* cpaddsr3.w $crop,$crqp,$crpp */
4889   {
4890     { 0, 0, 0, 0 },
4891     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4892     & ifmt_cpadd3_b_P0S_P1, { 0x1fa00000 }
4893   },
4894 /* cpabsu3.b $crop,$crqp,$crpp */
4895   {
4896     { 0, 0, 0, 0 },
4897     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4898     & ifmt_cpadd3_b_P0S_P1, { 0x20a00000 }
4899   },
4900 /* cpabs3.b $crop,$crqp,$crpp */
4901   {
4902     { 0, 0, 0, 0 },
4903     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4904     & ifmt_cpadd3_b_P0S_P1, { 0x21a00000 }
4905   },
4906 /* cpabs3.h $crop,$crqp,$crpp */
4907   {
4908     { 0, 0, 0, 0 },
4909     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4910     & ifmt_cpadd3_b_P0S_P1, { 0x22a00000 }
4911   },
4912 /* cpand3 $crop,$crqp,$crpp */
4913   {
4914     { 0, 0, 0, 0 },
4915     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4916     & ifmt_cpadd3_b_P0S_P1, { 0x24a00000 }
4917   },
4918 /* cpor3 $crop,$crqp,$crpp */
4919   {
4920     { 0, 0, 0, 0 },
4921     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4922     & ifmt_cpadd3_b_P0S_P1, { 0x25a00000 }
4923   },
4924 /* cpnor3 $crop,$crqp,$crpp */
4925   {
4926     { 0, 0, 0, 0 },
4927     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4928     & ifmt_cpadd3_b_P0S_P1, { 0x26a00000 }
4929   },
4930 /* cpxor3 $crop,$crqp,$crpp */
4931   {
4932     { 0, 0, 0, 0 },
4933     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4934     & ifmt_cpadd3_b_P0S_P1, { 0x27a00000 }
4935   },
4936 /* cppacku.b $crop,$crqp,$crpp */
4937   {
4938     { 0, 0, 0, 0 },
4939     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4940     & ifmt_cpadd3_b_P0S_P1, { 0x2ca00000 }
4941   },
4942 /* cppack.b $crop,$crqp,$crpp */
4943   {
4944     { 0, 0, 0, 0 },
4945     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4946     & ifmt_cpadd3_b_P0S_P1, { 0x2da00000 }
4947   },
4948 /* cppack.h $crop,$crqp,$crpp */
4949   {
4950     { 0, 0, 0, 0 },
4951     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4952     & ifmt_cpadd3_b_P0S_P1, { 0x2fa00000 }
4953   },
4954 /* cpmaxu3.b $crop,$crqp,$crpp */
4955   {
4956     { 0, 0, 0, 0 },
4957     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4958     & ifmt_cpadd3_b_P0S_P1, { 0x30a00000 }
4959   },
4960 /* cpmax3.b $crop,$crqp,$crpp */
4961   {
4962     { 0, 0, 0, 0 },
4963     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4964     & ifmt_cpadd3_b_P0S_P1, { 0x31a00000 }
4965   },
4966 /* cpmax3.h $crop,$crqp,$crpp */
4967   {
4968     { 0, 0, 0, 0 },
4969     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4970     & ifmt_cpadd3_b_P0S_P1, { 0x33a00000 }
4971   },
4972 /* cpmaxu3.w $crop,$crqp,$crpp */
4973   {
4974     { 0, 0, 0, 0 },
4975     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4976     & ifmt_cpadd3_b_P0S_P1, { 0x34a00000 }
4977   },
4978 /* cpmax3.w $crop,$crqp,$crpp */
4979   {
4980     { 0, 0, 0, 0 },
4981     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4982     & ifmt_cpadd3_b_P0S_P1, { 0x35a00000 }
4983   },
4984 /* cpminu3.b $crop,$crqp,$crpp */
4985   {
4986     { 0, 0, 0, 0 },
4987     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4988     & ifmt_cpadd3_b_P0S_P1, { 0x38a00000 }
4989   },
4990 /* cpmin3.b $crop,$crqp,$crpp */
4991   {
4992     { 0, 0, 0, 0 },
4993     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
4994     & ifmt_cpadd3_b_P0S_P1, { 0x39a00000 }
4995   },
4996 /* cpmin3.h $crop,$crqp,$crpp */
4997   {
4998     { 0, 0, 0, 0 },
4999     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5000     & ifmt_cpadd3_b_P0S_P1, { 0x3ba00000 }
5001   },
5002 /* cpminu3.w $crop,$crqp,$crpp */
5003   {
5004     { 0, 0, 0, 0 },
5005     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5006     & ifmt_cpadd3_b_P0S_P1, { 0x3ca00000 }
5007   },
5008 /* cpmin3.w $crop,$crqp,$crpp */
5009   {
5010     { 0, 0, 0, 0 },
5011     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5012     & ifmt_cpadd3_b_P0S_P1, { 0x3da00000 }
5013   },
5014 /* cpsrl3.b $crop,$crqp,$crpp */
5015   {
5016     { 0, 0, 0, 0 },
5017     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5018     & ifmt_cpadd3_b_P0S_P1, { 0x40a00000 }
5019   },
5020 /* cpssrl3.b $crop,$crqp,$crpp */
5021   {
5022     { 0, 0, 0, 0 },
5023     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5024     & ifmt_cpadd3_b_P0S_P1, { 0x41a00000 }
5025   },
5026 /* cpsrl3.h $crop,$crqp,$crpp */
5027   {
5028     { 0, 0, 0, 0 },
5029     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5030     & ifmt_cpadd3_b_P0S_P1, { 0x42a00000 }
5031   },
5032 /* cpssrl3.h $crop,$crqp,$crpp */
5033   {
5034     { 0, 0, 0, 0 },
5035     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5036     & ifmt_cpadd3_b_P0S_P1, { 0x43a00000 }
5037   },
5038 /* cpsrl3.w $crop,$crqp,$crpp */
5039   {
5040     { 0, 0, 0, 0 },
5041     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5042     & ifmt_cpadd3_b_P0S_P1, { 0x44a00000 }
5043   },
5044 /* cpssrl3.w $crop,$crqp,$crpp */
5045   {
5046     { 0, 0, 0, 0 },
5047     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5048     & ifmt_cpadd3_b_P0S_P1, { 0x45a00000 }
5049   },
5050 /* cdsrl3 $crop,$crqp,$crpp */
5051   {
5052     { 0, 0, 0, 0 },
5053     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5054     & ifmt_cpadd3_b_P0S_P1, { 0x46a00000 }
5055   },
5056 /* cpsra3.b $crop,$crqp,$crpp */
5057   {
5058     { 0, 0, 0, 0 },
5059     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5060     & ifmt_cpadd3_b_P0S_P1, { 0x48a00000 }
5061   },
5062 /* cpssra3.b $crop,$crqp,$crpp */
5063   {
5064     { 0, 0, 0, 0 },
5065     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5066     & ifmt_cpadd3_b_P0S_P1, { 0x49a00000 }
5067   },
5068 /* cpsra3.h $crop,$crqp,$crpp */
5069   {
5070     { 0, 0, 0, 0 },
5071     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5072     & ifmt_cpadd3_b_P0S_P1, { 0x4aa00000 }
5073   },
5074 /* cpssra3.h $crop,$crqp,$crpp */
5075   {
5076     { 0, 0, 0, 0 },
5077     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5078     & ifmt_cpadd3_b_P0S_P1, { 0x4ba00000 }
5079   },
5080 /* cpsra3.w $crop,$crqp,$crpp */
5081   {
5082     { 0, 0, 0, 0 },
5083     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5084     & ifmt_cpadd3_b_P0S_P1, { 0x4ca00000 }
5085   },
5086 /* cpssra3.w $crop,$crqp,$crpp */
5087   {
5088     { 0, 0, 0, 0 },
5089     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5090     & ifmt_cpadd3_b_P0S_P1, { 0x4da00000 }
5091   },
5092 /* cdsra3 $crop,$crqp,$crpp */
5093   {
5094     { 0, 0, 0, 0 },
5095     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5096     & ifmt_cpadd3_b_P0S_P1, { 0x4ea00000 }
5097   },
5098 /* cpsll3.b $crop,$crqp,$crpp */
5099   {
5100     { 0, 0, 0, 0 },
5101     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5102     & ifmt_cpadd3_b_P0S_P1, { 0x50a00000 }
5103   },
5104 /* cpssll3.b $crop,$crqp,$crpp */
5105   {
5106     { 0, 0, 0, 0 },
5107     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5108     & ifmt_cpadd3_b_P0S_P1, { 0x51a00000 }
5109   },
5110 /* cpsll3.h $crop,$crqp,$crpp */
5111   {
5112     { 0, 0, 0, 0 },
5113     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5114     & ifmt_cpadd3_b_P0S_P1, { 0x52a00000 }
5115   },
5116 /* cpssll3.h $crop,$crqp,$crpp */
5117   {
5118     { 0, 0, 0, 0 },
5119     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5120     & ifmt_cpadd3_b_P0S_P1, { 0x53a00000 }
5121   },
5122 /* cpsll3.w $crop,$crqp,$crpp */
5123   {
5124     { 0, 0, 0, 0 },
5125     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5126     & ifmt_cpadd3_b_P0S_P1, { 0x54a00000 }
5127   },
5128 /* cpssll3.w $crop,$crqp,$crpp */
5129   {
5130     { 0, 0, 0, 0 },
5131     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5132     & ifmt_cpadd3_b_P0S_P1, { 0x55a00000 }
5133   },
5134 /* cdsll3 $crop,$crqp,$crpp */
5135   {
5136     { 0, 0, 0, 0 },
5137     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5138     & ifmt_cpadd3_b_P0S_P1, { 0x56a00000 }
5139   },
5140 /* cpsla3.h $crop,$crqp,$crpp */
5141   {
5142     { 0, 0, 0, 0 },
5143     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5144     & ifmt_cpadd3_b_P0S_P1, { 0x5aa00000 }
5145   },
5146 /* cpsla3.w $crop,$crqp,$crpp */
5147   {
5148     { 0, 0, 0, 0 },
5149     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } },
5150     & ifmt_cpadd3_b_P0S_P1, { 0x5ca00000 }
5151   },
5152 /* cpsrli3.b $crop,$crqp,$imm3p5 */
5153   {
5154     { 0, 0, 0, 0 },
5155     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM3P5), 0 } },
5156     & ifmt_cpsrli3_b_P0_P1, { 0xa80000 }
5157   },
5158 /* cpsrli3.h $crop,$crqp,$imm4p4 */
5159   {
5160     { 0, 0, 0, 0 },
5161     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM4P4), 0 } },
5162     & ifmt_cpsrli3_h_P0_P1, { 0xa80200 }
5163   },
5164 /* cpsrli3.w $crop,$crqp,$imm5p3 */
5165   {
5166     { 0, 0, 0, 0 },
5167     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM5P3), 0 } },
5168     & ifmt_cpsrli3_w_P0_P1, { 0xa80400 }
5169   },
5170 /* cdsrli3 $crop,$crqp,$imm6p2 */
5171   {
5172     { 0, 0, 0, 0 },
5173     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM6P2), 0 } },
5174     & ifmt_cdsrli3_P0_P1, { 0xa80600 }
5175   },
5176 /* cpsrai3.b $crop,$crqp,$imm3p5 */
5177   {
5178     { 0, 0, 0, 0 },
5179     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM3P5), 0 } },
5180     & ifmt_cpsrli3_b_P0_P1, { 0xa80800 }
5181   },
5182 /* cpsrai3.h $crop,$crqp,$imm4p4 */
5183   {
5184     { 0, 0, 0, 0 },
5185     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM4P4), 0 } },
5186     & ifmt_cpsrli3_h_P0_P1, { 0xa80a00 }
5187   },
5188 /* cpsrai3.w $crop,$crqp,$imm5p3 */
5189   {
5190     { 0, 0, 0, 0 },
5191     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM5P3), 0 } },
5192     & ifmt_cpsrli3_w_P0_P1, { 0xa80c00 }
5193   },
5194 /* cdsrai3 $crop,$crqp,$imm6p2 */
5195   {
5196     { 0, 0, 0, 0 },
5197     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM6P2), 0 } },
5198     & ifmt_cdsrli3_P0_P1, { 0xa80e00 }
5199   },
5200 /* cpslli3.b $crop,$crqp,$imm3p5 */
5201   {
5202     { 0, 0, 0, 0 },
5203     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM3P5), 0 } },
5204     & ifmt_cpsrli3_b_P0_P1, { 0xa81000 }
5205   },
5206 /* cpslli3.h $crop,$crqp,$imm4p4 */
5207   {
5208     { 0, 0, 0, 0 },
5209     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM4P4), 0 } },
5210     & ifmt_cpsrli3_h_P0_P1, { 0xa81200 }
5211   },
5212 /* cpslli3.w $crop,$crqp,$imm5p3 */
5213   {
5214     { 0, 0, 0, 0 },
5215     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM5P3), 0 } },
5216     & ifmt_cpsrli3_w_P0_P1, { 0xa81400 }
5217   },
5218 /* cdslli3 $crop,$crqp,$imm6p2 */
5219   {
5220     { 0, 0, 0, 0 },
5221     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM6P2), 0 } },
5222     & ifmt_cdsrli3_P0_P1, { 0xa81600 }
5223   },
5224 /* cpslai3.h $crop,$crqp,$imm4p4 */
5225   {
5226     { 0, 0, 0, 0 },
5227     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM4P4), 0 } },
5228     & ifmt_cpsrli3_h_P0_P1, { 0xa81a00 }
5229   },
5230 /* cpslai3.w $crop,$crqp,$imm5p3 */
5231   {
5232     { 0, 0, 0, 0 },
5233     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM5P3), 0 } },
5234     & ifmt_cpsrli3_w_P0_P1, { 0xa81c00 }
5235   },
5236 /* cpclipiu3.w $crop,$crqp,$imm5p3 */
5237   {
5238     { 0, 0, 0, 0 },
5239     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM5P3), 0 } },
5240     & ifmt_cpsrli3_w_P0_P1, { 0xa82000 }
5241   },
5242 /* cpclipi3.w $crop,$crqp,$imm5p3 */
5243   {
5244     { 0, 0, 0, 0 },
5245     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM5P3), 0 } },
5246     & ifmt_cpsrli3_w_P0_P1, { 0xa82200 }
5247   },
5248 /* cdclipiu3 $crop,$crqp,$imm6p2 */
5249   {
5250     { 0, 0, 0, 0 },
5251     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM6P2), 0 } },
5252     & ifmt_cdsrli3_P0_P1, { 0xa82400 }
5253   },
5254 /* cdclipi3 $crop,$crqp,$imm6p2 */
5255   {
5256     { 0, 0, 0, 0 },
5257     { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM6P2), 0 } },
5258     & ifmt_cdsrli3_P0_P1, { 0xa82600 }
5259   },
5260 /* cpmovi.h $crqp,$simm16p0 */
5261   {
5262     { 0, 0, 0, 0 },
5263     { { MNEM, ' ', OP (CRQP), ',', OP (SIMM16P0), 0 } },
5264     & ifmt_cpmovi_h_P0_P1, { 0xb01000 }
5265   },
5266 /* cpmoviu.w $crqp,$imm16p0 */
5267   {
5268     { 0, 0, 0, 0 },
5269     { { MNEM, ' ', OP (CRQP), ',', OP (IMM16P0), 0 } },
5270     & ifmt_cpmoviu_w_P0_P1, { 0xb80000 }
5271   },
5272 /* cpmovi.w $crqp,$simm16p0 */
5273   {
5274     { 0, 0, 0, 0 },
5275     { { MNEM, ' ', OP (CRQP), ',', OP (SIMM16P0), 0 } },
5276     & ifmt_cpmovi_h_P0_P1, { 0xb81000 }
5277   },
5278 /* cdmoviu $crqp,$imm16p0 */
5279   {
5280     { 0, 0, 0, 0 },
5281     { { MNEM, ' ', OP (CRQP), ',', OP (IMM16P0), 0 } },
5282     & ifmt_cpmoviu_w_P0_P1, { 0xb82000 }
5283   },
5284 /* cdmovi $crqp,$simm16p0 */
5285   {
5286     { 0, 0, 0, 0 },
5287     { { MNEM, ' ', OP (CRQP), ',', OP (SIMM16P0), 0 } },
5288     & ifmt_cpmovi_h_P0_P1, { 0xb83000 }
5289   },
5290 /* c1nop */
5291   {
5292     { 0, 0, 0, 0 },
5293     { { MNEM, 0 } },
5294     & ifmt_c0nop_P0_P0S, { 0x0 }
5295   },
5296 /* cpmovi.b $crqp,$simm8p20 */
5297   {
5298     { 0, 0, 0, 0 },
5299     { { MNEM, ' ', OP (CRQP), ',', OP (SIMM8P20), 0 } },
5300     & ifmt_cpmovi_b_P0S_P1, { 0xb00000 }
5301   },
5302 /* cpadda1u.b $crqp,$crpp */
5303   {
5304     { 0, 0, 0, 0 },
5305     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5306     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00000 }
5307   },
5308 /* cpadda1.b $crqp,$crpp */
5309   {
5310     { 0, 0, 0, 0 },
5311     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5312     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00010 }
5313   },
5314 /* cpaddua1.h $crqp,$crpp */
5315   {
5316     { 0, 0, 0, 0 },
5317     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5318     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00020 }
5319   },
5320 /* cpaddla1.h $crqp,$crpp */
5321   {
5322     { 0, 0, 0, 0 },
5323     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5324     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00030 }
5325   },
5326 /* cpaddaca1u.b $crqp,$crpp */
5327   {
5328     { 0, 0, 0, 0 },
5329     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5330     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00040 }
5331   },
5332 /* cpaddaca1.b $crqp,$crpp */
5333   {
5334     { 0, 0, 0, 0 },
5335     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5336     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00050 }
5337   },
5338 /* cpaddacua1.h $crqp,$crpp */
5339   {
5340     { 0, 0, 0, 0 },
5341     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5342     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00060 }
5343   },
5344 /* cpaddacla1.h $crqp,$crpp */
5345   {
5346     { 0, 0, 0, 0 },
5347     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5348     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00070 }
5349   },
5350 /* cpsuba1u.b $crqp,$crpp */
5351   {
5352     { 0, 0, 0, 0 },
5353     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5354     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00080 }
5355   },
5356 /* cpsuba1.b $crqp,$crpp */
5357   {
5358     { 0, 0, 0, 0 },
5359     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5360     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00090 }
5361   },
5362 /* cpsubua1.h $crqp,$crpp */
5363   {
5364     { 0, 0, 0, 0 },
5365     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5366     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000a0 }
5367   },
5368 /* cpsubla1.h $crqp,$crpp */
5369   {
5370     { 0, 0, 0, 0 },
5371     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5372     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000b0 }
5373   },
5374 /* cpsubaca1u.b $crqp,$crpp */
5375   {
5376     { 0, 0, 0, 0 },
5377     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5378     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000c0 }
5379   },
5380 /* cpsubaca1.b $crqp,$crpp */
5381   {
5382     { 0, 0, 0, 0 },
5383     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5384     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000d0 }
5385   },
5386 /* cpsubacua1.h $crqp,$crpp */
5387   {
5388     { 0, 0, 0, 0 },
5389     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5390     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000e0 }
5391   },
5392 /* cpsubacla1.h $crqp,$crpp */
5393   {
5394     { 0, 0, 0, 0 },
5395     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5396     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000f0 }
5397   },
5398 /* cpabsa1u.b $crqp,$crpp */
5399   {
5400     { 0, 0, 0, 0 },
5401     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5402     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00100 }
5403   },
5404 /* cpabsa1.b $crqp,$crpp */
5405   {
5406     { 0, 0, 0, 0 },
5407     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5408     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00110 }
5409   },
5410 /* cpabsua1.h $crqp,$crpp */
5411   {
5412     { 0, 0, 0, 0 },
5413     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5414     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00120 }
5415   },
5416 /* cpabsla1.h $crqp,$crpp */
5417   {
5418     { 0, 0, 0, 0 },
5419     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5420     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00130 }
5421   },
5422 /* cpsada1u.b $crqp,$crpp */
5423   {
5424     { 0, 0, 0, 0 },
5425     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5426     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00140 }
5427   },
5428 /* cpsada1.b $crqp,$crpp */
5429   {
5430     { 0, 0, 0, 0 },
5431     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5432     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00150 }
5433   },
5434 /* cpsadua1.h $crqp,$crpp */
5435   {
5436     { 0, 0, 0, 0 },
5437     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5438     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00160 }
5439   },
5440 /* cpsadla1.h $crqp,$crpp */
5441   {
5442     { 0, 0, 0, 0 },
5443     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5444     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00170 }
5445   },
5446 /* cpseta1.h $crqp,$crpp */
5447   {
5448     { 0, 0, 0, 0 },
5449     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5450     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc001b0 }
5451   },
5452 /* cpsetua1.w $crqp,$crpp */
5453   {
5454     { 0, 0, 0, 0 },
5455     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5456     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc001c0 }
5457   },
5458 /* cpsetla1.w $crqp,$crpp */
5459   {
5460     { 0, 0, 0, 0 },
5461     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5462     & ifmt_cpcmpeqz_b_P0S_P1, { 0xc001d0 }
5463   },
5464 /* cpmova1.b $crop */
5465   {
5466     { 0, 0, 0, 0 },
5467     { { MNEM, ' ', OP (CROP), 0 } },
5468     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80200 }
5469   },
5470 /* cpmovua1.h $crop */
5471   {
5472     { 0, 0, 0, 0 },
5473     { { MNEM, ' ', OP (CROP), 0 } },
5474     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80400 }
5475   },
5476 /* cpmovla1.h $crop */
5477   {
5478     { 0, 0, 0, 0 },
5479     { { MNEM, ' ', OP (CROP), 0 } },
5480     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80600 }
5481   },
5482 /* cpmovuua1.w $crop */
5483   {
5484     { 0, 0, 0, 0 },
5485     { { MNEM, ' ', OP (CROP), 0 } },
5486     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80800 }
5487   },
5488 /* cpmovula1.w $crop */
5489   {
5490     { 0, 0, 0, 0 },
5491     { { MNEM, ' ', OP (CROP), 0 } },
5492     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80a00 }
5493   },
5494 /* cpmovlua1.w $crop */
5495   {
5496     { 0, 0, 0, 0 },
5497     { { MNEM, ' ', OP (CROP), 0 } },
5498     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80c00 }
5499   },
5500 /* cpmovlla1.w $crop */
5501   {
5502     { 0, 0, 0, 0 },
5503     { { MNEM, ' ', OP (CROP), 0 } },
5504     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80e00 }
5505   },
5506 /* cppacka1u.b $crop */
5507   {
5508     { 0, 0, 0, 0 },
5509     { { MNEM, ' ', OP (CROP), 0 } },
5510     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81000 }
5511   },
5512 /* cppacka1.b $crop */
5513   {
5514     { 0, 0, 0, 0 },
5515     { { MNEM, ' ', OP (CROP), 0 } },
5516     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81200 }
5517   },
5518 /* cppackua1.h $crop */
5519   {
5520     { 0, 0, 0, 0 },
5521     { { MNEM, ' ', OP (CROP), 0 } },
5522     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81400 }
5523   },
5524 /* cppackla1.h $crop */
5525   {
5526     { 0, 0, 0, 0 },
5527     { { MNEM, ' ', OP (CROP), 0 } },
5528     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81600 }
5529   },
5530 /* cppackua1.w $crop */
5531   {
5532     { 0, 0, 0, 0 },
5533     { { MNEM, ' ', OP (CROP), 0 } },
5534     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81800 }
5535   },
5536 /* cppackla1.w $crop */
5537   {
5538     { 0, 0, 0, 0 },
5539     { { MNEM, ' ', OP (CROP), 0 } },
5540     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81a00 }
5541   },
5542 /* cpmovhua1.w $crop */
5543   {
5544     { 0, 0, 0, 0 },
5545     { { MNEM, ' ', OP (CROP), 0 } },
5546     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81c00 }
5547   },
5548 /* cpmovhla1.w $crop */
5549   {
5550     { 0, 0, 0, 0 },
5551     { { MNEM, ' ', OP (CROP), 0 } },
5552     & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81e00 }
5553   },
5554 /* cpacsuma1 */
5555   {
5556     { 0, 0, 0, 0 },
5557     { { MNEM, 0 } },
5558     & ifmt_c0nop_P0_P0S, { 0xc82000 }
5559   },
5560 /* cpaccpa1 */
5561   {
5562     { 0, 0, 0, 0 },
5563     { { MNEM, 0 } },
5564     & ifmt_c0nop_P0_P0S, { 0xc82200 }
5565   },
5566 /* cpacswp */
5567   {
5568     { 0, 0, 0, 0 },
5569     { { MNEM, 0 } },
5570     & ifmt_c0nop_P0_P0S, { 0xc82400 }
5571   },
5572 /* cpsrla1 $crqp */
5573   {
5574     { 0, 0, 0, 0 },
5575     { { MNEM, ' ', OP (CRQP), 0 } },
5576     & ifmt_cpccadd_b_P0S_P1, { 0xc83000 }
5577   },
5578 /* cpsraa1 $crqp */
5579   {
5580     { 0, 0, 0, 0 },
5581     { { MNEM, ' ', OP (CRQP), 0 } },
5582     & ifmt_cpccadd_b_P0S_P1, { 0xc83200 }
5583   },
5584 /* cpslla1 $crqp */
5585   {
5586     { 0, 0, 0, 0 },
5587     { { MNEM, ' ', OP (CRQP), 0 } },
5588     & ifmt_cpccadd_b_P0S_P1, { 0xc83400 }
5589   },
5590 /* cpsrlia1 $imm5p23 */
5591   {
5592     { 0, 0, 0, 0 },
5593     { { MNEM, ' ', OP (IMM5P23), 0 } },
5594     & ifmt_cpsrlia0_P0S, { 0xc83800 }
5595   },
5596 /* cpsraia1 $imm5p23 */
5597   {
5598     { 0, 0, 0, 0 },
5599     { { MNEM, ' ', OP (IMM5P23), 0 } },
5600     & ifmt_cpsrlia0_P0S, { 0xc83a00 }
5601   },
5602 /* cpsllia1 $imm5p23 */
5603   {
5604     { 0, 0, 0, 0 },
5605     { { MNEM, ' ', OP (IMM5P23), 0 } },
5606     & ifmt_cpsrlia0_P0S, { 0xc83c00 }
5607   },
5608 /* cpfmulia1s0u.b $crqp,$crpp,$simm8p0 */
5609   {
5610     { 0, 0, 0, 0 },
5611     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5612     & ifmt_cpfmulia1s0u_b_P1, { 0xf80000 }
5613   },
5614 /* cpfmulia1s0.b $crqp,$crpp,$simm8p0 */
5615   {
5616     { 0, 0, 0, 0 },
5617     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5618     & ifmt_cpfmulia1s0u_b_P1, { 0xf80010 }
5619   },
5620 /* cpfmuliua1s0.h $crqp,$crpp,$simm8p0 */
5621   {
5622     { 0, 0, 0, 0 },
5623     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5624     & ifmt_cpfmulia1s0u_b_P1, { 0xf80020 }
5625   },
5626 /* cpfmulila1s0.h $crqp,$crpp,$simm8p0 */
5627   {
5628     { 0, 0, 0, 0 },
5629     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5630     & ifmt_cpfmulia1s0u_b_P1, { 0xf80030 }
5631   },
5632 /* cpfmadia1s0u.b $crqp,$crpp,$simm8p0 */
5633   {
5634     { 0, 0, 0, 0 },
5635     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5636     & ifmt_cpfmulia1s0u_b_P1, { 0xf80040 }
5637   },
5638 /* cpfmadia1s0.b $crqp,$crpp,$simm8p0 */
5639   {
5640     { 0, 0, 0, 0 },
5641     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5642     & ifmt_cpfmulia1s0u_b_P1, { 0xf80050 }
5643   },
5644 /* cpfmadiua1s0.h $crqp,$crpp,$simm8p0 */
5645   {
5646     { 0, 0, 0, 0 },
5647     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5648     & ifmt_cpfmulia1s0u_b_P1, { 0xf80060 }
5649   },
5650 /* cpfmadila1s0.h $crqp,$crpp,$simm8p0 */
5651   {
5652     { 0, 0, 0, 0 },
5653     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5654     & ifmt_cpfmulia1s0u_b_P1, { 0xf80070 }
5655   },
5656 /* cpfmulia1s1u.b $crqp,$crpp,$simm8p0 */
5657   {
5658     { 0, 0, 0, 0 },
5659     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5660     & ifmt_cpfmulia1s0u_b_P1, { 0xf80080 }
5661   },
5662 /* cpfmulia1s1.b $crqp,$crpp,$simm8p0 */
5663   {
5664     { 0, 0, 0, 0 },
5665     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5666     & ifmt_cpfmulia1s0u_b_P1, { 0xf80090 }
5667   },
5668 /* cpfmuliua1s1.h $crqp,$crpp,$simm8p0 */
5669   {
5670     { 0, 0, 0, 0 },
5671     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5672     & ifmt_cpfmulia1s0u_b_P1, { 0xf800a0 }
5673   },
5674 /* cpfmulila1s1.h $crqp,$crpp,$simm8p0 */
5675   {
5676     { 0, 0, 0, 0 },
5677     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5678     & ifmt_cpfmulia1s0u_b_P1, { 0xf800b0 }
5679   },
5680 /* cpfmadia1s1u.b $crqp,$crpp,$simm8p0 */
5681   {
5682     { 0, 0, 0, 0 },
5683     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5684     & ifmt_cpfmulia1s0u_b_P1, { 0xf800c0 }
5685   },
5686 /* cpfmadia1s1.b $crqp,$crpp,$simm8p0 */
5687   {
5688     { 0, 0, 0, 0 },
5689     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5690     & ifmt_cpfmulia1s0u_b_P1, { 0xf800d0 }
5691   },
5692 /* cpfmadiua1s1.h $crqp,$crpp,$simm8p0 */
5693   {
5694     { 0, 0, 0, 0 },
5695     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5696     & ifmt_cpfmulia1s0u_b_P1, { 0xf800e0 }
5697   },
5698 /* cpfmadila1s1.h $crqp,$crpp,$simm8p0 */
5699   {
5700     { 0, 0, 0, 0 },
5701     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5702     & ifmt_cpfmulia1s0u_b_P1, { 0xf800f0 }
5703   },
5704 /* cpamulia1u.b $crqp,$crpp,$simm8p0 */
5705   {
5706     { 0, 0, 0, 0 },
5707     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5708     & ifmt_cpfmulia1s0u_b_P1, { 0xf80100 }
5709   },
5710 /* cpamulia1.b $crqp,$crpp,$simm8p0 */
5711   {
5712     { 0, 0, 0, 0 },
5713     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5714     & ifmt_cpfmulia1s0u_b_P1, { 0xf80110 }
5715   },
5716 /* cpamuliua1.h $crqp,$crpp,$simm8p0 */
5717   {
5718     { 0, 0, 0, 0 },
5719     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5720     & ifmt_cpfmulia1s0u_b_P1, { 0xf80120 }
5721   },
5722 /* cpamulila1.h $crqp,$crpp,$simm8p0 */
5723   {
5724     { 0, 0, 0, 0 },
5725     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5726     & ifmt_cpfmulia1s0u_b_P1, { 0xf80130 }
5727   },
5728 /* cpamadia1u.b $crqp,$crpp,$simm8p0 */
5729   {
5730     { 0, 0, 0, 0 },
5731     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5732     & ifmt_cpfmulia1s0u_b_P1, { 0xf80140 }
5733   },
5734 /* cpamadia1.b $crqp,$crpp,$simm8p0 */
5735   {
5736     { 0, 0, 0, 0 },
5737     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5738     & ifmt_cpfmulia1s0u_b_P1, { 0xf80150 }
5739   },
5740 /* cpamadiua1.h $crqp,$crpp,$simm8p0 */
5741   {
5742     { 0, 0, 0, 0 },
5743     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5744     & ifmt_cpfmulia1s0u_b_P1, { 0xf80160 }
5745   },
5746 /* cpamadila1.h $crqp,$crpp,$simm8p0 */
5747   {
5748     { 0, 0, 0, 0 },
5749     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } },
5750     & ifmt_cpfmulia1s0u_b_P1, { 0xf80170 }
5751   },
5752 /* cpfmulia1u.b $crqp,$crpp,$imm3p25,$simm8p0 */
5753   {
5754     { 0, 0, 0, 0 },
5755     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } },
5756     & ifmt_cpfmulia1u_b_P1, { 0xe00000 }
5757   },
5758 /* cpfmulia1.b $crqp,$crpp,$imm3p25,$simm8p0 */
5759   {
5760     { 0, 0, 0, 0 },
5761     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } },
5762     & ifmt_cpfmulia1u_b_P1, { 0xe00080 }
5763   },
5764 /* cpfmuliua1.h $crqp,$crpp,$imm3p25,$simm8p0 */
5765   {
5766     { 0, 0, 0, 0 },
5767     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } },
5768     & ifmt_cpfmulia1u_b_P1, { 0xe00100 }
5769   },
5770 /* cpfmulila1.h $crqp,$crpp,$imm3p25,$simm8p0 */
5771   {
5772     { 0, 0, 0, 0 },
5773     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } },
5774     & ifmt_cpfmulia1u_b_P1, { 0xe00180 }
5775   },
5776 /* cpfmadia1u.b $crqp,$crpp,$imm3p25,$simm8p0 */
5777   {
5778     { 0, 0, 0, 0 },
5779     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } },
5780     & ifmt_cpfmulia1u_b_P1, { 0xe80000 }
5781   },
5782 /* cpfmadia1.b $crqp,$crpp,$imm3p25,$simm8p0 */
5783   {
5784     { 0, 0, 0, 0 },
5785     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } },
5786     & ifmt_cpfmulia1u_b_P1, { 0xe80080 }
5787   },
5788 /* cpfmadiua1.h $crqp,$crpp,$imm3p25,$simm8p0 */
5789   {
5790     { 0, 0, 0, 0 },
5791     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } },
5792     & ifmt_cpfmulia1u_b_P1, { 0xe80100 }
5793   },
5794 /* cpfmadila1.h $crqp,$crpp,$imm3p25,$simm8p0 */
5795   {
5796     { 0, 0, 0, 0 },
5797     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } },
5798     & ifmt_cpfmulia1u_b_P1, { 0xe80180 }
5799   },
5800 /* cpssqa1u.b $crqp,$crpp */
5801   {
5802     { 0, 0, 0, 0 },
5803     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5804     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00000 }
5805   },
5806 /* cpssqa1.b $crqp,$crpp */
5807   {
5808     { 0, 0, 0, 0 },
5809     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5810     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00010 }
5811   },
5812 /* cpssda1u.b $crqp,$crpp */
5813   {
5814     { 0, 0, 0, 0 },
5815     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5816     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00040 }
5817   },
5818 /* cpssda1.b $crqp,$crpp */
5819   {
5820     { 0, 0, 0, 0 },
5821     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5822     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00050 }
5823   },
5824 /* cpmula1u.b $crqp,$crpp */
5825   {
5826     { 0, 0, 0, 0 },
5827     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5828     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00080 }
5829   },
5830 /* cpmula1.b $crqp,$crpp */
5831   {
5832     { 0, 0, 0, 0 },
5833     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5834     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00090 }
5835   },
5836 /* cpmulua1.h $crqp,$crpp */
5837   {
5838     { 0, 0, 0, 0 },
5839     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5840     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf000a0 }
5841   },
5842 /* cpmulla1.h $crqp,$crpp */
5843   {
5844     { 0, 0, 0, 0 },
5845     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5846     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf000b0 }
5847   },
5848 /* cpmulua1u.w $crqp,$crpp */
5849   {
5850     { 0, 0, 0, 0 },
5851     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5852     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf000c0 }
5853   },
5854 /* cpmulla1u.w $crqp,$crpp */
5855   {
5856     { 0, 0, 0, 0 },
5857     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5858     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf000d0 }
5859   },
5860 /* cpmulua1.w $crqp,$crpp */
5861   {
5862     { 0, 0, 0, 0 },
5863     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5864     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf000e0 }
5865   },
5866 /* cpmulla1.w $crqp,$crpp */
5867   {
5868     { 0, 0, 0, 0 },
5869     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5870     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf000f0 }
5871   },
5872 /* cpmada1u.b $crqp,$crpp */
5873   {
5874     { 0, 0, 0, 0 },
5875     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5876     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00100 }
5877   },
5878 /* cpmada1.b $crqp,$crpp */
5879   {
5880     { 0, 0, 0, 0 },
5881     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5882     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00110 }
5883   },
5884 /* cpmadua1.h $crqp,$crpp */
5885   {
5886     { 0, 0, 0, 0 },
5887     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5888     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00120 }
5889   },
5890 /* cpmadla1.h $crqp,$crpp */
5891   {
5892     { 0, 0, 0, 0 },
5893     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5894     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00130 }
5895   },
5896 /* cpmadua1u.w $crqp,$crpp */
5897   {
5898     { 0, 0, 0, 0 },
5899     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5900     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00140 }
5901   },
5902 /* cpmadla1u.w $crqp,$crpp */
5903   {
5904     { 0, 0, 0, 0 },
5905     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5906     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00150 }
5907   },
5908 /* cpmadua1.w $crqp,$crpp */
5909   {
5910     { 0, 0, 0, 0 },
5911     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5912     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00160 }
5913   },
5914 /* cpmadla1.w $crqp,$crpp */
5915   {
5916     { 0, 0, 0, 0 },
5917     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5918     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00170 }
5919   },
5920 /* cpmsbua1.h $crqp,$crpp */
5921   {
5922     { 0, 0, 0, 0 },
5923     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5924     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf001a0 }
5925   },
5926 /* cpmsbla1.h $crqp,$crpp */
5927   {
5928     { 0, 0, 0, 0 },
5929     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5930     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf001b0 }
5931   },
5932 /* cpmsbua1u.w $crqp,$crpp */
5933   {
5934     { 0, 0, 0, 0 },
5935     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5936     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf001c0 }
5937   },
5938 /* cpmsbla1u.w $crqp,$crpp */
5939   {
5940     { 0, 0, 0, 0 },
5941     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5942     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf001d0 }
5943   },
5944 /* cpmsbua1.w $crqp,$crpp */
5945   {
5946     { 0, 0, 0, 0 },
5947     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5948     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf001e0 }
5949   },
5950 /* cpmsbla1.w $crqp,$crpp */
5951   {
5952     { 0, 0, 0, 0 },
5953     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5954     & ifmt_cpcmpeqz_b_P0S_P1, { 0xf001f0 }
5955   },
5956 /* cpsmadua1.h $crqp,$crpp */
5957   {
5958     { 0, 0, 0, 0 },
5959     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5960     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f00120 }
5961   },
5962 /* cpsmadla1.h $crqp,$crpp */
5963   {
5964     { 0, 0, 0, 0 },
5965     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5966     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f00130 }
5967   },
5968 /* cpsmadua1.w $crqp,$crpp */
5969   {
5970     { 0, 0, 0, 0 },
5971     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5972     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f00160 }
5973   },
5974 /* cpsmadla1.w $crqp,$crpp */
5975   {
5976     { 0, 0, 0, 0 },
5977     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5978     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f00170 }
5979   },
5980 /* cpsmsbua1.h $crqp,$crpp */
5981   {
5982     { 0, 0, 0, 0 },
5983     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5984     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f001a0 }
5985   },
5986 /* cpsmsbla1.h $crqp,$crpp */
5987   {
5988     { 0, 0, 0, 0 },
5989     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5990     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f001b0 }
5991   },
5992 /* cpsmsbua1.w $crqp,$crpp */
5993   {
5994     { 0, 0, 0, 0 },
5995     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
5996     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f001e0 }
5997   },
5998 /* cpsmsbla1.w $crqp,$crpp */
5999   {
6000     { 0, 0, 0, 0 },
6001     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
6002     & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f001f0 }
6003   },
6004 /* cpmulslua1.h $crqp,$crpp */
6005   {
6006     { 0, 0, 0, 0 },
6007     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
6008     & ifmt_cpcmpeqz_b_P0S_P1, { 0x2f000a0 }
6009   },
6010 /* cpmulslla1.h $crqp,$crpp */
6011   {
6012     { 0, 0, 0, 0 },
6013     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
6014     & ifmt_cpcmpeqz_b_P0S_P1, { 0x2f000b0 }
6015   },
6016 /* cpmulslua1.w $crqp,$crpp */
6017   {
6018     { 0, 0, 0, 0 },
6019     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
6020     & ifmt_cpcmpeqz_b_P0S_P1, { 0x2f000e0 }
6021   },
6022 /* cpmulslla1.w $crqp,$crpp */
6023   {
6024     { 0, 0, 0, 0 },
6025     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
6026     & ifmt_cpcmpeqz_b_P0S_P1, { 0x2f000f0 }
6027   },
6028 /* cpsmadslua1.h $crqp,$crpp */
6029   {
6030     { 0, 0, 0, 0 },
6031     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
6032     & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f00120 }
6033   },
6034 /* cpsmadslla1.h $crqp,$crpp */
6035   {
6036     { 0, 0, 0, 0 },
6037     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
6038     & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f00130 }
6039   },
6040 /* cpsmadslua1.w $crqp,$crpp */
6041   {
6042     { 0, 0, 0, 0 },
6043     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
6044     & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f00160 }
6045   },
6046 /* cpsmadslla1.w $crqp,$crpp */
6047   {
6048     { 0, 0, 0, 0 },
6049     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
6050     & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f00170 }
6051   },
6052 /* cpsmsbslua1.h $crqp,$crpp */
6053   {
6054     { 0, 0, 0, 0 },
6055     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
6056     & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f001a0 }
6057   },
6058 /* cpsmsbslla1.h $crqp,$crpp */
6059   {
6060     { 0, 0, 0, 0 },
6061     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
6062     & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f001b0 }
6063   },
6064 /* cpsmsbslua1.w $crqp,$crpp */
6065   {
6066     { 0, 0, 0, 0 },
6067     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
6068     & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f001e0 }
6069   },
6070 /* cpsmsbslla1.w $crqp,$crpp */
6071   {
6072     { 0, 0, 0, 0 },
6073     { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } },
6074     & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f001f0 }
6075   },
6076 };
6077
6078 #undef A
6079 #undef OPERAND
6080 #undef MNEM
6081 #undef OP
6082
6083 /* Formats for ALIAS macro-insns.  */
6084
6085 #define F(f) & mep_cgen_ifld_table[MEP_##f]
6086 static const CGEN_IFMT ifmt_nop ATTRIBUTE_UNUSED = {
6087   16, 16, 0xffff, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
6088 };
6089
6090 static const CGEN_IFMT ifmt_sb16_0 ATTRIBUTE_UNUSED = {
6091   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
6092 };
6093
6094 static const CGEN_IFMT ifmt_sh16_0 ATTRIBUTE_UNUSED = {
6095   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
6096 };
6097
6098 static const CGEN_IFMT ifmt_sw16_0 ATTRIBUTE_UNUSED = {
6099   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
6100 };
6101
6102 static const CGEN_IFMT ifmt_lb16_0 ATTRIBUTE_UNUSED = {
6103   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
6104 };
6105
6106 static const CGEN_IFMT ifmt_lh16_0 ATTRIBUTE_UNUSED = {
6107   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
6108 };
6109
6110 static const CGEN_IFMT ifmt_lw16_0 ATTRIBUTE_UNUSED = {
6111   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
6112 };
6113
6114 static const CGEN_IFMT ifmt_lbu16_0 ATTRIBUTE_UNUSED = {
6115   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
6116 };
6117
6118 static const CGEN_IFMT ifmt_lhu16_0 ATTRIBUTE_UNUSED = {
6119   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
6120 };
6121
6122 static const CGEN_IFMT ifmt_swcp16_0 ATTRIBUTE_UNUSED = {
6123   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_CRN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
6124 };
6125
6126 static const CGEN_IFMT ifmt_lwcp16_0 ATTRIBUTE_UNUSED = {
6127   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_CRN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
6128 };
6129
6130 static const CGEN_IFMT ifmt_smcp16_0 ATTRIBUTE_UNUSED = {
6131   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_CRN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
6132 };
6133
6134 static const CGEN_IFMT ifmt_lmcp16_0 ATTRIBUTE_UNUSED = {
6135   16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_CRN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } }
6136 };
6137
6138 #undef F
6139
6140 /* Each non-simple macro entry points to an array of expansion possibilities.  */
6141
6142 #define A(a) (1 << CGEN_INSN_##a)
6143 #define OPERAND(op) MEP_OPERAND_##op
6144 #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
6145 #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
6146
6147 /* The macro instruction table.  */
6148
6149 static const CGEN_IBASE mep_cgen_macro_insn_table[] =
6150 {
6151 /* nop */
6152   {
6153     -1, "nop", "nop", 16,
6154     { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { CPTYPE_CP_DATA_BUS_INT, 0 } }, { { CRET_VOID, 0 } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } }, { { (1<<SLOTS_CORE), 0 } } } }
6155   },
6156 /* sb $rnc,$zero($rma) */
6157   {
6158     -1, "sb16-0", "sb", 16,
6159     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } }, { { CPTYPE_CP_DATA_BUS_INT, 0 } }, { { CRET_VOID, 0 } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } }, { { (1<<SLOTS_CORE), 0 } } } }
6160   },
6161 /* sh $rns,$zero($rma) */
6162   {
6163     -1, "sh16-0", "sh", 16,
6164     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } }, { { CPTYPE_CP_DATA_BUS_INT, 0 } }, { { CRET_VOID, 0 } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } }, { { (1<<SLOTS_CORE), 0 } } } }
6165   },
6166 /* sw $rnl,$zero($rma) */
6167   {
6168     -1, "sw16-0", "sw", 16,
6169     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } }, { { CPTYPE_CP_DATA_BUS_INT, 0 } }, { { CRET_VOID, 0 } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } }, { { (1<<SLOTS_CORE), 0 } } } }
6170   },
6171 /* lb $rnc,$zero($rma) */
6172   {
6173     -1, "lb16-0", "lb", 16,
6174     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } }, { { CPTYPE_CP_DATA_BUS_INT, 0 } }, { { CRET_VOID, 0 } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } }, { { (1<<SLOTS_CORE), 0 } } } }
6175   },
6176 /* lh $rns,$zero($rma) */
6177   {
6178     -1, "lh16-0", "lh", 16,
6179     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } }, { { CPTYPE_CP_DATA_BUS_INT, 0 } }, { { CRET_VOID, 0 } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } }, { { (1<<SLOTS_CORE), 0 } } } }
6180   },
6181 /* lw $rnl,$zero($rma) */
6182   {
6183     -1, "lw16-0", "lw", 16,
6184     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } }, { { CPTYPE_CP_DATA_BUS_INT, 0 } }, { { CRET_VOID, 0 } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } }, { { (1<<SLOTS_CORE), 0 } } } }
6185   },
6186 /* lbu $rnuc,$zero($rma) */
6187   {
6188     -1, "lbu16-0", "lbu", 16,
6189     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } }, { { CPTYPE_CP_DATA_BUS_INT, 0 } }, { { CRET_VOID, 0 } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } }, { { (1<<SLOTS_CORE), 0 } } } }
6190   },
6191 /* lhu $rnus,$zero($rma) */
6192   {
6193     -1, "lhu16-0", "lhu", 16,
6194     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } }, { { CPTYPE_CP_DATA_BUS_INT, 0 } }, { { CRET_VOID, 0 } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } }, { { (1<<SLOTS_CORE), 0 } } } }
6195   },
6196 /* swcp $crn,$zero($rma) */
6197   {
6198     -1, "swcp16-0", "swcp", 16,
6199     { 0|A(NO_DIS)|A(OPTIONAL_CP_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } }, { { CPTYPE_CP_DATA_BUS_INT, 0 } }, { { CRET_VOID, 0 } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } }, { { (1<<SLOTS_CORE), 0 } } } }
6200   },
6201 /* lwcp $crn,$zero($rma) */
6202   {
6203     -1, "lwcp16-0", "lwcp", 16,
6204     { 0|A(NO_DIS)|A(OPTIONAL_CP_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } }, { { CPTYPE_CP_DATA_BUS_INT, 0 } }, { { CRET_VOID, 0 } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } }, { { (1<<SLOTS_CORE), 0 } } } }
6205   },
6206 /* smcp $crn64,$zero($rma) */
6207   {
6208     -1, "smcp16-0", "smcp", 16,
6209     { 0|A(NO_DIS)|A(OPTIONAL_CP64_INSN)|A(OPTIONAL_CP_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } }, { { CPTYPE_CP_DATA_BUS_INT, 0 } }, { { CRET_VOID, 0 } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } }, { { (1<<SLOTS_CORE), 0 } } } }
6210   },
6211 /* lmcp $crn64,$zero($rma) */
6212   {
6213     -1, "lmcp16-0", "lmcp", 16,
6214     { 0|A(NO_DIS)|A(OPTIONAL_CP64_INSN)|A(OPTIONAL_CP_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } }, { { CPTYPE_CP_DATA_BUS_INT, 0 } }, { { CRET_VOID, 0 } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } }, { { (1<<SLOTS_CORE), 0 } } } }
6215   },
6216 };
6217
6218 /* The macro instruction opcode table.  */
6219
6220 static const CGEN_OPCODE mep_cgen_macro_insn_opcode_table[] =
6221 {
6222 /* nop */
6223   {
6224     { 0, 0, 0, 0 },
6225     { { MNEM, 0 } },
6226     & ifmt_nop, { 0x0 }
6227   },
6228 /* sb $rnc,$zero($rma) */
6229   {
6230     { 0, 0, 0, 0 },
6231     { { MNEM, ' ', OP (RNC), ',', OP (ZERO), '(', OP (RMA), ')', 0 } },
6232     & ifmt_sb16_0, { 0x8 }
6233   },
6234 /* sh $rns,$zero($rma) */
6235   {
6236     { 0, 0, 0, 0 },
6237     { { MNEM, ' ', OP (RNS), ',', OP (ZERO), '(', OP (RMA), ')', 0 } },
6238     & ifmt_sh16_0, { 0x9 }
6239   },
6240 /* sw $rnl,$zero($rma) */
6241   {
6242     { 0, 0, 0, 0 },
6243     { { MNEM, ' ', OP (RNL), ',', OP (ZERO), '(', OP (RMA), ')', 0 } },
6244     & ifmt_sw16_0, { 0xa }
6245   },
6246 /* lb $rnc,$zero($rma) */
6247   {
6248     { 0, 0, 0, 0 },
6249     { { MNEM, ' ', OP (RNC), ',', OP (ZERO), '(', OP (RMA), ')', 0 } },
6250     & ifmt_lb16_0, { 0xc }
6251   },
6252 /* lh $rns,$zero($rma) */
6253   {
6254     { 0, 0, 0, 0 },
6255     { { MNEM, ' ', OP (RNS), ',', OP (ZERO), '(', OP (RMA), ')', 0 } },
6256     & ifmt_lh16_0, { 0xd }
6257   },
6258 /* lw $rnl,$zero($rma) */
6259   {
6260     { 0, 0, 0, 0 },
6261     { { MNEM, ' ', OP (RNL), ',', OP (ZERO), '(', OP (RMA), ')', 0 } },
6262     & ifmt_lw16_0, { 0xe }
6263   },
6264 /* lbu $rnuc,$zero($rma) */
6265   {
6266     { 0, 0, 0, 0 },
6267     { { MNEM, ' ', OP (RNUC), ',', OP (ZERO), '(', OP (RMA), ')', 0 } },
6268     & ifmt_lbu16_0, { 0xb }
6269   },
6270 /* lhu $rnus,$zero($rma) */
6271   {
6272     { 0, 0, 0, 0 },
6273     { { MNEM, ' ', OP (RNUS), ',', OP (ZERO), '(', OP (RMA), ')', 0 } },
6274     & ifmt_lhu16_0, { 0xf }
6275   },
6276 /* swcp $crn,$zero($rma) */
6277   {
6278     { 0, 0, 0, 0 },
6279     { { MNEM, ' ', OP (CRN), ',', OP (ZERO), '(', OP (RMA), ')', 0 } },
6280     & ifmt_swcp16_0, { 0x3008 }
6281   },
6282 /* lwcp $crn,$zero($rma) */
6283   {
6284     { 0, 0, 0, 0 },
6285     { { MNEM, ' ', OP (CRN), ',', OP (ZERO), '(', OP (RMA), ')', 0 } },
6286     & ifmt_lwcp16_0, { 0x3009 }
6287   },
6288 /* smcp $crn64,$zero($rma) */
6289   {
6290     { 0, 0, 0, 0 },
6291     { { MNEM, ' ', OP (CRN64), ',', OP (ZERO), '(', OP (RMA), ')', 0 } },
6292     & ifmt_smcp16_0, { 0x300a }
6293   },
6294 /* lmcp $crn64,$zero($rma) */
6295   {
6296     { 0, 0, 0, 0 },
6297     { { MNEM, ' ', OP (CRN64), ',', OP (ZERO), '(', OP (RMA), ')', 0 } },
6298     & ifmt_lmcp16_0, { 0x300b }
6299   },
6300 };
6301
6302 #undef A
6303 #undef OPERAND
6304 #undef MNEM
6305 #undef OP
6306
6307 #ifndef CGEN_ASM_HASH_P
6308 #define CGEN_ASM_HASH_P(insn) 1
6309 #endif
6310
6311 #ifndef CGEN_DIS_HASH_P
6312 #define CGEN_DIS_HASH_P(insn) 1
6313 #endif
6314
6315 /* Return non-zero if INSN is to be added to the hash table.
6316    Targets are free to override CGEN_{ASM,DIS}_HASH_P in the .opc file.  */
6317
6318 static int
6319 asm_hash_insn_p (insn)
6320      const CGEN_INSN *insn ATTRIBUTE_UNUSED;
6321 {
6322   return CGEN_ASM_HASH_P (insn);
6323 }
6324
6325 static int
6326 dis_hash_insn_p (insn)
6327      const CGEN_INSN *insn;
6328 {
6329   /* If building the hash table and the NO-DIS attribute is present,
6330      ignore.  */
6331   if (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_NO_DIS))
6332     return 0;
6333   return CGEN_DIS_HASH_P (insn);
6334 }
6335
6336 #ifndef CGEN_ASM_HASH
6337 #define CGEN_ASM_HASH_SIZE 127
6338 #ifdef CGEN_MNEMONIC_OPERANDS
6339 #define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE)
6340 #else
6341 #define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE) /*FIXME*/
6342 #endif
6343 #endif
6344
6345 /* It doesn't make much sense to provide a default here,
6346    but while this is under development we do.
6347    BUFFER is a pointer to the bytes of the insn, target order.
6348    VALUE is the first base_insn_bitsize bits as an int in host order.  */
6349
6350 #ifndef CGEN_DIS_HASH
6351 #define CGEN_DIS_HASH_SIZE 256
6352 #define CGEN_DIS_HASH(buf, value) (*(unsigned char *) (buf))
6353 #endif
6354
6355 /* The result is the hash value of the insn.
6356    Targets are free to override CGEN_{ASM,DIS}_HASH in the .opc file.  */
6357
6358 static unsigned int
6359 asm_hash_insn (mnem)
6360      const char * mnem;
6361 {
6362   return CGEN_ASM_HASH (mnem);
6363 }
6364
6365 /* BUF is a pointer to the bytes of the insn, target order.
6366    VALUE is the first base_insn_bitsize bits as an int in host order.  */
6367
6368 static unsigned int
6369 dis_hash_insn (buf, value)
6370      const char * buf ATTRIBUTE_UNUSED;
6371      CGEN_INSN_INT value ATTRIBUTE_UNUSED;
6372 {
6373   return CGEN_DIS_HASH (buf, value);
6374 }
6375
6376 /* Set the recorded length of the insn in the CGEN_FIELDS struct.  */
6377
6378 static void
6379 set_fields_bitsize (CGEN_FIELDS *fields, int size)
6380 {
6381   CGEN_FIELDS_BITSIZE (fields) = size;
6382 }
6383
6384 /* Function to call before using the operand instance table.
6385    This plugs the opcode entries and macro instructions into the cpu table.  */
6386
6387 void
6388 mep_cgen_init_opcode_table (CGEN_CPU_DESC cd)
6389 {
6390   int i;
6391   int num_macros = (sizeof (mep_cgen_macro_insn_table) /
6392                     sizeof (mep_cgen_macro_insn_table[0]));
6393   const CGEN_IBASE *ib = & mep_cgen_macro_insn_table[0];
6394   const CGEN_OPCODE *oc = & mep_cgen_macro_insn_opcode_table[0];
6395   CGEN_INSN *insns = xmalloc (num_macros * sizeof (CGEN_INSN));
6396
6397   /* This test has been added to avoid a warning generated
6398      if memset is called with a third argument of value zero.  */
6399   if (num_macros >= 1)
6400     memset (insns, 0, num_macros * sizeof (CGEN_INSN));
6401   for (i = 0; i < num_macros; ++i)
6402     {
6403       insns[i].base = &ib[i];
6404       insns[i].opcode = &oc[i];
6405       mep_cgen_build_insn_regex (& insns[i]);
6406     }
6407   cd->macro_insn_table.init_entries = insns;
6408   cd->macro_insn_table.entry_size = sizeof (CGEN_IBASE);
6409   cd->macro_insn_table.num_init_entries = num_macros;
6410
6411   oc = & mep_cgen_insn_opcode_table[0];
6412   insns = (CGEN_INSN *) cd->insn_table.init_entries;
6413   for (i = 0; i < MAX_INSNS; ++i)
6414     {
6415       insns[i].opcode = &oc[i];
6416       mep_cgen_build_insn_regex (& insns[i]);
6417     }
6418
6419   cd->sizeof_fields = sizeof (CGEN_FIELDS);
6420   cd->set_fields_bitsize = set_fields_bitsize;
6421
6422   cd->asm_hash_p = asm_hash_insn_p;
6423   cd->asm_hash = asm_hash_insn;
6424   cd->asm_hash_size = CGEN_ASM_HASH_SIZE;
6425
6426   cd->dis_hash_p = dis_hash_insn_p;
6427   cd->dis_hash = dis_hash_insn;
6428   cd->dis_hash_size = CGEN_DIS_HASH_SIZE;
6429 }