THIS FILE IS MACHINE GENERATED WITH CGEN.
-Copyright 1996-2005 Free Software Foundation, Inc.
+Copyright 1996-2009 Free Software Foundation, Inc.
This file is part of the GNU simulators.
-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 file is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
-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.
+ It is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ 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.
*/
{ CRIS_INSN_MOVE_R_SPRV32, CRISV32F_INSN_MOVE_R_SPRV32, CRISV32F_SFMT_MOVE_R_SPRV32 },
{ CRIS_INSN_MOVE_SPR_RV32, CRISV32F_INSN_MOVE_SPR_RV32, CRISV32F_SFMT_MOVE_SPR_RV32 },
{ CRIS_INSN_MOVE_M_SPRV32, CRISV32F_INSN_MOVE_M_SPRV32, CRISV32F_SFMT_MOVE_M_SPRV32 },
- { CRIS_INSN_MOVE_C_SPRV32_P0, CRISV32F_INSN_MOVE_C_SPRV32_P0, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P1, CRISV32F_INSN_MOVE_C_SPRV32_P1, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P2, CRISV32F_INSN_MOVE_C_SPRV32_P2, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P3, CRISV32F_INSN_MOVE_C_SPRV32_P3, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P4, CRISV32F_INSN_MOVE_C_SPRV32_P4, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P5, CRISV32F_INSN_MOVE_C_SPRV32_P5, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P6, CRISV32F_INSN_MOVE_C_SPRV32_P6, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P7, CRISV32F_INSN_MOVE_C_SPRV32_P7, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P8, CRISV32F_INSN_MOVE_C_SPRV32_P8, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P9, CRISV32F_INSN_MOVE_C_SPRV32_P9, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P10, CRISV32F_INSN_MOVE_C_SPRV32_P10, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P11, CRISV32F_INSN_MOVE_C_SPRV32_P11, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P12, CRISV32F_INSN_MOVE_C_SPRV32_P12, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P13, CRISV32F_INSN_MOVE_C_SPRV32_P13, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P14, CRISV32F_INSN_MOVE_C_SPRV32_P14, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
- { CRIS_INSN_MOVE_C_SPRV32_P15, CRISV32F_INSN_MOVE_C_SPRV32_P15, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
+ { CRIS_INSN_MOVE_C_SPRV32_P2, CRISV32F_INSN_MOVE_C_SPRV32_P2, CRISV32F_SFMT_MOVE_C_SPRV32_P2 },
+ { CRIS_INSN_MOVE_C_SPRV32_P3, CRISV32F_INSN_MOVE_C_SPRV32_P3, CRISV32F_SFMT_MOVE_C_SPRV32_P2 },
+ { CRIS_INSN_MOVE_C_SPRV32_P5, CRISV32F_INSN_MOVE_C_SPRV32_P5, CRISV32F_SFMT_MOVE_C_SPRV32_P2 },
+ { CRIS_INSN_MOVE_C_SPRV32_P6, CRISV32F_INSN_MOVE_C_SPRV32_P6, CRISV32F_SFMT_MOVE_C_SPRV32_P2 },
+ { CRIS_INSN_MOVE_C_SPRV32_P7, CRISV32F_INSN_MOVE_C_SPRV32_P7, CRISV32F_SFMT_MOVE_C_SPRV32_P2 },
+ { CRIS_INSN_MOVE_C_SPRV32_P9, CRISV32F_INSN_MOVE_C_SPRV32_P9, CRISV32F_SFMT_MOVE_C_SPRV32_P2 },
+ { CRIS_INSN_MOVE_C_SPRV32_P10, CRISV32F_INSN_MOVE_C_SPRV32_P10, CRISV32F_SFMT_MOVE_C_SPRV32_P2 },
+ { CRIS_INSN_MOVE_C_SPRV32_P11, CRISV32F_INSN_MOVE_C_SPRV32_P11, CRISV32F_SFMT_MOVE_C_SPRV32_P2 },
+ { CRIS_INSN_MOVE_C_SPRV32_P12, CRISV32F_INSN_MOVE_C_SPRV32_P12, CRISV32F_SFMT_MOVE_C_SPRV32_P2 },
+ { CRIS_INSN_MOVE_C_SPRV32_P13, CRISV32F_INSN_MOVE_C_SPRV32_P13, CRISV32F_SFMT_MOVE_C_SPRV32_P2 },
+ { CRIS_INSN_MOVE_C_SPRV32_P14, CRISV32F_INSN_MOVE_C_SPRV32_P14, CRISV32F_SFMT_MOVE_C_SPRV32_P2 },
+ { CRIS_INSN_MOVE_C_SPRV32_P15, CRISV32F_INSN_MOVE_C_SPRV32_P15, CRISV32F_SFMT_MOVE_C_SPRV32_P2 },
{ CRIS_INSN_MOVE_SPR_MV32, CRISV32F_INSN_MOVE_SPR_MV32, CRISV32F_SFMT_MOVE_SPR_MV32 },
{ CRIS_INSN_MOVE_SS_R, CRISV32F_INSN_MOVE_SS_R, CRISV32F_SFMT_MOVE_SS_R },
{ CRIS_INSN_MOVE_R_SS, CRISV32F_INSN_MOVE_R_SS, CRISV32F_SFMT_MOVE_R_SS },
{ CRIS_INSN_DSTEP, CRISV32F_INSN_DSTEP, CRISV32F_SFMT_DSTEP },
{ CRIS_INSN_ABS, CRISV32F_INSN_ABS, CRISV32F_SFMT_MOVS_B_R },
{ CRIS_INSN_AND_B_R, CRISV32F_INSN_AND_B_R, CRISV32F_SFMT_AND_B_R },
- { CRIS_INSN_AND_W_R, CRISV32F_INSN_AND_W_R, CRISV32F_SFMT_AND_W_R },
+ { CRIS_INSN_AND_W_R, CRISV32F_INSN_AND_W_R, CRISV32F_SFMT_AND_B_R },
{ CRIS_INSN_AND_D_R, CRISV32F_INSN_AND_D_R, CRISV32F_SFMT_AND_D_R },
{ CRIS_INSN_AND_M_B_M, CRISV32F_INSN_AND_M_B_M, CRISV32F_SFMT_AND_M_B_M },
{ CRIS_INSN_AND_M_W_M, CRISV32F_INSN_AND_M_W_M, CRISV32F_SFMT_AND_M_W_M },
{ CRIS_INSN_ANDCDR, CRISV32F_INSN_ANDCDR, CRISV32F_SFMT_ANDCDR },
{ CRIS_INSN_ANDQ, CRISV32F_INSN_ANDQ, CRISV32F_SFMT_ANDQ },
{ CRIS_INSN_ORR_B_R, CRISV32F_INSN_ORR_B_R, CRISV32F_SFMT_AND_B_R },
- { CRIS_INSN_ORR_W_R, CRISV32F_INSN_ORR_W_R, CRISV32F_SFMT_AND_W_R },
+ { CRIS_INSN_ORR_W_R, CRISV32F_INSN_ORR_W_R, CRISV32F_SFMT_AND_B_R },
{ CRIS_INSN_ORR_D_R, CRISV32F_INSN_ORR_D_R, CRISV32F_SFMT_AND_D_R },
{ CRIS_INSN_OR_M_B_M, CRISV32F_INSN_OR_M_B_M, CRISV32F_SFMT_AND_M_B_M },
{ CRIS_INSN_OR_M_W_M, CRISV32F_INSN_OR_M_W_M, CRISV32F_SFMT_AND_M_W_M },
{ CRIS_INSN_ORQ, CRISV32F_INSN_ORQ, CRISV32F_SFMT_ANDQ },
{ CRIS_INSN_XOR, CRISV32F_INSN_XOR, CRISV32F_SFMT_DSTEP },
{ CRIS_INSN_SWAP, CRISV32F_INSN_SWAP, CRISV32F_SFMT_SWAP },
- { CRIS_INSN_ASRR_B_R, CRISV32F_INSN_ASRR_B_R, CRISV32F_SFMT_ASRR_B_R },
- { CRIS_INSN_ASRR_W_R, CRISV32F_INSN_ASRR_W_R, CRISV32F_SFMT_ASRR_B_R },
+ { CRIS_INSN_ASRR_B_R, CRISV32F_INSN_ASRR_B_R, CRISV32F_SFMT_AND_B_R },
+ { CRIS_INSN_ASRR_W_R, CRISV32F_INSN_ASRR_W_R, CRISV32F_SFMT_AND_B_R },
{ CRIS_INSN_ASRR_D_R, CRISV32F_INSN_ASRR_D_R, CRISV32F_SFMT_AND_D_R },
{ CRIS_INSN_ASRQ, CRISV32F_INSN_ASRQ, CRISV32F_SFMT_ASRQ },
{ CRIS_INSN_LSRR_B_R, CRISV32F_INSN_LSRR_B_R, CRISV32F_SFMT_LSRR_B_R },
const IDESC *
crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
- CGEN_INSN_INT base_insn,
+ CGEN_INSN_WORD base_insn,
ARGBUF *abuf)
{
/* Result of decoder. */
CRISV32F_INSN_TYPE itype;
{
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
{
unsigned int val = (((insn >> 4) & (255 << 0)));
case 110 : itype = CRISV32F_INSN_CMP_R_D_R; goto extract_sfmt_cmp_r_b_r;
case 111 : itype = CRISV32F_INSN_DSTEP; goto extract_sfmt_dstep;
case 112 : itype = CRISV32F_INSN_AND_B_R; goto extract_sfmt_and_b_r;
- case 113 : itype = CRISV32F_INSN_AND_W_R; goto extract_sfmt_and_w_r;
+ case 113 : itype = CRISV32F_INSN_AND_W_R; goto extract_sfmt_and_b_r;
case 114 : itype = CRISV32F_INSN_AND_D_R; goto extract_sfmt_and_d_r;
case 115 : itype = CRISV32F_INSN_LZ; goto extract_sfmt_movs_b_r;
case 116 : itype = CRISV32F_INSN_ORR_B_R; goto extract_sfmt_and_b_r;
- case 117 : itype = CRISV32F_INSN_ORR_W_R; goto extract_sfmt_and_w_r;
+ case 117 : itype = CRISV32F_INSN_ORR_W_R; goto extract_sfmt_and_b_r;
case 118 : itype = CRISV32F_INSN_ORR_D_R; goto extract_sfmt_and_d_r;
case 119 : itype = CRISV32F_INSN_SWAP; goto extract_sfmt_swap;
- case 120 : itype = CRISV32F_INSN_ASRR_B_R; goto extract_sfmt_asrr_b_r;
- case 121 : itype = CRISV32F_INSN_ASRR_W_R; goto extract_sfmt_asrr_b_r;
+ case 120 : itype = CRISV32F_INSN_ASRR_B_R; goto extract_sfmt_and_b_r;
+ case 121 : itype = CRISV32F_INSN_ASRR_W_R; goto extract_sfmt_and_b_r;
case 122 : itype = CRISV32F_INSN_ASRR_D_R; goto extract_sfmt_and_d_r;
case 123 : itype = CRISV32F_INSN_XOR; goto extract_sfmt_dstep;
case 124 : itype = CRISV32F_INSN_LSRR_B_R; goto extract_sfmt_lsrr_b_r;
unsigned int val = (((insn >> 12) & (15 << 0)));
switch (val)
{
- case 2 : itype = CRISV32F_INSN_RFE; goto extract_sfmt_rfe;
- case 3 : itype = CRISV32F_INSN_SFE; goto extract_sfmt_sfe;
- case 4 : itype = CRISV32F_INSN_RFG; goto extract_sfmt_rfg;
- case 5 : itype = CRISV32F_INSN_RFN; goto extract_sfmt_rfn;
+ case 2 :
+ if ((base_insn & 0xffff) == 0x2930)
+ { itype = CRISV32F_INSN_RFE; goto extract_sfmt_rfe; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
+ case 3 :
+ if ((base_insn & 0xffff) == 0x3930)
+ { itype = CRISV32F_INSN_SFE; goto extract_sfmt_sfe; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
+ case 4 :
+ if ((base_insn & 0xffff) == 0x4930)
+ { itype = CRISV32F_INSN_RFG; goto extract_sfmt_rfg; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
+ case 5 :
+ if ((base_insn & 0xffff) == 0x5930)
+ { itype = CRISV32F_INSN_RFN; goto extract_sfmt_rfn; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
case 14 : itype = CRISV32F_INSN_BREAK; goto extract_sfmt_break;
- case 15 : itype = CRISV32F_INSN_HALT; goto extract_sfmt_halt;
+ case 15 :
+ if ((base_insn & 0xffff) == 0xf930)
+ { itype = CRISV32F_INSN_HALT; goto extract_sfmt_halt; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
case 151 : itype = CRISV32F_INSN_LAPCQ; goto extract_sfmt_lapcq;
case 154 : itype = CRISV32F_INSN_ADDC_M; goto extract_sfmt_addc_m;
case 155 : itype = CRISV32F_INSN_JAS_R; goto extract_sfmt_jas_r;
- case 159 : itype = CRISV32F_INSN_JUMP_P; goto extract_sfmt_jump_p;
+ case 159 :
+ if ((base_insn & 0xfff) == 0x9f0)
+ { itype = CRISV32F_INSN_JUMP_P; goto extract_sfmt_jump_p; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
case 160 : itype = CRISV32F_INSN_ADD_M_B_M; goto extract_sfmt_add_m_b_m;
case 161 : itype = CRISV32F_INSN_ADD_M_W_M; goto extract_sfmt_add_m_w_m;
case 162 : itype = CRISV32F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m;
unsigned int val = (((insn >> 12) & (1 << 0)));
switch (val)
{
- case 0 : itype = CRISV32F_INSN_FIDXD; goto extract_sfmt_fidxi;
- case 1 : itype = CRISV32F_INSN_FTAGD; goto extract_sfmt_fidxi;
+ case 0 :
+ if ((base_insn & 0xfff0) == 0xab0)
+ { itype = CRISV32F_INSN_FIDXD; goto extract_sfmt_fidxi; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
+ case 1 :
+ if ((base_insn & 0xfff0) == 0x1ab0)
+ { itype = CRISV32F_INSN_FTAGD; goto extract_sfmt_fidxi; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
case 182 : itype = CRISV32F_INSN_OR_M_D_M; goto extract_sfmt_and_m_d_m;
case 183 : itype = CRISV32F_INSN_MOVE_R_SS; goto extract_sfmt_move_r_ss;
case 184 : /* fall through */
- case 248 : itype = CRISV32F_INSN_TEST_M_B_M; goto extract_sfmt_test_m_b_m;
+ case 248 :
+ if ((base_insn & 0xfbf0) == 0xb80)
+ { itype = CRISV32F_INSN_TEST_M_B_M; goto extract_sfmt_test_m_b_m; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
case 185 : /* fall through */
- case 249 : itype = CRISV32F_INSN_TEST_M_W_M; goto extract_sfmt_test_m_w_m;
+ case 249 :
+ if ((base_insn & 0xfbf0) == 0xb90)
+ { itype = CRISV32F_INSN_TEST_M_W_M; goto extract_sfmt_test_m_w_m; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
case 186 : /* fall through */
- case 250 : itype = CRISV32F_INSN_TEST_M_D_M; goto extract_sfmt_test_m_d_m;
+ case 250 :
+ if ((base_insn & 0xfbf0) == 0xba0)
+ { itype = CRISV32F_INSN_TEST_M_D_M; goto extract_sfmt_test_m_d_m; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
case 187 : /* fall through */
case 251 : itype = CRISV32F_INSN_MOVEM_M_R_V32; goto extract_sfmt_movem_m_r_v32;
case 188 : /* fall through */
unsigned int val = (((insn >> 12) & (1 << 0)));
switch (val)
{
- case 0 : itype = CRISV32F_INSN_FIDXI; goto extract_sfmt_fidxi;
- case 1 : itype = CRISV32F_INSN_FTAGI; goto extract_sfmt_fidxi;
+ case 0 :
+ if ((base_insn & 0xfff0) == 0xd30)
+ { itype = CRISV32F_INSN_FIDXI; goto extract_sfmt_fidxi; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
+ case 1 :
+ if ((base_insn & 0xfff0) == 0x1d30)
+ { itype = CRISV32F_INSN_FTAGI; goto extract_sfmt_fidxi; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
- case 215 : itype = CRISV32F_INSN_LAPC_D; goto extract_sfmt_lapc_d;
+ case 215 :
+ if ((base_insn & 0xfff) == 0xd7f)
+ { itype = CRISV32F_INSN_LAPC_D; goto extract_sfmt_lapc_d; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
case 218 :
{
unsigned int val = (((insn >> 0) & (15 << 0)));
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
- case 219 : itype = CRISV32F_INSN_JAS_C; goto extract_sfmt_jas_c;
- case 220 : itype = CRISV32F_INSN_BOUND_CB; goto extract_sfmt_bound_cb;
- case 221 : itype = CRISV32F_INSN_BOUND_CW; goto extract_sfmt_bound_cw;
- case 222 : itype = CRISV32F_INSN_BOUND_CD; goto extract_sfmt_bound_cd;
+ case 219 :
+ if ((base_insn & 0xfff) == 0xdbf)
+ { itype = CRISV32F_INSN_JAS_C; goto extract_sfmt_jas_c; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
+ case 220 :
+ if ((base_insn & 0xfff) == 0xdcf)
+ { itype = CRISV32F_INSN_BOUND_CB; goto extract_sfmt_bound_cb; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
+ case 221 :
+ if ((base_insn & 0xfff) == 0xddf)
+ { itype = CRISV32F_INSN_BOUND_CW; goto extract_sfmt_bound_cw; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
+ case 222 :
+ if ((base_insn & 0xfff) == 0xdef)
+ { itype = CRISV32F_INSN_BOUND_CD; goto extract_sfmt_bound_cd; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
case 223 :
{
unsigned int val = (((insn >> 12) & (15 << 0)));
case 11 : /* fall through */
case 12 : /* fall through */
case 13 : /* fall through */
- case 15 : itype = CRISV32F_INSN_BCC_W; goto extract_sfmt_bcc_w;
- case 14 : itype = CRISV32F_INSN_BA_W; goto extract_sfmt_ba_w;
+ case 15 :
+ if ((base_insn & 0xfff) == 0xdff)
+ { itype = CRISV32F_INSN_BCC_W; goto extract_sfmt_bcc_w; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
+ case 14 :
+ if ((base_insn & 0xffff) == 0xedff)
+ { itype = CRISV32F_INSN_BA_W; goto extract_sfmt_ba_w; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
unsigned int val = (((insn >> 12) & (15 << 0)));
switch (val)
{
- case 0 :
- {
- unsigned int val = (((insn >> 0) & (15 << 0)));
- switch (val)
- {
- case 0 : /* fall through */
- case 1 : /* fall through */
- case 2 : /* fall through */
- case 3 : /* fall through */
- case 4 : /* fall through */
- case 5 : /* fall through */
- case 6 : /* fall through */
- case 7 : /* fall through */
- case 8 : /* fall through */
- case 9 : /* fall through */
- case 10 : /* fall through */
- case 11 : /* fall through */
- case 12 : /* fall through */
- case 13 : /* fall through */
- case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P0; goto extract_sfmt_move_c_sprv32_p0;
- default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 1 :
- {
- unsigned int val = (((insn >> 0) & (15 << 0)));
- switch (val)
- {
- case 0 : /* fall through */
- case 1 : /* fall through */
- case 2 : /* fall through */
- case 3 : /* fall through */
- case 4 : /* fall through */
- case 5 : /* fall through */
- case 6 : /* fall through */
- case 7 : /* fall through */
- case 8 : /* fall through */
- case 9 : /* fall through */
- case 10 : /* fall through */
- case 11 : /* fall through */
- case 12 : /* fall through */
- case 13 : /* fall through */
- case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P1; goto extract_sfmt_move_c_sprv32_p0;
- default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
+ case 0 : /* fall through */
+ case 1 : /* fall through */
+ case 4 : /* fall through */
+ case 8 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
case 2 :
{
unsigned int val = (((insn >> 0) & (15 << 0)));
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P2; goto extract_sfmt_move_c_sprv32_p0;
+ case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P2; goto extract_sfmt_move_c_sprv32_p2;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P3; goto extract_sfmt_move_c_sprv32_p0;
- default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 4 :
- {
- unsigned int val = (((insn >> 0) & (15 << 0)));
- switch (val)
- {
- case 0 : /* fall through */
- case 1 : /* fall through */
- case 2 : /* fall through */
- case 3 : /* fall through */
- case 4 : /* fall through */
- case 5 : /* fall through */
- case 6 : /* fall through */
- case 7 : /* fall through */
- case 8 : /* fall through */
- case 9 : /* fall through */
- case 10 : /* fall through */
- case 11 : /* fall through */
- case 12 : /* fall through */
- case 13 : /* fall through */
- case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P4; goto extract_sfmt_move_c_sprv32_p0;
+ case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P3; goto extract_sfmt_move_c_sprv32_p2;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P5; goto extract_sfmt_move_c_sprv32_p0;
+ case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P5; goto extract_sfmt_move_c_sprv32_p2;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P6; goto extract_sfmt_move_c_sprv32_p0;
+ case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P6; goto extract_sfmt_move_c_sprv32_p2;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P7; goto extract_sfmt_move_c_sprv32_p0;
- default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 8 :
- {
- unsigned int val = (((insn >> 0) & (15 << 0)));
- switch (val)
- {
- case 0 : /* fall through */
- case 1 : /* fall through */
- case 2 : /* fall through */
- case 3 : /* fall through */
- case 4 : /* fall through */
- case 5 : /* fall through */
- case 6 : /* fall through */
- case 7 : /* fall through */
- case 8 : /* fall through */
- case 9 : /* fall through */
- case 10 : /* fall through */
- case 11 : /* fall through */
- case 12 : /* fall through */
- case 13 : /* fall through */
- case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P8; goto extract_sfmt_move_c_sprv32_p0;
+ case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P7; goto extract_sfmt_move_c_sprv32_p2;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P9; goto extract_sfmt_move_c_sprv32_p0;
+ case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P9; goto extract_sfmt_move_c_sprv32_p2;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P10; goto extract_sfmt_move_c_sprv32_p0;
+ case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P10; goto extract_sfmt_move_c_sprv32_p2;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P11; goto extract_sfmt_move_c_sprv32_p0;
+ case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P11; goto extract_sfmt_move_c_sprv32_p2;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P12; goto extract_sfmt_move_c_sprv32_p0;
+ case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P12; goto extract_sfmt_move_c_sprv32_p2;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P13; goto extract_sfmt_move_c_sprv32_p0;
+ case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P13; goto extract_sfmt_move_c_sprv32_p2;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P14; goto extract_sfmt_move_c_sprv32_p0;
+ case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P14; goto extract_sfmt_move_c_sprv32_p2;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
- case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P15; goto extract_sfmt_move_c_sprv32_p0;
+ case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P15; goto extract_sfmt_move_c_sprv32_p2;
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
- case 235 : itype = CRISV32F_INSN_BAS_C; goto extract_sfmt_bas_c;
+ case 235 :
+ if ((base_insn & 0xfff) == 0xebf)
+ { itype = CRISV32F_INSN_BAS_C; goto extract_sfmt_bas_c; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
case 236 :
{
unsigned int val = (((insn >> 0) & (15 << 0)));
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
- case 239 : itype = CRISV32F_INSN_BASC_C; goto extract_sfmt_bas_c;
+ case 239 :
+ if ((base_insn & 0xfff) == 0xeff)
+ { itype = CRISV32F_INSN_BASC_C; goto extract_sfmt_bas_c; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
case 240 :
{
unsigned int val = (((insn >> 0) & (15 << 0)));
default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
- case 243 : itype = CRISV32F_INSN_JASC_C; goto extract_sfmt_jas_c;
+ case 243 :
+ if ((base_insn & 0xfff) == 0xf3f)
+ { itype = CRISV32F_INSN_JASC_C; goto extract_sfmt_jas_c; }
+ itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
case 244 :
{
unsigned int val = (((insn >> 0) & (15 << 0)));
extract_sfmt_move_b_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_operand1;
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Rs) = f_operand1;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_move_d_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_operand1;
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Rs) = f_operand1;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_moveq:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_moveq.f
UINT f_operand2;
INT f_s6;
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
- f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
+ f_s6 = EXTRACT_LSB0_SINT (insn, 16, 5, 6);
/* Record the fields for the semantic handler. */
FLD (f_s6) = f_s6;
extract_sfmt_movs_b_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_muls_b.f
UINT f_operand2;
UINT f_operand1;
extract_sfmt_movecbr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addcbr.f
INT f_indir_pc__byte;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
/* Record the fields for profiling. */
if (PROFILE_MODEL_P (current_cpu))
{
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_movecwr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addcwr.f
INT f_indir_pc__word;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
/* Record the fields for profiling. */
if (PROFILE_MODEL_P (current_cpu))
{
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_movecdr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cd.f
INT f_indir_pc__dword;
UINT f_operand2;
extract_sfmt_movscbr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cb.f
UINT f_operand2;
INT f_indir_pc__byte;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
- f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__byte) = f_indir_pc__byte;
extract_sfmt_movscwr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cw.f
UINT f_operand2;
INT f_indir_pc__word;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
- f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__word) = f_indir_pc__word;
extract_sfmt_movucbr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cb.f
UINT f_operand2;
INT f_indir_pc__byte;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
- f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__byte) = f_indir_pc__byte;
extract_sfmt_movucwr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cw.f
UINT f_operand2;
INT f_indir_pc__word;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
- f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__word) = f_indir_pc__word;
extract_sfmt_addq:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addq.f
UINT f_operand2;
UINT f_u6;
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Rd) = f_operand2;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_cmp_r_b_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_muls_b.f
UINT f_operand2;
UINT f_operand1;
extract_sfmt_cmp_m_b_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_memmode;
extract_sfmt_cmp_m_w_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_memmode;
extract_sfmt_cmp_m_d_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_memmode;
extract_sfmt_cmpcbr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cb.f
INT f_indir_pc__byte;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
extract_sfmt_cmpcwr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cw.f
INT f_indir_pc__word;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
extract_sfmt_cmpcdr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cd.f
INT f_indir_pc__dword;
UINT f_operand2;
extract_sfmt_cmpq:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_andq.f
UINT f_operand2;
INT f_s6;
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
- f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
+ f_s6 = EXTRACT_LSB0_SINT (insn, 16, 5, 6);
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
extract_sfmt_cmpucbr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cb.f
INT f_indir_pc__byte;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
extract_sfmt_cmpucwr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cw.f
INT f_indir_pc__word;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
extract_sfmt_move_m_b_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_add_m_b_m.f
UINT f_operand2;
UINT f_memmode;
{
FLD (in_Rs) = f_operand1;
FLD (out_Rs) = f_operand1;
- FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+ FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
}
#endif
#undef FLD
extract_sfmt_move_m_w_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_add_m_b_m.f
UINT f_operand2;
UINT f_memmode;
{
FLD (in_Rs) = f_operand1;
FLD (out_Rs) = f_operand1;
- FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+ FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
}
#endif
#undef FLD
extract_sfmt_move_m_d_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_add_m_b_m.f
UINT f_operand2;
UINT f_memmode;
{
FLD (in_Rs) = f_operand1;
FLD (out_Rs) = f_operand1;
- FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+ FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
}
#endif
#undef FLD
extract_sfmt_movs_m_b_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
UINT f_operand2;
UINT f_memmode;
extract_sfmt_movs_m_w_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
UINT f_operand2;
UINT f_memmode;
extract_sfmt_move_r_sprv32:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
UINT f_operand2;
UINT f_operand1;
extract_sfmt_move_spr_rv32:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_mcp.f
UINT f_operand2;
UINT f_operand1;
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Ps) = f_operand2;
- FLD (out_h_gr_SI_index_of__DFLT_Rs) = FLD (f_operand1);
+ FLD (out_h_gr_SI_index_of__INT_Rs) = FLD (f_operand1);
}
#endif
#undef FLD
extract_sfmt_move_m_sprv32:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
UINT f_operand2;
UINT f_memmode;
return idesc;
}
- extract_sfmt_move_c_sprv32_p0:
+ extract_sfmt_move_c_sprv32_p2:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
+ CGEN_INSN_WORD insn = base_insn;
+#define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
INT f_indir_pc__dword;
UINT f_operand2;
/* Contents of trailing part of insn. */
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__dword) = f_indir_pc__dword;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv32_p0", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv32_p2", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
extract_sfmt_move_spr_mv32:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
UINT f_operand2;
UINT f_memmode;
extract_sfmt_move_ss_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
UINT f_operand2;
UINT f_operand1;
extract_sfmt_move_r_ss:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_mcp.f
UINT f_operand2;
UINT f_operand1;
extract_sfmt_movem_r_m_v32:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_movem_r_m_v32.f
UINT f_operand2;
UINT f_memmode;
extract_sfmt_movem_m_r_v32:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_movem_m_r_v32.f
UINT f_operand2;
UINT f_memmode;
extract_sfmt_add_b_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_operand1;
{
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_add_d_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_operand1;
{
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_add_m_b_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_add_m_b_m.f
UINT f_operand2;
UINT f_memmode;
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
FLD (out_Rs) = f_operand1;
- FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+ FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
}
#endif
#undef FLD
extract_sfmt_add_m_w_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_add_m_b_m.f
UINT f_operand2;
UINT f_memmode;
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
FLD (out_Rs) = f_operand1;
- FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+ FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
}
#endif
#undef FLD
extract_sfmt_add_m_d_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_add_m_b_m.f
UINT f_operand2;
UINT f_memmode;
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
FLD (out_Rs) = f_operand1;
- FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+ FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
}
#endif
#undef FLD
extract_sfmt_addcbr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addcbr.f
INT f_indir_pc__byte;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Rd) = f_operand2;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_addcwr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addcwr.f
INT f_indir_pc__word;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Rd) = f_operand2;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_addcdr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addcdr.f
INT f_indir_pc__dword;
UINT f_operand2;
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Rd) = f_operand2;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_adds_m_b_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_add_m_b_m.f
UINT f_operand2;
UINT f_memmode;
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
FLD (out_Rs) = f_operand1;
- FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+ FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
}
#endif
#undef FLD
extract_sfmt_adds_m_w_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_add_m_b_m.f
UINT f_operand2;
UINT f_memmode;
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
FLD (out_Rs) = f_operand1;
- FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+ FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
}
#endif
#undef FLD
extract_sfmt_addscbr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addcbr.f
INT f_indir_pc__byte;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Rd) = f_operand2;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_addscwr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addcwr.f
INT f_indir_pc__word;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Rd) = f_operand2;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_addc_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_memmode;
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
FLD (out_Rs) = f_operand1;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_lapc_d:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_lapc_d.f
SI f_indir_pc__dword_pcrel;
UINT f_operand2;
extract_sfmt_lapcq:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_lapcq.f
UINT f_operand2;
SI f_qo;
extract_sfmt_addi_b_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_operand1;
extract_sfmt_neg_b_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_operand1;
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Rs) = f_operand1;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_neg_d_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_operand1;
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Rs) = f_operand1;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_test_m_b_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
UINT f_memmode;
UINT f_operand1;
extract_sfmt_test_m_w_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
UINT f_memmode;
UINT f_operand1;
extract_sfmt_test_m_d_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
UINT f_memmode;
UINT f_operand1;
extract_sfmt_move_r_m_b_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_memmode;
extract_sfmt_move_r_m_w_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_memmode;
extract_sfmt_move_r_m_d_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_memmode;
extract_sfmt_muls_b:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_muls_b.f
UINT f_operand2;
UINT f_operand1;
extract_sfmt_mcp:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_mcp.f
UINT f_operand2;
UINT f_operand1;
{
FLD (in_Ps) = f_operand2;
FLD (in_Rs) = f_operand1;
- FLD (out_h_gr_SI_index_of__DFLT_Rs) = FLD (f_operand1);
+ FLD (out_h_gr_SI_index_of__INT_Rs) = FLD (f_operand1);
}
#endif
#undef FLD
extract_sfmt_dstep:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_muls_b.f
UINT f_operand2;
UINT f_operand1;
extract_sfmt_and_b_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_operand1;
{
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
- }
-#endif
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_and_w_r:
- {
- const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_addc_m.f
- UINT f_operand2;
- UINT f_operand1;
-
- f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
- f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_operand2) = f_operand2;
- FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_w_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_Rd) = f_operand2;
- FLD (in_Rs) = f_operand1;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_and_d_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_operand1;
{
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_and_m_b_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_add_m_b_m.f
UINT f_operand2;
UINT f_memmode;
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
FLD (out_Rs) = f_operand1;
- FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+ FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
}
#endif
#undef FLD
extract_sfmt_and_m_w_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_add_m_b_m.f
UINT f_operand2;
UINT f_memmode;
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
FLD (out_Rs) = f_operand1;
- FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+ FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
}
#endif
#undef FLD
extract_sfmt_and_m_d_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_add_m_b_m.f
UINT f_operand2;
UINT f_memmode;
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
FLD (out_Rs) = f_operand1;
- FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+ FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
}
#endif
#undef FLD
extract_sfmt_andcbr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addcbr.f
INT f_indir_pc__byte;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Rd) = f_operand2;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_andcwr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addcwr.f
INT f_indir_pc__word;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Rd) = f_operand2;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_andcdr:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addcdr.f
INT f_indir_pc__dword;
UINT f_operand2;
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Rd) = f_operand2;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_andq:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_andq.f
UINT f_operand2;
INT f_s6;
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
- f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
+ f_s6 = EXTRACT_LSB0_SINT (insn, 16, 5, 6);
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
if (PROFILE_MODEL_P (current_cpu))
{
FLD (in_Rd) = f_operand2;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_swap:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
UINT f_operand2;
UINT f_operand1;
FLD (out_Rs) = f_operand1;
}
#endif
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_asrr_b_r:
- {
- const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_addc_m.f
- UINT f_operand2;
- UINT f_operand1;
-
- f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
- f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_operand2) = f_operand2;
- FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asrr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_Rd) = f_operand2;
- FLD (in_Rs) = f_operand1;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
- }
-#endif
#undef FLD
return idesc;
}
extract_sfmt_asrq:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_asrq.f
UINT f_operand2;
UINT f_u5;
extract_sfmt_lsrr_b_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_operand1;
{
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_lsrr_d_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_operand1;
{
FLD (in_Rd) = f_operand2;
FLD (in_Rs) = f_operand1;
- FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+ FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
}
#endif
#undef FLD
extract_sfmt_btst:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_muls_b.f
UINT f_operand2;
UINT f_operand1;
extract_sfmt_btstq:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_asrq.f
UINT f_operand2;
UINT f_u5;
extract_sfmt_setf:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_setf.f
UINT f_operand2;
UINT f_operand1;
extract_sfmt_bcc_b:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bcc_b.f
UINT f_operand2;
UINT f_disp9_lo;
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
f_disp9_lo = EXTRACT_LSB0_UINT (insn, 16, 7, 7);
- f_disp9_hi = EXTRACT_LSB0_INT (insn, 16, 0, 1);
+ f_disp9_hi = EXTRACT_LSB0_SINT (insn, 16, 0, 1);
{
SI tmp_abslo;
SI tmp_absval;
extract_sfmt_ba_b:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bcc_b.f
UINT f_disp9_lo;
INT f_disp9_hi;
INT f_disp9;
f_disp9_lo = EXTRACT_LSB0_UINT (insn, 16, 7, 7);
- f_disp9_hi = EXTRACT_LSB0_INT (insn, 16, 0, 1);
+ f_disp9_hi = EXTRACT_LSB0_SINT (insn, 16, 0, 1);
{
SI tmp_abslo;
SI tmp_absval;
extract_sfmt_bcc_w:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bcc_w.f
SI f_indir_pc__word_pcrel;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__word_pcrel = ((EXTHISI (((HI) (UINT) ((0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0)))))) + (((pc) + (((GET_H_V32_V32 ()) ? (0) : (4))))));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__word_pcrel = ((EXTHISI (((HI) (UINT) ((0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0)))))) + (((pc) + (((GET_H_V32_V32 ()) ? (0) : (4))))));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
extract_sfmt_ba_w:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bcc_w.f
SI f_indir_pc__word_pcrel;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__word_pcrel = ((EXTHISI (((HI) (UINT) ((0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0)))))) + (((pc) + (((GET_H_V32_V32 ()) ? (0) : (4))))));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__word_pcrel = ((EXTHISI (((HI) (UINT) ((0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0)))))) + (((pc) + (((GET_H_V32_V32 ()) ? (0) : (4))))));
/* Record the fields for the semantic handler. */
FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel;
extract_sfmt_jas_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
UINT f_operand2;
UINT f_operand1;
extract_sfmt_jas_c:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
+ CGEN_INSN_WORD insn = base_insn;
+#define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
INT f_indir_pc__dword;
UINT f_operand2;
/* Contents of trailing part of insn. */
extract_sfmt_jump_p:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_mcp.f
UINT f_operand2;
extract_sfmt_bas_c:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bas_c.f
SI f_indir_pc__dword_pcrel;
UINT f_operand2;
extract_sfmt_jasc_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
UINT f_operand2;
UINT f_operand1;
extract_sfmt_break:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_break.f
UINT f_u4;
extract_sfmt_bound_cb:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cb.f
INT f_indir_pc__byte;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
extract_sfmt_bound_cw:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cw.f
INT f_indir_pc__word;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
extract_sfmt_bound_cd:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cd.f
INT f_indir_pc__dword;
UINT f_operand2;
extract_sfmt_scc:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
UINT f_operand2;
UINT f_operand1;
extract_sfmt_addoq:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addoq.f
UINT f_operand2;
INT f_s8;
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
- f_s8 = EXTRACT_LSB0_INT (insn, 16, 7, 8);
+ f_s8 = EXTRACT_LSB0_SINT (insn, 16, 7, 8);
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
extract_sfmt_addo_m_b_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_memmode;
extract_sfmt_addo_m_w_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_memmode;
extract_sfmt_addo_m_d_m:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_addc_m.f
UINT f_operand2;
UINT f_memmode;
extract_sfmt_addo_cb:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cb.f
INT f_indir_pc__byte;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
extract_sfmt_addo_cw:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cw.f
INT f_indir_pc__word;
UINT f_operand2;
/* Contents of trailing part of insn. */
UINT word_1;
- word_1 = GETIMEMUHI (current_cpu, pc + 2);
- f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
+ word_1 = GETIMEMUSI (current_cpu, pc + 2);
+ f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
/* Record the fields for the semantic handler. */
extract_sfmt_addo_cd:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_bound_cd.f
INT f_indir_pc__dword;
UINT f_operand2;
extract_sfmt_addi_acr_b_r:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_muls_b.f
UINT f_operand2;
UINT f_operand1;
extract_sfmt_fidxi:
{
const IDESC *idesc = &crisv32f_insn_data[itype];
- CGEN_INSN_INT insn = base_insn;
+ CGEN_INSN_WORD insn = base_insn;
#define FLD(f) abuf->fields.sfmt_mcp.f
UINT f_operand1;