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