Coverage Report

Created: 2025-06-24 06:45

/src/binutils-gdb/opcodes/epiphany-opc.c
Line
Count
Source (jump to first uncovered line)
1
/* DO NOT EDIT!  -*- buffer-read-only: t -*- vi:set ro:  */
2
/* Instruction opcode table for epiphany.
3
4
THIS FILE IS MACHINE GENERATED WITH CGEN.
5
6
Copyright (C) 1996-2025 Free Software Foundation, Inc.
7
8
This file is part of the GNU Binutils and/or GDB, the GNU debugger.
9
10
   This file is free software; you can redistribute it and/or modify
11
   it under the terms of the GNU General Public License as published by
12
   the Free Software Foundation; either version 3, or (at your option)
13
   any later version.
14
15
   It is distributed in the hope that it will be useful, but WITHOUT
16
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17
   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
18
   License for more details.
19
20
   You should have received a copy of the GNU General Public License along
21
   with this program; if not, write to the Free Software Foundation, Inc.,
22
   51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
23
24
*/
25
26
#include "sysdep.h"
27
#include "ansidecl.h"
28
#include "bfd.h"
29
#include "symcat.h"
30
#include "epiphany-desc.h"
31
#include "epiphany-opc.h"
32
#include "libiberty.h"
33
34
/* -- opc.c */
35
36
37

38
/* -- asm.c */
39
/* The hash functions are recorded here to help keep assembler code out of
40
   the disassembler and vice versa.  */
41
42
static int asm_hash_insn_p        (const CGEN_INSN *);
43
static unsigned int asm_hash_insn (const char *);
44
static int dis_hash_insn_p        (const CGEN_INSN *);
45
static 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]
50
static const CGEN_IFMT ifmt_empty ATTRIBUTE_UNUSED = {
51
  0, 0, 0x0, { { 0 } }
52
};
53
54
static const CGEN_IFMT ifmt_beq16 ATTRIBUTE_UNUSED = {
55
  16, 16, 0xff, { { F (F_SIMM8) }, { F (F_CONDCODE) }, { F (F_OPC) }, { 0 } }
56
};
57
58
static const CGEN_IFMT ifmt_beq ATTRIBUTE_UNUSED = {
59
  32, 32, 0xff, { { F (F_SIMM24) }, { F (F_CONDCODE) }, { F (F_OPC) }, { 0 } }
60
};
61
62
static 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
66
static 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
70
static 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
74
static 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
78
static 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
82
static 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
86
static 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
90
static 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
94
static 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
98
static 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
102
static 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
106
static 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
110
static 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
114
static 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
118
static 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
122
static 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
126
static const CGEN_IFMT ifmt_unimpl ATTRIBUTE_UNUSED = {
127
  32, 32, 0xffffffff, { { F (F_OPC_31_32) }, { 0 } }
128
};
129
130
static 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
134
static 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
138
static 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
142
static 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
146
static 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
150
static 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
154
static 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
158
static 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
162
static 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
166
static 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
170
static 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
174
static 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
178
static 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
182
static 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
186
static 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
190
static 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
194
static 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
198
static 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
202
static 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
215
static 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]
1443
static const CGEN_IFMT ifmt_beq16r ATTRIBUTE_UNUSED = {
1444
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1445
};
1446
1447
static const CGEN_IFMT ifmt_beq32r ATTRIBUTE_UNUSED = {
1448
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1449
};
1450
1451
static const CGEN_IFMT ifmt_bne16r ATTRIBUTE_UNUSED = {
1452
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1453
};
1454
1455
static const CGEN_IFMT ifmt_bne32r ATTRIBUTE_UNUSED = {
1456
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1457
};
1458
1459
static const CGEN_IFMT ifmt_bgtu16r ATTRIBUTE_UNUSED = {
1460
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1461
};
1462
1463
static const CGEN_IFMT ifmt_bgtu32r ATTRIBUTE_UNUSED = {
1464
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1465
};
1466
1467
static const CGEN_IFMT ifmt_bgteu16r ATTRIBUTE_UNUSED = {
1468
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1469
};
1470
1471
static const CGEN_IFMT ifmt_bgteu32r ATTRIBUTE_UNUSED = {
1472
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1473
};
1474
1475
static const CGEN_IFMT ifmt_blteu16r ATTRIBUTE_UNUSED = {
1476
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1477
};
1478
1479
static const CGEN_IFMT ifmt_blteu32r ATTRIBUTE_UNUSED = {
1480
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1481
};
1482
1483
static const CGEN_IFMT ifmt_bltu16r ATTRIBUTE_UNUSED = {
1484
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1485
};
1486
1487
static const CGEN_IFMT ifmt_bltu32r ATTRIBUTE_UNUSED = {
1488
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1489
};
1490
1491
static const CGEN_IFMT ifmt_bgt16r ATTRIBUTE_UNUSED = {
1492
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1493
};
1494
1495
static const CGEN_IFMT ifmt_bgt32r ATTRIBUTE_UNUSED = {
1496
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1497
};
1498
1499
static const CGEN_IFMT ifmt_bgte16r ATTRIBUTE_UNUSED = {
1500
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1501
};
1502
1503
static const CGEN_IFMT ifmt_bgte32r ATTRIBUTE_UNUSED = {
1504
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1505
};
1506
1507
static const CGEN_IFMT ifmt_blt16r ATTRIBUTE_UNUSED = {
1508
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1509
};
1510
1511
static const CGEN_IFMT ifmt_blt32r ATTRIBUTE_UNUSED = {
1512
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1513
};
1514
1515
static const CGEN_IFMT ifmt_blte16r ATTRIBUTE_UNUSED = {
1516
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1517
};
1518
1519
static const CGEN_IFMT ifmt_blte32r ATTRIBUTE_UNUSED = {
1520
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1521
};
1522
1523
static const CGEN_IFMT ifmt_bbeq16r ATTRIBUTE_UNUSED = {
1524
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1525
};
1526
1527
static const CGEN_IFMT ifmt_bbeq32r ATTRIBUTE_UNUSED = {
1528
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1529
};
1530
1531
static const CGEN_IFMT ifmt_bbne16r ATTRIBUTE_UNUSED = {
1532
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1533
};
1534
1535
static const CGEN_IFMT ifmt_bbne32r ATTRIBUTE_UNUSED = {
1536
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1537
};
1538
1539
static const CGEN_IFMT ifmt_bblt16r ATTRIBUTE_UNUSED = {
1540
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1541
};
1542
1543
static const CGEN_IFMT ifmt_bblt32r ATTRIBUTE_UNUSED = {
1544
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1545
};
1546
1547
static const CGEN_IFMT ifmt_bblte16r ATTRIBUTE_UNUSED = {
1548
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1549
};
1550
1551
static const CGEN_IFMT ifmt_bblte32r ATTRIBUTE_UNUSED = {
1552
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1553
};
1554
1555
static const CGEN_IFMT ifmt_b16r ATTRIBUTE_UNUSED = {
1556
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1557
};
1558
1559
static const CGEN_IFMT ifmt_b32r ATTRIBUTE_UNUSED = {
1560
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1561
};
1562
1563
static const CGEN_IFMT ifmt_bl16r ATTRIBUTE_UNUSED = {
1564
  16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
1565
};
1566
1567
static const CGEN_IFMT ifmt_blr ATTRIBUTE_UNUSED = {
1568
  32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
1569
};
1570
1571
static 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
1575
static 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
1579
static 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
1583
static 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
1587
static 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
1591
static 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
1595
static 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
1599
static 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
1603
static 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
1607
static 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
1611
static 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
1615
static 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
1619
static 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
1623
static 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
1627
static 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
1631
static 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
1635
static 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
1639
static 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
1643
static 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
1647
static 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
1651
static 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
1655
static 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
1659
static 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
1663
static 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
1667
static 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
1671
static 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
1675
static 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
1679
static 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
1683
static 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
1687
static 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
1691
static 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
1695
static 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
1699
static 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
1703
static 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
1707
static 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
1711
static 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
1715
static 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
1719
static 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
1723
static 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
1727
static 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
1731
static 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
1735
static 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
1739
static 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
1743
static 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
1747
static 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
1751
static 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
1755
static 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
1759
static 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
1763
static 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
1767
static 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
1771
static 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
1775
static 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
1779
static 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
1783
static 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
1787
static 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
1791
static 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
1795
static 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
1799
static 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
1803
static 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
1807
static 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
1811
static 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
1815
static 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
1819
static 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
1823
static 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
1827
static 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
1831
static 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
1835
static 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
1839
static 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
1843
static 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
1847
static 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
1851
static 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
1855
static 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
1859
static 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
1863
static 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
1867
static 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
1871
static 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
1875
static 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
1879
static 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
1883
static 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
1887
static 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
1891
static 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
1895
static 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
1899
static 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
1903
static 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
1907
static 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
1911
static 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
1915
static 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
1919
static 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
1923
static 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
1927
static 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
1931
static 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
1935
static 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
1939
static 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
1943
static 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
1947
static 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
1951
static 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
1955
static 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
1959
static 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
1963
static 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
1967
static 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
1971
static 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
1975
static 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
1979
static 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
1983
static 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
1987
static 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
1991
static 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
1995
static 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
1999
static 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
2003
static 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
2007
static 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
2011
static 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
2015
static 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
2019
static 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
2023
static 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
2027
static 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
2031
static 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
2035
static 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
2039
static 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
2043
static 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
2047
static 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
2051
static 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
2055
static 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
2059
static 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
2063
static 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
2067
static 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
2071
static 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
2075
static 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
2079
static 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
2083
static 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
2087
static 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
2091
static 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
2106
static 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,
2271
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2272
  },
2273
/* ldrb.l $rd6,[$rn6],$direction$rm6 */
2274
  {
2275
    -1, "ldrbp", "ldrb.l", 32,
2276
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2277
  },
2278
/* ldrb.l $rd6,[$rn6,$dpmi$disp11] */
2279
  {
2280
    -1, "ldrbd", "ldrb.l", 32,
2281
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2282
  },
2283
/* ldrb.l $rd6,[$rn6],$dpmi$disp11 */
2284
  {
2285
    -1, "ldrbdpm", "ldrb.l", 32,
2286
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2296
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2297
  },
2298
/* ldrb.l $rd6,[$rn6] */
2299
  {
2300
    -1, "ldrbdl0.l", "ldrb.l", 32,
2301
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2302
  },
2303
/* ldrh.l $rd6,[$rn6,$direction$rm6] */
2304
  {
2305
    -1, "ldrhx", "ldrh.l", 32,
2306
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2307
  },
2308
/* ldrh.l $rd6,[$rn6],$direction$rm6 */
2309
  {
2310
    -1, "ldrhp", "ldrh.l", 32,
2311
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2312
  },
2313
/* ldrh.l $rd6,[$rn6,$dpmi$disp11] */
2314
  {
2315
    -1, "ldrhd", "ldrh.l", 32,
2316
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2317
  },
2318
/* ldrh.l $rd6,[$rn6],$dpmi$disp11 */
2319
  {
2320
    -1, "ldrhdpm", "ldrh.l", 32,
2321
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2331
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2332
  },
2333
/* ldrh.l $rd6,[$rn6] */
2334
  {
2335
    -1, "ldrhdl0.l", "ldrh.l", 32,
2336
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2337
  },
2338
/* ldr.l $rd6,[$rn6,$direction$rm6] */
2339
  {
2340
    -1, "ldrx", "ldr.l", 32,
2341
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2342
  },
2343
/* ldr.l $rd6,[$rn6],$direction$rm6 */
2344
  {
2345
    -1, "ldrp", "ldr.l", 32,
2346
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2347
  },
2348
/* ldr.l $rd6,[$rn6,$dpmi$disp11] */
2349
  {
2350
    -1, "ldrd", "ldr.l", 32,
2351
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2352
  },
2353
/* ldr.l $rd6,[$rn6],$dpmi$disp11 */
2354
  {
2355
    -1, "ldrdpm", "ldr.l", 32,
2356
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2366
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2367
  },
2368
/* ldr.l $rd6,[$rn6] */
2369
  {
2370
    -1, "ldrdl0.l", "ldr.l", 32,
2371
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2372
  },
2373
/* ldrd.l $rd6,[$rn6,$direction$rm6] */
2374
  {
2375
    -1, "ldrdx", "ldrd.l", 32,
2376
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2377
  },
2378
/* ldrd.l $rd6,[$rn6],$direction$rm6 */
2379
  {
2380
    -1, "ldrdp", "ldrd.l", 32,
2381
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2382
  },
2383
/* ldrd.l $rd6,[$rn6,$dpmi$disp11] */
2384
  {
2385
    -1, "ldrdd", "ldrd.l", 32,
2386
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2387
  },
2388
/* ldrd.l $rd6,[$rn6],$dpmi$disp11 */
2389
  {
2390
    -1, "ldrddpm", "ldrd.l", 32,
2391
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2401
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2402
  },
2403
/* ldrd.l $rd6,[$rn6] */
2404
  {
2405
    -1, "ldrddl0.l", "ldrd.l", 32,
2406
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2407
  },
2408
/* testsetb.l $rd6,[$rn6,$direction$rm6] */
2409
  {
2410
    -1, "testsetbt.l", "testsetb.l", 32,
2411
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2412
  },
2413
/* testseth.l $rd6,[$rn6,$direction$rm6] */
2414
  {
2415
    -1, "testsetht.l", "testseth.l", 32,
2416
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2417
  },
2418
/* testset.l $rd6,[$rn6,$direction$rm6] */
2419
  {
2420
    -1, "testsett.l", "testset.l", 32,
2421
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2422
  },
2423
/* strb.l $rd6,[$rn6,$direction$rm6] */
2424
  {
2425
    -1, "strbx.l", "strb.l", 32,
2426
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2427
  },
2428
/* strb.l $rd6,[$rn6],$direction$rm6 */
2429
  {
2430
    -1, "strbp.l", "strb.l", 32,
2431
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2432
  },
2433
/* strb.l $rd6,[$rn6,$dpmi$disp11] */
2434
  {
2435
    -1, "strbd.l", "strb.l", 32,
2436
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2437
  },
2438
/* strb.l $rd6,[$rn6],$dpmi$disp11 */
2439
  {
2440
    -1, "strbdpm.l", "strb.l", 32,
2441
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2456
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2457
  },
2458
/* strh.l $rd6,[$rn6,$direction$rm6] */
2459
  {
2460
    -1, "strhx.l", "strh.l", 32,
2461
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2462
  },
2463
/* strh.l $rd6,[$rn6],$direction$rm6 */
2464
  {
2465
    -1, "strhp.l", "strh.l", 32,
2466
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2467
  },
2468
/* strh.l $rd6,[$rn6,$dpmi$disp11] */
2469
  {
2470
    -1, "strhd.l", "strh.l", 32,
2471
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2472
  },
2473
/* strh.l $rd6,[$rn6],$dpmi$disp11 */
2474
  {
2475
    -1, "strhdpm.l", "strh.l", 32,
2476
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2491
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2492
  },
2493
/* str.l $rd6,[$rn6,$direction$rm6] */
2494
  {
2495
    -1, "strx.l", "str.l", 32,
2496
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2497
  },
2498
/* str.l $rd6,[$rn6],$direction$rm6 */
2499
  {
2500
    -1, "strp.l", "str.l", 32,
2501
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2502
  },
2503
/* str.l $rd6,[$rn6,$dpmi$disp11] */
2504
  {
2505
    -1, "strd.l", "str.l", 32,
2506
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2507
  },
2508
/* str.l $rd6,[$rn6],$dpmi$disp11 */
2509
  {
2510
    -1, "strdpm.l", "str.l", 32,
2511
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2526
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2527
  },
2528
/* strd.l $rd6,[$rn6,$direction$rm6] */
2529
  {
2530
    -1, "strdx.l", "strd.l", 32,
2531
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2532
  },
2533
/* strd.l $rd6,[$rn6],$direction$rm6 */
2534
  {
2535
    -1, "strdp.l", "strd.l", 32,
2536
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2537
  },
2538
/* strd.l $rd6,[$rn6,$dpmi$disp11] */
2539
  {
2540
    -1, "strdd.l", "strd.l", 32,
2541
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2542
  },
2543
/* strd.l $rd6,[$rn6],$dpmi$disp11 */
2544
  {
2545
    -1, "strddpm.l", "strd.l", 32,
2546
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2561
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2562
  },
2563
/* moveq.l $rd6,$rn6 */
2564
  {
2565
    -1, "cmov.lEQ", "moveq.l", 32,
2566
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2567
  },
2568
/* movne.l $rd6,$rn6 */
2569
  {
2570
    -1, "cmov.lNE", "movne.l", 32,
2571
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2572
  },
2573
/* movgtu.l $rd6,$rn6 */
2574
  {
2575
    -1, "cmov.lGTU", "movgtu.l", 32,
2576
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2577
  },
2578
/* movgteu.l $rd6,$rn6 */
2579
  {
2580
    -1, "cmov.lGTEU", "movgteu.l", 32,
2581
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2582
  },
2583
/* movlteu.l $rd6,$rn6 */
2584
  {
2585
    -1, "cmov.lLTEU", "movlteu.l", 32,
2586
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2587
  },
2588
/* movltu.l $rd6,$rn6 */
2589
  {
2590
    -1, "cmov.lLTU", "movltu.l", 32,
2591
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2592
  },
2593
/* movgt.l $rd6,$rn6 */
2594
  {
2595
    -1, "cmov.lGT", "movgt.l", 32,
2596
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2597
  },
2598
/* movgte.l $rd6,$rn6 */
2599
  {
2600
    -1, "cmov.lGTE", "movgte.l", 32,
2601
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2602
  },
2603
/* movlt.l $rd6,$rn6 */
2604
  {
2605
    -1, "cmov.lLT", "movlt.l", 32,
2606
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2607
  },
2608
/* movlte.l $rd6,$rn6 */
2609
  {
2610
    -1, "cmov.lLTE", "movlte.l", 32,
2611
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2612
  },
2613
/* mov.l $rd6,$rn6 */
2614
  {
2615
    -1, "cmov.lB", "mov.l", 32,
2616
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2617
  },
2618
/* movbeq.l $rd6,$rn6 */
2619
  {
2620
    -1, "cmov.lBEQ", "movbeq.l", 32,
2621
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2622
  },
2623
/* movbne.l $rd6,$rn6 */
2624
  {
2625
    -1, "cmov.lBNE", "movbne.l", 32,
2626
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2627
  },
2628
/* movblt.l $rd6,$rn6 */
2629
  {
2630
    -1, "cmov.lBLT", "movblt.l", 32,
2631
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2632
  },
2633
/* movblte.l $rd6,$rn6 */
2634
  {
2635
    -1, "cmov.lBLTE", "movblte.l", 32,
2636
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2637
  },
2638
/* movts.l $sn6,$rd6 */
2639
  {
2640
    -1, "movts.l6", "movts.l", 32,
2641
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2642
  },
2643
/* movts.l $sndma,$rd6 */
2644
  {
2645
    -1, "movts.ldma", "movts.l", 32,
2646
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2647
  },
2648
/* movts.l $snmem,$rd6 */
2649
  {
2650
    -1, "movts.lmem", "movts.l", 32,
2651
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2652
  },
2653
/* movts.l $snmesh,$rd6 */
2654
  {
2655
    -1, "movts.lmesh", "movts.l", 32,
2656
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2657
  },
2658
/* movfs.l $rd6,$sn6 */
2659
  {
2660
    -1, "movfs.l6", "movfs.l", 32,
2661
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2662
  },
2663
/* movfs.l $rd6,$sndma */
2664
  {
2665
    -1, "movfs.ldma", "movfs.l", 32,
2666
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2667
  },
2668
/* movfs.l $rd6,$snmem */
2669
  {
2670
    -1, "movfs.lmem", "movfs.l", 32,
2671
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2672
  },
2673
/* movfs.l $rd6,$snmesh */
2674
  {
2675
    -1, "movfs.lmesh", "movfs.l", 32,
2676
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2677
  },
2678
/* add.l $rd6,$rn6,$rm6 */
2679
  {
2680
    -1, "add.l", "add.l", 32,
2681
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2682
  },
2683
/* sub.l $rd6,$rn6,$rm6 */
2684
  {
2685
    -1, "sub.l", "sub.l", 32,
2686
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2687
  },
2688
/* and.l $rd6,$rn6,$rm6 */
2689
  {
2690
    -1, "and.l", "and.l", 32,
2691
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2692
  },
2693
/* orr.l $rd6,$rn6,$rm6 */
2694
  {
2695
    -1, "orr.l", "orr.l", 32,
2696
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2697
  },
2698
/* eor.l $rd6,$rn6,$rm6 */
2699
  {
2700
    -1, "eor.l", "eor.l", 32,
2701
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2736
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2737
  },
2738
/* lsr.l $rd6,$rn6,$rm6 */
2739
  {
2740
    -1, "lsr.l", "lsr.l", 32,
2741
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2742
  },
2743
/* lsl.l $rd6,$rn6,$rm6 */
2744
  {
2745
    -1, "lsl.l", "lsl.l", 32,
2746
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2747
  },
2748
/* lsr.l $rd6,$rn6,$shift */
2749
  {
2750
    -1, "lsri32.l", "lsr.l", 32,
2751
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2752
  },
2753
/* lsl.l $rd6,$rn6,$shift */
2754
  {
2755
    -1, "lsli32.l", "lsl.l", 32,
2756
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2757
  },
2758
/* asr.l $rd6,$rn6,$shift */
2759
  {
2760
    -1, "asri32.l", "asr.l", 32,
2761
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2762
  },
2763
/* bitr.l $rd6,$rn6 */
2764
  {
2765
    -1, "bitrl", "bitr.l", 32,
2766
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2767
  },
2768
/* fext.l $rd6,$rn6,$rm6 */
2769
  {
2770
    -1, "fext.l", "fext.l", 32,
2771
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2772
  },
2773
/* fdep.l $rd6,$rn6,$rm6 */
2774
  {
2775
    -1, "fdep.l", "fdep.l", 32,
2776
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2777
  },
2778
/* lfsr.l $rd6,$rn6,$rm6 */
2779
  {
2780
    -1, "lfsr.l", "lfsr.l", 32,
2781
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2796
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2806
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2826
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2846
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2866
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2886
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
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,
2901
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2902
  },
2903
/* float.l $rd6,$rn6 */
2904
  {
2905
    -1, "f_loatf32.l", "float.l", 32,
2906
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2907
  },
2908
/* fix.l $rd6,$rn6 */
2909
  {
2910
    -1, "f_ixf32.l", "fix.l", 32,
2911
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2912
  },
2913
/* frecip.l $frd6,$frn6 */
2914
  {
2915
    -1, "f_recipf32.l", "frecip.l", 32,
2916
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2917
  },
2918
/* fsqrt.l $frd6,$frn6 */
2919
  {
2920
    -1, "f_sqrtf32.l", "fsqrt.l", 32,
2921
    { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
2922
  },
2923
};
2924
2925
/* The macro instruction opcode table.  */
2926
2927
static 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
0
#define CGEN_ASM_HASH_P(insn) 1
3916
#endif
3917
3918
#ifndef CGEN_DIS_HASH_P
3919
762
#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
3925
static int
3926
asm_hash_insn_p (const CGEN_INSN *insn ATTRIBUTE_UNUSED)
3927
0
{
3928
0
  return CGEN_ASM_HASH_P (insn);
3929
0
}
3930
3931
static int
3932
dis_hash_insn_p (const CGEN_INSN *insn)
3933
1.09k
{
3934
  /* If building the hash table and the NO-DIS attribute is present,
3935
     ignore.  */
3936
1.09k
  if (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_NO_DIS))
3937
333
    return 0;
3938
762
  return CGEN_DIS_HASH_P (insn);
3939
1.09k
}
3940
3941
#ifndef CGEN_ASM_HASH
3942
3
#define CGEN_ASM_HASH_SIZE 127
3943
#ifdef CGEN_MNEMONIC_OPERANDS
3944
0
#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
3963
static unsigned int
3964
asm_hash_insn (const char *mnem)
3965
0
{
3966
0
  return CGEN_ASM_HASH (mnem);
3967
0
}
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
3972
static unsigned int
3973
dis_hash_insn (const char *buf ATTRIBUTE_UNUSED,
3974
         CGEN_INSN_INT value ATTRIBUTE_UNUSED)
3975
50.0k
{
3976
50.0k
  return CGEN_DIS_HASH (buf, value);
3977
50.0k
}
3978
3979
/* Set the recorded length of the insn in the CGEN_FIELDS struct.  */
3980
3981
static void
3982
set_fields_bitsize (CGEN_FIELDS *fields, int size)
3983
0
{
3984
0
  CGEN_FIELDS_BITSIZE (fields) = size;
3985
0
}
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
3990
void
3991
epiphany_cgen_init_opcode_table (CGEN_CPU_DESC cd)
3992
3
{
3993
3
  int i;
3994
3
  int num_macros = (sizeof (epiphany_cgen_macro_insn_table) /
3995
3
        sizeof (epiphany_cgen_macro_insn_table[0]));
3996
3
  const CGEN_IBASE *ib = & epiphany_cgen_macro_insn_table[0];
3997
3
  const CGEN_OPCODE *oc = & epiphany_cgen_macro_insn_opcode_table[0];
3998
3
  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
3
  if (num_macros >= 1)
4003
3
    memset (insns, 0, num_macros * sizeof (CGEN_INSN));
4004
492
  for (i = 0; i < num_macros; ++i)
4005
489
    {
4006
489
      insns[i].base = &ib[i];
4007
489
      insns[i].opcode = &oc[i];
4008
489
      epiphany_cgen_build_insn_regex (& insns[i]);
4009
489
    }
4010
3
  cd->macro_insn_table.init_entries = insns;
4011
3
  cd->macro_insn_table.entry_size = sizeof (CGEN_IBASE);
4012
3
  cd->macro_insn_table.num_init_entries = num_macros;
4013
4014
3
  oc = & epiphany_cgen_insn_opcode_table[0];
4015
3
  insns = (CGEN_INSN *) cd->insn_table.init_entries;
4016
612
  for (i = 0; i < MAX_INSNS; ++i)
4017
609
    {
4018
609
      insns[i].opcode = &oc[i];
4019
609
      epiphany_cgen_build_insn_regex (& insns[i]);
4020
609
    }
4021
4022
3
  cd->sizeof_fields = sizeof (CGEN_FIELDS);
4023
3
  cd->set_fields_bitsize = set_fields_bitsize;
4024
4025
3
  cd->asm_hash_p = asm_hash_insn_p;
4026
3
  cd->asm_hash = asm_hash_insn;
4027
3
  cd->asm_hash_size = CGEN_ASM_HASH_SIZE;
4028
4029
3
  cd->dis_hash_p = dis_hash_insn_p;
4030
3
  cd->dis_hash = dis_hash_insn;
4031
3
  cd->dis_hash_size = CGEN_DIS_HASH_SIZE;
4032
3
}