OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [opcodes/] [epiphany-opc.c] - Blame information for rev 299

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.