blob: 46538047d1d9b0c3cb8176aa1ccb6e30dc0b9447 [file] [log] [blame]
/* Instruction opcode table for epiphany.
THIS FILE IS MACHINE GENERATED WITH CGEN.
Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of the GNU Binutils and/or GDB, the GNU debugger.
This file is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
It is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "sysdep.h"
#include "ansidecl.h"
#include "bfd.h"
#include "symcat.h"
#include "epiphany-desc.h"
#include "epiphany-opc.h"
#include "libiberty.h"
/* -- opc.c */
/* -- asm.c */
/* The hash functions are recorded here to help keep assembler code out of
the disassembler and vice versa. */
static int asm_hash_insn_p (const CGEN_INSN *);
static unsigned int asm_hash_insn (const char *);
static int dis_hash_insn_p (const CGEN_INSN *);
static unsigned int dis_hash_insn (const char *, CGEN_INSN_INT);
/* Instruction formats. */
#define F(f) & epiphany_cgen_ifld_table[EPIPHANY_##f]
static const CGEN_IFMT ifmt_empty ATTRIBUTE_UNUSED = {
0, 0, 0x0, { { 0 } }
};
static const CGEN_IFMT ifmt_beq16 ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_SIMM8) }, { F (F_CONDCODE) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_beq ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_SIMM24) }, { F (F_CONDCODE) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_jr16 ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_rts ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_jr ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrbx16_s ATTRIBUTE_UNUSED = {
16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_ldrbx_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrbp_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrbd16_s ATTRIBUTE_UNUSED = {
16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_ldrbd_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_cmov16EQ ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_cmovEQ ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_movts16 ATTRIBUTE_UNUSED = {
16, 16, 0x3ff, { { F (F_RD) }, { F (F_SN) }, { F (F_DC_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_movts6 ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_movtsdma ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_movtsmem ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_movtsmesh ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_nop ATTRIBUTE_UNUSED = {
16, 16, 0xffff, { { F (F_DC_15_7) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_unimpl ATTRIBUTE_UNUSED = {
32, 32, 0xffffffff, { { F (F_OPC_31_32) }, { 0 } }
};
static const CGEN_IFMT ifmt_gien ATTRIBUTE_UNUSED = {
16, 16, 0xffff, { { F (F_DC_15_6) }, { F (F_GIEN_GIDIS_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_swi_num ATTRIBUTE_UNUSED = {
16, 16, 0x3ff, { { F (F_TRAP_NUM) }, { F (F_TRAP_SWI_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_swi ATTRIBUTE_UNUSED = {
16, 16, 0xffff, { { F (F_DC_15_6) }, { F (F_TRAP_SWI_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_trap16 ATTRIBUTE_UNUSED = {
16, 16, 0x3ff, { { F (F_TRAP_NUM) }, { F (F_TRAP_SWI_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_add16 ATTRIBUTE_UNUSED = {
16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_add ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_addi16 ATTRIBUTE_UNUSED = {
16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_SDISP3) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_addi ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_lsri16 ATTRIBUTE_UNUSED = {
16, 16, 0x1f, { { F (F_RD) }, { F (F_RN) }, { F (F_SHIFT) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_lsri32 ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_bitr16 ATTRIBUTE_UNUSED = {
16, 16, 0x3ff, { { F (F_RD) }, { F (F_RN) }, { F (F_SHIFT) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_bitr ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_fext ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_mov8 ATTRIBUTE_UNUSED = {
16, 16, 0x1f, { { F (F_RD) }, { F (F_IMM8) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_mov16 ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_f_absf16 ATTRIBUTE_UNUSED = {
16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_RN) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_f_absf32 ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_f_loatf16 ATTRIBUTE_UNUSED = {
16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_RN) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
};
static const CGEN_IFMT ifmt_f_recipf32 ATTRIBUTE_UNUSED = {
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 } }
};
#undef F
#define A(a) (1 << CGEN_INSN_##a)
#define OPERAND(op) EPIPHANY_OPERAND_##op
#define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
#define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
/* The instruction table. */
static const CGEN_OPCODE epiphany_cgen_insn_opcode_table[MAX_INSNS] =
{
/* Special null first entry.
A `num' value of zero is thus invalid.
Also, the special `invalid' insn resides here. */
{ { 0, 0, 0, 0 }, {{0}}, 0, {0}},
/* beq.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0x0 }
},
/* beq.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0x8 }
},
/* bne.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0x10 }
},
/* bne.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0x18 }
},
/* bgtu.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0x20 }
},
/* bgtu.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0x28 }
},
/* bgteu.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0x30 }
},
/* bgteu.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0x38 }
},
/* blteu.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0x40 }
},
/* blteu.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0x48 }
},
/* bltu.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0x50 }
},
/* bltu.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0x58 }
},
/* bgt.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0x60 }
},
/* bgt.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0x68 }
},
/* bgte.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0x70 }
},
/* bgte.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0x78 }
},
/* blt.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0x80 }
},
/* blt.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0x88 }
},
/* blte.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0x90 }
},
/* blte.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0x98 }
},
/* bbeq.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0xa0 }
},
/* bbeq.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0xa8 }
},
/* bbne.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0xb0 }
},
/* bbne.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0xb8 }
},
/* bblt.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0xc0 }
},
/* bblt.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0xc8 }
},
/* bblte.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0xd0 }
},
/* bblte.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0xd8 }
},
/* b.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0xe0 }
},
/* b.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0xe8 }
},
/* bl.s $simm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM8), 0 } },
& ifmt_beq16, { 0xf0 }
},
/* bl.l $simm24 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SIMM24), 0 } },
& ifmt_beq, { 0xf8 }
},
/* jr $rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RN), 0 } },
& ifmt_jr16, { 0x142 }
},
/* rts */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_rts, { 0x402194f }
},
/* jr $rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RN6), 0 } },
& ifmt_jr, { 0x2014f }
},
/* jalr $rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RN), 0 } },
& ifmt_jr16, { 0x152 }
},
/* jalr $rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RN6), 0 } },
& ifmt_jr, { 0x2015f }
},
/* ldrb $rd,[$rn,$rm] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
& ifmt_ldrbx16_s, { 0x1 }
},
/* ldrb $rd,[$rn],$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
& ifmt_ldrbx16_s, { 0x5 }
},
/* ldrb $rd6,[$rn6,$direction$rm6] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
& ifmt_ldrbx_l, { 0x9 }
},
/* ldrb $rd6,[$rn6],$direction$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
& ifmt_ldrbp_l, { 0xd }
},
/* ldrb $rd,[$rn,$disp3] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
& ifmt_ldrbd16_s, { 0x4 }
},
/* ldrb $rd6,[$rn6,$dpmi$disp11] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
& ifmt_ldrbd_l, { 0xc }
},
/* ldrb $rd6,[$rn6],$dpmi$disp11 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
& ifmt_ldrbd_l, { 0x200000c }
},
/* ldrh $rd,[$rn,$rm] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
& ifmt_ldrbx16_s, { 0x21 }
},
/* ldrh $rd,[$rn],$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
& ifmt_ldrbx16_s, { 0x25 }
},
/* ldrh $rd6,[$rn6,$direction$rm6] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
& ifmt_ldrbx_l, { 0x29 }
},
/* ldrh $rd6,[$rn6],$direction$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
& ifmt_ldrbp_l, { 0x2d }
},
/* ldrh $rd,[$rn,$disp3] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
& ifmt_ldrbd16_s, { 0x24 }
},
/* ldrh $rd6,[$rn6,$dpmi$disp11] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
& ifmt_ldrbd_l, { 0x2c }
},
/* ldrh $rd6,[$rn6],$dpmi$disp11 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
& ifmt_ldrbd_l, { 0x200002c }
},
/* ldr $rd,[$rn,$rm] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
& ifmt_ldrbx16_s, { 0x41 }
},
/* ldr $rd,[$rn],$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
& ifmt_ldrbx16_s, { 0x45 }
},
/* ldr $rd6,[$rn6,$direction$rm6] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
& ifmt_ldrbx_l, { 0x49 }
},
/* ldr $rd6,[$rn6],$direction$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
& ifmt_ldrbp_l, { 0x4d }
},
/* ldr $rd,[$rn,$disp3] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
& ifmt_ldrbd16_s, { 0x44 }
},
/* ldr $rd6,[$rn6,$dpmi$disp11] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
& ifmt_ldrbd_l, { 0x4c }
},
/* ldr $rd6,[$rn6],$dpmi$disp11 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
& ifmt_ldrbd_l, { 0x200004c }
},
/* ldrd $rd,[$rn,$rm] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
& ifmt_ldrbx16_s, { 0x61 }
},
/* ldrd $rd,[$rn],$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
& ifmt_ldrbx16_s, { 0x65 }
},
/* ldrd $rd6,[$rn6,$direction$rm6] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
& ifmt_ldrbx_l, { 0x69 }
},
/* ldrd $rd6,[$rn6],$direction$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
& ifmt_ldrbp_l, { 0x6d }
},
/* ldrd $rd,[$rn,$disp3] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
& ifmt_ldrbd16_s, { 0x64 }
},
/* ldrd $rd6,[$rn6,$dpmi$disp11] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
& ifmt_ldrbd_l, { 0x6c }
},
/* ldrd $rd6,[$rn6],$dpmi$disp11 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
& ifmt_ldrbd_l, { 0x200006c }
},
/* testsetb $rd6,[$rn6,$direction$rm6] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
& ifmt_ldrbx_l, { 0x200009 }
},
/* testseth $rd6,[$rn6,$direction$rm6] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
& ifmt_ldrbx_l, { 0x200029 }
},
/* testset $rd6,[$rn6,$direction$rm6] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
& ifmt_ldrbx_l, { 0x200049 }
},
/* strb $rd,[$rn,$rm] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
& ifmt_ldrbx16_s, { 0x11 }
},
/* strb $rd6,[$rn6,$direction$rm6] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
& ifmt_ldrbx_l, { 0x19 }
},
/* strb $rd,[$rn],$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
& ifmt_ldrbx16_s, { 0x15 }
},
/* strb $rd6,[$rn6],$direction$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
& ifmt_ldrbp_l, { 0x1d }
},
/* strb $rd,[$rn,$disp3] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
& ifmt_ldrbd16_s, { 0x14 }
},
/* strb $rd6,[$rn6,$dpmi$disp11] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
& ifmt_ldrbd_l, { 0x1c }
},
/* strb $rd6,[$rn6],$dpmi$disp11 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
& ifmt_ldrbd_l, { 0x200001c }
},
/* strh $rd,[$rn,$rm] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
& ifmt_ldrbx16_s, { 0x31 }
},
/* strh $rd6,[$rn6,$direction$rm6] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
& ifmt_ldrbx_l, { 0x39 }
},
/* strh $rd,[$rn],$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
& ifmt_ldrbx16_s, { 0x35 }
},
/* strh $rd6,[$rn6],$direction$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
& ifmt_ldrbp_l, { 0x3d }
},
/* strh $rd,[$rn,$disp3] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
& ifmt_ldrbd16_s, { 0x34 }
},
/* strh $rd6,[$rn6,$dpmi$disp11] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
& ifmt_ldrbd_l, { 0x3c }
},
/* strh $rd6,[$rn6],$dpmi$disp11 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
& ifmt_ldrbd_l, { 0x200003c }
},
/* str $rd,[$rn,$rm] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
& ifmt_ldrbx16_s, { 0x51 }
},
/* str $rd6,[$rn6,$direction$rm6] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
& ifmt_ldrbx_l, { 0x59 }
},
/* str $rd,[$rn],$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
& ifmt_ldrbx16_s, { 0x55 }
},
/* str $rd6,[$rn6],$direction$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
& ifmt_ldrbp_l, { 0x5d }
},
/* str $rd,[$rn,$disp3] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
& ifmt_ldrbd16_s, { 0x54 }
},
/* str $rd6,[$rn6,$dpmi$disp11] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
& ifmt_ldrbd_l, { 0x5c }
},
/* str $rd6,[$rn6],$dpmi$disp11 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
& ifmt_ldrbd_l, { 0x200005c }
},
/* strd $rd,[$rn,$rm] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
& ifmt_ldrbx16_s, { 0x71 }
},
/* strd $rd6,[$rn6,$direction$rm6] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
& ifmt_ldrbx_l, { 0x79 }
},
/* strd $rd,[$rn],$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
& ifmt_ldrbx16_s, { 0x75 }
},
/* strd $rd6,[$rn6],$direction$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
& ifmt_ldrbp_l, { 0x7d }
},
/* strd $rd,[$rn,$disp3] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
& ifmt_ldrbd16_s, { 0x74 }
},
/* strd $rd6,[$rn6,$dpmi$disp11] */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
& ifmt_ldrbd_l, { 0x7c }
},
/* strd $rd6,[$rn6],$dpmi$disp11 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
& ifmt_ldrbd_l, { 0x200007c }
},
/* moveq $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0x2 }
},
/* moveq $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x2000f }
},
/* movne $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0x12 }
},
/* movne $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x2001f }
},
/* movgtu $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0x22 }
},
/* movgtu $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x2002f }
},
/* movgteu $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0x32 }
},
/* movgteu $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x2003f }
},
/* movlteu $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0x42 }
},
/* movlteu $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x2004f }
},
/* movltu $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0x52 }
},
/* movltu $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x2005f }
},
/* movgt $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0x62 }
},
/* movgt $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x2006f }
},
/* movgte $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0x72 }
},
/* movgte $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x2007f }
},
/* movlt $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0x82 }
},
/* movlt $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x2008f }
},
/* movlte $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0x92 }
},
/* movlte $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x2009f }
},
/* mov $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0xe2 }
},
/* mov $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x200ef }
},
/* movbeq $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0xa2 }
},
/* movbeq $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x200af }
},
/* movbne $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0xb2 }
},
/* movbne $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x200bf }
},
/* movblt $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0xc2 }
},
/* movblt $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x200cf }
},
/* movblte $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_cmov16EQ, { 0xd2 }
},
/* movblte $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_cmovEQ, { 0x200df }
},
/* movts $sn,$rd */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SN), ',', OP (RD), 0 } },
& ifmt_movts16, { 0x102 }
},
/* movts $sn6,$rd6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SN6), ',', OP (RD6), 0 } },
& ifmt_movts6, { 0x2010f }
},
/* movts $sndma,$rd6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SNDMA), ',', OP (RD6), 0 } },
& ifmt_movtsdma, { 0x12010f }
},
/* movts $snmem,$rd6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SNMEM), ',', OP (RD6), 0 } },
& ifmt_movtsmem, { 0x22010f }
},
/* movts $snmesh,$rd6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SNMESH), ',', OP (RD6), 0 } },
& ifmt_movtsmesh, { 0x32010f }
},
/* movfs $rd,$sn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (SN), 0 } },
& ifmt_movts16, { 0x112 }
},
/* movfs $rd6,$sn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (SN6), 0 } },
& ifmt_movts6, { 0x2011f }
},
/* movfs $rd6,$sndma */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (SNDMA), 0 } },
& ifmt_movtsdma, { 0x12011f }
},
/* movfs $rd6,$snmem */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (SNMEM), 0 } },
& ifmt_movtsmem, { 0x22011f }
},
/* movfs $rd6,$snmesh */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (SNMESH), 0 } },
& ifmt_movtsmesh, { 0x32011f }
},
/* nop */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_nop, { 0x1a2 }
},
/* snop */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_nop, { 0x3a2 }
},
/* unimpl */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_unimpl, { 0xf000f }
},
/* idle */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_nop, { 0x1b2 }
},
/* bkpt */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_nop, { 0x1c2 }
},
/* mbkpt */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_nop, { 0x3c2 }
},
/* rti */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_nop, { 0x1d2 }
},
/* wand */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_nop, { 0x182 }
},
/* sync */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_nop, { 0x1f2 }
},
/* gie */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_gien, { 0x192 }
},
/* gid */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_gien, { 0x392 }
},
/* swi $swi_num */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (SWI_NUM), 0 } },
& ifmt_swi_num, { 0x1e2 }
},
/* swi */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_swi, { 0x1e2 }
},
/* trap $trapnum6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (TRAPNUM6), 0 } },
& ifmt_trap16, { 0x3e2 }
},
/* add $rd,$rn,$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
& ifmt_add16, { 0x1a }
},
/* add $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_add, { 0xa001f }
},
/* sub $rd,$rn,$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
& ifmt_add16, { 0x3a }
},
/* sub $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_add, { 0xa003f }
},
/* and $rd,$rn,$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
& ifmt_add16, { 0x5a }
},
/* and $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_add, { 0xa005f }
},
/* orr $rd,$rn,$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
& ifmt_add16, { 0x7a }
},
/* orr $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_add, { 0xa007f }
},
/* eor $rd,$rn,$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
& ifmt_add16, { 0xa }
},
/* eor $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_add, { 0xa000f }
},
/* add.s $rd,$rn,$simm3 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SIMM3), 0 } },
& ifmt_addi16, { 0x13 }
},
/* add.l $rd6,$rn6,$simm11 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SIMM11), 0 } },
& ifmt_addi, { 0x1b }
},
/* sub.s $rd,$rn,$simm3 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SIMM3), 0 } },
& ifmt_addi16, { 0x33 }
},
/* sub.l $rd6,$rn6,$simm11 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SIMM11), 0 } },
& ifmt_addi, { 0x3b }
},
/* asr $rd,$rn,$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
& ifmt_add16, { 0x6a }
},
/* asr $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_add, { 0xa006f }
},
/* lsr $rd,$rn,$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
& ifmt_add16, { 0x4a }
},
/* lsr $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_add, { 0xa004f }
},
/* lsl $rd,$rn,$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
& ifmt_add16, { 0x2a }
},
/* lsl $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_add, { 0xa002f }
},
/* lsr $rd,$rn,$shift */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SHIFT), 0 } },
& ifmt_lsri16, { 0x6 }
},
/* lsr $rd6,$rn6,$shift */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
& ifmt_lsri32, { 0x6000f }
},
/* lsl $rd,$rn,$shift */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SHIFT), 0 } },
& ifmt_lsri16, { 0x16 }
},
/* lsl $rd6,$rn6,$shift */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
& ifmt_lsri32, { 0x6001f }
},
/* asr $rd,$rn,$shift */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SHIFT), 0 } },
& ifmt_lsri16, { 0xe }
},
/* asr $rd6,$rn6,$shift */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
& ifmt_lsri32, { 0xe000f }
},
/* bitr $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_bitr16, { 0x1e }
},
/* bitr $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_bitr, { 0xe001f }
},
/* fext $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_fext, { 0x1a000f }
},
/* fdep $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_fext, { 0x1a001f }
},
/* lfsr $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_fext, { 0x1a002f }
},
/* mov.b $rd,$imm8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (IMM8), 0 } },
& ifmt_mov8, { 0x3 }
},
/* mov.l $rd6,$imm16 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (IMM16), 0 } },
& ifmt_mov16, { 0x2000b }
},
/* movt $rd6,$imm16 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (IMM16), 0 } },
& ifmt_mov16, { 0x1002000b }
},
/* fadd $rd,$rn,$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
& ifmt_add16, { 0x7 }
},
/* fadd $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_add, { 0x7000f }
},
/* fsub $rd,$rn,$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
& ifmt_add16, { 0x17 }
},
/* fsub $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_add, { 0x7001f }
},
/* fmul $rd,$rn,$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
& ifmt_add16, { 0x27 }
},
/* fmul $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_add, { 0x7002f }
},
/* fmadd $rd,$rn,$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
& ifmt_add16, { 0x37 }
},
/* fmadd $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_add, { 0x7003f }
},
/* fmsub $rd,$rn,$rm */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
& ifmt_add16, { 0x47 }
},
/* fmsub $rd6,$rn6,$rm6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
& ifmt_add, { 0x7004f }
},
/* fabs rd,rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', 'r', 'd', ',', 'r', 'n', 0 } },
& ifmt_f_absf16, { 0x77 }
},
/* fabs $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_f_absf32, { 0x7007f }
},
/* float $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_f_loatf16, { 0x57 }
},
/* float $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_f_absf32, { 0x7005f }
},
/* fix $rd,$rn */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
& ifmt_f_absf16, { 0x67 }
},
/* fix $rd6,$rn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
& ifmt_f_absf32, { 0x7006f }
},
/* frecip $frd6,$frn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (FRD6), ',', OP (FRN6), 0 } },
& ifmt_f_recipf32, { 0x17000f }
},
/* fsqrt $frd6,$frn6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, ' ', OP (FRD6), ',', OP (FRN6), 0 } },
& ifmt_f_recipf32, { 0x17001f }
},
};
#undef A
#undef OPERAND
#undef MNEM
#undef OP
/* Formats for ALIAS macro-insns. */
#define F(f) & epiphany_cgen_ifld_table[EPIPHANY_##f]
static const CGEN_IFMT ifmt_beq16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_beq32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_bne16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_bne32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_bgtu16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_bgtu32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_bgteu16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_bgteu32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_blteu16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_blteu32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_bltu16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_bltu32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_bgt16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_bgt32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_bgte16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_bgte32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_blt16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_blt32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_blte16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_blte32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_bbeq16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_bbeq32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_bbne16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_bbne32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_bblt16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_bblt32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_bblte16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_bblte32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_b16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_b32r ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_bl16r ATTRIBUTE_UNUSED = {
16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
};
static const CGEN_IFMT ifmt_blr ATTRIBUTE_UNUSED = {
32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
};
static const CGEN_IFMT ifmt_ldrbx ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrbp ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrbd ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrbdpm ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrbds0 ATTRIBUTE_UNUSED = {
16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
};
static const CGEN_IFMT ifmt_ldrbdl0 ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrbdl0_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrhx ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrhp ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrhd ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrhdpm ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrhds0 ATTRIBUTE_UNUSED = {
16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
};
static const CGEN_IFMT ifmt_ldrhdl0 ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrhdl0_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrx ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrp ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrd ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrdpm ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrds0 ATTRIBUTE_UNUSED = {
16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
};
static const CGEN_IFMT ifmt_ldrdl0 ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrdl0_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrdx ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrdp ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrdd ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrddpm ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrdds0 ATTRIBUTE_UNUSED = {
16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
};
static const CGEN_IFMT ifmt_ldrddl0 ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_ldrddl0_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_testsetbt_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_testsetht_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_testsett_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strbx_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strbp_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strbd_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strbdpm_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strbds0 ATTRIBUTE_UNUSED = {
16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
};
static const CGEN_IFMT ifmt_strbdl0 ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strbdl0_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strhx_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strhp_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strhd_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strhdpm_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strhds0 ATTRIBUTE_UNUSED = {
16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
};
static const CGEN_IFMT ifmt_strhdl0 ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strhdl0_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strx_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strp_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strd_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strdpm_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strds0 ATTRIBUTE_UNUSED = {
16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
};
static const CGEN_IFMT ifmt_strdl0 ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strdl0_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strdx_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strdp_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strdd_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strddpm_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strdds0 ATTRIBUTE_UNUSED = {
16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
};
static const CGEN_IFMT ifmt_strddl0 ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_strddl0_l ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_cmov_lEQ ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_cmov_lNE ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_cmov_lGTU ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_cmov_lGTEU ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_cmov_lLTEU ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_cmov_lLTU ATTRIBUTE_UNUSED = {
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 } }
};
static const CGEN_IFMT ifmt_cmov_lGT ATTRIBUTE_UNUSED = {
32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) },