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