ld: Fix issue where PROVIDE overrides defined symbol
[external/binutils.git] / opcodes / mep-opc.c
1 /* DO NOT EDIT!  -*- buffer-read-only: t -*- vi:set ro:  */
2 /* Instruction opcode table for mep.
3
4 THIS FILE IS MACHINE GENERATED WITH CGEN.
5
6 Copyright (C) 1996-2018 Free Software Foundation, Inc.
7
8 This 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. */
38 CGEN_ATTR_VALUE_BITSET_TYPE mep_all_core_isas_mask = {0, 0};
39
40 void
41 init_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
52 CGEN_ATTR_VALUE_BITSET_TYPE mep_all_cop_isas_mask = {0, 0};
53
54 void
55 init_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
68 int
69 mep_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
92 mep_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
114 int mep_config_index = 0;
115
116 static int
117 check_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
140 int
141 mep_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
168 int
169 mep_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
184 static int asm_hash_insn_p        (const CGEN_INSN *);
185 static unsigned int asm_hash_insn (const char *);
186 static int dis_hash_insn_p        (const CGEN_INSN *);
187 static 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]
192 static const CGEN_IFMT ifmt_empty ATTRIBUTE_UNUSED = {
193   0, 0, 0x0, { { 0 } }
194 };
195
196 static 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
200 static 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
204 static 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
208 static 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
212 static 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
216 static 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
220 static 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
224 static 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
228 static 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
232 static const CGEN_IFMT ifmt_dsp0 ATTRIBUTE_UNUSED = {
233   32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_C5_RNMUIMM24) }, { F (F_SUB4) }, { 0 } }
234 };
235
236 static 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
240 static 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
244 static 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
248 static 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
252 static 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
256 static 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
260 static 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
264 static 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
268 static 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
272 static 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
276 static 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
280 static 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
284 static 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
288 static 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
292 static 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
296 static 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
300 static 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
304 static 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
308 static 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
312 static 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
316 static 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
320 static const CGEN_IFMT ifmt_movi8 ATTRIBUTE_UNUSED = {
321   16, 16, 0xf000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_8S8) }, { 0 } }
322 };
323
324 static 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
328 static 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
332 static 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
336 static 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
340 static 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
344 static 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
348 static 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
352 static const CGEN_IFMT ifmt_bra ATTRIBUTE_UNUSED = {
353   16, 16, 0xf001, { { F (F_MAJOR) }, { F (F_12S4A2) }, { F (F_15) }, { 0 } }
354 };
355
356 static 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
360 static 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
364 static 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
368 static 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
372 static 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
376 static 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
380 static 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
384 static 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
388 static 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
392 static 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
396 static 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
400 static 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
404 static 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
408 static 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
412 static 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
416 static 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
420 static 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
424 static 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
428 static 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
432 static 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
436 static 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
440 static 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
444 static 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
448 static 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
452 static 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
456 static 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
460 static 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
464 static 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
468 static 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
472 static 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
476 static 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
480 static 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
484 static 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
488 static 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
492 static 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
496 static 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
500 static 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
504 static 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
508 static 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
512 static 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
516 static 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
520 static 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
524 static 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
528 static 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
532 static 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
536 static 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
540 static 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
544 static 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
548 static 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
552 static 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
556 static 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
560 static 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
564 static 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
568 static 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
572 static 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
576 static 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
580 static 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
593 static 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]
6087 static 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
6091 static 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
6095 static 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
6099 static 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
6103 static 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
6107 static 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
6111 static 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
6115 static 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
6119 static 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
6123 static 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
6127 static 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
6131 static 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
6135 static 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
6150 static 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
6221 static 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
6319 static int
6320 asm_hash_insn_p (const CGEN_INSN *insn ATTRIBUTE_UNUSED)
6321 {
6322   return CGEN_ASM_HASH_P (insn);
6323 }
6324
6325 static int
6326 dis_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
6357 static unsigned int
6358 asm_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
6366 static unsigned int
6367 dis_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
6375 static void
6376 set_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
6384 void
6385 mep_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 }