gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / opcodes / epiphany-opc.c
CommitLineData
4162bb66 1/* DO NOT EDIT! -*- buffer-read-only: t -*- vi:set ro: */
cfb8c092
NC
2/* Instruction opcode table for epiphany.
3
4THIS FILE IS MACHINE GENERATED WITH CGEN.
5
b3adc24a 6Copyright (C) 1996-2020 Free Software Foundation, Inc.
cfb8c092
NC
7
8This file is part of the GNU Binutils and/or GDB, the GNU debugger.
9
10 This file is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 3, or (at your option)
13 any later version.
14
15 It is distributed in the hope that it will be useful, but WITHOUT
16 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
18 License for more details.
19
20 You should have received a copy of the GNU General Public License along
21 with this program; if not, write to the Free Software Foundation, Inc.,
22 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
23
24*/
25
26#include "sysdep.h"
27#include "ansidecl.h"
28#include "bfd.h"
29#include "symcat.h"
30#include "epiphany-desc.h"
31#include "epiphany-opc.h"
32#include "libiberty.h"
33
34/* -- opc.c */
35
36
37\f
38/* -- asm.c */
39/* The hash functions are recorded here to help keep assembler code out of
40 the disassembler and vice versa. */
41
42static int asm_hash_insn_p (const CGEN_INSN *);
43static unsigned int asm_hash_insn (const char *);
44static int dis_hash_insn_p (const CGEN_INSN *);
45static unsigned int dis_hash_insn (const char *, CGEN_INSN_INT);
46
47/* Instruction formats. */
48
49#define F(f) & epiphany_cgen_ifld_table[EPIPHANY_##f]
50static const CGEN_IFMT ifmt_empty ATTRIBUTE_UNUSED = {
51 0, 0, 0x0, { { 0 } }
52};
53
54static const CGEN_IFMT ifmt_beq16 ATTRIBUTE_UNUSED = {
55 16, 16, 0xff, { { F (F_SIMM8) }, { F (F_CONDCODE) }, { F (F_OPC) }, { 0 } }
56};
57
58static const CGEN_IFMT ifmt_beq ATTRIBUTE_UNUSED = {
59 32, 32, 0xff, { { F (F_SIMM24) }, { F (F_CONDCODE) }, { F (F_OPC) }, { 0 } }
60};
61
62static const CGEN_IFMT ifmt_jr16 ATTRIBUTE_UNUSED = {
63 16, 16, 0xe3ff, { { F (F_DC_15_3) }, { F (F_RN) }, { F (F_DC_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
64};
65
66static const CGEN_IFMT ifmt_rts ATTRIBUTE_UNUSED = {
67 32, 32, 0xffffffff, { { F (F_DC_31_3) }, { F (F_RN_X) }, { F (F_DC_25_6) }, { F (F_OPC_19_4) }, { F (F_DC_15_3) }, { F (F_RN) }, { F (F_DC_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
68};
69
70static const CGEN_IFMT ifmt_jr ATTRIBUTE_UNUSED = {
71 32, 32, 0xe3ffe3ff, { { F (F_DC_31_3) }, { F (F_DC_25_6) }, { F (F_OPC_19_4) }, { F (F_DC_15_3) }, { F (F_RN6) }, { F (F_DC_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
72};
73
74static const CGEN_IFMT ifmt_ldrbx16_s ATTRIBUTE_UNUSED = {
75 16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC) }, { 0 } }
76};
77
78static const CGEN_IFMT ifmt_ldrbx_l ATTRIBUTE_UNUSED = {
79 32, 32, 0x6f007f, { { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_ADDSUBX) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC) }, { 0 } }
80};
81
82static const CGEN_IFMT ifmt_ldrbp_l ATTRIBUTE_UNUSED = {
83 32, 32, 0x6f007f, { { F (F_DC_22_2) }, { F (F_ADDSUBX) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC) }, { 0 } }
84};
85
86static const CGEN_IFMT ifmt_ldrbd16_s ATTRIBUTE_UNUSED = {
87 16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC) }, { 0 } }
88};
89
90static const CGEN_IFMT ifmt_ldrbd_l ATTRIBUTE_UNUSED = {
91 32, 32, 0x200007f, { { F (F_PM) }, { F (F_SUBD) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_DISP11) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC) }, { 0 } }
92};
93
94static const CGEN_IFMT ifmt_cmov16EQ ATTRIBUTE_UNUSED = {
95 16, 16, 0x3ff, { { F (F_RD) }, { F (F_RN) }, { F (F_DC_9_1) }, { F (F_OPC_8_1) }, { F (F_CONDCODE) }, { F (F_OPC) }, { 0 } }
96};
97
98static const CGEN_IFMT ifmt_cmovEQ ATTRIBUTE_UNUSED = {
99 32, 32, 0x3ff03ff, { { F (F_DC_25_6) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_DC_9_1) }, { F (F_OPC_8_1) }, { F (F_CONDCODE) }, { F (F_OPC) }, { 0 } }
100};
101
102static const CGEN_IFMT ifmt_movts16 ATTRIBUTE_UNUSED = {
103 16, 16, 0x3ff, { { F (F_RD) }, { F (F_SN) }, { F (F_DC_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
104};
105
106static const CGEN_IFMT ifmt_movts6 ATTRIBUTE_UNUSED = {
107 32, 32, 0x3ff03ff, { { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_SN6) }, { F (F_DC_9_1) }, { F (F_OPC_8_1) }, { F (F_DC_7_4) }, { F (F_OPC) }, { 0 } }
108};
109
110static const CGEN_IFMT ifmt_movtsdma ATTRIBUTE_UNUSED = {
111 32, 32, 0x3ff03ff, { { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_SN6) }, { F (F_DC_9_1) }, { F (F_OPC_8_1) }, { F (F_DC_7_4) }, { F (F_OPC) }, { 0 } }
112};
113
114static const CGEN_IFMT ifmt_movtsmem ATTRIBUTE_UNUSED = {
115 32, 32, 0x3ff03ff, { { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_SN6) }, { F (F_DC_9_1) }, { F (F_OPC_8_1) }, { F (F_DC_7_4) }, { F (F_OPC) }, { 0 } }
116};
117
118static const CGEN_IFMT ifmt_movtsmesh ATTRIBUTE_UNUSED = {
119 32, 32, 0x3ff03ff, { { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_SN6) }, { F (F_DC_9_1) }, { F (F_OPC_8_1) }, { F (F_DC_7_4) }, { F (F_OPC) }, { 0 } }
120};
121
122static const CGEN_IFMT ifmt_nop ATTRIBUTE_UNUSED = {
123 16, 16, 0xffff, { { F (F_DC_15_7) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
124};
125
126static const CGEN_IFMT ifmt_unimpl ATTRIBUTE_UNUSED = {
127 32, 32, 0xffffffff, { { F (F_OPC_31_32) }, { 0 } }
128};
129
130static const CGEN_IFMT ifmt_gien ATTRIBUTE_UNUSED = {
131 16, 16, 0xffff, { { F (F_DC_15_6) }, { F (F_GIEN_GIDIS_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
132};
133
134static const CGEN_IFMT ifmt_swi_num ATTRIBUTE_UNUSED = {
135 16, 16, 0x3ff, { { F (F_TRAP_NUM) }, { F (F_TRAP_SWI_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
136};
137
138static const CGEN_IFMT ifmt_swi ATTRIBUTE_UNUSED = {
139 16, 16, 0xffff, { { F (F_DC_15_6) }, { F (F_TRAP_SWI_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
140};
141
142static const CGEN_IFMT ifmt_trap16 ATTRIBUTE_UNUSED = {
143 16, 16, 0x3ff, { { F (F_TRAP_NUM) }, { F (F_TRAP_SWI_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
144};
145
146static const CGEN_IFMT ifmt_add16 ATTRIBUTE_UNUSED = {
147 16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
148};
149
150static const CGEN_IFMT ifmt_add ATTRIBUTE_UNUSED = {
151 32, 32, 0x7f007f, { { F (F_DC_22_3) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
152};
153
154static const CGEN_IFMT ifmt_addi16 ATTRIBUTE_UNUSED = {
155 16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_SDISP3) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
156};
157
158static const CGEN_IFMT ifmt_addi ATTRIBUTE_UNUSED = {
159 32, 32, 0x300007f, { { F (F_DC_25_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SDISP11) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
160};
161
162static const CGEN_IFMT ifmt_lsri16 ATTRIBUTE_UNUSED = {
163 16, 16, 0x1f, { { F (F_RD) }, { F (F_RN) }, { F (F_SHIFT) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
164};
165
166static const CGEN_IFMT ifmt_lsri32 ATTRIBUTE_UNUSED = {
167 32, 32, 0x3ff001f, { { F (F_DC_25_6) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SHIFT) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
168};
169
170static const CGEN_IFMT ifmt_bitr16 ATTRIBUTE_UNUSED = {
171 16, 16, 0x3ff, { { F (F_RD) }, { F (F_RN) }, { F (F_SHIFT) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
172};
173
174static const CGEN_IFMT ifmt_bitr ATTRIBUTE_UNUSED = {
175 32, 32, 0x3ff03ff, { { F (F_DC_25_6) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SHIFT) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
176};
177
178static const CGEN_IFMT ifmt_fext ATTRIBUTE_UNUSED = {
179 32, 32, 0x7f007f, { { F (F_DC_22_2) }, { F (F_DC_20_1) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
180};
181
182static const CGEN_IFMT ifmt_mov8 ATTRIBUTE_UNUSED = {
183 16, 16, 0x1f, { { F (F_RD) }, { F (F_IMM8) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
184};
185
186static const CGEN_IFMT ifmt_mov16 ATTRIBUTE_UNUSED = {
187 32, 32, 0x100f001f, { { F (F_DC_28_1) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_IMM16) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
188};
189
190static const CGEN_IFMT ifmt_f_absf16 ATTRIBUTE_UNUSED = {
191 16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_RN) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
192};
193
194static const CGEN_IFMT ifmt_f_absf32 ATTRIBUTE_UNUSED = {
195 32, 32, 0x7f007f, { { F (F_DC_22_3) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RN6) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
196};
197
198static const CGEN_IFMT ifmt_f_loatf16 ATTRIBUTE_UNUSED = {
199 16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_RN) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
200};
201
202static const CGEN_IFMT ifmt_f_recipf32 ATTRIBUTE_UNUSED = {
203 32, 32, 0x7f007f, { { F (F_DC_22_2) }, { F (F_DC_20_1) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RN6) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
204};
205
206#undef F
207
208#define A(a) (1 << CGEN_INSN_##a)
209#define OPERAND(op) EPIPHANY_OPERAND_##op
210#define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
211#define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
212
213/* The instruction table. */
214
215static const CGEN_OPCODE epiphany_cgen_insn_opcode_table[MAX_INSNS] =
216{
217 /* Special null first entry.
218 A `num' value of zero is thus invalid.
219 Also, the special `invalid' insn resides here. */
220 { { 0, 0, 0, 0 }, {{0}}, 0, {0}},
221/* beq.s $simm8 */
222 {
223 { 0, 0, 0, 0 },
224 { { MNEM, ' ', OP (SIMM8), 0 } },
225 & ifmt_beq16, { 0x0 }
226 },
227/* beq.l $simm24 */
228 {
229 { 0, 0, 0, 0 },
230 { { MNEM, ' ', OP (SIMM24), 0 } },
231 & ifmt_beq, { 0x8 }
232 },
233/* bne.s $simm8 */
234 {
235 { 0, 0, 0, 0 },
236 { { MNEM, ' ', OP (SIMM8), 0 } },
237 & ifmt_beq16, { 0x10 }
238 },
239/* bne.l $simm24 */
240 {
241 { 0, 0, 0, 0 },
242 { { MNEM, ' ', OP (SIMM24), 0 } },
243 & ifmt_beq, { 0x18 }
244 },
245/* bgtu.s $simm8 */
246 {
247 { 0, 0, 0, 0 },
248 { { MNEM, ' ', OP (SIMM8), 0 } },
249 & ifmt_beq16, { 0x20 }
250 },
251/* bgtu.l $simm24 */
252 {
253 { 0, 0, 0, 0 },
254 { { MNEM, ' ', OP (SIMM24), 0 } },
255 & ifmt_beq, { 0x28 }
256 },
257/* bgteu.s $simm8 */
258 {
259 { 0, 0, 0, 0 },
260 { { MNEM, ' ', OP (SIMM8), 0 } },
261 & ifmt_beq16, { 0x30 }
262 },
263/* bgteu.l $simm24 */
264 {
265 { 0, 0, 0, 0 },
266 { { MNEM, ' ', OP (SIMM24), 0 } },
267 & ifmt_beq, { 0x38 }
268 },
269/* blteu.s $simm8 */
270 {
271 { 0, 0, 0, 0 },
272 { { MNEM, ' ', OP (SIMM8), 0 } },
273 & ifmt_beq16, { 0x40 }
274 },
275/* blteu.l $simm24 */
276 {
277 { 0, 0, 0, 0 },
278 { { MNEM, ' ', OP (SIMM24), 0 } },
279 & ifmt_beq, { 0x48 }
280 },
281/* bltu.s $simm8 */
282 {
283 { 0, 0, 0, 0 },
284 { { MNEM, ' ', OP (SIMM8), 0 } },
285 & ifmt_beq16, { 0x50 }
286 },
287/* bltu.l $simm24 */
288 {
289 { 0, 0, 0, 0 },
290 { { MNEM, ' ', OP (SIMM24), 0 } },
291 & ifmt_beq, { 0x58 }
292 },
293/* bgt.s $simm8 */
294 {
295 { 0, 0, 0, 0 },
296 { { MNEM, ' ', OP (SIMM8), 0 } },
297 & ifmt_beq16, { 0x60 }
298 },
299/* bgt.l $simm24 */
300 {
301 { 0, 0, 0, 0 },
302 { { MNEM, ' ', OP (SIMM24), 0 } },
303 & ifmt_beq, { 0x68 }
304 },
305/* bgte.s $simm8 */
306 {
307 { 0, 0, 0, 0 },
308 { { MNEM, ' ', OP (SIMM8), 0 } },
309 & ifmt_beq16, { 0x70 }
310 },
311/* bgte.l $simm24 */
312 {
313 { 0, 0, 0, 0 },
314 { { MNEM, ' ', OP (SIMM24), 0 } },
315 & ifmt_beq, { 0x78 }
316 },
317/* blt.s $simm8 */
318 {
319 { 0, 0, 0, 0 },
320 { { MNEM, ' ', OP (SIMM8), 0 } },
321 & ifmt_beq16, { 0x80 }
322 },
323/* blt.l $simm24 */
324 {
325 { 0, 0, 0, 0 },
326 { { MNEM, ' ', OP (SIMM24), 0 } },
327 & ifmt_beq, { 0x88 }
328 },
329/* blte.s $simm8 */
330 {
331 { 0, 0, 0, 0 },
332 { { MNEM, ' ', OP (SIMM8), 0 } },
333 & ifmt_beq16, { 0x90 }
334 },
335/* blte.l $simm24 */
336 {
337 { 0, 0, 0, 0 },
338 { { MNEM, ' ', OP (SIMM24), 0 } },
339 & ifmt_beq, { 0x98 }
340 },
341/* bbeq.s $simm8 */
342 {
343 { 0, 0, 0, 0 },
344 { { MNEM, ' ', OP (SIMM8), 0 } },
345 & ifmt_beq16, { 0xa0 }
346 },
347/* bbeq.l $simm24 */
348 {
349 { 0, 0, 0, 0 },
350 { { MNEM, ' ', OP (SIMM24), 0 } },
351 & ifmt_beq, { 0xa8 }
352 },
353/* bbne.s $simm8 */
354 {
355 { 0, 0, 0, 0 },
356 { { MNEM, ' ', OP (SIMM8), 0 } },
357 & ifmt_beq16, { 0xb0 }
358 },
359/* bbne.l $simm24 */
360 {
361 { 0, 0, 0, 0 },
362 { { MNEM, ' ', OP (SIMM24), 0 } },
363 & ifmt_beq, { 0xb8 }
364 },
365/* bblt.s $simm8 */
366 {
367 { 0, 0, 0, 0 },
368 { { MNEM, ' ', OP (SIMM8), 0 } },
369 & ifmt_beq16, { 0xc0 }
370 },
371/* bblt.l $simm24 */
372 {
373 { 0, 0, 0, 0 },
374 { { MNEM, ' ', OP (SIMM24), 0 } },
375 & ifmt_beq, { 0xc8 }
376 },
377/* bblte.s $simm8 */
378 {
379 { 0, 0, 0, 0 },
380 { { MNEM, ' ', OP (SIMM8), 0 } },
381 & ifmt_beq16, { 0xd0 }
382 },
383/* bblte.l $simm24 */
384 {
385 { 0, 0, 0, 0 },
386 { { MNEM, ' ', OP (SIMM24), 0 } },
387 & ifmt_beq, { 0xd8 }
388 },
389/* b.s $simm8 */
390 {
391 { 0, 0, 0, 0 },
392 { { MNEM, ' ', OP (SIMM8), 0 } },
393 & ifmt_beq16, { 0xe0 }
394 },
395/* b.l $simm24 */
396 {
397 { 0, 0, 0, 0 },
398 { { MNEM, ' ', OP (SIMM24), 0 } },
399 & ifmt_beq, { 0xe8 }
400 },
401/* bl.s $simm8 */
402 {
403 { 0, 0, 0, 0 },
404 { { MNEM, ' ', OP (SIMM8), 0 } },
405 & ifmt_beq16, { 0xf0 }
406 },
407/* bl.l $simm24 */
408 {
409 { 0, 0, 0, 0 },
410 { { MNEM, ' ', OP (SIMM24), 0 } },
411 & ifmt_beq, { 0xf8 }
412 },
413/* jr $rn */
414 {
415 { 0, 0, 0, 0 },
416 { { MNEM, ' ', OP (RN), 0 } },
417 & ifmt_jr16, { 0x142 }
418 },
419/* rts */
420 {
421 { 0, 0, 0, 0 },
422 { { MNEM, 0 } },
423 & ifmt_rts, { 0x402194f }
424 },
425/* jr $rn6 */
426 {
427 { 0, 0, 0, 0 },
428 { { MNEM, ' ', OP (RN6), 0 } },
429 & ifmt_jr, { 0x2014f }
430 },
431/* jalr $rn */
432 {
433 { 0, 0, 0, 0 },
434 { { MNEM, ' ', OP (RN), 0 } },
435 & ifmt_jr16, { 0x152 }
436 },
437/* jalr $rn6 */
438 {
439 { 0, 0, 0, 0 },
440 { { MNEM, ' ', OP (RN6), 0 } },
441 & ifmt_jr, { 0x2015f }
442 },
443/* ldrb $rd,[$rn,$rm] */
444 {
445 { 0, 0, 0, 0 },
446 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
447 & ifmt_ldrbx16_s, { 0x1 }
448 },
449/* ldrb $rd,[$rn],$rm */
450 {
451 { 0, 0, 0, 0 },
452 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
453 & ifmt_ldrbx16_s, { 0x5 }
454 },
455/* ldrb $rd6,[$rn6,$direction$rm6] */
456 {
457 { 0, 0, 0, 0 },
458 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
459 & ifmt_ldrbx_l, { 0x9 }
460 },
461/* ldrb $rd6,[$rn6],$direction$rm6 */
462 {
463 { 0, 0, 0, 0 },
464 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
465 & ifmt_ldrbp_l, { 0xd }
466 },
467/* ldrb $rd,[$rn,$disp3] */
468 {
469 { 0, 0, 0, 0 },
470 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
471 & ifmt_ldrbd16_s, { 0x4 }
472 },
473/* ldrb $rd6,[$rn6,$dpmi$disp11] */
474 {
475 { 0, 0, 0, 0 },
476 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
477 & ifmt_ldrbd_l, { 0xc }
478 },
479/* ldrb $rd6,[$rn6],$dpmi$disp11 */
480 {
481 { 0, 0, 0, 0 },
482 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
483 & ifmt_ldrbd_l, { 0x200000c }
484 },
485/* ldrh $rd,[$rn,$rm] */
486 {
487 { 0, 0, 0, 0 },
488 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
489 & ifmt_ldrbx16_s, { 0x21 }
490 },
491/* ldrh $rd,[$rn],$rm */
492 {
493 { 0, 0, 0, 0 },
494 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
495 & ifmt_ldrbx16_s, { 0x25 }
496 },
497/* ldrh $rd6,[$rn6,$direction$rm6] */
498 {
499 { 0, 0, 0, 0 },
500 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
501 & ifmt_ldrbx_l, { 0x29 }
502 },
503/* ldrh $rd6,[$rn6],$direction$rm6 */
504 {
505 { 0, 0, 0, 0 },
506 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
507 & ifmt_ldrbp_l, { 0x2d }
508 },
509/* ldrh $rd,[$rn,$disp3] */
510 {
511 { 0, 0, 0, 0 },
512 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
513 & ifmt_ldrbd16_s, { 0x24 }
514 },
515/* ldrh $rd6,[$rn6,$dpmi$disp11] */
516 {
517 { 0, 0, 0, 0 },
518 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
519 & ifmt_ldrbd_l, { 0x2c }
520 },
521/* ldrh $rd6,[$rn6],$dpmi$disp11 */
522 {
523 { 0, 0, 0, 0 },
524 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
525 & ifmt_ldrbd_l, { 0x200002c }
526 },
527/* ldr $rd,[$rn,$rm] */
528 {
529 { 0, 0, 0, 0 },
530 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
531 & ifmt_ldrbx16_s, { 0x41 }
532 },
533/* ldr $rd,[$rn],$rm */
534 {
535 { 0, 0, 0, 0 },
536 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
537 & ifmt_ldrbx16_s, { 0x45 }
538 },
539/* ldr $rd6,[$rn6,$direction$rm6] */
540 {
541 { 0, 0, 0, 0 },
542 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
543 & ifmt_ldrbx_l, { 0x49 }
544 },
545/* ldr $rd6,[$rn6],$direction$rm6 */
546 {
547 { 0, 0, 0, 0 },
548 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
549 & ifmt_ldrbp_l, { 0x4d }
550 },
551/* ldr $rd,[$rn,$disp3] */
552 {
553 { 0, 0, 0, 0 },
554 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
555 & ifmt_ldrbd16_s, { 0x44 }
556 },
557/* ldr $rd6,[$rn6,$dpmi$disp11] */
558 {
559 { 0, 0, 0, 0 },
560 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
561 & ifmt_ldrbd_l, { 0x4c }
562 },
563/* ldr $rd6,[$rn6],$dpmi$disp11 */
564 {
565 { 0, 0, 0, 0 },
566 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
567 & ifmt_ldrbd_l, { 0x200004c }
568 },
569/* ldrd $rd,[$rn,$rm] */
570 {
571 { 0, 0, 0, 0 },
572 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
573 & ifmt_ldrbx16_s, { 0x61 }
574 },
575/* ldrd $rd,[$rn],$rm */
576 {
577 { 0, 0, 0, 0 },
578 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
579 & ifmt_ldrbx16_s, { 0x65 }
580 },
581/* ldrd $rd6,[$rn6,$direction$rm6] */
582 {
583 { 0, 0, 0, 0 },
584 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
585 & ifmt_ldrbx_l, { 0x69 }
586 },
587/* ldrd $rd6,[$rn6],$direction$rm6 */
588 {
589 { 0, 0, 0, 0 },
590 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
591 & ifmt_ldrbp_l, { 0x6d }
592 },
593/* ldrd $rd,[$rn,$disp3] */
594 {
595 { 0, 0, 0, 0 },
596 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
597 & ifmt_ldrbd16_s, { 0x64 }
598 },
599/* ldrd $rd6,[$rn6,$dpmi$disp11] */
600 {
601 { 0, 0, 0, 0 },
602 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
603 & ifmt_ldrbd_l, { 0x6c }
604 },
605/* ldrd $rd6,[$rn6],$dpmi$disp11 */
606 {
607 { 0, 0, 0, 0 },
608 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
609 & ifmt_ldrbd_l, { 0x200006c }
610 },
611/* testsetb $rd6,[$rn6,$direction$rm6] */
612 {
613 { 0, 0, 0, 0 },
614 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
615 & ifmt_ldrbx_l, { 0x200009 }
616 },
617/* testseth $rd6,[$rn6,$direction$rm6] */
618 {
619 { 0, 0, 0, 0 },
620 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
621 & ifmt_ldrbx_l, { 0x200029 }
622 },
623/* testset $rd6,[$rn6,$direction$rm6] */
624 {
625 { 0, 0, 0, 0 },
626 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
627 & ifmt_ldrbx_l, { 0x200049 }
628 },
629/* strb $rd,[$rn,$rm] */
630 {
631 { 0, 0, 0, 0 },
632 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
633 & ifmt_ldrbx16_s, { 0x11 }
634 },
635/* strb $rd6,[$rn6,$direction$rm6] */
636 {
637 { 0, 0, 0, 0 },
638 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
639 & ifmt_ldrbx_l, { 0x19 }
640 },
641/* strb $rd,[$rn],$rm */
642 {
643 { 0, 0, 0, 0 },
644 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
645 & ifmt_ldrbx16_s, { 0x15 }
646 },
647/* strb $rd6,[$rn6],$direction$rm6 */
648 {
649 { 0, 0, 0, 0 },
650 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
651 & ifmt_ldrbp_l, { 0x1d }
652 },
653/* strb $rd,[$rn,$disp3] */
654 {
655 { 0, 0, 0, 0 },
656 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
657 & ifmt_ldrbd16_s, { 0x14 }
658 },
659/* strb $rd6,[$rn6,$dpmi$disp11] */
660 {
661 { 0, 0, 0, 0 },
662 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
663 & ifmt_ldrbd_l, { 0x1c }
664 },
665/* strb $rd6,[$rn6],$dpmi$disp11 */
666 {
667 { 0, 0, 0, 0 },
668 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
669 & ifmt_ldrbd_l, { 0x200001c }
670 },
671/* strh $rd,[$rn,$rm] */
672 {
673 { 0, 0, 0, 0 },
674 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
675 & ifmt_ldrbx16_s, { 0x31 }
676 },
677/* strh $rd6,[$rn6,$direction$rm6] */
678 {
679 { 0, 0, 0, 0 },
680 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
681 & ifmt_ldrbx_l, { 0x39 }
682 },
683/* strh $rd,[$rn],$rm */
684 {
685 { 0, 0, 0, 0 },
686 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
687 & ifmt_ldrbx16_s, { 0x35 }
688 },
689/* strh $rd6,[$rn6],$direction$rm6 */
690 {
691 { 0, 0, 0, 0 },
692 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
693 & ifmt_ldrbp_l, { 0x3d }
694 },
695/* strh $rd,[$rn,$disp3] */
696 {
697 { 0, 0, 0, 0 },
698 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
699 & ifmt_ldrbd16_s, { 0x34 }
700 },
701/* strh $rd6,[$rn6,$dpmi$disp11] */
702 {
703 { 0, 0, 0, 0 },
704 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
705 & ifmt_ldrbd_l, { 0x3c }
706 },
707/* strh $rd6,[$rn6],$dpmi$disp11 */
708 {
709 { 0, 0, 0, 0 },
710 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
711 & ifmt_ldrbd_l, { 0x200003c }
712 },
713/* str $rd,[$rn,$rm] */
714 {
715 { 0, 0, 0, 0 },
716 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
717 & ifmt_ldrbx16_s, { 0x51 }
718 },
719/* str $rd6,[$rn6,$direction$rm6] */
720 {
721 { 0, 0, 0, 0 },
722 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
723 & ifmt_ldrbx_l, { 0x59 }
724 },
725/* str $rd,[$rn],$rm */
726 {
727 { 0, 0, 0, 0 },
728 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
729 & ifmt_ldrbx16_s, { 0x55 }
730 },
731/* str $rd6,[$rn6],$direction$rm6 */
732 {
733 { 0, 0, 0, 0 },
734 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
735 & ifmt_ldrbp_l, { 0x5d }
736 },
737/* str $rd,[$rn,$disp3] */
738 {
739 { 0, 0, 0, 0 },
740 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
741 & ifmt_ldrbd16_s, { 0x54 }
742 },
743/* str $rd6,[$rn6,$dpmi$disp11] */
744 {
745 { 0, 0, 0, 0 },
746 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
747 & ifmt_ldrbd_l, { 0x5c }
748 },
749/* str $rd6,[$rn6],$dpmi$disp11 */
750 {
751 { 0, 0, 0, 0 },
752 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
753 & ifmt_ldrbd_l, { 0x200005c }
754 },
755/* strd $rd,[$rn,$rm] */
756 {
757 { 0, 0, 0, 0 },
758 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
759 & ifmt_ldrbx16_s, { 0x71 }
760 },
761/* strd $rd6,[$rn6,$direction$rm6] */
762 {
763 { 0, 0, 0, 0 },
764 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
765 & ifmt_ldrbx_l, { 0x79 }
766 },
767/* strd $rd,[$rn],$rm */
768 {
769 { 0, 0, 0, 0 },
770 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
771 & ifmt_ldrbx16_s, { 0x75 }
772 },
773/* strd $rd6,[$rn6],$direction$rm6 */
774 {
775 { 0, 0, 0, 0 },
776 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
777 & ifmt_ldrbp_l, { 0x7d }
778 },
779/* strd $rd,[$rn,$disp3] */
780 {
781 { 0, 0, 0, 0 },
782 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
783 & ifmt_ldrbd16_s, { 0x74 }
784 },
785/* strd $rd6,[$rn6,$dpmi$disp11] */
786 {
787 { 0, 0, 0, 0 },
788 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
789 & ifmt_ldrbd_l, { 0x7c }
790 },
791/* strd $rd6,[$rn6],$dpmi$disp11 */
792 {
793 { 0, 0, 0, 0 },
794 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
795 & ifmt_ldrbd_l, { 0x200007c }
796 },
797/* moveq $rd,$rn */
798 {
799 { 0, 0, 0, 0 },
800 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
801 & ifmt_cmov16EQ, { 0x2 }
802 },
803/* moveq $rd6,$rn6 */
804 {
805 { 0, 0, 0, 0 },
806 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
807 & ifmt_cmovEQ, { 0x2000f }
808 },
809/* movne $rd,$rn */
810 {
811 { 0, 0, 0, 0 },
812 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
813 & ifmt_cmov16EQ, { 0x12 }
814 },
815/* movne $rd6,$rn6 */
816 {
817 { 0, 0, 0, 0 },
818 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
819 & ifmt_cmovEQ, { 0x2001f }
820 },
821/* movgtu $rd,$rn */
822 {
823 { 0, 0, 0, 0 },
824 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
825 & ifmt_cmov16EQ, { 0x22 }
826 },
827/* movgtu $rd6,$rn6 */
828 {
829 { 0, 0, 0, 0 },
830 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
831 & ifmt_cmovEQ, { 0x2002f }
832 },
833/* movgteu $rd,$rn */
834 {
835 { 0, 0, 0, 0 },
836 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
837 & ifmt_cmov16EQ, { 0x32 }
838 },
839/* movgteu $rd6,$rn6 */
840 {
841 { 0, 0, 0, 0 },
842 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
843 & ifmt_cmovEQ, { 0x2003f }
844 },
845/* movlteu $rd,$rn */
846 {
847 { 0, 0, 0, 0 },
848 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
849 & ifmt_cmov16EQ, { 0x42 }
850 },
851/* movlteu $rd6,$rn6 */
852 {
853 { 0, 0, 0, 0 },
854 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
855 & ifmt_cmovEQ, { 0x2004f }
856 },
857/* movltu $rd,$rn */
858 {
859 { 0, 0, 0, 0 },
860 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
861 & ifmt_cmov16EQ, { 0x52 }
862 },
863/* movltu $rd6,$rn6 */
864 {
865 { 0, 0, 0, 0 },
866 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
867 & ifmt_cmovEQ, { 0x2005f }
868 },
869/* movgt $rd,$rn */
870 {
871 { 0, 0, 0, 0 },
872 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
873 & ifmt_cmov16EQ, { 0x62 }
874 },
875/* movgt $rd6,$rn6 */
876 {
877 { 0, 0, 0, 0 },
878 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
879 & ifmt_cmovEQ, { 0x2006f }
880 },
881/* movgte $rd,$rn */
882 {
883 { 0, 0, 0, 0 },
884 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
885 & ifmt_cmov16EQ, { 0x72 }
886 },
887/* movgte $rd6,$rn6 */
888 {
889 { 0, 0, 0, 0 },
890 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
891 & ifmt_cmovEQ, { 0x2007f }
892 },
893/* movlt $rd,$rn */
894 {
895 { 0, 0, 0, 0 },
896 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
897 & ifmt_cmov16EQ, { 0x82 }
898 },
899/* movlt $rd6,$rn6 */
900 {
901 { 0, 0, 0, 0 },
902 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
903 & ifmt_cmovEQ, { 0x2008f }
904 },
905/* movlte $rd,$rn */
906 {
907 { 0, 0, 0, 0 },
908 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
909 & ifmt_cmov16EQ, { 0x92 }
910 },
911/* movlte $rd6,$rn6 */
912 {
913 { 0, 0, 0, 0 },
914 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
915 & ifmt_cmovEQ, { 0x2009f }
916 },
917/* mov $rd,$rn */
918 {
919 { 0, 0, 0, 0 },
920 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
921 & ifmt_cmov16EQ, { 0xe2 }
922 },
923/* mov $rd6,$rn6 */
924 {
925 { 0, 0, 0, 0 },
926 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
927 & ifmt_cmovEQ, { 0x200ef }
928 },
929/* movbeq $rd,$rn */
930 {
931 { 0, 0, 0, 0 },
932 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
933 & ifmt_cmov16EQ, { 0xa2 }
934 },
935/* movbeq $rd6,$rn6 */
936 {
937 { 0, 0, 0, 0 },
938 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
939 & ifmt_cmovEQ, { 0x200af }
940 },
941/* movbne $rd,$rn */
942 {
943 { 0, 0, 0, 0 },
944 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
945 & ifmt_cmov16EQ, { 0xb2 }
946 },
947/* movbne $rd6,$rn6 */
948 {
949 { 0, 0, 0, 0 },
950 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
951 & ifmt_cmovEQ, { 0x200bf }
952 },
953/* movblt $rd,$rn */
954 {
955 { 0, 0, 0, 0 },
956 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
957 & ifmt_cmov16EQ, { 0xc2 }
958 },
959/* movblt $rd6,$rn6 */
960 {
961 { 0, 0, 0, 0 },
962 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
963 & ifmt_cmovEQ, { 0x200cf }
964 },
965/* movblte $rd,$rn */
966 {
967 { 0, 0, 0, 0 },
968 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
969 & ifmt_cmov16EQ, { 0xd2 }
970 },
971/* movblte $rd6,$rn6 */
972 {
973 { 0, 0, 0, 0 },
974 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
975 & ifmt_cmovEQ, { 0x200df }
976 },
977/* movts $sn,$rd */
978 {
979 { 0, 0, 0, 0 },
980 { { MNEM, ' ', OP (SN), ',', OP (RD), 0 } },
981 & ifmt_movts16, { 0x102 }
982 },
983/* movts $sn6,$rd6 */
984 {
985 { 0, 0, 0, 0 },
986 { { MNEM, ' ', OP (SN6), ',', OP (RD6), 0 } },
987 & ifmt_movts6, { 0x2010f }
988 },
989/* movts $sndma,$rd6 */
990 {
991 { 0, 0, 0, 0 },
992 { { MNEM, ' ', OP (SNDMA), ',', OP (RD6), 0 } },
993 & ifmt_movtsdma, { 0x12010f }
994 },
995/* movts $snmem,$rd6 */
996 {
997 { 0, 0, 0, 0 },
998 { { MNEM, ' ', OP (SNMEM), ',', OP (RD6), 0 } },
999 & ifmt_movtsmem, { 0x22010f }
1000 },
1001/* movts $snmesh,$rd6 */
1002 {
1003 { 0, 0, 0, 0 },
1004 { { MNEM, ' ', OP (SNMESH), ',', OP (RD6), 0 } },
1005 & ifmt_movtsmesh, { 0x32010f }
1006 },
1007/* movfs $rd,$sn */
1008 {
1009 { 0, 0, 0, 0 },
1010 { { MNEM, ' ', OP (RD), ',', OP (SN), 0 } },
1011 & ifmt_movts16, { 0x112 }
1012 },
1013/* movfs $rd6,$sn6 */
1014 {
1015 { 0, 0, 0, 0 },
1016 { { MNEM, ' ', OP (RD6), ',', OP (SN6), 0 } },
1017 & ifmt_movts6, { 0x2011f }
1018 },
1019/* movfs $rd6,$sndma */
1020 {
1021 { 0, 0, 0, 0 },
1022 { { MNEM, ' ', OP (RD6), ',', OP (SNDMA), 0 } },
1023 & ifmt_movtsdma, { 0x12011f }
1024 },
1025/* movfs $rd6,$snmem */
1026 {
1027 { 0, 0, 0, 0 },
1028 { { MNEM, ' ', OP (RD6), ',', OP (SNMEM), 0 } },
1029 & ifmt_movtsmem, { 0x22011f }
1030 },
1031/* movfs $rd6,$snmesh */
1032 {
1033 { 0, 0, 0, 0 },
1034 { { MNEM, ' ', OP (RD6), ',', OP (SNMESH), 0 } },
1035 & ifmt_movtsmesh, { 0x32011f }
1036 },
1037/* nop */
1038 {
1039 { 0, 0, 0, 0 },
1040 { { MNEM, 0 } },
1041 & ifmt_nop, { 0x1a2 }
1042 },
1043/* snop */
1044 {
1045 { 0, 0, 0, 0 },
1046 { { MNEM, 0 } },
1047 & ifmt_nop, { 0x3a2 }
1048 },
1049/* unimpl */
1050 {
1051 { 0, 0, 0, 0 },
1052 { { MNEM, 0 } },
1053 & ifmt_unimpl, { 0xf000f }
1054 },
1055/* idle */
1056 {
1057 { 0, 0, 0, 0 },
1058 { { MNEM, 0 } },
1059 & ifmt_nop, { 0x1b2 }
1060 },
1061/* bkpt */
1062 {
1063 { 0, 0, 0, 0 },
1064 { { MNEM, 0 } },
1065 & ifmt_nop, { 0x1c2 }
1066 },
1067/* mbkpt */
1068 {
1069 { 0, 0, 0, 0 },
1070 { { MNEM, 0 } },
1071 & ifmt_nop, { 0x3c2 }
1072 },
1073/* rti */
1074 {
1075 { 0, 0, 0, 0 },
1076 { { MNEM, 0 } },
1077 & ifmt_nop, { 0x1d2 }
1078 },
1079/* wand */
1080 {
1081 { 0, 0, 0, 0 },
1082 { { MNEM, 0 } },
1083 & ifmt_nop, { 0x182 }
1084 },
1085/* sync */
1086 {
1087 { 0, 0, 0, 0 },
1088 { { MNEM, 0 } },
1089 & ifmt_nop, { 0x1f2 }
1090 },
1091/* gie */
1092 {
1093 { 0, 0, 0, 0 },
1094 { { MNEM, 0 } },
1095 & ifmt_gien, { 0x192 }
1096 },
1097/* gid */
1098 {
1099 { 0, 0, 0, 0 },
1100 { { MNEM, 0 } },
1101 & ifmt_gien, { 0x392 }
1102 },
1103/* swi $swi_num */
1104 {
1105 { 0, 0, 0, 0 },
1106 { { MNEM, ' ', OP (SWI_NUM), 0 } },
1107 & ifmt_swi_num, { 0x1e2 }
1108 },
1109/* swi */
1110 {
1111 { 0, 0, 0, 0 },
1112 { { MNEM, 0 } },
1113 & ifmt_swi, { 0x1e2 }
1114 },
1115/* trap $trapnum6 */
1116 {
1117 { 0, 0, 0, 0 },
1118 { { MNEM, ' ', OP (TRAPNUM6), 0 } },
1119 & ifmt_trap16, { 0x3e2 }
1120 },
1121/* add $rd,$rn,$rm */
1122 {
1123 { 0, 0, 0, 0 },
1124 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
1125 & ifmt_add16, { 0x1a }
1126 },
1127/* add $rd6,$rn6,$rm6 */
1128 {
1129 { 0, 0, 0, 0 },
1130 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1131 & ifmt_add, { 0xa001f }
1132 },
1133/* sub $rd,$rn,$rm */
1134 {
1135 { 0, 0, 0, 0 },
1136 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
1137 & ifmt_add16, { 0x3a }
1138 },
1139/* sub $rd6,$rn6,$rm6 */
1140 {
1141 { 0, 0, 0, 0 },
1142 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1143 & ifmt_add, { 0xa003f }
1144 },
1145/* and $rd,$rn,$rm */
1146 {
1147 { 0, 0, 0, 0 },
1148 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
1149 & ifmt_add16, { 0x5a }
1150 },
1151/* and $rd6,$rn6,$rm6 */
1152 {
1153 { 0, 0, 0, 0 },
1154 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1155 & ifmt_add, { 0xa005f }
1156 },
1157/* orr $rd,$rn,$rm */
1158 {
1159 { 0, 0, 0, 0 },
1160 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
1161 & ifmt_add16, { 0x7a }
1162 },
1163/* orr $rd6,$rn6,$rm6 */
1164 {
1165 { 0, 0, 0, 0 },
1166 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1167 & ifmt_add, { 0xa007f }
1168 },
1169/* eor $rd,$rn,$rm */
1170 {
1171 { 0, 0, 0, 0 },
1172 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
1173 & ifmt_add16, { 0xa }
1174 },
1175/* eor $rd6,$rn6,$rm6 */
1176 {
1177 { 0, 0, 0, 0 },
1178 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1179 & ifmt_add, { 0xa000f }
1180 },
1181/* add.s $rd,$rn,$simm3 */
1182 {
1183 { 0, 0, 0, 0 },
1184 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SIMM3), 0 } },
1185 & ifmt_addi16, { 0x13 }
1186 },
1187/* add.l $rd6,$rn6,$simm11 */
1188 {
1189 { 0, 0, 0, 0 },
1190 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SIMM11), 0 } },
1191 & ifmt_addi, { 0x1b }
1192 },
1193/* sub.s $rd,$rn,$simm3 */
1194 {
1195 { 0, 0, 0, 0 },
1196 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SIMM3), 0 } },
1197 & ifmt_addi16, { 0x33 }
1198 },
1199/* sub.l $rd6,$rn6,$simm11 */
1200 {
1201 { 0, 0, 0, 0 },
1202 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SIMM11), 0 } },
1203 & ifmt_addi, { 0x3b }
1204 },
1205/* asr $rd,$rn,$rm */
1206 {
1207 { 0, 0, 0, 0 },
1208 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
1209 & ifmt_add16, { 0x6a }
1210 },
1211/* asr $rd6,$rn6,$rm6 */
1212 {
1213 { 0, 0, 0, 0 },
1214 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1215 & ifmt_add, { 0xa006f }
1216 },
1217/* lsr $rd,$rn,$rm */
1218 {
1219 { 0, 0, 0, 0 },
1220 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
1221 & ifmt_add16, { 0x4a }
1222 },
1223/* lsr $rd6,$rn6,$rm6 */
1224 {
1225 { 0, 0, 0, 0 },
1226 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1227 & ifmt_add, { 0xa004f }
1228 },
1229/* lsl $rd,$rn,$rm */
1230 {
1231 { 0, 0, 0, 0 },
1232 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
1233 & ifmt_add16, { 0x2a }
1234 },
1235/* lsl $rd6,$rn6,$rm6 */
1236 {
1237 { 0, 0, 0, 0 },
1238 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1239 & ifmt_add, { 0xa002f }
1240 },
1241/* lsr $rd,$rn,$shift */
1242 {
1243 { 0, 0, 0, 0 },
1244 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SHIFT), 0 } },
1245 & ifmt_lsri16, { 0x6 }
1246 },
1247/* lsr $rd6,$rn6,$shift */
1248 {
1249 { 0, 0, 0, 0 },
1250 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
1251 & ifmt_lsri32, { 0x6000f }
1252 },
1253/* lsl $rd,$rn,$shift */
1254 {
1255 { 0, 0, 0, 0 },
1256 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SHIFT), 0 } },
1257 & ifmt_lsri16, { 0x16 }
1258 },
1259/* lsl $rd6,$rn6,$shift */
1260 {
1261 { 0, 0, 0, 0 },
1262 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
1263 & ifmt_lsri32, { 0x6001f }
1264 },
1265/* asr $rd,$rn,$shift */
1266 {
1267 { 0, 0, 0, 0 },
1268 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SHIFT), 0 } },
1269 & ifmt_lsri16, { 0xe }
1270 },
1271/* asr $rd6,$rn6,$shift */
1272 {
1273 { 0, 0, 0, 0 },
1274 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
1275 & ifmt_lsri32, { 0xe000f }
1276 },
1277/* bitr $rd,$rn */
1278 {
1279 { 0, 0, 0, 0 },
1280 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
1281 & ifmt_bitr16, { 0x1e }
1282 },
1283/* bitr $rd6,$rn6 */
1284 {
1285 { 0, 0, 0, 0 },
1286 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
1287 & ifmt_bitr, { 0xe001f }
1288 },
1289/* fext $rd6,$rn6,$rm6 */
1290 {
1291 { 0, 0, 0, 0 },
1292 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1293 & ifmt_fext, { 0x1a000f }
1294 },
1295/* fdep $rd6,$rn6,$rm6 */
1296 {
1297 { 0, 0, 0, 0 },
1298 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1299 & ifmt_fext, { 0x1a001f }
1300 },
1301/* lfsr $rd6,$rn6,$rm6 */
1302 {
1303 { 0, 0, 0, 0 },
1304 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1305 & ifmt_fext, { 0x1a002f }
1306 },
1307/* mov.b $rd,$imm8 */
1308 {
1309 { 0, 0, 0, 0 },
1310 { { MNEM, ' ', OP (RD), ',', OP (IMM8), 0 } },
1311 & ifmt_mov8, { 0x3 }
1312 },
1313/* mov.l $rd6,$imm16 */
1314 {
1315 { 0, 0, 0, 0 },
1316 { { MNEM, ' ', OP (RD6), ',', OP (IMM16), 0 } },
1317 & ifmt_mov16, { 0x2000b }
1318 },
1319/* movt $rd6,$imm16 */
1320 {
1321 { 0, 0, 0, 0 },
1322 { { MNEM, ' ', OP (RD6), ',', OP (IMM16), 0 } },
1323 & ifmt_mov16, { 0x1002000b }
1324 },
1325/* fadd $rd,$rn,$rm */
1326 {
1327 { 0, 0, 0, 0 },
1328 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
1329 & ifmt_add16, { 0x7 }
1330 },
1331/* fadd $rd6,$rn6,$rm6 */
1332 {
1333 { 0, 0, 0, 0 },
1334 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1335 & ifmt_add, { 0x7000f }
1336 },
1337/* fsub $rd,$rn,$rm */
1338 {
1339 { 0, 0, 0, 0 },
1340 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
1341 & ifmt_add16, { 0x17 }
1342 },
1343/* fsub $rd6,$rn6,$rm6 */
1344 {
1345 { 0, 0, 0, 0 },
1346 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1347 & ifmt_add, { 0x7001f }
1348 },
1349/* fmul $rd,$rn,$rm */
1350 {
1351 { 0, 0, 0, 0 },
1352 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
1353 & ifmt_add16, { 0x27 }
1354 },
1355/* fmul $rd6,$rn6,$rm6 */
1356 {
1357 { 0, 0, 0, 0 },
1358 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1359 & ifmt_add, { 0x7002f }
1360 },
1361/* fmadd $rd,$rn,$rm */
1362 {
1363 { 0, 0, 0, 0 },
1364 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
1365 & ifmt_add16, { 0x37 }
1366 },
1367/* fmadd $rd6,$rn6,$rm6 */
1368 {
1369 { 0, 0, 0, 0 },
1370 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1371 & ifmt_add, { 0x7003f }
1372 },
1373/* fmsub $rd,$rn,$rm */
1374 {
1375 { 0, 0, 0, 0 },
1376 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
1377 & ifmt_add16, { 0x47 }
1378 },
1379/* fmsub $rd6,$rn6,$rm6 */
1380 {
1381 { 0, 0, 0, 0 },
1382 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
1383 & ifmt_add, { 0x7004f }
1384 },
1385/* fabs rd,rn */
1386 {
1387 { 0, 0, 0, 0 },
1388 { { MNEM, ' ', 'r', 'd', ',', 'r', 'n', 0 } },
1389 & ifmt_f_absf16, { 0x77 }
1390 },
1391/* fabs $rd6,$rn6 */
1392 {
1393 { 0, 0, 0, 0 },
1394 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
1395 & ifmt_f_absf32, { 0x7007f }
1396 },
1397/* float $rd,$rn */
1398 {
1399 { 0, 0, 0, 0 },
1400 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
1401 & ifmt_f_loatf16, { 0x57 }
1402 },
1403/* float $rd6,$rn6 */
1404 {
1405 { 0, 0, 0, 0 },
1406 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
1407 & ifmt_f_absf32, { 0x7005f }
1408 },
1409/* fix $rd,$rn */
1410 {
1411 { 0, 0, 0, 0 },
1412 { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
1413 & ifmt_f_absf16, { 0x67 }
1414 },
1415/* fix $rd6,$rn6 */
1416 {
1417 { 0, 0, 0, 0 },
1418 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
1419 & ifmt_f_absf32, { 0x7006f }
1420 },
1421/* frecip $frd6,$frn6 */
1422 {
1423 { 0, 0, 0, 0 },
1424 { { MNEM, ' ', OP (FRD6), ',', OP (FRN6), 0 } },
1425 & ifmt_f_recipf32, { 0x17000f }
1426 },
1427/* fsqrt $frd6,$frn6 */
1428 {
1429 { 0, 0, 0, 0 },
1430 { { MNEM, ' ', OP (FRD6), ',', OP (FRN6), 0 } },
1431 & ifmt_f_recipf32, { 0x17001f }
1432 },
1433};
1434
1435#undef A
1436#undef OPERAND
1437#undef MNEM
1438#undef OP
1439
1440/* Formats for ALIAS macro-insns. */
1441
1442#define F(f) & epiphany_cgen_ifld_table[EPIPHANY_##f]
1443static const CGEN_IFMT ifmt_beq16r ATTRIBUTE_UNUSED = {
1444 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1445};
1446
1447static const CGEN_IFMT ifmt_beq32r ATTRIBUTE_UNUSED = {
1448 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1449};
1450
1451static const CGEN_IFMT ifmt_bne16r ATTRIBUTE_UNUSED = {
1452 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1453};
1454
1455static const CGEN_IFMT ifmt_bne32r ATTRIBUTE_UNUSED = {
1456 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1457};
1458
1459static const CGEN_IFMT ifmt_bgtu16r ATTRIBUTE_UNUSED = {
1460 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1461};
1462
1463static const CGEN_IFMT ifmt_bgtu32r ATTRIBUTE_UNUSED = {
1464 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1465};
1466
1467static const CGEN_IFMT ifmt_bgteu16r ATTRIBUTE_UNUSED = {
1468 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1469};
1470
1471static const CGEN_IFMT ifmt_bgteu32r ATTRIBUTE_UNUSED = {
1472 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1473};
1474
1475static const CGEN_IFMT ifmt_blteu16r ATTRIBUTE_UNUSED = {
1476 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1477};
1478
1479static const CGEN_IFMT ifmt_blteu32r ATTRIBUTE_UNUSED = {
1480 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1481};
1482
1483static const CGEN_IFMT ifmt_bltu16r ATTRIBUTE_UNUSED = {
1484 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1485};
1486
1487static const CGEN_IFMT ifmt_bltu32r ATTRIBUTE_UNUSED = {
1488 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1489};
1490
1491static const CGEN_IFMT ifmt_bgt16r ATTRIBUTE_UNUSED = {
1492 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1493};
1494
1495static const CGEN_IFMT ifmt_bgt32r ATTRIBUTE_UNUSED = {
1496 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1497};
1498
1499static const CGEN_IFMT ifmt_bgte16r ATTRIBUTE_UNUSED = {
1500 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1501};
1502
1503static const CGEN_IFMT ifmt_bgte32r ATTRIBUTE_UNUSED = {
1504 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1505};
1506
1507static const CGEN_IFMT ifmt_blt16r ATTRIBUTE_UNUSED = {
1508 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1509};
1510
1511static const CGEN_IFMT ifmt_blt32r ATTRIBUTE_UNUSED = {
1512 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1513};
1514
1515static const CGEN_IFMT ifmt_blte16r ATTRIBUTE_UNUSED = {
1516 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1517};
1518
1519static const CGEN_IFMT ifmt_blte32r ATTRIBUTE_UNUSED = {
1520 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1521};
1522
1523static const CGEN_IFMT ifmt_bbeq16r ATTRIBUTE_UNUSED = {
1524 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1525};
1526
1527static const CGEN_IFMT ifmt_bbeq32r ATTRIBUTE_UNUSED = {
1528 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1529};
1530
1531static const CGEN_IFMT ifmt_bbne16r ATTRIBUTE_UNUSED = {
1532 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1533};
1534
1535static const CGEN_IFMT ifmt_bbne32r ATTRIBUTE_UNUSED = {
1536 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1537};
1538
1539static const CGEN_IFMT ifmt_bblt16r ATTRIBUTE_UNUSED = {
1540 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1541};
1542
1543static const CGEN_IFMT ifmt_bblt32r ATTRIBUTE_UNUSED = {
1544 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1545};
1546
1547static const CGEN_IFMT ifmt_bblte16r ATTRIBUTE_UNUSED = {
1548 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1549};
1550
1551static const CGEN_IFMT ifmt_bblte32r ATTRIBUTE_UNUSED = {
1552 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1553};
1554
1555static const CGEN_IFMT ifmt_b16r ATTRIBUTE_UNUSED = {
1556 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1557};
1558
1559static const CGEN_IFMT ifmt_b32r ATTRIBUTE_UNUSED = {
1560 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1561};
1562
1563static const CGEN_IFMT ifmt_bl16r ATTRIBUTE_UNUSED = {
1564 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1565};
1566
1567static const CGEN_IFMT ifmt_blr ATTRIBUTE_UNUSED = {
1568 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1569};
1570
1571static const CGEN_IFMT ifmt_ldrbx ATTRIBUTE_UNUSED = {
1572 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1573};
1574
1575static const CGEN_IFMT ifmt_ldrbp ATTRIBUTE_UNUSED = {
1576 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1577};
1578
1579static const CGEN_IFMT ifmt_ldrbd ATTRIBUTE_UNUSED = {
1580 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1581};
1582
1583static const CGEN_IFMT ifmt_ldrbdpm ATTRIBUTE_UNUSED = {
1584 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1585};
1586
1587static const CGEN_IFMT ifmt_ldrbds0 ATTRIBUTE_UNUSED = {
1588 16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
1589};
1590
1591static const CGEN_IFMT ifmt_ldrbdl0 ATTRIBUTE_UNUSED = {
1592 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1593};
1594
1595static const CGEN_IFMT ifmt_ldrbdl0_l ATTRIBUTE_UNUSED = {
1596 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1597};
1598
1599static const CGEN_IFMT ifmt_ldrhx ATTRIBUTE_UNUSED = {
1600 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1601};
1602
1603static const CGEN_IFMT ifmt_ldrhp ATTRIBUTE_UNUSED = {
1604 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1605};
1606
1607static const CGEN_IFMT ifmt_ldrhd ATTRIBUTE_UNUSED = {
1608 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1609};
1610
1611static const CGEN_IFMT ifmt_ldrhdpm ATTRIBUTE_UNUSED = {
1612 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1613};
1614
1615static const CGEN_IFMT ifmt_ldrhds0 ATTRIBUTE_UNUSED = {
1616 16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
1617};
1618
1619static const CGEN_IFMT ifmt_ldrhdl0 ATTRIBUTE_UNUSED = {
1620 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1621};
1622
1623static const CGEN_IFMT ifmt_ldrhdl0_l ATTRIBUTE_UNUSED = {
1624 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1625};
1626
1627static const CGEN_IFMT ifmt_ldrx ATTRIBUTE_UNUSED = {
1628 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1629};
1630
1631static const CGEN_IFMT ifmt_ldrp ATTRIBUTE_UNUSED = {
1632 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1633};
1634
1635static const CGEN_IFMT ifmt_ldrd ATTRIBUTE_UNUSED = {
1636 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1637};
1638
1639static const CGEN_IFMT ifmt_ldrdpm ATTRIBUTE_UNUSED = {
1640 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1641};
1642
1643static const CGEN_IFMT ifmt_ldrds0 ATTRIBUTE_UNUSED = {
1644 16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
1645};
1646
1647static const CGEN_IFMT ifmt_ldrdl0 ATTRIBUTE_UNUSED = {
1648 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1649};
1650
1651static const CGEN_IFMT ifmt_ldrdl0_l ATTRIBUTE_UNUSED = {
1652 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1653};
1654
1655static const CGEN_IFMT ifmt_ldrdx ATTRIBUTE_UNUSED = {
1656 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1657};
1658
1659static const CGEN_IFMT ifmt_ldrdp ATTRIBUTE_UNUSED = {
1660 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1661};
1662
1663static const CGEN_IFMT ifmt_ldrdd ATTRIBUTE_UNUSED = {
1664 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1665};
1666
1667static const CGEN_IFMT ifmt_ldrddpm ATTRIBUTE_UNUSED = {
1668 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1669};
1670
1671static const CGEN_IFMT ifmt_ldrdds0 ATTRIBUTE_UNUSED = {
1672 16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
1673};
1674
1675static const CGEN_IFMT ifmt_ldrddl0 ATTRIBUTE_UNUSED = {
1676 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1677};
1678
1679static const CGEN_IFMT ifmt_ldrddl0_l ATTRIBUTE_UNUSED = {
1680 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1681};
1682
1683static const CGEN_IFMT ifmt_testsetbt_l ATTRIBUTE_UNUSED = {
1684 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1685};
1686
1687static const CGEN_IFMT ifmt_testsetht_l ATTRIBUTE_UNUSED = {
1688 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1689};
1690
1691static const CGEN_IFMT ifmt_testsett_l ATTRIBUTE_UNUSED = {
1692 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1693};
1694
1695static const CGEN_IFMT ifmt_strbx_l ATTRIBUTE_UNUSED = {
1696 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1697};
1698
1699static const CGEN_IFMT ifmt_strbp_l ATTRIBUTE_UNUSED = {
1700 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1701};
1702
1703static const CGEN_IFMT ifmt_strbd_l ATTRIBUTE_UNUSED = {
1704 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1705};
1706
1707static const CGEN_IFMT ifmt_strbdpm_l ATTRIBUTE_UNUSED = {
1708 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1709};
1710
1711static const CGEN_IFMT ifmt_strbds0 ATTRIBUTE_UNUSED = {
1712 16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
1713};
1714
1715static const CGEN_IFMT ifmt_strbdl0 ATTRIBUTE_UNUSED = {
1716 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1717};
1718
1719static const CGEN_IFMT ifmt_strbdl0_l ATTRIBUTE_UNUSED = {
1720 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1721};
1722
1723static const CGEN_IFMT ifmt_strhx_l ATTRIBUTE_UNUSED = {
1724 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1725};
1726
1727static const CGEN_IFMT ifmt_strhp_l ATTRIBUTE_UNUSED = {
1728 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1729};
1730
1731static const CGEN_IFMT ifmt_strhd_l ATTRIBUTE_UNUSED = {
1732 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1733};
1734
1735static const CGEN_IFMT ifmt_strhdpm_l ATTRIBUTE_UNUSED = {
1736 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1737};
1738
1739static const CGEN_IFMT ifmt_strhds0 ATTRIBUTE_UNUSED = {
1740 16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
1741};
1742
1743static const CGEN_IFMT ifmt_strhdl0 ATTRIBUTE_UNUSED = {
1744 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1745};
1746
1747static const CGEN_IFMT ifmt_strhdl0_l ATTRIBUTE_UNUSED = {
1748 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1749};
1750
1751static const CGEN_IFMT ifmt_strx_l ATTRIBUTE_UNUSED = {
1752 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1753};
1754
1755static const CGEN_IFMT ifmt_strp_l ATTRIBUTE_UNUSED = {
1756 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1757};
1758
1759static const CGEN_IFMT ifmt_strd_l ATTRIBUTE_UNUSED = {
1760 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1761};
1762
1763static const CGEN_IFMT ifmt_strdpm_l ATTRIBUTE_UNUSED = {
1764 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1765};
1766
1767static const CGEN_IFMT ifmt_strds0 ATTRIBUTE_UNUSED = {
1768 16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
1769};
1770
1771static const CGEN_IFMT ifmt_strdl0 ATTRIBUTE_UNUSED = {
1772 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1773};
1774
1775static const CGEN_IFMT ifmt_strdl0_l ATTRIBUTE_UNUSED = {
1776 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1777};
1778
1779static const CGEN_IFMT ifmt_strdx_l ATTRIBUTE_UNUSED = {
1780 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1781};
1782
1783static const CGEN_IFMT ifmt_strdp_l ATTRIBUTE_UNUSED = {
1784 32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
1785};
1786
1787static const CGEN_IFMT ifmt_strdd_l ATTRIBUTE_UNUSED = {
1788 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1789};
1790
1791static const CGEN_IFMT ifmt_strddpm_l ATTRIBUTE_UNUSED = {
1792 32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1793};
1794
1795static const CGEN_IFMT ifmt_strdds0 ATTRIBUTE_UNUSED = {
1796 16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
1797};
1798
1799static const CGEN_IFMT ifmt_strddl0 ATTRIBUTE_UNUSED = {
1800 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1801};
1802
1803static const CGEN_IFMT ifmt_strddl0_l ATTRIBUTE_UNUSED = {
1804 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
1805};
1806
1807static const CGEN_IFMT ifmt_cmov_lEQ ATTRIBUTE_UNUSED = {
1808 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1809};
1810
1811static const CGEN_IFMT ifmt_cmov_lNE ATTRIBUTE_UNUSED = {
1812 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1813};
1814
1815static const CGEN_IFMT ifmt_cmov_lGTU ATTRIBUTE_UNUSED = {
1816 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1817};
1818
1819static const CGEN_IFMT ifmt_cmov_lGTEU ATTRIBUTE_UNUSED = {
1820 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1821};
1822
1823static const CGEN_IFMT ifmt_cmov_lLTEU ATTRIBUTE_UNUSED = {
1824 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1825};
1826
1827static const CGEN_IFMT ifmt_cmov_lLTU ATTRIBUTE_UNUSED = {
1828 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1829};
1830
1831static const CGEN_IFMT ifmt_cmov_lGT ATTRIBUTE_UNUSED = {
1832 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1833};
1834
1835static const CGEN_IFMT ifmt_cmov_lGTE ATTRIBUTE_UNUSED = {
1836 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1837};
1838
1839static const CGEN_IFMT ifmt_cmov_lLT ATTRIBUTE_UNUSED = {
1840 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1841};
1842
1843static const CGEN_IFMT ifmt_cmov_lLTE ATTRIBUTE_UNUSED = {
1844 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1845};
1846
1847static const CGEN_IFMT ifmt_cmov_lB ATTRIBUTE_UNUSED = {
1848 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1849};
1850
1851static const CGEN_IFMT ifmt_cmov_lBEQ ATTRIBUTE_UNUSED = {
1852 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1853};
1854
1855static const CGEN_IFMT ifmt_cmov_lBNE ATTRIBUTE_UNUSED = {
1856 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1857};
1858
1859static const CGEN_IFMT ifmt_cmov_lBLT ATTRIBUTE_UNUSED = {
1860 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1861};
1862
1863static const CGEN_IFMT ifmt_cmov_lBLTE ATTRIBUTE_UNUSED = {
1864 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
1865};
1866
1867static const CGEN_IFMT ifmt_movts_l6 ATTRIBUTE_UNUSED = {
1868 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_SN6) }, { F (F_RD6) }, { 0 } }
1869};
1870
1871static const CGEN_IFMT ifmt_movts_ldma ATTRIBUTE_UNUSED = {
1872 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_SN6) }, { F (F_RD6) }, { 0 } }
1873};
1874
1875static const CGEN_IFMT ifmt_movts_lmem ATTRIBUTE_UNUSED = {
1876 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_SN6) }, { F (F_RD6) }, { 0 } }
1877};
1878
1879static const CGEN_IFMT ifmt_movts_lmesh ATTRIBUTE_UNUSED = {
1880 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_SN6) }, { F (F_RD6) }, { 0 } }
1881};
1882
1883static const CGEN_IFMT ifmt_movfs_l6 ATTRIBUTE_UNUSED = {
1884 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_RD6) }, { F (F_SN6) }, { 0 } }
1885};
1886
1887static const CGEN_IFMT ifmt_movfs_ldma ATTRIBUTE_UNUSED = {
1888 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_RD6) }, { F (F_SN6) }, { 0 } }
1889};
1890
1891static const CGEN_IFMT ifmt_movfs_lmem ATTRIBUTE_UNUSED = {
1892 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_RD6) }, { F (F_SN6) }, { 0 } }
1893};
1894
1895static const CGEN_IFMT ifmt_movfs_lmesh ATTRIBUTE_UNUSED = {
1896 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_RD6) }, { F (F_SN6) }, { 0 } }
1897};
1898
1899static const CGEN_IFMT ifmt_add_l ATTRIBUTE_UNUSED = {
1900 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
1901};
1902
1903static const CGEN_IFMT ifmt_sub_l ATTRIBUTE_UNUSED = {
1904 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
1905};
1906
1907static const CGEN_IFMT ifmt_and_l ATTRIBUTE_UNUSED = {
1908 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
1909};
1910
1911static const CGEN_IFMT ifmt_orr_l ATTRIBUTE_UNUSED = {
1912 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
1913};
1914
1915static const CGEN_IFMT ifmt_eor_l ATTRIBUTE_UNUSED = {
1916 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
1917};
1918
1919static const CGEN_IFMT ifmt_addir ATTRIBUTE_UNUSED = {
1920 16, 16, 0x7f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_RD) }, { F (F_RN) }, { F (F_SDISP3) }, { 0 } }
1921};
1922
1923static const CGEN_IFMT ifmt_addi32r ATTRIBUTE_UNUSED = {
1924 32, 32, 0x300007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_DC_25_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SDISP11) }, { 0 } }
1925};
1926
1927static const CGEN_IFMT ifmt_addi32m ATTRIBUTE_UNUSED = {
1928 32, 32, 0x300007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_DC_25_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SDISP11) }, { 0 } }
1929};
1930
1931static const CGEN_IFMT ifmt_subir ATTRIBUTE_UNUSED = {
1932 16, 16, 0x7f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_RD) }, { F (F_RN) }, { F (F_SDISP3) }, { 0 } }
1933};
1934
1935static const CGEN_IFMT ifmt_subi32r ATTRIBUTE_UNUSED = {
1936 32, 32, 0x300007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_DC_25_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SDISP11) }, { 0 } }
1937};
1938
1939static const CGEN_IFMT ifmt_subi32m ATTRIBUTE_UNUSED = {
1940 32, 32, 0x300007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_DC_25_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SDISP11) }, { 0 } }
1941};
1942
1943static const CGEN_IFMT ifmt_asr_l ATTRIBUTE_UNUSED = {
1944 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
1945};
1946
1947static const CGEN_IFMT ifmt_lsr_l ATTRIBUTE_UNUSED = {
1948 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
1949};
1950
1951static const CGEN_IFMT ifmt_lsl_l ATTRIBUTE_UNUSED = {
1952 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
1953};
1954
1955static const CGEN_IFMT ifmt_lsri32_l ATTRIBUTE_UNUSED = {
1956 32, 32, 0x3ff001f, { { F (F_OPC) }, { F (F_OPC_4_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SHIFT) }, { 0 } }
1957};
1958
1959static const CGEN_IFMT ifmt_lsli32_l ATTRIBUTE_UNUSED = {
1960 32, 32, 0x3ff001f, { { F (F_OPC) }, { F (F_OPC_4_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SHIFT) }, { 0 } }
1961};
1962
1963static const CGEN_IFMT ifmt_asri32_l ATTRIBUTE_UNUSED = {
1964 32, 32, 0x3ff001f, { { F (F_OPC) }, { F (F_OPC_4_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SHIFT) }, { 0 } }
1965};
1966
1967static const CGEN_IFMT ifmt_bitrl ATTRIBUTE_UNUSED = {
1968 32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_OPC_4_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SHIFT) }, { 0 } }
1969};
1970
1971static const CGEN_IFMT ifmt_fext_l ATTRIBUTE_UNUSED = {
1972 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_DC_20_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
1973};
1974
1975static const CGEN_IFMT ifmt_fdep_l ATTRIBUTE_UNUSED = {
1976 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_DC_20_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
1977};
1978
1979static const CGEN_IFMT ifmt_lfsr_l ATTRIBUTE_UNUSED = {
1980 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_DC_20_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
1981};
1982
1983static const CGEN_IFMT ifmt_mov8r ATTRIBUTE_UNUSED = {
1984 16, 16, 0x1f, { { F (F_OPC) }, { F (F_OPC_4_1) }, { F (F_RD) }, { F (F_IMM8) }, { 0 } }
1985};
1986
1987static const CGEN_IFMT ifmt_mov16r ATTRIBUTE_UNUSED = {
1988 32, 32, 0x100f001f, { { F (F_OPC) }, { F (F_OPC_4_1) }, { F (F_OPC_19_4) }, { F (F_DC_28_1) }, { F (F_RD6) }, { F (F_IMM16) }, { 0 } }
1989};
1990
1991static const CGEN_IFMT ifmt_movtl ATTRIBUTE_UNUSED = {
1992 32, 32, 0x100f001f, { { F (F_OPC) }, { F (F_OPC_4_1) }, { F (F_OPC_19_4) }, { F (F_DC_28_1) }, { F (F_RD6) }, { F (F_IMM16) }, { 0 } }
1993};
1994
1995static const CGEN_IFMT ifmt_i_addf16 ATTRIBUTE_UNUSED = {
1996 16, 16, 0x7f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { 0 } }
1997};
1998
1999static const CGEN_IFMT ifmt_f_addf32_l ATTRIBUTE_UNUSED = {
2000 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2001};
2002
2003static const CGEN_IFMT ifmt_i_addf32 ATTRIBUTE_UNUSED = {
2004 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2005};
2006
2007static const CGEN_IFMT ifmt_i_addf32_l ATTRIBUTE_UNUSED = {
2008 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2009};
2010
2011static const CGEN_IFMT ifmt_i_subf16 ATTRIBUTE_UNUSED = {
2012 16, 16, 0x7f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { 0 } }
2013};
2014
2015static const CGEN_IFMT ifmt_f_subf32_l ATTRIBUTE_UNUSED = {
2016 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2017};
2018
2019static const CGEN_IFMT ifmt_i_subf32 ATTRIBUTE_UNUSED = {
2020 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2021};
2022
2023static const CGEN_IFMT ifmt_i_subf32_l ATTRIBUTE_UNUSED = {
2024 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2025};
2026
2027static const CGEN_IFMT ifmt_i_mulf16 ATTRIBUTE_UNUSED = {
2028 16, 16, 0x7f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { 0 } }
2029};
2030
2031static const CGEN_IFMT ifmt_f_mulf32_l ATTRIBUTE_UNUSED = {
2032 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2033};
2034
2035static const CGEN_IFMT ifmt_i_mulf32 ATTRIBUTE_UNUSED = {
2036 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2037};
2038
2039static const CGEN_IFMT ifmt_i_mulf32_l ATTRIBUTE_UNUSED = {
2040 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2041};
2042
2043static const CGEN_IFMT ifmt_i_maddf16 ATTRIBUTE_UNUSED = {
2044 16, 16, 0x7f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { 0 } }
2045};
2046
2047static const CGEN_IFMT ifmt_f_maddf32_l ATTRIBUTE_UNUSED = {
2048 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2049};
2050
2051static const CGEN_IFMT ifmt_i_maddf32 ATTRIBUTE_UNUSED = {
2052 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2053};
2054
2055static const CGEN_IFMT ifmt_i_maddf32_l ATTRIBUTE_UNUSED = {
2056 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2057};
2058
2059static const CGEN_IFMT ifmt_i_msubf16 ATTRIBUTE_UNUSED = {
2060 16, 16, 0x7f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { 0 } }
2061};
2062
2063static const CGEN_IFMT ifmt_f_msubf32_l ATTRIBUTE_UNUSED = {
2064 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2065};
2066
2067static const CGEN_IFMT ifmt_i_msubf32 ATTRIBUTE_UNUSED = {
2068 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2069};
2070
2071static const CGEN_IFMT ifmt_i_msubf32_l ATTRIBUTE_UNUSED = {
2072 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
2073};
2074
2075static const CGEN_IFMT ifmt_f_absf32_l ATTRIBUTE_UNUSED = {
2076 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RN6) }, { 0 } }
2077};
2078
2079static const CGEN_IFMT ifmt_f_loatf32_l ATTRIBUTE_UNUSED = {
2080 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RN6) }, { 0 } }
2081};
2082
2083static const CGEN_IFMT ifmt_f_ixf32_l ATTRIBUTE_UNUSED = {
2084 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RN6) }, { 0 } }
2085};
2086
2087static const CGEN_IFMT ifmt_f_recipf32_l ATTRIBUTE_UNUSED = {
2088 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_DC_20_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RN6) }, { 0 } }
2089};
2090
2091static const CGEN_IFMT ifmt_f_sqrtf32_l ATTRIBUTE_UNUSED = {
2092 32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_DC_20_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RN6) }, { 0 } }
2093};
2094
2095#undef F
2096
2097/* Each non-simple macro entry points to an array of expansion possibilities. */
2098
2099#define A(a) (1 << CGEN_INSN_##a)
2100#define OPERAND(op) EPIPHANY_OPERAND_##op
2101#define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
2102#define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
2103
2104/* The macro instruction table. */
2105
2106static const CGEN_IBASE epiphany_cgen_macro_insn_table[] =
2107{
2108/* beq $simm8 */
2109 {
2110 -1, "beq16r", "beq", 16,
2111 { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2112 },
2113/* beq $simm24 */
2114 {
2115 -1, "beq32r", "beq", 32,
2116 { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2117 },
2118/* bne $simm8 */
2119 {
2120 -1, "bne16r", "bne", 16,
2121 { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2122 },
2123/* bne $simm24 */
2124 {
2125 -1, "bne32r", "bne", 32,
2126 { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2127 },
2128/* bgtu $simm8 */
2129 {
2130 -1, "bgtu16r", "bgtu", 16,
2131 { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2132 },
2133/* bgtu $simm24 */
2134 {
2135 -1, "bgtu32r", "bgtu", 32,
2136 { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2137 },
2138/* bgteu $simm8 */
2139 {
2140 -1, "bgteu16r", "bgteu", 16,
2141 { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2142 },
2143/* bgteu $simm24 */
2144 {
2145 -1, "bgteu32r", "bgteu", 32,
2146 { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2147 },
2148/* blteu $simm8 */
2149 {
2150 -1, "blteu16r", "blteu", 16,
2151 { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2152 },
2153/* blteu $simm24 */
2154 {
2155 -1, "blteu32r", "blteu", 32,
2156 { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2157 },
2158/* bltu $simm8 */
2159 {
2160 -1, "bltu16r", "bltu", 16,
2161 { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2162 },
2163/* bltu $simm24 */
2164 {
2165 -1, "bltu32r", "bltu", 32,
2166 { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2167 },
2168/* bgt $simm8 */
2169 {
2170 -1, "bgt16r", "bgt", 16,
2171 { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2172 },
2173/* bgt $simm24 */
2174 {
2175 -1, "bgt32r", "bgt", 32,
2176 { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2177 },
2178/* bgte $simm8 */
2179 {
2180 -1, "bgte16r", "bgte", 16,
2181 { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2182 },
2183/* bgte $simm24 */
2184 {
2185 -1, "bgte32r", "bgte", 32,
2186 { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2187 },
2188/* blt $simm8 */
2189 {
2190 -1, "blt16r", "blt", 16,
2191 { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2192 },
2193/* blt $simm24 */
2194 {
2195 -1, "blt32r", "blt", 32,
2196 { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2197 },
2198/* blte $simm8 */
2199 {
2200 -1, "blte16r", "blte", 16,
2201 { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2202 },
2203/* blte $simm24 */
2204 {
2205 -1, "blte32r", "blte", 32,
2206 { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2207 },
2208/* bbeq $simm8 */
2209 {
2210 -1, "bbeq16r", "bbeq", 16,
2211 { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2212 },
2213/* bbeq $simm24 */
2214 {
2215 -1, "bbeq32r", "bbeq", 32,
2216 { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2217 },
2218/* bbne $simm8 */
2219 {
2220 -1, "bbne16r", "bbne", 16,
2221 { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2222 },
2223/* bbne $simm24 */
2224 {
2225 -1, "bbne32r", "bbne", 32,
2226 { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2227 },
2228/* bblt $simm8 */
2229 {
2230 -1, "bblt16r", "bblt", 16,
2231 { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2232 },
2233/* bblt $simm24 */
2234 {
2235 -1, "bblt32r", "bblt", 32,
2236 { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2237 },
2238/* bblte $simm8 */
2239 {
2240 -1, "bblte16r", "bblte", 16,
2241 { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2242 },
2243/* bblte $simm24 */
2244 {
2245 -1, "bblte32r", "bblte", 32,
2246 { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2247 },
2248/* b $simm8 */
2249 {
2250 -1, "b16r", "b", 16,
2251 { 0|A(RELAXABLE)|A(UNCOND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2252 },
2253/* b $simm24 */
2254 {
2255 -1, "b32r", "b", 32,
2256 { 0|A(RELAXED)|A(UNCOND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2257 },
2258/* bl $simm8 */
2259 {
2260 -1, "bl16r", "bl", 16,
2261 { 0|A(RELAXABLE)|A(UNCOND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2262 },
2263/* bl $simm24 */
2264 {
2265 -1, "blr", "bl", 32,
2266 { 0|A(RELAXED)|A(UNCOND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2267 },
2268/* ldrb.l $rd6,[$rn6,$direction$rm6] */
2269 {
2270 -1, "ldrbx", "ldrb.l", 32,
02a79b89 2271 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2272 },
2273/* ldrb.l $rd6,[$rn6],$direction$rm6 */
2274 {
2275 -1, "ldrbp", "ldrb.l", 32,
02a79b89 2276 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2277 },
2278/* ldrb.l $rd6,[$rn6,$dpmi$disp11] */
2279 {
2280 -1, "ldrbd", "ldrb.l", 32,
02a79b89 2281 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2282 },
2283/* ldrb.l $rd6,[$rn6],$dpmi$disp11 */
2284 {
2285 -1, "ldrbdpm", "ldrb.l", 32,
02a79b89 2286 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2287 },
2288/* ldrb $rd,[$rn] */
2289 {
2290 -1, "ldrbds0", "ldrb", 16,
2291 { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2292 },
2293/* ldrb $rd6,[$rn6] */
2294 {
2295 -1, "ldrbdl0", "ldrb", 32,
02a79b89 2296 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2297 },
2298/* ldrb.l $rd6,[$rn6] */
2299 {
2300 -1, "ldrbdl0.l", "ldrb.l", 32,
02a79b89 2301 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2302 },
2303/* ldrh.l $rd6,[$rn6,$direction$rm6] */
2304 {
2305 -1, "ldrhx", "ldrh.l", 32,
02a79b89 2306 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2307 },
2308/* ldrh.l $rd6,[$rn6],$direction$rm6 */
2309 {
2310 -1, "ldrhp", "ldrh.l", 32,
02a79b89 2311 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2312 },
2313/* ldrh.l $rd6,[$rn6,$dpmi$disp11] */
2314 {
2315 -1, "ldrhd", "ldrh.l", 32,
02a79b89 2316 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2317 },
2318/* ldrh.l $rd6,[$rn6],$dpmi$disp11 */
2319 {
2320 -1, "ldrhdpm", "ldrh.l", 32,
02a79b89 2321 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2322 },
2323/* ldrh $rd,[$rn] */
2324 {
2325 -1, "ldrhds0", "ldrh", 16,
2326 { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2327 },
2328/* ldrh $rd6,[$rn6] */
2329 {
2330 -1, "ldrhdl0", "ldrh", 32,
02a79b89 2331 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2332 },
2333/* ldrh.l $rd6,[$rn6] */
2334 {
2335 -1, "ldrhdl0.l", "ldrh.l", 32,
02a79b89 2336 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2337 },
2338/* ldr.l $rd6,[$rn6,$direction$rm6] */
2339 {
2340 -1, "ldrx", "ldr.l", 32,
02a79b89 2341 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2342 },
2343/* ldr.l $rd6,[$rn6],$direction$rm6 */
2344 {
2345 -1, "ldrp", "ldr.l", 32,
02a79b89 2346 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2347 },
2348/* ldr.l $rd6,[$rn6,$dpmi$disp11] */
2349 {
2350 -1, "ldrd", "ldr.l", 32,
02a79b89 2351 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2352 },
2353/* ldr.l $rd6,[$rn6],$dpmi$disp11 */
2354 {
2355 -1, "ldrdpm", "ldr.l", 32,
02a79b89 2356 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2357 },
2358/* ldr $rd,[$rn] */
2359 {
2360 -1, "ldrds0", "ldr", 16,
2361 { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2362 },
2363/* ldr $rd6,[$rn6] */
2364 {
2365 -1, "ldrdl0", "ldr", 32,
02a79b89 2366 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2367 },
2368/* ldr.l $rd6,[$rn6] */
2369 {
2370 -1, "ldrdl0.l", "ldr.l", 32,
02a79b89 2371 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2372 },
2373/* ldrd.l $rd6,[$rn6,$direction$rm6] */
2374 {
2375 -1, "ldrdx", "ldrd.l", 32,
02a79b89 2376 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2377 },
2378/* ldrd.l $rd6,[$rn6],$direction$rm6 */
2379 {
2380 -1, "ldrdp", "ldrd.l", 32,
02a79b89 2381 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2382 },
2383/* ldrd.l $rd6,[$rn6,$dpmi$disp11] */
2384 {
2385 -1, "ldrdd", "ldrd.l", 32,
02a79b89 2386 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2387 },
2388/* ldrd.l $rd6,[$rn6],$dpmi$disp11 */
2389 {
2390 -1, "ldrddpm", "ldrd.l", 32,
02a79b89 2391 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2392 },
2393/* ldrd $rd,[$rn] */
2394 {
2395 -1, "ldrdds0", "ldrd", 16,
2396 { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2397 },
2398/* ldrd $rd6,[$rn6] */
2399 {
2400 -1, "ldrddl0", "ldrd", 32,
02a79b89 2401 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2402 },
2403/* ldrd.l $rd6,[$rn6] */
2404 {
2405 -1, "ldrddl0.l", "ldrd.l", 32,
02a79b89 2406 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2407 },
2408/* testsetb.l $rd6,[$rn6,$direction$rm6] */
2409 {
2410 -1, "testsetbt.l", "testsetb.l", 32,
02a79b89 2411 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2412 },
2413/* testseth.l $rd6,[$rn6,$direction$rm6] */
2414 {
2415 -1, "testsetht.l", "testseth.l", 32,
02a79b89 2416 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2417 },
2418/* testset.l $rd6,[$rn6,$direction$rm6] */
2419 {
2420 -1, "testsett.l", "testset.l", 32,
02a79b89 2421 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2422 },
2423/* strb.l $rd6,[$rn6,$direction$rm6] */
2424 {
2425 -1, "strbx.l", "strb.l", 32,
02a79b89 2426 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2427 },
2428/* strb.l $rd6,[$rn6],$direction$rm6 */
2429 {
2430 -1, "strbp.l", "strb.l", 32,
02a79b89 2431 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2432 },
2433/* strb.l $rd6,[$rn6,$dpmi$disp11] */
2434 {
2435 -1, "strbd.l", "strb.l", 32,
02a79b89 2436 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2437 },
2438/* strb.l $rd6,[$rn6],$dpmi$disp11 */
2439 {
2440 -1, "strbdpm.l", "strb.l", 32,
02a79b89 2441 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2442 },
2443/* strb $rd,[$rn] */
2444 {
2445 -1, "strbds0", "strb", 16,
2446 { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2447 },
2448/* strb $rd6,[$rn6] */
2449 {
2450 -1, "strbdl0", "strb", 32,
2451 { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2452 },
2453/* strb.l $rd6,[$rn6] */
2454 {
2455 -1, "strbdl0.l", "strb.l", 32,
02a79b89 2456 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2457 },
2458/* strh.l $rd6,[$rn6,$direction$rm6] */
2459 {
2460 -1, "strhx.l", "strh.l", 32,
02a79b89 2461 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2462 },
2463/* strh.l $rd6,[$rn6],$direction$rm6 */
2464 {
2465 -1, "strhp.l", "strh.l", 32,
02a79b89 2466 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2467 },
2468/* strh.l $rd6,[$rn6,$dpmi$disp11] */
2469 {
2470 -1, "strhd.l", "strh.l", 32,
02a79b89 2471 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2472 },
2473/* strh.l $rd6,[$rn6],$dpmi$disp11 */
2474 {
2475 -1, "strhdpm.l", "strh.l", 32,
02a79b89 2476 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2477 },
2478/* strh $rd,[$rn] */
2479 {
2480 -1, "strhds0", "strh", 16,
2481 { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2482 },
2483/* strh $rd6,[$rn6] */
2484 {
2485 -1, "strhdl0", "strh", 32,
2486 { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2487 },
2488/* strh.l $rd6,[$rn6] */
2489 {
2490 -1, "strhdl0.l", "strh.l", 32,
02a79b89 2491 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2492 },
2493/* str.l $rd6,[$rn6,$direction$rm6] */
2494 {
2495 -1, "strx.l", "str.l", 32,
02a79b89 2496 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2497 },
2498/* str.l $rd6,[$rn6],$direction$rm6 */
2499 {
2500 -1, "strp.l", "str.l", 32,
02a79b89 2501 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2502 },
2503/* str.l $rd6,[$rn6,$dpmi$disp11] */
2504 {
2505 -1, "strd.l", "str.l", 32,
02a79b89 2506 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2507 },
2508/* str.l $rd6,[$rn6],$dpmi$disp11 */
2509 {
2510 -1, "strdpm.l", "str.l", 32,
02a79b89 2511 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2512 },
2513/* str $rd,[$rn] */
2514 {
2515 -1, "strds0", "str", 16,
2516 { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2517 },
2518/* str $rd6,[$rn6] */
2519 {
2520 -1, "strdl0", "str", 32,
2521 { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2522 },
2523/* str.l $rd6,[$rn6] */
2524 {
2525 -1, "strdl0.l", "str.l", 32,
02a79b89 2526 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2527 },
2528/* strd.l $rd6,[$rn6,$direction$rm6] */
2529 {
2530 -1, "strdx.l", "strd.l", 32,
02a79b89 2531 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2532 },
2533/* strd.l $rd6,[$rn6],$direction$rm6 */
2534 {
2535 -1, "strdp.l", "strd.l", 32,
02a79b89 2536 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2537 },
2538/* strd.l $rd6,[$rn6,$dpmi$disp11] */
2539 {
2540 -1, "strdd.l", "strd.l", 32,
02a79b89 2541 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2542 },
2543/* strd.l $rd6,[$rn6],$dpmi$disp11 */
2544 {
2545 -1, "strddpm.l", "strd.l", 32,
02a79b89 2546 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2547 },
2548/* strd $rd,[$rn] */
2549 {
2550 -1, "strdds0", "strd", 16,
2551 { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2552 },
2553/* strd $rd6,[$rn6] */
2554 {
2555 -1, "strddl0", "strd", 32,
2556 { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2557 },
2558/* strd.l $rd6,[$rn6] */
2559 {
2560 -1, "strddl0.l", "strd.l", 32,
02a79b89 2561 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2562 },
2563/* moveq.l $rd6,$rn6 */
2564 {
2565 -1, "cmov.lEQ", "moveq.l", 32,
02a79b89 2566 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2567 },
2568/* movne.l $rd6,$rn6 */
2569 {
2570 -1, "cmov.lNE", "movne.l", 32,
02a79b89 2571 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2572 },
2573/* movgtu.l $rd6,$rn6 */
2574 {
2575 -1, "cmov.lGTU", "movgtu.l", 32,
02a79b89 2576 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2577 },
2578/* movgteu.l $rd6,$rn6 */
2579 {
2580 -1, "cmov.lGTEU", "movgteu.l", 32,
02a79b89 2581 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2582 },
2583/* movlteu.l $rd6,$rn6 */
2584 {
2585 -1, "cmov.lLTEU", "movlteu.l", 32,
02a79b89 2586 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2587 },
2588/* movltu.l $rd6,$rn6 */
2589 {
2590 -1, "cmov.lLTU", "movltu.l", 32,
02a79b89 2591 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2592 },
2593/* movgt.l $rd6,$rn6 */
2594 {
2595 -1, "cmov.lGT", "movgt.l", 32,
02a79b89 2596 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2597 },
2598/* movgte.l $rd6,$rn6 */
2599 {
2600 -1, "cmov.lGTE", "movgte.l", 32,
02a79b89 2601 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2602 },
2603/* movlt.l $rd6,$rn6 */
2604 {
2605 -1, "cmov.lLT", "movlt.l", 32,
02a79b89 2606 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2607 },
2608/* movlte.l $rd6,$rn6 */
2609 {
2610 -1, "cmov.lLTE", "movlte.l", 32,
02a79b89 2611 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2612 },
2613/* mov.l $rd6,$rn6 */
2614 {
2615 -1, "cmov.lB", "mov.l", 32,
02a79b89 2616 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2617 },
2618/* movbeq.l $rd6,$rn6 */
2619 {
2620 -1, "cmov.lBEQ", "movbeq.l", 32,
02a79b89 2621 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2622 },
2623/* movbne.l $rd6,$rn6 */
2624 {
2625 -1, "cmov.lBNE", "movbne.l", 32,
02a79b89 2626 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2627 },
2628/* movblt.l $rd6,$rn6 */
2629 {
2630 -1, "cmov.lBLT", "movblt.l", 32,
02a79b89 2631 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2632 },
2633/* movblte.l $rd6,$rn6 */
2634 {
2635 -1, "cmov.lBLTE", "movblte.l", 32,
02a79b89 2636 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2637 },
2638/* movts.l $sn6,$rd6 */
2639 {
2640 -1, "movts.l6", "movts.l", 32,
02a79b89 2641 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2642 },
2643/* movts.l $sndma,$rd6 */
2644 {
2645 -1, "movts.ldma", "movts.l", 32,
02a79b89 2646 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2647 },
2648/* movts.l $snmem,$rd6 */
2649 {
2650 -1, "movts.lmem", "movts.l", 32,
02a79b89 2651 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2652 },
2653/* movts.l $snmesh,$rd6 */
2654 {
2655 -1, "movts.lmesh", "movts.l", 32,
02a79b89 2656 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2657 },
2658/* movfs.l $rd6,$sn6 */
2659 {
2660 -1, "movfs.l6", "movfs.l", 32,
02a79b89 2661 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2662 },
2663/* movfs.l $rd6,$sndma */
2664 {
2665 -1, "movfs.ldma", "movfs.l", 32,
02a79b89 2666 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2667 },
2668/* movfs.l $rd6,$snmem */
2669 {
2670 -1, "movfs.lmem", "movfs.l", 32,
02a79b89 2671 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2672 },
2673/* movfs.l $rd6,$snmesh */
2674 {
2675 -1, "movfs.lmesh", "movfs.l", 32,
02a79b89 2676 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2677 },
2678/* add.l $rd6,$rn6,$rm6 */
2679 {
2680 -1, "add.l", "add.l", 32,
02a79b89 2681 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2682 },
2683/* sub.l $rd6,$rn6,$rm6 */
2684 {
2685 -1, "sub.l", "sub.l", 32,
02a79b89 2686 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2687 },
2688/* and.l $rd6,$rn6,$rm6 */
2689 {
2690 -1, "and.l", "and.l", 32,
02a79b89 2691 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2692 },
2693/* orr.l $rd6,$rn6,$rm6 */
2694 {
2695 -1, "orr.l", "orr.l", 32,
02a79b89 2696 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2697 },
2698/* eor.l $rd6,$rn6,$rm6 */
2699 {
2700 -1, "eor.l", "eor.l", 32,
02a79b89 2701 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2702 },
2703/* add $rd,$rn,$simm3 */
2704 {
2705 -1, "addir", "add", 16,
2706 { 0|A(IMM3)|A(RELAXABLE)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2707 },
2708/* add $rd6,$rn6,$simm11 */
2709 {
2710 -1, "addi32r", "add", 32,
2711 { 0|A(RELAXED)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2712 },
2713/* add $rd6,$rn6,$simm11 */
2714 {
2715 -1, "addi32m", "add", 32,
2716 { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2717 },
2718/* sub $rd,$rn,$simm3 */
2719 {
2720 -1, "subir", "sub", 16,
2721 { 0|A(IMM3)|A(RELAXABLE)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2722 },
2723/* sub $rd6,$rn6,$simm11 */
2724 {
2725 -1, "subi32r", "sub", 32,
2726 { 0|A(RELAXED)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2727 },
2728/* sub $rd6,$rn6,$simm11 */
2729 {
2730 -1, "subi32m", "sub", 32,
2731 { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2732 },
2733/* asr.l $rd6,$rn6,$rm6 */
2734 {
2735 -1, "asr.l", "asr.l", 32,
02a79b89 2736 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2737 },
2738/* lsr.l $rd6,$rn6,$rm6 */
2739 {
2740 -1, "lsr.l", "lsr.l", 32,
02a79b89 2741 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2742 },
2743/* lsl.l $rd6,$rn6,$rm6 */
2744 {
2745 -1, "lsl.l", "lsl.l", 32,
02a79b89 2746 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2747 },
2748/* lsr.l $rd6,$rn6,$shift */
2749 {
2750 -1, "lsri32.l", "lsr.l", 32,
02a79b89 2751 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2752 },
2753/* lsl.l $rd6,$rn6,$shift */
2754 {
2755 -1, "lsli32.l", "lsl.l", 32,
02a79b89 2756 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2757 },
2758/* asr.l $rd6,$rn6,$shift */
2759 {
2760 -1, "asri32.l", "asr.l", 32,
02a79b89 2761 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2762 },
2763/* bitr.l $rd6,$rn6 */
2764 {
2765 -1, "bitrl", "bitr.l", 32,
02a79b89 2766 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2767 },
2768/* fext.l $rd6,$rn6,$rm6 */
2769 {
2770 -1, "fext.l", "fext.l", 32,
02a79b89 2771 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2772 },
2773/* fdep.l $rd6,$rn6,$rm6 */
2774 {
2775 -1, "fdep.l", "fdep.l", 32,
02a79b89 2776 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2777 },
2778/* lfsr.l $rd6,$rn6,$rm6 */
2779 {
2780 -1, "lfsr.l", "lfsr.l", 32,
02a79b89 2781 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2782 },
2783/* mov $rd,$imm8 */
2784 {
2785 -1, "mov8r", "mov", 16,
2786 { 0|A(RELAXABLE)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2787 },
2788/* mov $rd6,$imm16 */
2789 {
2790 -1, "mov16r", "mov", 32,
2791 { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2792 },
2793/* movt.l $rd6,$imm16 */
2794 {
2795 -1, "movtl", "movt.l", 32,
02a79b89 2796 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2797 },
2798/* iadd $rd,$rn,$rm */
2799 {
2800 -1, "i_addf16", "iadd", 16,
2801 { 0|A(NO_DIS)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2802 },
2803/* fadd.l $rd6,$rn6,$rm6 */
2804 {
2805 -1, "f_addf32.l", "fadd.l", 32,
02a79b89 2806 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2807 },
2808/* iadd $rd6,$rn6,$rm6 */
2809 {
2810 -1, "i_addf32", "iadd", 32,
2811 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2812 },
2813/* iadd.l $rd6,$rn6,$rm6 */
2814 {
2815 -1, "i_addf32.l", "iadd.l", 32,
2816 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2817 },
2818/* isub $rd,$rn,$rm */
2819 {
2820 -1, "i_subf16", "isub", 16,
2821 { 0|A(NO_DIS)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2822 },
2823/* fsub.l $rd6,$rn6,$rm6 */
2824 {
2825 -1, "f_subf32.l", "fsub.l", 32,
02a79b89 2826 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2827 },
2828/* isub $rd6,$rn6,$rm6 */
2829 {
2830 -1, "i_subf32", "isub", 32,
2831 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2832 },
2833/* isub.l $rd6,$rn6,$rm6 */
2834 {
2835 -1, "i_subf32.l", "isub.l", 32,
2836 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2837 },
2838/* imul $rd,$rn,$rm */
2839 {
2840 -1, "i_mulf16", "imul", 16,
2841 { 0|A(NO_DIS)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2842 },
2843/* fmul.l $rd6,$rn6,$rm6 */
2844 {
2845 -1, "f_mulf32.l", "fmul.l", 32,
02a79b89 2846 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2847 },
2848/* imul $rd6,$rn6,$rm6 */
2849 {
2850 -1, "i_mulf32", "imul", 32,
2851 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2852 },
2853/* imul.l $rd6,$rn6,$rm6 */
2854 {
2855 -1, "i_mulf32.l", "imul.l", 32,
2856 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2857 },
2858/* imadd $rd,$rn,$rm */
2859 {
2860 -1, "i_maddf16", "imadd", 16,
2861 { 0|A(NO_DIS)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2862 },
2863/* fmadd.l $rd6,$rn6,$rm6 */
2864 {
2865 -1, "f_maddf32.l", "fmadd.l", 32,
02a79b89 2866 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2867 },
2868/* imadd $rd6,$rn6,$rm6 */
2869 {
2870 -1, "i_maddf32", "imadd", 32,
2871 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2872 },
2873/* imadd.l $rd6,$rn6,$rm6 */
2874 {
2875 -1, "i_maddf32.l", "imadd.l", 32,
2876 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2877 },
2878/* imsub $rd,$rn,$rm */
2879 {
2880 -1, "i_msubf16", "imsub", 16,
2881 { 0|A(NO_DIS)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2882 },
2883/* fmsub.l $rd6,$rn6,$rm6 */
2884 {
2885 -1, "f_msubf32.l", "fmsub.l", 32,
02a79b89 2886 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2887 },
2888/* imsub $rd6,$rn6,$rm6 */
2889 {
2890 -1, "i_msubf32", "imsub", 32,
2891 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2892 },
2893/* imsub.l $rd6,$rn6,$rm6 */
2894 {
2895 -1, "i_msubf32.l", "imsub.l", 32,
2896 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2897 },
2898/* fabs.l $rd6,$rn6 */
2899 {
2900 -1, "f_absf32.l", "fabs.l", 32,
02a79b89 2901 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2902 },
2903/* float.l $rd6,$rn6 */
2904 {
2905 -1, "f_loatf32.l", "float.l", 32,
02a79b89 2906 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2907 },
2908/* fix.l $rd6,$rn6 */
2909 {
2910 -1, "f_ixf32.l", "fix.l", 32,
02a79b89 2911 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2912 },
2913/* frecip.l $frd6,$frn6 */
2914 {
2915 -1, "f_recipf32.l", "frecip.l", 32,
02a79b89 2916 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2917 },
2918/* fsqrt.l $frd6,$frn6 */
2919 {
2920 -1, "f_sqrtf32.l", "fsqrt.l", 32,
02a79b89 2921 { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
cfb8c092
NC
2922 },
2923};
2924
2925/* The macro instruction opcode table. */
2926
2927static const CGEN_OPCODE epiphany_cgen_macro_insn_opcode_table[] =
2928{
2929/* beq $simm8 */
2930 {
2931 { 0, 0, 0, 0 },
2932 { { MNEM, ' ', OP (SIMM8), 0 } },
2933 & ifmt_beq16r, { 0x0 }
2934 },
2935/* beq $simm24 */
2936 {
2937 { 0, 0, 0, 0 },
2938 { { MNEM, ' ', OP (SIMM24), 0 } },
2939 & ifmt_beq32r, { 0x8 }
2940 },
2941/* bne $simm8 */
2942 {
2943 { 0, 0, 0, 0 },
2944 { { MNEM, ' ', OP (SIMM8), 0 } },
2945 & ifmt_bne16r, { 0x10 }
2946 },
2947/* bne $simm24 */
2948 {
2949 { 0, 0, 0, 0 },
2950 { { MNEM, ' ', OP (SIMM24), 0 } },
2951 & ifmt_bne32r, { 0x18 }
2952 },
2953/* bgtu $simm8 */
2954 {
2955 { 0, 0, 0, 0 },
2956 { { MNEM, ' ', OP (SIMM8), 0 } },
2957 & ifmt_bgtu16r, { 0x20 }
2958 },
2959/* bgtu $simm24 */
2960 {
2961 { 0, 0, 0, 0 },
2962 { { MNEM, ' ', OP (SIMM24), 0 } },
2963 & ifmt_bgtu32r, { 0x28 }
2964 },
2965/* bgteu $simm8 */
2966 {
2967 { 0, 0, 0, 0 },
2968 { { MNEM, ' ', OP (SIMM8), 0 } },
2969 & ifmt_bgteu16r, { 0x30 }
2970 },
2971/* bgteu $simm24 */
2972 {
2973 { 0, 0, 0, 0 },
2974 { { MNEM, ' ', OP (SIMM24), 0 } },
2975 & ifmt_bgteu32r, { 0x38 }
2976 },
2977/* blteu $simm8 */
2978 {
2979 { 0, 0, 0, 0 },
2980 { { MNEM, ' ', OP (SIMM8), 0 } },
2981 & ifmt_blteu16r, { 0x40 }
2982 },
2983/* blteu $simm24 */
2984 {
2985 { 0, 0, 0, 0 },
2986 { { MNEM, ' ', OP (SIMM24), 0 } },
2987 & ifmt_blteu32r, { 0x48 }
2988 },
2989/* bltu $simm8 */
2990 {
2991 { 0, 0, 0, 0 },
2992 { { MNEM, ' ', OP (SIMM8), 0 } },
2993 & ifmt_bltu16r, { 0x50 }
2994 },
2995/* bltu $simm24 */
2996 {
2997 { 0, 0, 0, 0 },
2998 { { MNEM, ' ', OP (SIMM24), 0 } },
2999 & ifmt_bltu32r, { 0x58 }
3000 },
3001/* bgt $simm8 */
3002 {
3003 { 0, 0, 0, 0 },
3004 { { MNEM, ' ', OP (SIMM8), 0 } },
3005 & ifmt_bgt16r, { 0x60 }
3006 },
3007/* bgt $simm24 */
3008 {
3009 { 0, 0, 0, 0 },
3010 { { MNEM, ' ', OP (SIMM24), 0 } },
3011 & ifmt_bgt32r, { 0x68 }
3012 },
3013/* bgte $simm8 */
3014 {
3015 { 0, 0, 0, 0 },
3016 { { MNEM, ' ', OP (SIMM8), 0 } },
3017 & ifmt_bgte16r, { 0x70 }
3018 },
3019/* bgte $simm24 */
3020 {
3021 { 0, 0, 0, 0 },
3022 { { MNEM, ' ', OP (SIMM24), 0 } },
3023 & ifmt_bgte32r, { 0x78 }
3024 },
3025/* blt $simm8 */
3026 {
3027 { 0, 0, 0, 0 },
3028 { { MNEM, ' ', OP (SIMM8), 0 } },
3029 & ifmt_blt16r, { 0x80 }
3030 },
3031/* blt $simm24 */
3032 {
3033 { 0, 0, 0, 0 },
3034 { { MNEM, ' ', OP (SIMM24), 0 } },
3035 & ifmt_blt32r, { 0x88 }
3036 },
3037/* blte $simm8 */
3038 {
3039 { 0, 0, 0, 0 },
3040 { { MNEM, ' ', OP (SIMM8), 0 } },
3041 & ifmt_blte16r, { 0x90 }
3042 },
3043/* blte $simm24 */
3044 {
3045 { 0, 0, 0, 0 },
3046 { { MNEM, ' ', OP (SIMM24), 0 } },
3047 & ifmt_blte32r, { 0x98 }
3048 },
3049/* bbeq $simm8 */
3050 {
3051 { 0, 0, 0, 0 },
3052 { { MNEM, ' ', OP (SIMM8), 0 } },
3053 & ifmt_bbeq16r, { 0xa0 }
3054 },
3055/* bbeq $simm24 */
3056 {
3057 { 0, 0, 0, 0 },
3058 { { MNEM, ' ', OP (SIMM24), 0 } },
3059 & ifmt_bbeq32r, { 0xa8 }
3060 },
3061/* bbne $simm8 */
3062 {
3063 { 0, 0, 0, 0 },
3064 { { MNEM, ' ', OP (SIMM8), 0 } },
3065 & ifmt_bbne16r, { 0xb0 }
3066 },
3067/* bbne $simm24 */
3068 {
3069 { 0, 0, 0, 0 },
3070 { { MNEM, ' ', OP (SIMM24), 0 } },
3071 & ifmt_bbne32r, { 0xb8 }
3072 },
3073/* bblt $simm8 */
3074 {
3075 { 0, 0, 0, 0 },
3076 { { MNEM, ' ', OP (SIMM8), 0 } },
3077 & ifmt_bblt16r, { 0xc0 }
3078 },
3079/* bblt $simm24 */
3080 {
3081 { 0, 0, 0, 0 },
3082 { { MNEM, ' ', OP (SIMM24), 0 } },
3083 & ifmt_bblt32r, { 0xc8 }
3084 },
3085/* bblte $simm8 */
3086 {
3087 { 0, 0, 0, 0 },
3088 { { MNEM, ' ', OP (SIMM8), 0 } },
3089 & ifmt_bblte16r, { 0xd0 }
3090 },
3091/* bblte $simm24 */
3092 {
3093 { 0, 0, 0, 0 },
3094 { { MNEM, ' ', OP (SIMM24), 0 } },
3095 & ifmt_bblte32r, { 0xd8 }
3096 },
3097/* b $simm8 */
3098 {
3099 { 0, 0, 0, 0 },
3100 { { MNEM, ' ', OP (SIMM8), 0 } },
3101 & ifmt_b16r, { 0xe0 }
3102 },
3103/* b $simm24 */
3104 {
3105 { 0, 0, 0, 0 },
3106 { { MNEM, ' ', OP (SIMM24), 0 } },
3107 & ifmt_b32r, { 0xe8 }
3108 },
3109/* bl $simm8 */
3110 {
3111 { 0, 0, 0, 0 },
3112 { { MNEM, ' ', OP (SIMM8), 0 } },
3113 & ifmt_bl16r, { 0xf0 }
3114 },
3115/* bl $simm24 */
3116 {
3117 { 0, 0, 0, 0 },
3118 { { MNEM, ' ', OP (SIMM24), 0 } },
3119 & ifmt_blr, { 0xf8 }
3120 },
3121/* ldrb.l $rd6,[$rn6,$direction$rm6] */
3122 {
3123 { 0, 0, 0, 0 },
3124 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
3125 & ifmt_ldrbx, { 0x9 }
3126 },
3127/* ldrb.l $rd6,[$rn6],$direction$rm6 */
3128 {
3129 { 0, 0, 0, 0 },
3130 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
3131 & ifmt_ldrbp, { 0xd }
3132 },
3133/* ldrb.l $rd6,[$rn6,$dpmi$disp11] */
3134 {
3135 { 0, 0, 0, 0 },
3136 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
3137 & ifmt_ldrbd, { 0xc }
3138 },
3139/* ldrb.l $rd6,[$rn6],$dpmi$disp11 */
3140 {
3141 { 0, 0, 0, 0 },
3142 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
3143 & ifmt_ldrbdpm, { 0x200000c }
3144 },
3145/* ldrb $rd,[$rn] */
3146 {
3147 { 0, 0, 0, 0 },
3148 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
3149 & ifmt_ldrbds0, { 0x4 }
3150 },
3151/* ldrb $rd6,[$rn6] */
3152 {
3153 { 0, 0, 0, 0 },
3154 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3155 & ifmt_ldrbdl0, { 0xc }
3156 },
3157/* ldrb.l $rd6,[$rn6] */
3158 {
3159 { 0, 0, 0, 0 },
3160 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3161 & ifmt_ldrbdl0_l, { 0xc }
3162 },
3163/* ldrh.l $rd6,[$rn6,$direction$rm6] */
3164 {
3165 { 0, 0, 0, 0 },
3166 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
3167 & ifmt_ldrhx, { 0x29 }
3168 },
3169/* ldrh.l $rd6,[$rn6],$direction$rm6 */
3170 {
3171 { 0, 0, 0, 0 },
3172 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
3173 & ifmt_ldrhp, { 0x2d }
3174 },
3175/* ldrh.l $rd6,[$rn6,$dpmi$disp11] */
3176 {
3177 { 0, 0, 0, 0 },
3178 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
3179 & ifmt_ldrhd, { 0x2c }
3180 },
3181/* ldrh.l $rd6,[$rn6],$dpmi$disp11 */
3182 {
3183 { 0, 0, 0, 0 },
3184 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
3185 & ifmt_ldrhdpm, { 0x200002c }
3186 },
3187/* ldrh $rd,[$rn] */
3188 {
3189 { 0, 0, 0, 0 },
3190 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
3191 & ifmt_ldrhds0, { 0x24 }
3192 },
3193/* ldrh $rd6,[$rn6] */
3194 {
3195 { 0, 0, 0, 0 },
3196 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3197 & ifmt_ldrhdl0, { 0x2c }
3198 },
3199/* ldrh.l $rd6,[$rn6] */
3200 {
3201 { 0, 0, 0, 0 },
3202 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3203 & ifmt_ldrhdl0_l, { 0x2c }
3204 },
3205/* ldr.l $rd6,[$rn6,$direction$rm6] */
3206 {
3207 { 0, 0, 0, 0 },
3208 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
3209 & ifmt_ldrx, { 0x49 }
3210 },
3211/* ldr.l $rd6,[$rn6],$direction$rm6 */
3212 {
3213 { 0, 0, 0, 0 },
3214 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
3215 & ifmt_ldrp, { 0x4d }
3216 },
3217/* ldr.l $rd6,[$rn6,$dpmi$disp11] */
3218 {
3219 { 0, 0, 0, 0 },
3220 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
3221 & ifmt_ldrd, { 0x4c }
3222 },
3223/* ldr.l $rd6,[$rn6],$dpmi$disp11 */
3224 {
3225 { 0, 0, 0, 0 },
3226 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
3227 & ifmt_ldrdpm, { 0x200004c }
3228 },
3229/* ldr $rd,[$rn] */
3230 {
3231 { 0, 0, 0, 0 },
3232 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
3233 & ifmt_ldrds0, { 0x44 }
3234 },
3235/* ldr $rd6,[$rn6] */
3236 {
3237 { 0, 0, 0, 0 },
3238 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3239 & ifmt_ldrdl0, { 0x4c }
3240 },
3241/* ldr.l $rd6,[$rn6] */
3242 {
3243 { 0, 0, 0, 0 },
3244 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3245 & ifmt_ldrdl0_l, { 0x4c }
3246 },
3247/* ldrd.l $rd6,[$rn6,$direction$rm6] */
3248 {
3249 { 0, 0, 0, 0 },
3250 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
3251 & ifmt_ldrdx, { 0x69 }
3252 },
3253/* ldrd.l $rd6,[$rn6],$direction$rm6 */
3254 {
3255 { 0, 0, 0, 0 },
3256 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
3257 & ifmt_ldrdp, { 0x6d }
3258 },
3259/* ldrd.l $rd6,[$rn6,$dpmi$disp11] */
3260 {
3261 { 0, 0, 0, 0 },
3262 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
3263 & ifmt_ldrdd, { 0x6c }
3264 },
3265/* ldrd.l $rd6,[$rn6],$dpmi$disp11 */
3266 {
3267 { 0, 0, 0, 0 },
3268 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
3269 & ifmt_ldrddpm, { 0x200006c }
3270 },
3271/* ldrd $rd,[$rn] */
3272 {
3273 { 0, 0, 0, 0 },
3274 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
3275 & ifmt_ldrdds0, { 0x64 }
3276 },
3277/* ldrd $rd6,[$rn6] */
3278 {
3279 { 0, 0, 0, 0 },
3280 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3281 & ifmt_ldrddl0, { 0x6c }
3282 },
3283/* ldrd.l $rd6,[$rn6] */
3284 {
3285 { 0, 0, 0, 0 },
3286 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3287 & ifmt_ldrddl0_l, { 0x6c }
3288 },
3289/* testsetb.l $rd6,[$rn6,$direction$rm6] */
3290 {
3291 { 0, 0, 0, 0 },
3292 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
3293 & ifmt_testsetbt_l, { 0x200009 }
3294 },
3295/* testseth.l $rd6,[$rn6,$direction$rm6] */
3296 {
3297 { 0, 0, 0, 0 },
3298 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
3299 & ifmt_testsetht_l, { 0x200029 }
3300 },
3301/* testset.l $rd6,[$rn6,$direction$rm6] */
3302 {
3303 { 0, 0, 0, 0 },
3304 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
3305 & ifmt_testsett_l, { 0x200049 }
3306 },
3307/* strb.l $rd6,[$rn6,$direction$rm6] */
3308 {
3309 { 0, 0, 0, 0 },
3310 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
3311 & ifmt_strbx_l, { 0x19 }
3312 },
3313/* strb.l $rd6,[$rn6],$direction$rm6 */
3314 {
3315 { 0, 0, 0, 0 },
3316 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
3317 & ifmt_strbp_l, { 0x1d }
3318 },
3319/* strb.l $rd6,[$rn6,$dpmi$disp11] */
3320 {
3321 { 0, 0, 0, 0 },
3322 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
3323 & ifmt_strbd_l, { 0x1c }
3324 },
3325/* strb.l $rd6,[$rn6],$dpmi$disp11 */
3326 {
3327 { 0, 0, 0, 0 },
3328 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
3329 & ifmt_strbdpm_l, { 0x200001c }
3330 },
3331/* strb $rd,[$rn] */
3332 {
3333 { 0, 0, 0, 0 },
3334 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
3335 & ifmt_strbds0, { 0x14 }
3336 },
3337/* strb $rd6,[$rn6] */
3338 {
3339 { 0, 0, 0, 0 },
3340 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3341 & ifmt_strbdl0, { 0x1c }
3342 },
3343/* strb.l $rd6,[$rn6] */
3344 {
3345 { 0, 0, 0, 0 },
3346 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3347 & ifmt_strbdl0_l, { 0x1c }
3348 },
3349/* strh.l $rd6,[$rn6,$direction$rm6] */
3350 {
3351 { 0, 0, 0, 0 },
3352 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
3353 & ifmt_strhx_l, { 0x39 }
3354 },
3355/* strh.l $rd6,[$rn6],$direction$rm6 */
3356 {
3357 { 0, 0, 0, 0 },
3358 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
3359 & ifmt_strhp_l, { 0x3d }
3360 },
3361/* strh.l $rd6,[$rn6,$dpmi$disp11] */
3362 {
3363 { 0, 0, 0, 0 },
3364 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
3365 & ifmt_strhd_l, { 0x3c }
3366 },
3367/* strh.l $rd6,[$rn6],$dpmi$disp11 */
3368 {
3369 { 0, 0, 0, 0 },
3370 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
3371 & ifmt_strhdpm_l, { 0x200003c }
3372 },
3373/* strh $rd,[$rn] */
3374 {
3375 { 0, 0, 0, 0 },
3376 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
3377 & ifmt_strhds0, { 0x34 }
3378 },
3379/* strh $rd6,[$rn6] */
3380 {
3381 { 0, 0, 0, 0 },
3382 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3383 & ifmt_strhdl0, { 0x3c }
3384 },
3385/* strh.l $rd6,[$rn6] */
3386 {
3387 { 0, 0, 0, 0 },
3388 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3389 & ifmt_strhdl0_l, { 0x3c }
3390 },
3391/* str.l $rd6,[$rn6,$direction$rm6] */
3392 {
3393 { 0, 0, 0, 0 },
3394 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
3395 & ifmt_strx_l, { 0x59 }
3396 },
3397/* str.l $rd6,[$rn6],$direction$rm6 */
3398 {
3399 { 0, 0, 0, 0 },
3400 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
3401 & ifmt_strp_l, { 0x5d }
3402 },
3403/* str.l $rd6,[$rn6,$dpmi$disp11] */
3404 {
3405 { 0, 0, 0, 0 },
3406 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
3407 & ifmt_strd_l, { 0x5c }
3408 },
3409/* str.l $rd6,[$rn6],$dpmi$disp11 */
3410 {
3411 { 0, 0, 0, 0 },
3412 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
3413 & ifmt_strdpm_l, { 0x200005c }
3414 },
3415/* str $rd,[$rn] */
3416 {
3417 { 0, 0, 0, 0 },
3418 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
3419 & ifmt_strds0, { 0x54 }
3420 },
3421/* str $rd6,[$rn6] */
3422 {
3423 { 0, 0, 0, 0 },
3424 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3425 & ifmt_strdl0, { 0x5c }
3426 },
3427/* str.l $rd6,[$rn6] */
3428 {
3429 { 0, 0, 0, 0 },
3430 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3431 & ifmt_strdl0_l, { 0x5c }
3432 },
3433/* strd.l $rd6,[$rn6,$direction$rm6] */
3434 {
3435 { 0, 0, 0, 0 },
3436 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
3437 & ifmt_strdx_l, { 0x79 }
3438 },
3439/* strd.l $rd6,[$rn6],$direction$rm6 */
3440 {
3441 { 0, 0, 0, 0 },
3442 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
3443 & ifmt_strdp_l, { 0x7d }
3444 },
3445/* strd.l $rd6,[$rn6,$dpmi$disp11] */
3446 {
3447 { 0, 0, 0, 0 },
3448 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
3449 & ifmt_strdd_l, { 0x7c }
3450 },
3451/* strd.l $rd6,[$rn6],$dpmi$disp11 */
3452 {
3453 { 0, 0, 0, 0 },
3454 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
3455 & ifmt_strddpm_l, { 0x200007c }
3456 },
3457/* strd $rd,[$rn] */
3458 {
3459 { 0, 0, 0, 0 },
3460 { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
3461 & ifmt_strdds0, { 0x74 }
3462 },
3463/* strd $rd6,[$rn6] */
3464 {
3465 { 0, 0, 0, 0 },
3466 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3467 & ifmt_strddl0, { 0x7c }
3468 },
3469/* strd.l $rd6,[$rn6] */
3470 {
3471 { 0, 0, 0, 0 },
3472 { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
3473 & ifmt_strddl0_l, { 0x7c }
3474 },
3475/* moveq.l $rd6,$rn6 */
3476 {
3477 { 0, 0, 0, 0 },
3478 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3479 & ifmt_cmov_lEQ, { 0x2000f }
3480 },
3481/* movne.l $rd6,$rn6 */
3482 {
3483 { 0, 0, 0, 0 },
3484 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3485 & ifmt_cmov_lNE, { 0x2001f }
3486 },
3487/* movgtu.l $rd6,$rn6 */
3488 {
3489 { 0, 0, 0, 0 },
3490 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3491 & ifmt_cmov_lGTU, { 0x2002f }
3492 },
3493/* movgteu.l $rd6,$rn6 */
3494 {
3495 { 0, 0, 0, 0 },
3496 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3497 & ifmt_cmov_lGTEU, { 0x2003f }
3498 },
3499/* movlteu.l $rd6,$rn6 */
3500 {
3501 { 0, 0, 0, 0 },
3502 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3503 & ifmt_cmov_lLTEU, { 0x2004f }
3504 },
3505/* movltu.l $rd6,$rn6 */
3506 {
3507 { 0, 0, 0, 0 },
3508 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3509 & ifmt_cmov_lLTU, { 0x2005f }
3510 },
3511/* movgt.l $rd6,$rn6 */
3512 {
3513 { 0, 0, 0, 0 },
3514 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3515 & ifmt_cmov_lGT, { 0x2006f }
3516 },
3517/* movgte.l $rd6,$rn6 */
3518 {
3519 { 0, 0, 0, 0 },
3520 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3521 & ifmt_cmov_lGTE, { 0x2007f }
3522 },
3523/* movlt.l $rd6,$rn6 */
3524 {
3525 { 0, 0, 0, 0 },
3526 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3527 & ifmt_cmov_lLT, { 0x2008f }
3528 },
3529/* movlte.l $rd6,$rn6 */
3530 {
3531 { 0, 0, 0, 0 },
3532 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3533 & ifmt_cmov_lLTE, { 0x2009f }
3534 },
3535/* mov.l $rd6,$rn6 */
3536 {
3537 { 0, 0, 0, 0 },
3538 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3539 & ifmt_cmov_lB, { 0x200ef }
3540 },
3541/* movbeq.l $rd6,$rn6 */
3542 {
3543 { 0, 0, 0, 0 },
3544 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3545 & ifmt_cmov_lBEQ, { 0x200af }
3546 },
3547/* movbne.l $rd6,$rn6 */
3548 {
3549 { 0, 0, 0, 0 },
3550 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3551 & ifmt_cmov_lBNE, { 0x200bf }
3552 },
3553/* movblt.l $rd6,$rn6 */
3554 {
3555 { 0, 0, 0, 0 },
3556 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3557 & ifmt_cmov_lBLT, { 0x200cf }
3558 },
3559/* movblte.l $rd6,$rn6 */
3560 {
3561 { 0, 0, 0, 0 },
3562 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3563 & ifmt_cmov_lBLTE, { 0x200df }
3564 },
3565/* movts.l $sn6,$rd6 */
3566 {
3567 { 0, 0, 0, 0 },
3568 { { MNEM, ' ', OP (SN6), ',', OP (RD6), 0 } },
3569 & ifmt_movts_l6, { 0x2010f }
3570 },
3571/* movts.l $sndma,$rd6 */
3572 {
3573 { 0, 0, 0, 0 },
3574 { { MNEM, ' ', OP (SNDMA), ',', OP (RD6), 0 } },
3575 & ifmt_movts_ldma, { 0x12010f }
3576 },
3577/* movts.l $snmem,$rd6 */
3578 {
3579 { 0, 0, 0, 0 },
3580 { { MNEM, ' ', OP (SNMEM), ',', OP (RD6), 0 } },
3581 & ifmt_movts_lmem, { 0x22010f }
3582 },
3583/* movts.l $snmesh,$rd6 */
3584 {
3585 { 0, 0, 0, 0 },
3586 { { MNEM, ' ', OP (SNMESH), ',', OP (RD6), 0 } },
3587 & ifmt_movts_lmesh, { 0x32010f }
3588 },
3589/* movfs.l $rd6,$sn6 */
3590 {
3591 { 0, 0, 0, 0 },
3592 { { MNEM, ' ', OP (RD6), ',', OP (SN6), 0 } },
3593 & ifmt_movfs_l6, { 0x2011f }
3594 },
3595/* movfs.l $rd6,$sndma */
3596 {
3597 { 0, 0, 0, 0 },
3598 { { MNEM, ' ', OP (RD6), ',', OP (SNDMA), 0 } },
3599 & ifmt_movfs_ldma, { 0x12011f }
3600 },
3601/* movfs.l $rd6,$snmem */
3602 {
3603 { 0, 0, 0, 0 },
3604 { { MNEM, ' ', OP (RD6), ',', OP (SNMEM), 0 } },
3605 & ifmt_movfs_lmem, { 0x22011f }
3606 },
3607/* movfs.l $rd6,$snmesh */
3608 {
3609 { 0, 0, 0, 0 },
3610 { { MNEM, ' ', OP (RD6), ',', OP (SNMESH), 0 } },
3611 & ifmt_movfs_lmesh, { 0x32011f }
3612 },
3613/* add.l $rd6,$rn6,$rm6 */
3614 {
3615 { 0, 0, 0, 0 },
3616 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3617 & ifmt_add_l, { 0xa001f }
3618 },
3619/* sub.l $rd6,$rn6,$rm6 */
3620 {
3621 { 0, 0, 0, 0 },
3622 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3623 & ifmt_sub_l, { 0xa003f }
3624 },
3625/* and.l $rd6,$rn6,$rm6 */
3626 {
3627 { 0, 0, 0, 0 },
3628 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3629 & ifmt_and_l, { 0xa005f }
3630 },
3631/* orr.l $rd6,$rn6,$rm6 */
3632 {
3633 { 0, 0, 0, 0 },
3634 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3635 & ifmt_orr_l, { 0xa007f }
3636 },
3637/* eor.l $rd6,$rn6,$rm6 */
3638 {
3639 { 0, 0, 0, 0 },
3640 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3641 & ifmt_eor_l, { 0xa000f }
3642 },
3643/* add $rd,$rn,$simm3 */
3644 {
3645 { 0, 0, 0, 0 },
3646 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SIMM3), 0 } },
3647 & ifmt_addir, { 0x13 }
3648 },
3649/* add $rd6,$rn6,$simm11 */
3650 {
3651 { 0, 0, 0, 0 },
3652 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SIMM11), 0 } },
3653 & ifmt_addi32r, { 0x1b }
3654 },
3655/* add $rd6,$rn6,$simm11 */
3656 {
3657 { 0, 0, 0, 0 },
3658 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SIMM11), 0 } },
3659 & ifmt_addi32m, { 0x1b }
3660 },
3661/* sub $rd,$rn,$simm3 */
3662 {
3663 { 0, 0, 0, 0 },
3664 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SIMM3), 0 } },
3665 & ifmt_subir, { 0x33 }
3666 },
3667/* sub $rd6,$rn6,$simm11 */
3668 {
3669 { 0, 0, 0, 0 },
3670 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SIMM11), 0 } },
3671 & ifmt_subi32r, { 0x3b }
3672 },
3673/* sub $rd6,$rn6,$simm11 */
3674 {
3675 { 0, 0, 0, 0 },
3676 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SIMM11), 0 } },
3677 & ifmt_subi32m, { 0x3b }
3678 },
3679/* asr.l $rd6,$rn6,$rm6 */
3680 {
3681 { 0, 0, 0, 0 },
3682 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3683 & ifmt_asr_l, { 0xa006f }
3684 },
3685/* lsr.l $rd6,$rn6,$rm6 */
3686 {
3687 { 0, 0, 0, 0 },
3688 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3689 & ifmt_lsr_l, { 0xa004f }
3690 },
3691/* lsl.l $rd6,$rn6,$rm6 */
3692 {
3693 { 0, 0, 0, 0 },
3694 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3695 & ifmt_lsl_l, { 0xa002f }
3696 },
3697/* lsr.l $rd6,$rn6,$shift */
3698 {
3699 { 0, 0, 0, 0 },
3700 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
3701 & ifmt_lsri32_l, { 0x6000f }
3702 },
3703/* lsl.l $rd6,$rn6,$shift */
3704 {
3705 { 0, 0, 0, 0 },
3706 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
3707 & ifmt_lsli32_l, { 0x6001f }
3708 },
3709/* asr.l $rd6,$rn6,$shift */
3710 {
3711 { 0, 0, 0, 0 },
3712 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
3713 & ifmt_asri32_l, { 0xe000f }
3714 },
3715/* bitr.l $rd6,$rn6 */
3716 {
3717 { 0, 0, 0, 0 },
3718 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3719 & ifmt_bitrl, { 0xe001f }
3720 },
3721/* fext.l $rd6,$rn6,$rm6 */
3722 {
3723 { 0, 0, 0, 0 },
3724 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3725 & ifmt_fext_l, { 0x1a000f }
3726 },
3727/* fdep.l $rd6,$rn6,$rm6 */
3728 {
3729 { 0, 0, 0, 0 },
3730 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3731 & ifmt_fdep_l, { 0x1a001f }
3732 },
3733/* lfsr.l $rd6,$rn6,$rm6 */
3734 {
3735 { 0, 0, 0, 0 },
3736 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3737 & ifmt_lfsr_l, { 0x1a002f }
3738 },
3739/* mov $rd,$imm8 */
3740 {
3741 { 0, 0, 0, 0 },
3742 { { MNEM, ' ', OP (RD), ',', OP (IMM8), 0 } },
3743 & ifmt_mov8r, { 0x3 }
3744 },
3745/* mov $rd6,$imm16 */
3746 {
3747 { 0, 0, 0, 0 },
3748 { { MNEM, ' ', OP (RD6), ',', OP (IMM16), 0 } },
3749 & ifmt_mov16r, { 0x2000b }
3750 },
3751/* movt.l $rd6,$imm16 */
3752 {
3753 { 0, 0, 0, 0 },
3754 { { MNEM, ' ', OP (RD6), ',', OP (IMM16), 0 } },
3755 & ifmt_movtl, { 0x1002000b }
3756 },
3757/* iadd $rd,$rn,$rm */
3758 {
3759 { 0, 0, 0, 0 },
3760 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
3761 & ifmt_i_addf16, { 0x7 }
3762 },
3763/* fadd.l $rd6,$rn6,$rm6 */
3764 {
3765 { 0, 0, 0, 0 },
3766 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3767 & ifmt_f_addf32_l, { 0x7000f }
3768 },
3769/* iadd $rd6,$rn6,$rm6 */
3770 {
3771 { 0, 0, 0, 0 },
3772 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3773 & ifmt_i_addf32, { 0x7000f }
3774 },
3775/* iadd.l $rd6,$rn6,$rm6 */
3776 {
3777 { 0, 0, 0, 0 },
3778 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3779 & ifmt_i_addf32_l, { 0x7000f }
3780 },
3781/* isub $rd,$rn,$rm */
3782 {
3783 { 0, 0, 0, 0 },
3784 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
3785 & ifmt_i_subf16, { 0x17 }
3786 },
3787/* fsub.l $rd6,$rn6,$rm6 */
3788 {
3789 { 0, 0, 0, 0 },
3790 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3791 & ifmt_f_subf32_l, { 0x7001f }
3792 },
3793/* isub $rd6,$rn6,$rm6 */
3794 {
3795 { 0, 0, 0, 0 },
3796 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3797 & ifmt_i_subf32, { 0x7001f }
3798 },
3799/* isub.l $rd6,$rn6,$rm6 */
3800 {
3801 { 0, 0, 0, 0 },
3802 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3803 & ifmt_i_subf32_l, { 0x7001f }
3804 },
3805/* imul $rd,$rn,$rm */
3806 {
3807 { 0, 0, 0, 0 },
3808 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
3809 & ifmt_i_mulf16, { 0x27 }
3810 },
3811/* fmul.l $rd6,$rn6,$rm6 */
3812 {
3813 { 0, 0, 0, 0 },
3814 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3815 & ifmt_f_mulf32_l, { 0x7002f }
3816 },
3817/* imul $rd6,$rn6,$rm6 */
3818 {
3819 { 0, 0, 0, 0 },
3820 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3821 & ifmt_i_mulf32, { 0x7002f }
3822 },
3823/* imul.l $rd6,$rn6,$rm6 */
3824 {
3825 { 0, 0, 0, 0 },
3826 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3827 & ifmt_i_mulf32_l, { 0x7002f }
3828 },
3829/* imadd $rd,$rn,$rm */
3830 {
3831 { 0, 0, 0, 0 },
3832 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
3833 & ifmt_i_maddf16, { 0x37 }
3834 },
3835/* fmadd.l $rd6,$rn6,$rm6 */
3836 {
3837 { 0, 0, 0, 0 },
3838 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3839 & ifmt_f_maddf32_l, { 0x7003f }
3840 },
3841/* imadd $rd6,$rn6,$rm6 */
3842 {
3843 { 0, 0, 0, 0 },
3844 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3845 & ifmt_i_maddf32, { 0x7003f }
3846 },
3847/* imadd.l $rd6,$rn6,$rm6 */
3848 {
3849 { 0, 0, 0, 0 },
3850 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3851 & ifmt_i_maddf32_l, { 0x7003f }
3852 },
3853/* imsub $rd,$rn,$rm */
3854 {
3855 { 0, 0, 0, 0 },
3856 { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
3857 & ifmt_i_msubf16, { 0x47 }
3858 },
3859/* fmsub.l $rd6,$rn6,$rm6 */
3860 {
3861 { 0, 0, 0, 0 },
3862 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3863 & ifmt_f_msubf32_l, { 0x7004f }
3864 },
3865/* imsub $rd6,$rn6,$rm6 */
3866 {
3867 { 0, 0, 0, 0 },
3868 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3869 & ifmt_i_msubf32, { 0x7004f }
3870 },
3871/* imsub.l $rd6,$rn6,$rm6 */
3872 {
3873 { 0, 0, 0, 0 },
3874 { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
3875 & ifmt_i_msubf32_l, { 0x7004f }
3876 },
3877/* fabs.l $rd6,$rn6 */
3878 {
3879 { 0, 0, 0, 0 },
3880 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3881 & ifmt_f_absf32_l, { 0x7007f }
3882 },
3883/* float.l $rd6,$rn6 */
3884 {
3885 { 0, 0, 0, 0 },
3886 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3887 & ifmt_f_loatf32_l, { 0x7005f }
3888 },
3889/* fix.l $rd6,$rn6 */
3890 {
3891 { 0, 0, 0, 0 },
3892 { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
3893 & ifmt_f_ixf32_l, { 0x7006f }
3894 },
3895/* frecip.l $frd6,$frn6 */
3896 {
3897 { 0, 0, 0, 0 },
3898 { { MNEM, ' ', OP (FRD6), ',', OP (FRN6), 0 } },
3899 & ifmt_f_recipf32_l, { 0x17000f }
3900 },
3901/* fsqrt.l $frd6,$frn6 */
3902 {
3903 { 0, 0, 0, 0 },
3904 { { MNEM, ' ', OP (FRD6), ',', OP (FRN6), 0 } },
3905 & ifmt_f_sqrtf32_l, { 0x17001f }
3906 },
3907};
3908
3909#undef A
3910#undef OPERAND
3911#undef MNEM
3912#undef OP
3913
3914#ifndef CGEN_ASM_HASH_P
3915#define CGEN_ASM_HASH_P(insn) 1
3916#endif
3917
3918#ifndef CGEN_DIS_HASH_P
3919#define CGEN_DIS_HASH_P(insn) 1
3920#endif
3921
3922/* Return non-zero if INSN is to be added to the hash table.
3923 Targets are free to override CGEN_{ASM,DIS}_HASH_P in the .opc file. */
3924
3925static int
e6c7cdec 3926asm_hash_insn_p (const CGEN_INSN *insn ATTRIBUTE_UNUSED)
cfb8c092
NC
3927{
3928 return CGEN_ASM_HASH_P (insn);
3929}
3930
3931static int
e6c7cdec 3932dis_hash_insn_p (const CGEN_INSN *insn)
cfb8c092
NC
3933{
3934 /* If building the hash table and the NO-DIS attribute is present,
3935 ignore. */
3936 if (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_NO_DIS))
3937 return 0;
3938 return CGEN_DIS_HASH_P (insn);
3939}
3940
3941#ifndef CGEN_ASM_HASH
3942#define CGEN_ASM_HASH_SIZE 127
3943#ifdef CGEN_MNEMONIC_OPERANDS
3944#define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE)
3945#else
3946#define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE) /*FIXME*/
3947#endif
3948#endif
3949
3950/* It doesn't make much sense to provide a default here,
3951 but while this is under development we do.
3952 BUFFER is a pointer to the bytes of the insn, target order.
3953 VALUE is the first base_insn_bitsize bits as an int in host order. */
3954
3955#ifndef CGEN_DIS_HASH
3956#define CGEN_DIS_HASH_SIZE 256
3957#define CGEN_DIS_HASH(buf, value) (*(unsigned char *) (buf))
3958#endif
3959
3960/* The result is the hash value of the insn.
3961 Targets are free to override CGEN_{ASM,DIS}_HASH in the .opc file. */
3962
3963static unsigned int
e6c7cdec 3964asm_hash_insn (const char *mnem)
cfb8c092
NC
3965{
3966 return CGEN_ASM_HASH (mnem);
3967}
3968
3969/* BUF is a pointer to the bytes of the insn, target order.
3970 VALUE is the first base_insn_bitsize bits as an int in host order. */
3971
3972static unsigned int
e6c7cdec
TS
3973dis_hash_insn (const char *buf ATTRIBUTE_UNUSED,
3974 CGEN_INSN_INT value ATTRIBUTE_UNUSED)
cfb8c092
NC
3975{
3976 return CGEN_DIS_HASH (buf, value);
3977}
3978
3979/* Set the recorded length of the insn in the CGEN_FIELDS struct. */
3980
3981static void
3982set_fields_bitsize (CGEN_FIELDS *fields, int size)
3983{
3984 CGEN_FIELDS_BITSIZE (fields) = size;
3985}
3986
3987/* Function to call before using the operand instance table.
3988 This plugs the opcode entries and macro instructions into the cpu table. */
3989
3990void
3991epiphany_cgen_init_opcode_table (CGEN_CPU_DESC cd)
3992{
3993 int i;
3994 int num_macros = (sizeof (epiphany_cgen_macro_insn_table) /
3995 sizeof (epiphany_cgen_macro_insn_table[0]));
3996 const CGEN_IBASE *ib = & epiphany_cgen_macro_insn_table[0];
3997 const CGEN_OPCODE *oc = & epiphany_cgen_macro_insn_opcode_table[0];
3998 CGEN_INSN *insns = xmalloc (num_macros * sizeof (CGEN_INSN));
3999
4000 /* This test has been added to avoid a warning generated
4001 if memset is called with a third argument of value zero. */
4002 if (num_macros >= 1)
4003 memset (insns, 0, num_macros * sizeof (CGEN_INSN));
4004 for (i = 0; i < num_macros; ++i)
4005 {
4006 insns[i].base = &ib[i];
4007 insns[i].opcode = &oc[i];
4008 epiphany_cgen_build_insn_regex (& insns[i]);
4009 }
4010 cd->macro_insn_table.init_entries = insns;
4011 cd->macro_insn_table.entry_size = sizeof (CGEN_IBASE);
4012 cd->macro_insn_table.num_init_entries = num_macros;
4013
4014 oc = & epiphany_cgen_insn_opcode_table[0];
4015 insns = (CGEN_INSN *) cd->insn_table.init_entries;
4016 for (i = 0; i < MAX_INSNS; ++i)
4017 {
4018 insns[i].opcode = &oc[i];
4019 epiphany_cgen_build_insn_regex (& insns[i]);
4020 }
4021
4022 cd->sizeof_fields = sizeof (CGEN_FIELDS);
4023 cd->set_fields_bitsize = set_fields_bitsize;
4024
4025 cd->asm_hash_p = asm_hash_insn_p;
4026 cd->asm_hash = asm_hash_insn;
4027 cd->asm_hash_size = CGEN_ASM_HASH_SIZE;
4028
4029 cd->dis_hash_p = dis_hash_insn_p;
4030 cd->dis_hash = dis_hash_insn;
4031 cd->dis_hash_size = CGEN_DIS_HASH_SIZE;
4032}
This page took 0.532469 seconds and 4 git commands to generate.