blob: 67304b25232bf90ef8d4a33c748cf8c4f90e3429 [file] [log] [blame]
/* Instruction opcode table for arc.
THIS FILE IS MACHINE GENERATED WITH CGEN.
Copyright 1996-2005 Free Software Foundation, Inc.
This file is part of the GNU Binutils and/or GDB, the GNU debugger.
This program 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 2, or (at your option)
any later version.
This program 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 "arc-desc.h"
#include "arc-opc.h"
#include "libiberty.h"
/* -- opc.c */
unsigned int
arc_cgen_dis_hash (const char * buf, int big_p)
{
const unsigned char *ubuf = (unsigned const char *) buf;
int b0 = ubuf[0], b1 = ubuf[1], w;
if (big_p)
w = (b0 << 8) + b1;
else
w = (b1 << 8) + b0;
switch (w >> 11)
{
case 0x01: /* branches */
return ((w >> 6) | w);
case 0x04: /* general operations */
case 0x05: case 0x06: case 0x07: /* 32 bit extension instructions */
return ((w >> 3) & 768) | (w & 255);
case 0x0c: /* .s load/add register-register */
case 0x0d: /* .s add/sub/shift register-immediate */
case 0x0e: /* .s mov/cmp/add with high register */
return ((w >> 6) & 992) | (w & 24);
case 0x0f: /* 16 bit general operations */
return ((w >> 6) & 992) | (w & 31);
case 0x17: /* .s shift/subtract/bit immediate */
case 0x18: /* .s stack-pointer based */
return ((w >> 6) & 992) | ((w >> 5) & 7);
case 0x19: /* load/add GP-relative */
case 0x1e: /* branch conditionally */
return ((w >> 6) & (992 | 24));
case 0x1c: /* add/cmp immediate */
case 0x1d: /* branch on compare register with zero */
return ((w >> 6) & (992 | 2));
default:
return ((w >> 6) & 992);
}
}
/* -- */
/* 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, int);
/* Instruction formats. */
#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
#define F(f) & arc_cgen_ifld_table[ARC_##f]
#else
#define F(f) & arc_cgen_ifld_table[ARC_/**/f]
#endif
static const CGEN_IFMT ifmt_empty ATTRIBUTE_UNUSED = {
0, 0, 0x0, { { 0 } }
};
static const CGEN_IFMT ifmt_b_s ATTRIBUTE_UNUSED = {
32, 32, 0xf8000000, { { F (F_OPM) }, { F (F_COND_I2) }, { F (F_REL10) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_bcc_s ATTRIBUTE_UNUSED = {
32, 32, 0xfe000000, { { F (F_OPM) }, { F (F_COND_I2) }, { F (F_COND_I3) }, { F (F_REL7) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_brcc_s ATTRIBUTE_UNUSED = {
32, 32, 0xf8000000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_BRSCOND) }, { F (F_REL8) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_bcc_l ATTRIBUTE_UNUSED = {
32, 32, 0xf8010020, { { F (F_OPM) }, { F (F_REL21) }, { F (F_BUF) }, { F (F_DELAY_N) }, { F (F_COND_Q) }, { 0 } }
};
static const CGEN_IFMT ifmt_b_l ATTRIBUTE_UNUSED = {
32, 32, 0xf8010030, { { F (F_OPM) }, { F (F_REL25) }, { F (F_BUF) }, { F (F_DELAY_N) }, { F (F_RES27) }, { 0 } }
};
static const CGEN_IFMT ifmt_brcc_RC ATTRIBUTE_UNUSED = {
32, 32, 0xf8010030, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_REL9) }, { F (F_BUF) }, { F (F_OP_C) }, { F (F_DELAY_N) }, { F (F_BR) }, { F (F_BRCOND) }, { 0 } }
};
static const CGEN_IFMT ifmt_brcc_U6 ATTRIBUTE_UNUSED = {
32, 32, 0xf8010030, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_REL9) }, { F (F_BUF) }, { F (F_U6) }, { F (F_DELAY_N) }, { F (F_BR) }, { F (F_BRCOND) }, { 0 } }
};
static const CGEN_IFMT ifmt_bl_s ATTRIBUTE_UNUSED = {
32, 32, 0xf8000000, { { F (F_OPM) }, { F (F_REL13BL) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_blcc ATTRIBUTE_UNUSED = {
32, 32, 0xf8030020, { { F (F_OPM) }, { F (F_REL21BL) }, { F (F_BLUF) }, { F (F_BUF) }, { F (F_DELAY_N) }, { F (F_COND_Q) }, { 0 } }
};
static const CGEN_IFMT ifmt_bl ATTRIBUTE_UNUSED = {
32, 32, 0xf8030030, { { F (F_OPM) }, { F (F_REL25BL) }, { F (F_BLUF) }, { F (F_BUF) }, { F (F_DELAY_N) }, { F (F_RES27) }, { 0 } }
};
static const CGEN_IFMT ifmt_ld_abs ATTRIBUTE_UNUSED = {
32, 32, 0xf80007c0, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_S9) }, { F (F_LDODI) }, { F (F_LDOAA) }, { F (F_LDOZZX) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_ld_abc ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_LDRAA) }, { F (F_LDR6ZZX) }, { F (F_LDRDI) }, { F (F_OP_C) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_ld_s_abc ATTRIBUTE_UNUSED = {
32, 32, 0xf8180000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_OP__C) }, { F (F_I16_43) }, { F (F_OP__A) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_ld_s_abu ATTRIBUTE_UNUSED = {
32, 32, 0xf8000000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_OP__C) }, { F (F_U5X4) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_ld_s_absp ATTRIBUTE_UNUSED = {
32, 32, 0xf8e00000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_OP__C) }, { F (F_U5X4) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_ld_s_gprel ATTRIBUTE_UNUSED = {
32, 32, 0xfe000000, { { F (F_OPM) }, { F (F_I16_GP_TYPE) }, { F (F_S9X4) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_ld_s_pcrel ATTRIBUTE_UNUSED = {
32, 32, 0xf8000000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_U8X4) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_ldb_s_abu ATTRIBUTE_UNUSED = {
32, 32, 0xf8000000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_OP__C) }, { F (F_U5) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_ldb_s_gprel ATTRIBUTE_UNUSED = {
32, 32, 0xfe000000, { { F (F_OPM) }, { F (F_I16_GP_TYPE) }, { F (F_S9X1) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_ldw_s_abu ATTRIBUTE_UNUSED = {
32, 32, 0xf8000000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_OP__C) }, { F (F_U5X2) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_ldw_s_gprel ATTRIBUTE_UNUSED = {
32, 32, 0xfe000000, { { F (F_OPM) }, { F (F_I16_GP_TYPE) }, { F (F_S9X2) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_st_abs ATTRIBUTE_UNUSED = {
32, 32, 0xf800001f, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_S9) }, { F (F_LDODI) }, { F (F_OP_C) }, { F (F_STOAA) }, { F (F_STOZZR) }, { 0 } }
};
static const CGEN_IFMT ifmt_add_L_s12__RA_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_S12) }, { 0 } }
};
static const CGEN_IFMT ifmt_add_ccu6__RA_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0020, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_U6) }, { F (F_GO_CC_TYPE) }, { F (F_COND_Q) }, { 0 } }
};
static const CGEN_IFMT ifmt_add_L_u6__RA_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_U6) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_add_L_r_r__RA__RC ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_C) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_add_cc__RA__RC ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0020, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_C) }, { F (F_GO_CC_TYPE) }, { F (F_COND_Q) }, { 0 } }
};
static const CGEN_IFMT ifmt_add_s_cbu3 ATTRIBUTE_UNUSED = {
32, 32, 0xf8180000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_OP__C) }, { F (F_I16_43) }, { F (F_U3) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_add_s_mcah ATTRIBUTE_UNUSED = {
32, 32, 0xf8180000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_OP_H) }, { F (F_I16_43) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_add_s_asspsp ATTRIBUTE_UNUSED = {
32, 32, 0xffe00000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_OP__C) }, { F (F_U5X4) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_add_s_gp ATTRIBUTE_UNUSED = {
32, 32, 0xfe000000, { { F (F_OPM) }, { F (F_I16_GP_TYPE) }, { F (F_S9X4) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_add_s_r_u7 ATTRIBUTE_UNUSED = {
32, 32, 0xf8800000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_I16ADDCMPU7_TYPE) }, { F (F_U7) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_I16_GO_SUB_s_go ATTRIBUTE_UNUSED = {
32, 32, 0xf81f0000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_OP__C) }, { F (F_I16_GO) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_sub_s_go_sub_ne ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_OP__C) }, { F (F_I16_GO) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_sub_s_ssb ATTRIBUTE_UNUSED = {
32, 32, 0xf8e00000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_OP__C) }, { F (F_U5) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_mov_L_u6_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_U6) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_mov_L_r_r__RC ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_C) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_mov_s_r_u7 ATTRIBUTE_UNUSED = {
32, 32, 0xf8000000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_U8) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_tst_L_s12_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_S12) }, { 0 } }
};
static const CGEN_IFMT ifmt_tst_ccu6_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0020, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_U6) }, { F (F_GO_CC_TYPE) }, { F (F_COND_Q) }, { 0 } }
};
static const CGEN_IFMT ifmt_tst_L_u6_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_U6) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_tst_L_r_r__RC ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_C) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_tst_cc__RC ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0020, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_C) }, { F (F_GO_CC_TYPE) }, { F (F_COND_Q) }, { 0 } }
};
static const CGEN_IFMT ifmt_j_L_r_r___RC_noilink_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_CJ) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_j_cc___RC_noilink_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0020, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_CJ) }, { F (F_GO_CC_TYPE) }, { F (F_COND_Q) }, { 0 } }
};
static const CGEN_IFMT ifmt_j_L_r_r___RC_ilink_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_CJ) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_j_cc___RC_ilink_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0020, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_CJ) }, { F (F_GO_CC_TYPE) }, { F (F_COND_Q) }, { 0 } }
};
static const CGEN_IFMT ifmt_j_L_s12_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_S12) }, { 0 } }
};
static const CGEN_IFMT ifmt_j_ccu6_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0020, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_U6) }, { F (F_GO_CC_TYPE) }, { F (F_COND_Q) }, { 0 } }
};
static const CGEN_IFMT ifmt_j_L_u6_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_U6) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_j_s__S ATTRIBUTE_UNUSED = {
32, 32, 0xffff0000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_OP__C) }, { F (F_I16_GO) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_j_L_r_r_d___RC_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_C) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_j_cc_d___RC_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0020, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_C) }, { F (F_GO_CC_TYPE) }, { F (F_COND_Q) }, { 0 } }
};
static const CGEN_IFMT ifmt_lp_L_s12_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_S12X2) }, { 0 } }
};
static const CGEN_IFMT ifmt_lpcc_ccu6 ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0020, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_U6X2) }, { F (F_GO_CC_TYPE) }, { F (F_COND_Q) }, { 0 } }
};
static const CGEN_IFMT ifmt_lr_L_r_r___RC_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_C) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_lr_L_s12_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_S12) }, { 0 } }
};
static const CGEN_IFMT ifmt_lr_L_u6_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_U6) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_asl_L_r_r__RC ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff003f, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_C) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_asl_L_u6_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff003f, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_U6) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_ex_L_r_r__RC ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff003f, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_C) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_ex_L_u6_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff003f, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_U6) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_swi ATTRIBUTE_UNUSED = {
32, 32, 0xffff7fff, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_B_5_3) }, { F (F_OP_C) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_trap_s ATTRIBUTE_UNUSED = {
32, 32, 0xf81f0000, { { F (F_OPM) }, { F (F_TRAPNUM) }, { F (F_I16_GO) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_brk_s ATTRIBUTE_UNUSED = {
32, 32, 0xffff0000, { { F (F_OPM) }, { F (F_TRAPNUM) }, { F (F_I16_GO) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_divaw_ccu6__RA_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0020, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_U6) }, { F (F_GO_CC_TYPE) }, { F (F_COND_Q) }, { 0 } }
};
static const CGEN_IFMT ifmt_divaw_L_u6__RA_ ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_U6) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_divaw_L_r_r__RA__RC ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_C) }, { F (F_OP_A) }, { 0 } }
};
static const CGEN_IFMT ifmt_divaw_cc__RA__RC ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0020, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_C) }, { F (F_GO_CC_TYPE) }, { F (F_COND_Q) }, { 0 } }
};
static const CGEN_IFMT ifmt_pop_s_b ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff0000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_OP__C) }, { F (F_U5) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_pop_s_blink ATTRIBUTE_UNUSED = {
32, 32, 0xffff0000, { { F (F_OPM) }, { F (F_OP__B) }, { F (F_OP__C) }, { F (F_U5) }, { F (F_DUMMY) }, { 0 } }
};
static const CGEN_IFMT ifmt_current_loop_end ATTRIBUTE_UNUSED = {
32, 32, 0xf8ff003f, { { F (F_OPM) }, { F (F_OP_B) }, { F (F_GO_TYPE) }, { F (F_GO_OP) }, { F (F_F) }, { F (F_OP_C) }, { F (F_OP_A) }, { 0 } }
};
#undef F
#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
#define A(a) (1 << CGEN_INSN_##a)
#else
#define A(a) (1 << CGEN_INSN_/**/a)
#endif
#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
#define OPERAND(op) ARC_OPERAND_##op
#else
#define OPERAND(op) ARC_OPERAND_/**/op
#endif
#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 arc_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}},
/* b$i2cond $label10 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (I2COND), ' ', OP (LABEL10), 0 } },
& ifmt_b_s, { 0xf0000000 }
},
/* b$i3cond$_S $label7 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (I3COND), OP (_S), ' ', OP (LABEL7), 0 } },
& ifmt_bcc_s, { 0xf6000000 }
},
/* br$RccS$_S $R_b,0,$label8 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (RCCS), OP (_S), ' ', OP (R_B), ',', '0', ',', OP (LABEL8), 0 } },
& ifmt_brcc_s, { 0xe8000000 }
},
/* b$Qcondb$_L $label21 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDB), OP (_L), ' ', OP (LABEL21), 0 } },
& ifmt_bcc_l, { 0x0 }
},
/* b$Qcondb$_L.d $label21 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDB), OP (_L), '.', 'd', ' ', OP (LABEL21), 0 } },
& ifmt_bcc_l, { 0x20 }
},
/* b$uncondb$_L $label25 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (UNCONDB), OP (_L), ' ', OP (LABEL25), 0 } },
& ifmt_b_l, { 0x10000 }
},
/* b$uncondb$_L.d $label25 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (UNCONDB), OP (_L), '.', 'd', ' ', OP (LABEL25), 0 } },
& ifmt_b_l, { 0x10020 }
},
/* b$Rcc $RB,$RC,$label9 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (RCC), ' ', OP (RB), ',', OP (RC), ',', OP (LABEL9), 0 } },
& ifmt_brcc_RC, { 0x8010000 }
},
/* b$Rcc.d $RB,$RC,$label9 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (RCC), '.', 'd', ' ', OP (RB), ',', OP (RC), ',', OP (LABEL9), 0 } },
& ifmt_brcc_RC, { 0x8010020 }
},
/* b$Rcc $RB,$U6,$label9 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (RCC), ' ', OP (RB), ',', OP (U6), ',', OP (LABEL9), 0 } },
& ifmt_brcc_U6, { 0x8010010 }
},
/* b$Rcc.d $RB,$U6,$label9 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (RCC), '.', 'd', ' ', OP (RB), ',', OP (U6), ',', OP (LABEL9), 0 } },
& ifmt_brcc_U6, { 0x8010030 }
},
/* bl$uncondj$_S $label13a */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (UNCONDJ), OP (_S), ' ', OP (LABEL13A), 0 } },
& ifmt_bl_s, { 0xf8000000 }
},
/* bl$Qcondj$_L $label21 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDJ), OP (_L), ' ', OP (LABEL21), 0 } },
& ifmt_blcc, { 0x8000000 }
},
/* bl$Qcondj$_L.d $label21 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDJ), OP (_L), '.', 'd', ' ', OP (LABEL21), 0 } },
& ifmt_blcc, { 0x8000020 }
},
/* bl$uncondj$_L $label25a */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (UNCONDJ), OP (_L), ' ', OP (LABEL25A), 0 } },
& ifmt_bl, { 0x8020000 }
},
/* bl$uncondj$_L.d $label25a */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (UNCONDJ), OP (_L), '.', 'd', ' ', OP (LABEL25A), 0 } },
& ifmt_bl, { 0x8020020 }
},
/* ld$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000000 }
},
/* ld$_AW$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_AW), OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000200 }
},
/* ld.ab$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000400 }
},
/* ld.as$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000600 }
},
/* ld$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20300000 }
},
/* ld$_AW$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_AW), OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20700000 }
},
/* ld.ab$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20b00000 }
},
/* ld.as$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20f00000 }
},
/* ld$_S $R_a,[$R_b,$R_c] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_A), ',', '[', OP (R_B), ',', OP (R_C), ']', 0 } },
& ifmt_ld_s_abc, { 0x60000000 }
},
/* ld$_S $R_c,[$R_b,$sc_u5_] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_C), ',', '[', OP (R_B), ',', OP (SC_U5_), ']', 0 } },
& ifmt_ld_s_abu, { 0x80000000 }
},
/* ld$_S $R_b,[$SP,$u5x4] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', '[', OP (SP), ',', OP (U5X4), ']', 0 } },
& ifmt_ld_s_absp, { 0xc0000000 }
},
/* ld$_S $R_b,[$GP,$sc_s9_] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', '[', OP (GP), ',', OP (SC_S9_), ']', 0 } },
& ifmt_ld_s_gprel, { 0xc8000000 }
},
/* ld$_S $R_b,[$PCL,$u8x4] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', '[', OP (PCL), ',', OP (U8X4), ']', 0 } },
& ifmt_ld_s_pcrel, { 0xd0000000 }
},
/* ldb$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000080 }
},
/* ldb$_AW$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_AW), OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000280 }
},
/* ldb.ab$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000480 }
},
/* ldb.as$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000680 }
},
/* ldb$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20320000 }
},
/* ldb$_AW$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_AW), OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20720000 }
},
/* ldb.ab$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20b20000 }
},
/* ldb.as$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20f20000 }
},
/* ldb$_S $R_a,[$R_b,$R_c] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_A), ',', '[', OP (R_B), ',', OP (R_C), ']', 0 } },
& ifmt_ld_s_abc, { 0x60080000 }
},
/* ldb$_S $R_c,[$R_b,$sc_u5b] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_C), ',', '[', OP (R_B), ',', OP (SC_U5B), ']', 0 } },
& ifmt_ldb_s_abu, { 0x88000000 }
},
/* ldb$_S $R_b,[$SP,$u5x4] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', '[', OP (SP), ',', OP (U5X4), ']', 0 } },
& ifmt_ld_s_absp, { 0xc0200000 }
},
/* ldb$_S $R_b,[$GP,$sc_s9b] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', '[', OP (GP), ',', OP (SC_S9B), ']', 0 } },
& ifmt_ldb_s_gprel, { 0xca000000 }
},
/* ldb.x$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x100000c0 }
},
/* ldb$_AW.x$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_AW), '.', 'x', OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x100002c0 }
},
/* ldb.ab.x$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x100004c0 }
},
/* ldb.as.x$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x100006c0 }
},
/* ldb.x$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20330000 }
},
/* ldb$_AW.x$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_AW), '.', 'x', OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20730000 }
},
/* ldb.ab.x$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20b30000 }
},
/* ldb.as.x$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20f30000 }
},
/* ldw$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000100 }
},
/* ldw$_AW$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_AW), OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000300 }
},
/* ldw.ab$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000500 }
},
/* ldw.as$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000700 }
},
/* ldw$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20340000 }
},
/* ldw$_AW$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_AW), OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20740000 }
},
/* ldw.ab$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20b40000 }
},
/* ldw.as$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20f40000 }
},
/* ldw$_S $R_a,[$R_b,$R_c] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_A), ',', '[', OP (R_B), ',', OP (R_C), ']', 0 } },
& ifmt_ld_s_abc, { 0x60100000 }
},
/* ldw$_S $R_c,[$R_b,$sc_u5w] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_C), ',', '[', OP (R_B), ',', OP (SC_U5W), ']', 0 } },
& ifmt_ldw_s_abu, { 0x90000000 }
},
/* ldw$_S $R_b,[$GP,$sc_s9w] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', '[', OP (GP), ',', OP (SC_S9W), ']', 0 } },
& ifmt_ldw_s_gprel, { 0xcc000000 }
},
/* ldw.x$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000140 }
},
/* ldw$_AW.x$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_AW), '.', 'x', OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000340 }
},
/* ldw.ab.x$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000540 }
},
/* ldw.as.x$LDODi $RA,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDODI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_ld_abs, { 0x10000740 }
},
/* ldw.x$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20350000 }
},
/* ldw$_AW.x$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_AW), '.', 'x', OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20750000 }
},
/* ldw.ab.x$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20b50000 }
},
/* ldw.as.x$LDRDi $RA,[$RB,$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (LDRDI), ' ', OP (RA), ',', '[', OP (RB), ',', OP (RC), ']', 0 } },
& ifmt_ld_abc, { 0x20f50000 }
},
/* ldw$_S.x $R_c,[$R_b,$sc_u5w] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), '.', 'x', ' ', OP (R_C), ',', '[', OP (R_B), ',', OP (SC_U5W), ']', 0 } },
& ifmt_ldw_s_abu, { 0x98000000 }
},
/* st$STODi $RC,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (STODI), ' ', OP (RC), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_st_abs, { 0x18000000 }
},
/* st$_AW$STODi $RC,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_AW), OP (STODI), ' ', OP (RC), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_st_abs, { 0x18000008 }
},
/* st.ab$STODi $RC,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (STODI), ' ', OP (RC), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_st_abs, { 0x18000010 }
},
/* st.as$STODi $RC,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (STODI), ' ', OP (RC), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_st_abs, { 0x18000018 }
},
/* st$_S $R_c,[$R_b,$sc_u5_] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_C), ',', '[', OP (R_B), ',', OP (SC_U5_), ']', 0 } },
& ifmt_ld_s_abu, { 0xa0000000 }
},
/* st$_S $R_b,[$SP,$u5x4] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', '[', OP (SP), ',', OP (U5X4), ']', 0 } },
& ifmt_ld_s_absp, { 0xc0400000 }
},
/* stb$STODi $RC,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (STODI), ' ', OP (RC), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_st_abs, { 0x18000002 }
},
/* stb$_AW$STODi $RC,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_AW), OP (STODI), ' ', OP (RC), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_st_abs, { 0x1800000a }
},
/* stb.ab$STODi $RC,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (STODI), ' ', OP (RC), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_st_abs, { 0x18000012 }
},
/* stb.as$STODi $RC,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (STODI), ' ', OP (RC), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_st_abs, { 0x1800001a }
},
/* stb$_S $R_c,[$R_b,$sc_u5b] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_C), ',', '[', OP (R_B), ',', OP (SC_U5B), ']', 0 } },
& ifmt_ldb_s_abu, { 0xa8000000 }
},
/* stb$_S $R_b,[$SP,$u5x4] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', '[', OP (SP), ',', OP (U5X4), ']', 0 } },
& ifmt_ld_s_absp, { 0xc0600000 }
},
/* stw$STODi $RC,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (STODI), ' ', OP (RC), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_st_abs, { 0x18000004 }
},
/* stw$_AW$STODi $RC,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_AW), OP (STODI), ' ', OP (RC), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_st_abs, { 0x1800000c }
},
/* stw.ab$STODi $RC,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (STODI), ' ', OP (RC), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_st_abs, { 0x18000014 }
},
/* stw.as$STODi $RC,[$RB,$s9] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (STODI), ' ', OP (RC), ',', '[', OP (RB), ',', OP (S9), ']', 0 } },
& ifmt_st_abs, { 0x1800001c }
},
/* stw$_S $R_c,[$R_b,$sc_u5w] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_C), ',', '[', OP (R_B), ',', OP (SC_U5W), ']', 0 } },
& ifmt_ldw_s_abu, { 0xb0000000 }
},
/* add$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20800000 }
},
/* add$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20c00020 }
},
/* add$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20400000 }
},
/* add$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20000000 }
},
/* add$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20c00000 }
},
/* add$_S $R_a,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_A), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_ld_s_abc, { 0x60180000 }
},
/* add$_S $R_c,$R_b,$u3 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_C), ',', OP (R_B), ',', OP (U3), 0 } },
& ifmt_add_s_cbu3, { 0x68000000 }
},
/* add$_S $R_b,$R_b,$Rh */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (RH), 0 } },
& ifmt_add_s_mcah, { 0x70000000 }
},
/* add$_S $R_b,$SP,$u5x4 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (SP), ',', OP (U5X4), 0 } },
& ifmt_ld_s_absp, { 0xc0800000 }
},
/* add$_S $SP,$SP,$u5x4 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (SP), ',', OP (SP), ',', OP (U5X4), 0 } },
& ifmt_add_s_asspsp, { 0xc0a00000 }
},
/* add$_S $R0,$GP,$s9x4 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R0), ',', OP (GP), ',', OP (S9X4), 0 } },
& ifmt_add_s_gp, { 0xce000000 }
},
/* add$_S $R_b,$R_b,$u7 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (U7), 0 } },
& ifmt_add_s_r_u7, { 0xe0000000 }
},
/* adc$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20810000 }
},
/* adc$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20c10020 }
},
/* adc$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20410000 }
},
/* adc$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20010000 }
},
/* adc$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20c10000 }
},
/* sub$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20820000 }
},
/* sub$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20c20020 }
},
/* sub$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20420000 }
},
/* sub$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20020000 }
},
/* sub$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20c20000 }
},
/* sub$_S $R_c,$R_b,$u3 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_C), ',', OP (R_B), ',', OP (U3), 0 } },
& ifmt_add_s_cbu3, { 0x68080000 }
},
/* sub$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x78020000 }
},
/* sub$_S $NE$R_b,$R_b,$R_b */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (NE), OP (R_B), ',', OP (R_B), ',', OP (R_B), 0 } },
& ifmt_sub_s_go_sub_ne, { 0x78c00000 }
},
/* sub$_S $R_b,$R_b,$u5 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (U5), 0 } },
& ifmt_sub_s_ssb, { 0xb8600000 }
},
/* sub$_S $SP,$SP,$u5x4 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (SP), ',', OP (SP), ',', OP (U5X4), 0 } },
& ifmt_add_s_asspsp, { 0xc1a00000 }
},
/* sbc$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20830000 }
},
/* sbc$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20c30020 }
},
/* sbc$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20430000 }
},
/* sbc$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20030000 }
},
/* sbc$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20c30000 }
},
/* and$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20840000 }
},
/* and$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20c40020 }
},
/* and$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20440000 }
},
/* and$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20040000 }
},
/* and$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20c40000 }
},
/* and$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x78040000 }
},
/* or$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20850000 }
},
/* or$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20c50020 }
},
/* or$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20450000 }
},
/* or$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20050000 }
},
/* or$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20c50000 }
},
/* or$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x78050000 }
},
/* bic$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20860000 }
},
/* bic$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20c60020 }
},
/* bic$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20460000 }
},
/* bic$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20060000 }
},
/* bic$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20c60000 }
},
/* bic$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x78060000 }
},
/* xor$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20870000 }
},
/* xor$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20c70020 }
},
/* xor$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20470000 }
},
/* xor$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20070000 }
},
/* xor$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20c70000 }
},
/* xor$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x78070000 }
},
/* max$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20880000 }
},
/* max$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20c80020 }
},
/* max$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20480000 }
},
/* max$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20080000 }
},
/* max$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20c80000 }
},
/* min$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20890000 }
},
/* min$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20c90020 }
},
/* min$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20490000 }
},
/* min$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20090000 }
},
/* min$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20c90000 }
},
/* mov$_L$F $RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x208a0000 }
},
/* mov$Qcondi$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20ca0020 }
},
/* mov$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_mov_L_u6_, { 0x204a0000 }
},
/* mov$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_mov_L_r_r__RC, { 0x200a0000 }
},
/* mov$Qcondi$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20ca0000 }
},
/* mov$_S $R_b,$Rh */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (RH), 0 } },
& ifmt_add_s_mcah, { 0x70080000 }
},
/* mov$_S $Rh,$R_b */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (RH), ',', OP (R_B), 0 } },
& ifmt_add_s_mcah, { 0x70180000 }
},
/* mov$_S $R_b,$u7 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (U7), 0 } },
& ifmt_mov_s_r_u7, { 0xd8000000 }
},
/* tst$_L$F1 $RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (S12), 0 } },
& ifmt_tst_L_s12_, { 0x208b0000 }
},
/* tst$Qcondi$F1 $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F1), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_tst_ccu6_, { 0x20cb0020 }
},
/* tst$_L$F1 $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_tst_L_u6_, { 0x204b0000 }
},
/* tst$_L$F1 $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_tst_L_r_r__RC, { 0x200b0000 }
},
/* tst$Qcondi$F1 $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F1), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_tst_cc__RC, { 0x20cb0000 }
},
/* tst$_S $R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x780b0000 }
},
/* cmp$_L$F1 $RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (S12), 0 } },
& ifmt_tst_L_s12_, { 0x208c0000 }
},
/* cmp$Qcondi$F1 $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F1), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_tst_ccu6_, { 0x20cc0020 }
},
/* cmp$_L$F1 $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_tst_L_u6_, { 0x204c0000 }
},
/* cmp$_L$F1 $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_tst_L_r_r__RC, { 0x200c0000 }
},
/* cmp$Qcondi$F1 $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F1), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_tst_cc__RC, { 0x20cc0000 }
},
/* cmp$_S $R_b,$Rh */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (RH), 0 } },
& ifmt_add_s_mcah, { 0x70100000 }
},
/* cmp$_S $R_b,$u7 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (U7), 0 } },
& ifmt_add_s_r_u7, { 0xe0800000 }
},
/* rcmp$_L$F1 $RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (S12), 0 } },
& ifmt_tst_L_s12_, { 0x208d0000 }
},
/* rcmp$Qcondi$F1 $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F1), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_tst_ccu6_, { 0x20cd0020 }
},
/* rcmp$_L$F1 $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_tst_L_u6_, { 0x204d0000 }
},
/* rcmp$_L$F1 $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_tst_L_r_r__RC, { 0x200d0000 }
},
/* rcmp$Qcondi$F1 $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F1), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_tst_cc__RC, { 0x20cd0000 }
},
/* rsub$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x208e0000 }
},
/* rsub$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20ce0020 }
},
/* rsub$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x204e0000 }
},
/* rsub$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x200e0000 }
},
/* rsub$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20ce0000 }
},
/* bset$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x208f0000 }
},
/* bset$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20cf0020 }
},
/* bset$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x204f0000 }
},
/* bset$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x200f0000 }
},
/* bset$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20cf0000 }
},
/* bset$_S $R_b,$R_b,$u5 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (U5), 0 } },
& ifmt_sub_s_ssb, { 0xb8800000 }
},
/* bclr$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20900000 }
},
/* bclr$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20d00020 }
},
/* bclr$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20500000 }
},
/* bclr$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20100000 }
},
/* bclr$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20d00000 }
},
/* bclr$_S $R_b,$R_b,$u5 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (U5), 0 } },
& ifmt_sub_s_ssb, { 0xb8a00000 }
},
/* btst$_L$F1 $RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (S12), 0 } },
& ifmt_tst_L_s12_, { 0x20910000 }
},
/* btst$Qcondi$F1 $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F1), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_tst_ccu6_, { 0x20d10020 }
},
/* btst$_L$F1 $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_tst_L_u6_, { 0x20510000 }
},
/* btst$_L$F1 $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_tst_L_r_r__RC, { 0x20110000 }
},
/* btst$Qcondi$F1 $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F1), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_tst_cc__RC, { 0x20d10000 }
},
/* btst$_S $R_b,$u5 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (U5), 0 } },
& ifmt_sub_s_ssb, { 0xb8e00000 }
},
/* bxor$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20920000 }
},
/* bxor$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20d20020 }
},
/* bxor$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20520000 }
},
/* bxor$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20120000 }
},
/* bxor$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20d20000 }
},
/* bmsk$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20930000 }
},
/* bmsk$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20d30020 }
},
/* bmsk$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20530000 }
},
/* bmsk$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20130000 }
},
/* bmsk$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20d30000 }
},
/* bmsk$_S $R_b,$R_b,$u5 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (U5), 0 } },
& ifmt_sub_s_ssb, { 0xb8c00000 }
},
/* add1$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20940000 }
},
/* add1$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20d40020 }
},
/* add1$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20540000 }
},
/* add1$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20140000 }
},
/* add1$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20d40000 }
},
/* add1$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x78140000 }
},
/* add2$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20950000 }
},
/* add2$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20d50020 }
},
/* add2$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20550000 }
},
/* add2$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20150000 }
},
/* add2$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20d50000 }
},
/* add2$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x78150000 }
},
/* add3$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20960000 }
},
/* add3$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20d60020 }
},
/* add3$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20560000 }
},
/* add3$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20160000 }
},
/* add3$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20d60000 }
},
/* add3$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x78160000 }
},
/* sub1$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20970000 }
},
/* sub1$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20d70020 }
},
/* sub1$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20570000 }
},
/* sub1$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20170000 }
},
/* sub1$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20d70000 }
},
/* sub2$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20980000 }
},
/* sub2$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20d80020 }
},
/* sub2$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20580000 }
},
/* sub2$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20180000 }
},
/* sub2$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20d80000 }
},
/* sub3$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x20990000 }
},
/* sub3$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20d90020 }
},
/* sub3$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x20590000 }
},
/* sub3$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x20190000 }
},
/* sub3$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20d90000 }
},
/* mpy$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x209a0000 }
},
/* mpy$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20da0020 }
},
/* mpy$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x205a0000 }
},
/* mpy$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x201a0000 }
},
/* mpy$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20da0000 }
},
/* mpyh$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x209b0000 }
},
/* mpyh$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20db0020 }
},
/* mpyh$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x205b0000 }
},
/* mpyh$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x201b0000 }
},
/* mpyh$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20db0000 }
},
/* mpyhu$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x209c0000 }
},
/* mpyhu$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20dc0020 }
},
/* mpyhu$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x205c0000 }
},
/* mpyhu$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x201c0000 }
},
/* mpyhu$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20dc0000 }
},
/* mpyu$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x209d0000 }
},
/* mpyu$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x20dd0020 }
},
/* mpyu$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x205d0000 }
},
/* mpyu$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x201d0000 }
},
/* mpyu$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x20dd0000 }
},
/* j$_L$F0 [$RC_noilink] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', '[', OP (RC_NOILINK), ']', 0 } },
& ifmt_j_L_r_r___RC_noilink_, { 0x20200000 }
},
/* j$Qcondi$F0 [$RC_noilink] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F0), ' ', '[', OP (RC_NOILINK), ']', 0 } },
& ifmt_j_cc___RC_noilink_, { 0x20e00000 }
},
/* j$_L$F1F [$RC_ilink] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1F), ' ', '[', OP (RC_ILINK), ']', 0 } },
& ifmt_j_L_r_r___RC_ilink_, { 0x20200000 }
},
/* j$Qcondi$F1F [$RC_ilink] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F1F), ' ', '[', OP (RC_ILINK), ']', 0 } },
& ifmt_j_cc___RC_ilink_, { 0x20e00000 }
},
/* j$_L$F0 $s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (S12), 0 } },
& ifmt_j_L_s12_, { 0x20a00000 }
},
/* j$Qcondi$F0 $U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F0), ' ', OP (U6), 0 } },
& ifmt_j_ccu6_, { 0x20e00020 }
},
/* j$_L$F0 $U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (U6), 0 } },
& ifmt_j_L_u6_, { 0x20600000 }
},
/* j$_S [$R_b] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', '[', OP (R_B), ']', 0 } },
& ifmt_sub_s_go_sub_ne, { 0x78000000 }
},
/* j$_S [$R31] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', '[', OP (R31), ']', 0 } },
& ifmt_j_s__S, { 0x7ee00000 }
},
/* jeq$_S [$R31] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', '[', OP (R31), ']', 0 } },
& ifmt_j_s__S, { 0x7ce00000 }
},
/* jne$_S [$R31] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', '[', OP (R31), ']', 0 } },
& ifmt_j_s__S, { 0x7de00000 }
},
/* j$_L$F0.d $s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), '.', 'd', ' ', OP (S12), 0 } },
& ifmt_j_L_s12_, { 0x20a10000 }
},
/* j$Qcondi$F0.d $U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F0), '.', 'd', ' ', OP (U6), 0 } },
& ifmt_j_ccu6_, { 0x20e10020 }
},
/* j$_L$F0.d $U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), '.', 'd', ' ', OP (U6), 0 } },
& ifmt_j_L_u6_, { 0x20610000 }
},
/* j$_L$F0.d [$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), '.', 'd', ' ', '[', OP (RC), ']', 0 } },
& ifmt_j_L_r_r_d___RC_, { 0x20210000 }
},
/* j$Qcondi$F0.d [$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F0), '.', 'd', ' ', '[', OP (RC), ']', 0 } },
& ifmt_j_cc_d___RC_, { 0x20e10000 }
},
/* j$_S.d [$R_b] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), '.', 'd', ' ', '[', OP (R_B), ']', 0 } },
& ifmt_sub_s_go_sub_ne, { 0x78200000 }
},
/* j$_S.d [$R31] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), '.', 'd', ' ', '[', OP (R31), ']', 0 } },
& ifmt_j_s__S, { 0x7fe00000 }
},
/* jl$_L$F0 $s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (S12), 0 } },
& ifmt_j_L_s12_, { 0x20a20000 }
},
/* jl$Qcondi$F0 $U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F0), ' ', OP (U6), 0 } },
& ifmt_j_ccu6_, { 0x20e20020 }
},
/* jl$_L$F0 $U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (U6), 0 } },
& ifmt_j_L_u6_, { 0x20620000 }
},
/* jl$_S [$R_b] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', '[', OP (R_B), ']', 0 } },
& ifmt_sub_s_go_sub_ne, { 0x78400000 }
},
/* jl$_L$F0 [$RC_noilink] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', '[', OP (RC_NOILINK), ']', 0 } },
& ifmt_j_L_r_r___RC_noilink_, { 0x20220000 }
},
/* jl$Qcondi$F0 [$RC_noilink] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F0), ' ', '[', OP (RC_NOILINK), ']', 0 } },
& ifmt_j_cc___RC_noilink_, { 0x20e20000 }
},
/* jl$_L$F0.d $s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), '.', 'd', ' ', OP (S12), 0 } },
& ifmt_j_L_s12_, { 0x20a30000 }
},
/* jl$Qcondi$F0.d $U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F0), '.', 'd', ' ', OP (U6), 0 } },
& ifmt_j_ccu6_, { 0x20e30020 }
},
/* jl$_L$F0.d $U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), '.', 'd', ' ', OP (U6), 0 } },
& ifmt_j_L_u6_, { 0x20630000 }
},
/* jl$_L$F0.d [$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), '.', 'd', ' ', '[', OP (RC), ']', 0 } },
& ifmt_j_L_r_r_d___RC_, { 0x20230000 }
},
/* jl$Qcondi$F0.d [$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F0), '.', 'd', ' ', '[', OP (RC), ']', 0 } },
& ifmt_j_cc_d___RC_, { 0x20e30000 }
},
/* jl$_S.d [$R_b] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), '.', 'd', ' ', '[', OP (R_B), ']', 0 } },
& ifmt_sub_s_go_sub_ne, { 0x78600000 }
},
/* lp$_L$F0 $s12x2 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (S12X2), 0 } },
& ifmt_lp_L_s12_, { 0x20a80000 }
},
/* lp$Qcondi$F0 $U6x2 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F0), ' ', OP (U6X2), 0 } },
& ifmt_lpcc_ccu6, { 0x20e80020 }
},
/* flag$_L$F0 $s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (S12), 0 } },
& ifmt_j_L_s12_, { 0x20a90000 }
},
/* flag$Qcondi$F0 $U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F0), ' ', OP (U6), 0 } },
& ifmt_j_ccu6_, { 0x20e90020 }
},
/* flag$_L$F0 $U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (U6), 0 } },
& ifmt_j_L_u6_, { 0x20690000 }
},
/* flag$_L$F0 $RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (RC), 0 } },
& ifmt_j_L_r_r_d___RC_, { 0x20290000 }
},
/* flag$Qcondi$F0 $RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F0), ' ', OP (RC), 0 } },
& ifmt_j_cc_d___RC_, { 0x20e90000 }
},
/* lr$_L$F0 $RB,[$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (RB), ',', '[', OP (RC), ']', 0 } },
& ifmt_lr_L_r_r___RC_, { 0x202a0000 }
},
/* lr$_L$F0 $RB,[$s12] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (RB), ',', '[', OP (S12), ']', 0 } },
& ifmt_lr_L_s12_, { 0x20aa0000 }
},
/* lr$_L$F0 $RB,[$U6] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (RB), ',', '[', OP (U6), ']', 0 } },
& ifmt_lr_L_u6_, { 0x206a0000 }
},
/* sr$_L$F0 $RB,[$RC] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (RB), ',', '[', OP (RC), ']', 0 } },
& ifmt_lr_L_r_r___RC_, { 0x202b0000 }
},
/* sr$_L$F0 $RB,[$s12] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (RB), ',', '[', OP (S12), ']', 0 } },
& ifmt_lr_L_s12_, { 0x20ab0000 }
},
/* sr$_L$F0 $RB,[$U6] */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (RB), ',', '[', OP (U6), ']', 0 } },
& ifmt_lr_L_u6_, { 0x206b0000 }
},
/* asl$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x202f0000 }
},
/* asl$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x206f0000 }
},
/* asl$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x781b0000 }
},
/* asr$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x202f0001 }
},
/* asr$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x206f0001 }
},
/* asr$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x781c0000 }
},
/* lsr$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x202f0002 }
},
/* lsr$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x206f0002 }
},
/* lsr$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x781d0000 }
},
/* ror$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x202f0003 }
},
/* ror$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x206f0003 }
},
/* rrc$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x202f0004 }
},
/* rrc$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x206f0004 }
},
/* sexb$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x202f0005 }
},
/* sexb$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x206f0005 }
},
/* sexb$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x780d0000 }
},
/* sexw$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x202f0006 }
},
/* sexw$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x206f0006 }
},
/* sexw$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x780e0000 }
},
/* extb$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x202f0007 }
},
/* extb$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x206f0007 }
},
/* extb$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x780f0000 }
},
/* extw$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x202f0008 }
},
/* extw$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x206f0008 }
},
/* extw$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x78100000 }
},
/* abs$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x202f0009 }
},
/* abs$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x206f0009 }
},
/* abs$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x78110000 }
},
/* not$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x202f000a }
},
/* not$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x206f000a }
},
/* not$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x78120000 }
},
/* rlc$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x202f000b }
},
/* rlc$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x206f000b }
},
/* ex$_L$EXDi $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (EXDI), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_ex_L_r_r__RC, { 0x202f000c }
},
/* ex$_L$EXDi $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (EXDI), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_ex_L_u6_, { 0x206f000c }
},
/* neg$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x78130000 }
},
/* swi */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_swi, { 0x226f003f }
},
/* trap$_S $trapnum */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (TRAPNUM), 0 } },
& ifmt_trap_s, { 0x781e0000 }
},
/* brk */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_swi, { 0x256f003f }
},
/* brk_s */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_brk_s, { 0x7fff0000 }
},
/* asl$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x28800000 }
},
/* asl$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28c00020 }
},
/* asl$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x28400000 }
},
/* asl$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x28000000 }
},
/* asl$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28c00000 }
},
/* asl$_S $R_c,$R_b,$u3 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_C), ',', OP (R_B), ',', OP (U3), 0 } },
& ifmt_add_s_cbu3, { 0x68100000 }
},
/* asl$_S $R_b,$R_b,$u5 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (U5), 0 } },
& ifmt_sub_s_ssb, { 0xb8000000 }
},
/* asl$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x78180000 }
},
/* lsr$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x28810000 }
},
/* lsr$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28c10020 }
},
/* lsr$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x28410000 }
},
/* lsr$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x28010000 }
},
/* lsr$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28c10000 }
},
/* lsr$_S $R_b,$R_b,$u5 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (U5), 0 } },
& ifmt_sub_s_ssb, { 0xb8200000 }
},
/* lsr$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x78190000 }
},
/* asr$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x28820000 }
},
/* asr$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28c20020 }
},
/* asr$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x28420000 }
},
/* asr$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x28020000 }
},
/* asr$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28c20000 }
},
/* asr$_S $R_c,$R_b,$u3 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_C), ',', OP (R_B), ',', OP (U3), 0 } },
& ifmt_add_s_cbu3, { 0x68180000 }
},
/* asr$_S $R_b,$R_b,$u5 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (U5), 0 } },
& ifmt_sub_s_ssb, { 0xb8400000 }
},
/* asr$_S $R_b,$R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x781a0000 }
},
/* ror$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x28830000 }
},
/* ror$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28c30020 }
},
/* ror$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x28430000 }
},
/* ror$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x28030000 }
},
/* ror$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28c30000 }
},
/* mul64$_L$F1 $RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (S12), 0 } },
& ifmt_tst_L_s12_, { 0x28840000 }
},
/* mul64$Qcondi$F1 $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F1), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_tst_ccu6_, { 0x28c40020 }
},
/* mul64$_L$F1 $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_tst_L_u6_, { 0x28440000 }
},
/* mul64$_L$F1 $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_tst_L_r_r__RC, { 0x28040000 }
},
/* mul64$Qcondi$F1 $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F1), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_tst_cc__RC, { 0x28c40000 }
},
/* mul64$_S $R_b,$R_c */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), ',', OP (R_C), 0 } },
& ifmt_I16_GO_SUB_s_go, { 0x780c0000 }
},
/* mulu64$_L$F1 $RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (S12), 0 } },
& ifmt_tst_L_s12_, { 0x28850000 }
},
/* mulu64$Qcondi$F1 $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F1), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_tst_ccu6_, { 0x28c50020 }
},
/* mulu64$_L$F1 $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_tst_L_u6_, { 0x28450000 }
},
/* mulu64$_L$F1 $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F1), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_tst_L_r_r__RC, { 0x28050000 }
},
/* mulu64$Qcondi$F1 $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F1), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_tst_cc__RC, { 0x28c50000 }
},
/* adds$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x28860000 }
},
/* adds$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28c60020 }
},
/* adds$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x28460000 }
},
/* adds$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x28060000 }
},
/* adds$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28c60000 }
},
/* subs$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x28870000 }
},
/* subs$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28c70020 }
},
/* subs$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x28470000 }
},
/* subs$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x28070000 }
},
/* subs$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28c70000 }
},
/* divaw$_L$F0 $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_lr_L_s12_, { 0x28880000 }
},
/* divaw$Qcondi$F0 $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F0), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_divaw_ccu6__RA_, { 0x28c80020 }
},
/* divaw$_L$F0 $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_divaw_L_u6__RA_, { 0x28480000 }
},
/* divaw$_L$F0 $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F0), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_divaw_L_r_r__RA__RC, { 0x28080000 }
},
/* divaw$Qcondi$F0 $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F0), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_divaw_cc__RA__RC, { 0x28c80000 }
},
/* asls$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x288a0000 }
},
/* asls$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28ca0020 }
},
/* asls$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x284a0000 }
},
/* asls$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x280a0000 }
},
/* asls$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28ca0000 }
},
/* asrs$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x288b0000 }
},
/* asrs$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28cb0020 }
},
/* asrs$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x284b0000 }
},
/* asrs$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x280b0000 }
},
/* asrs$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28cb0000 }
},
/* addsdw$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x28a80000 }
},
/* addsdw$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28e80020 }
},
/* addsdw$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x28680000 }
},
/* addsdw$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x28280000 }
},
/* addsdw$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28e80000 }
},
/* subsdw$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x28a90000 }
},
/* subsdw$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28e90020 }
},
/* subsdw$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x28690000 }
},
/* subsdw$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x28290000 }
},
/* subsdw$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28e90000 }
},
/* swap$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x282f0000 }
},
/* swap$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x286f0000 }
},
/* norm$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x282f0001 }
},
/* norm$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x286f0001 }
},
/* rnd16$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x282f0003 }
},
/* rnd16$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x286f0003 }
},
/* abssw$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x282f0004 }
},
/* abssw$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x286f0004 }
},
/* abss$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x282f0005 }
},
/* abss$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x286f0005 }
},
/* negsw$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x282f0006 }
},
/* negsw$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x286f0006 }
},
/* negs$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x282f0007 }
},
/* negs$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x286f0007 }
},
/* normw$_L$F $RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RC), 0 } },
& ifmt_asl_L_r_r__RC, { 0x282f0008 }
},
/* normw$_L$F $RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (U6), 0 } },
& ifmt_asl_L_u6_, { 0x286f0008 }
},
/* nop_s */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_j_s__S, { 0x78e00000 }
},
/* unimp_s */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_j_s__S, { 0x79e00000 }
},
/* pop$_S $R_b */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), 0 } },
& ifmt_pop_s_b, { 0xc0c10000 }
},
/* pop$_S $R31 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R31), 0 } },
& ifmt_pop_s_blink, { 0xc0d10000 }
},
/* push$_S $R_b */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R_B), 0 } },
& ifmt_pop_s_b, { 0xc0e10000 }
},
/* push$_S $R31 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_S), ' ', OP (R31), 0 } },
& ifmt_pop_s_blink, { 0xc0f10000 }
},
/* mullw$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x28b10000 }
},
/* mullw$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28f10020 }
},
/* mullw$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x28710000 }
},
/* mullw$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x28310000 }
},
/* mullw$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28f10000 }
},
/* maclw$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x28b30000 }
},
/* maclw$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28f30020 }
},
/* maclw$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x28730000 }
},
/* maclw$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x28330000 }
},
/* maclw$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28f30000 }
},
/* machlw$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x28b60000 }
},
/* machlw$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28f60020 }
},
/* machlw$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x28760000 }
},
/* machlw$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x28360000 }
},
/* machlw$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28f60000 }
},
/* mululw$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x28b00000 }
},
/* mululw$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28f00020 }
},
/* mululw$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x28700000 }
},
/* mululw$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x28300000 }
},
/* mululw$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28f00000 }
},
/* machulw$_L$F $RB,$RB,$s12 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (S12), 0 } },
& ifmt_add_L_s12__RA_, { 0x28b50000 }
},
/* machulw$Qcondi$F $RB,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_ccu6__RA_, { 0x28f50020 }
},
/* machulw$_L$F $RA,$RB,$U6 */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (U6), 0 } },
& ifmt_add_L_u6__RA_, { 0x28750000 }
},
/* machulw$_L$F $RA,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (_L), OP (F), ' ', OP (RA), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_L_r_r__RA__RC, { 0x28350000 }
},
/* machulw$Qcondi$F $RB,$RB,$RC */
{
{ 0, 0, 0, 0 },
{ { MNEM, OP (QCONDI), OP (F), ' ', OP (RB), ',', OP (RB), ',', OP (RC), 0 } },
& ifmt_add_cc__RA__RC, { 0x28f50000 }
},
/* */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_current_loop_end, { 0x202f003e }
},
/* */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_current_loop_end, { 0x202f003e }
},
/* */
{
{ 0, 0, 0, 0 },
{ { MNEM, 0 } },
& ifmt_current_loop_end, { 0x202f003e }
},
};
#undef A
#undef OPERAND
#undef MNEM
#undef OP
/* Formats for ALIAS macro-insns. */
#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
#define F(f) & arc_cgen_ifld_table[ARC_##f]
#else
#define F(f) & arc_cgen_ifld_table[ARC_/**/f]
#endif
#undef F
/* Each non-simple macro entry points to an array of expansion possibilities. */
#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
#define A(a) (1 << CGEN_INSN_##a)
#else
#define A(a) (1 << CGEN_INSN_/**/a)
#endif
#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
#define OPERAND(op) ARC_OPERAND_##op
#else
#define OPERAND(op) ARC_OPERAND_/**/op
#endif
#define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
#define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
/* The macro instruction table. */
static const CGEN_IBASE arc_cgen_macro_insn_table[] =
{
};
/* The macro instruction opcode table. */
static const CGEN_OPCODE arc_cgen_macro_insn_opcode_table[] =
{
};
#undef A
#undef OPERAND
#undef MNEM
#undef OP
#ifndef CGEN_ASM_HASH_P
#define CGEN_ASM_HASH_P(insn) 1
#endif
#ifndef CGEN_DIS_HASH_P
#define CGEN_DIS_HASH_P(insn) 1
#endif
/* Return non-zero if INSN is to be added to the hash table.
Targets are free to override CGEN_{ASM,DIS}_HASH_P in the .opc file. */
static int
asm_hash_insn_p (insn)
const CGEN_INSN *insn ATTRIBUTE_UNUSED;
{
return CGEN_ASM_HASH_P (insn);
}
static int
dis_hash_insn_p (insn)
const CGEN_INSN *insn;
{
/* If building the hash table and the NO-DIS attribute is present,
ignore. */
if (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_NO_DIS))
return 0;
return CGEN_DIS_HASH_P (insn);
}
#ifndef CGEN_ASM_HASH
#define CGEN_ASM_HASH_SIZE 127
#ifdef CGEN_MNEMONIC_OPERANDS
#define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE)
#else
#define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE) /*FIXME*/
#endif
#endif
/* It doesn't make much sense to provide a default here,
but while this is under development we do.
BUFFER is a pointer to the bytes of the insn, target order.
VALUE is the first base_insn_bitsize bits as an int in host order. */
#ifndef CGEN_DIS_HASH
#define CGEN_DIS_HASH_SIZE 256
#define CGEN_DIS_HASH(buf, value, big_p) (*(unsigned char *) (buf))
#endif
/* The result is the hash value of the insn.
Targets are free to override CGEN_{ASM,DIS}_HASH in the .opc file. */
static unsigned int
asm_hash_insn (mnem)
const char * mnem;
{
return CGEN_ASM_HASH (mnem);
}
/* BUF is a pointer to the bytes of the insn, target order.
VALUE is the first base_insn_bitsize bits as an int in host order. */
static unsigned int
dis_hash_insn (buf, value, big_p)
const char * buf ATTRIBUTE_UNUSED;
CGEN_INSN_INT value ATTRIBUTE_UNUSED;
int big_p ATTRIBUTE_UNUSED;
{
return CGEN_DIS_HASH (buf, value, big_p);
}
/* Set the recorded length of the insn in the CGEN_FIELDS struct. */
static void
set_fields_bitsize (CGEN_FIELDS *fields, int size)
{
CGEN_FIELDS_BITSIZE (fields) = size;
}
/* Function to call before using the operand instance table.
This plugs the opcode entries and macro instructions into the cpu table. */
void
arc_cgen_init_opcode_table (CGEN_CPU_DESC cd)
{
int i;
int num_macros = (sizeof (arc_cgen_macro_insn_table) /
sizeof (arc_cgen_macro_insn_table[0]));
const CGEN_IBASE *ib = & arc_cgen_macro_insn_table[0];
const CGEN_OPCODE *oc = & arc_cgen_macro_insn_opcode_table[0];
CGEN_INSN *insns = xmalloc (num_macros * sizeof (CGEN_INSN));
memset (insns, 0, num_macros * sizeof (CGEN_INSN));
for (i = 0; i < num_macros; ++i)
{
insns[i].base = &ib[i];
insns[i].opcode = &oc[i];
arc_cgen_build_insn_regex (& insns[i]);
}
cd->macro_insn_table.init_entries = insns;
cd->macro_insn_table.entry_size = sizeof (CGEN_IBASE);
cd->macro_insn_table.num_init_entries = num_macros;
oc = & arc_cgen_insn_opcode_table[0];
insns = (CGEN_INSN *) cd->insn_table.init_entries;
for (i = 0; i < MAX_INSNS; ++i)
{
insns[i].opcode = &oc[i];
arc_cgen_build_insn_regex (& insns[i]);
}
cd->sizeof_fields = sizeof (CGEN_FIELDS);
cd->set_fields_bitsize = set_fields_bitsize;
cd->asm_hash_p = asm_hash_insn_p;
cd->asm_hash = asm_hash_insn;
cd->asm_hash_size = CGEN_ASM_HASH_SIZE;
cd->dis_hash_p = dis_hash_insn_p;
cd->dis_hash = dis_hash_insn;
cd->dis_hash_size = CGEN_DIS_HASH_SIZE;
}