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