X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=sim%2Fcris%2Fdecodev10.c;h=c14f4b88fd38f3c72b5bb9a84a10566f000fbb24;hb=8194e927cc66e8cceb9890240ad75363b3ca6d53;hp=7aca438852ac6fec6b7e323f1a770bbd93fdecd4;hpb=f6bcefefe817b20b493081511cdeb8f87052bd41;p=deliverable%2Fbinutils-gdb.git diff --git a/sim/cris/decodev10.c b/sim/cris/decodev10.c index 7aca438852..c14f4b88fd 100644 --- a/sim/cris/decodev10.c +++ b/sim/cris/decodev10.c @@ -2,23 +2,22 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996-2004 Free Software Foundation, Inc. +Copyright 1996-2016 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, see . */ @@ -27,6 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "sim-main.h" #include "sim-assert.h" +#include "cgen-ops.h" /* The instruction descriptor array. This is computed at runtime. Space for it is not malloc'd to save a @@ -94,19 +94,15 @@ static const struct insn_sem crisv10f_insn_sem[] = { CRIS_INSN_MOVE_SPR_RV10, CRISV10F_INSN_MOVE_SPR_RV10, CRISV10F_SFMT_MOVE_SPR_RV10 }, { CRIS_INSN_RET_TYPE, CRISV10F_INSN_RET_TYPE, CRISV10F_SFMT_RET_TYPE }, { CRIS_INSN_MOVE_M_SPRV10, CRISV10F_INSN_MOVE_M_SPRV10, CRISV10F_SFMT_MOVE_M_SPRV10 }, - { CRIS_INSN_MOVE_C_SPRV10_P0, CRISV10F_INSN_MOVE_C_SPRV10_P0, CRISV10F_SFMT_MOVE_C_SPRV10_P0 }, - { CRIS_INSN_MOVE_C_SPRV10_P1, CRISV10F_INSN_MOVE_C_SPRV10_P1, CRISV10F_SFMT_MOVE_C_SPRV10_P0 }, - { CRIS_INSN_MOVE_C_SPRV10_P4, CRISV10F_INSN_MOVE_C_SPRV10_P4, CRISV10F_SFMT_MOVE_C_SPRV10_P4 }, - { CRIS_INSN_MOVE_C_SPRV10_P5, CRISV10F_INSN_MOVE_C_SPRV10_P5, CRISV10F_SFMT_MOVE_C_SPRV10_P4 }, - { CRIS_INSN_MOVE_C_SPRV10_P8, CRISV10F_INSN_MOVE_C_SPRV10_P8, CRISV10F_SFMT_MOVE_C_SPRV10_P8 }, - { CRIS_INSN_MOVE_C_SPRV10_P9, CRISV10F_INSN_MOVE_C_SPRV10_P9, CRISV10F_SFMT_MOVE_C_SPRV10_P8 }, - { CRIS_INSN_MOVE_C_SPRV10_P10, CRISV10F_INSN_MOVE_C_SPRV10_P10, CRISV10F_SFMT_MOVE_C_SPRV10_P8 }, - { CRIS_INSN_MOVE_C_SPRV10_P11, CRISV10F_INSN_MOVE_C_SPRV10_P11, CRISV10F_SFMT_MOVE_C_SPRV10_P8 }, - { CRIS_INSN_MOVE_C_SPRV10_P12, CRISV10F_INSN_MOVE_C_SPRV10_P12, CRISV10F_SFMT_MOVE_C_SPRV10_P8 }, - { CRIS_INSN_MOVE_C_SPRV10_P13, CRISV10F_INSN_MOVE_C_SPRV10_P13, CRISV10F_SFMT_MOVE_C_SPRV10_P8 }, - { CRIS_INSN_MOVE_C_SPRV10_P7, CRISV10F_INSN_MOVE_C_SPRV10_P7, CRISV10F_SFMT_MOVE_C_SPRV10_P8 }, - { CRIS_INSN_MOVE_C_SPRV10_P14, CRISV10F_INSN_MOVE_C_SPRV10_P14, CRISV10F_SFMT_MOVE_C_SPRV10_P8 }, - { CRIS_INSN_MOVE_C_SPRV10_P15, CRISV10F_INSN_MOVE_C_SPRV10_P15, CRISV10F_SFMT_MOVE_C_SPRV10_P8 }, + { CRIS_INSN_MOVE_C_SPRV10_P5, CRISV10F_INSN_MOVE_C_SPRV10_P5, CRISV10F_SFMT_MOVE_C_SPRV10_P5 }, + { CRIS_INSN_MOVE_C_SPRV10_P9, CRISV10F_INSN_MOVE_C_SPRV10_P9, CRISV10F_SFMT_MOVE_C_SPRV10_P9 }, + { CRIS_INSN_MOVE_C_SPRV10_P10, CRISV10F_INSN_MOVE_C_SPRV10_P10, CRISV10F_SFMT_MOVE_C_SPRV10_P9 }, + { CRIS_INSN_MOVE_C_SPRV10_P11, CRISV10F_INSN_MOVE_C_SPRV10_P11, CRISV10F_SFMT_MOVE_C_SPRV10_P9 }, + { CRIS_INSN_MOVE_C_SPRV10_P12, CRISV10F_INSN_MOVE_C_SPRV10_P12, CRISV10F_SFMT_MOVE_C_SPRV10_P9 }, + { CRIS_INSN_MOVE_C_SPRV10_P13, CRISV10F_INSN_MOVE_C_SPRV10_P13, CRISV10F_SFMT_MOVE_C_SPRV10_P9 }, + { CRIS_INSN_MOVE_C_SPRV10_P7, CRISV10F_INSN_MOVE_C_SPRV10_P7, CRISV10F_SFMT_MOVE_C_SPRV10_P9 }, + { CRIS_INSN_MOVE_C_SPRV10_P14, CRISV10F_INSN_MOVE_C_SPRV10_P14, CRISV10F_SFMT_MOVE_C_SPRV10_P9 }, + { CRIS_INSN_MOVE_C_SPRV10_P15, CRISV10F_INSN_MOVE_C_SPRV10_P15, CRISV10F_SFMT_MOVE_C_SPRV10_P9 }, { CRIS_INSN_MOVE_SPR_MV10, CRISV10F_INSN_MOVE_SPR_MV10, CRISV10F_SFMT_MOVE_SPR_MV10 }, { CRIS_INSN_SBFS, CRISV10F_INSN_SBFS, CRISV10F_SFMT_SBFS }, { CRIS_INSN_MOVEM_R_M, CRISV10F_INSN_MOVEM_R_M, CRISV10F_SFMT_MOVEM_R_M }, @@ -178,7 +174,7 @@ static const struct insn_sem crisv10f_insn_sem[] = { CRIS_INSN_DSTEP, CRISV10F_INSN_DSTEP, CRISV10F_SFMT_DSTEP }, { CRIS_INSN_ABS, CRISV10F_INSN_ABS, CRISV10F_SFMT_MOVS_B_R }, { CRIS_INSN_AND_B_R, CRISV10F_INSN_AND_B_R, CRISV10F_SFMT_AND_B_R }, - { CRIS_INSN_AND_W_R, CRISV10F_INSN_AND_W_R, CRISV10F_SFMT_AND_W_R }, + { CRIS_INSN_AND_W_R, CRISV10F_INSN_AND_W_R, CRISV10F_SFMT_AND_B_R }, { CRIS_INSN_AND_D_R, CRISV10F_INSN_AND_D_R, CRISV10F_SFMT_AND_D_R }, { CRIS_INSN_AND_M_B_M, CRISV10F_INSN_AND_M_B_M, CRISV10F_SFMT_AND_M_B_M }, { CRIS_INSN_AND_M_W_M, CRISV10F_INSN_AND_M_W_M, CRISV10F_SFMT_AND_M_W_M }, @@ -188,7 +184,7 @@ static const struct insn_sem crisv10f_insn_sem[] = { CRIS_INSN_ANDCDR, CRISV10F_INSN_ANDCDR, CRISV10F_SFMT_ANDCDR }, { CRIS_INSN_ANDQ, CRISV10F_INSN_ANDQ, CRISV10F_SFMT_ANDQ }, { CRIS_INSN_ORR_B_R, CRISV10F_INSN_ORR_B_R, CRISV10F_SFMT_AND_B_R }, - { CRIS_INSN_ORR_W_R, CRISV10F_INSN_ORR_W_R, CRISV10F_SFMT_AND_W_R }, + { CRIS_INSN_ORR_W_R, CRISV10F_INSN_ORR_W_R, CRISV10F_SFMT_AND_B_R }, { CRIS_INSN_ORR_D_R, CRISV10F_INSN_ORR_D_R, CRISV10F_SFMT_AND_D_R }, { CRIS_INSN_OR_M_B_M, CRISV10F_INSN_OR_M_B_M, CRISV10F_SFMT_AND_M_B_M }, { CRIS_INSN_OR_M_W_M, CRISV10F_INSN_OR_M_W_M, CRISV10F_SFMT_AND_M_W_M }, @@ -199,8 +195,8 @@ static const struct insn_sem crisv10f_insn_sem[] = { CRIS_INSN_ORQ, CRISV10F_INSN_ORQ, CRISV10F_SFMT_ANDQ }, { CRIS_INSN_XOR, CRISV10F_INSN_XOR, CRISV10F_SFMT_DSTEP }, { CRIS_INSN_SWAP, CRISV10F_INSN_SWAP, CRISV10F_SFMT_SWAP }, - { CRIS_INSN_ASRR_B_R, CRISV10F_INSN_ASRR_B_R, CRISV10F_SFMT_ASRR_B_R }, - { CRIS_INSN_ASRR_W_R, CRISV10F_INSN_ASRR_W_R, CRISV10F_SFMT_ASRR_B_R }, + { CRIS_INSN_ASRR_B_R, CRISV10F_INSN_ASRR_B_R, CRISV10F_SFMT_AND_B_R }, + { CRIS_INSN_ASRR_W_R, CRISV10F_INSN_ASRR_W_R, CRISV10F_SFMT_AND_B_R }, { CRIS_INSN_ASRR_D_R, CRISV10F_INSN_ASRR_D_R, CRISV10F_SFMT_AND_D_R }, { CRIS_INSN_ASRQ, CRISV10F_INSN_ASRQ, CRISV10F_SFMT_ASRQ }, { CRIS_INSN_LSRR_B_R, CRISV10F_INSN_LSRR_B_R, CRISV10F_SFMT_LSRR_B_R }, @@ -236,6 +232,9 @@ static const struct insn_sem crisv10f_insn_sem[] = { CRIS_INSN_LZ, CRISV10F_INSN_LZ, CRISV10F_SFMT_MOVS_B_R }, { CRIS_INSN_ADDOQ, CRISV10F_INSN_ADDOQ, CRISV10F_SFMT_ADDOQ }, { CRIS_INSN_BDAPQPC, CRISV10F_INSN_BDAPQPC, CRISV10F_SFMT_BDAPQPC }, + { CRIS_INSN_BDAP_32_PC, CRISV10F_INSN_BDAP_32_PC, CRISV10F_SFMT_BDAP_32_PC }, + { CRIS_INSN_MOVE_M_PCPLUS_P0, CRISV10F_INSN_MOVE_M_PCPLUS_P0, CRISV10F_SFMT_MOVE_M_PCPLUS_P0 }, + { CRIS_INSN_MOVE_M_SPPLUS_P8, CRISV10F_INSN_MOVE_M_SPPLUS_P8, CRISV10F_SFMT_MOVE_M_SPPLUS_P8 }, { CRIS_INSN_ADDO_M_B_M, CRISV10F_INSN_ADDO_M_B_M, CRISV10F_SFMT_ADDO_M_B_M }, { CRIS_INSN_ADDO_M_W_M, CRISV10F_INSN_ADDO_M_W_M, CRISV10F_SFMT_ADDO_M_W_M }, { CRIS_INSN_ADDO_M_D_M, CRISV10F_INSN_ADDO_M_D_M, CRISV10F_SFMT_ADDO_M_D_M }, @@ -252,7 +251,8 @@ static const struct insn_sem crisv10f_insn_sem[] = { CRIS_INSN_BIAP_PC_D_R, CRISV10F_INSN_BIAP_PC_D_R, CRISV10F_SFMT_BIAP_PC_B_R }, }; -static const struct insn_sem crisv10f_insn_sem_invalid = { +static const struct insn_sem crisv10f_insn_sem_invalid = +{ VIRTUAL_INSN_X_INVALID, CRISV10F_INSN_X_INVALID, CRISV10F_SFMT_EMPTY }; @@ -316,14 +316,14 @@ crisv10f_init_idesc_table (SIM_CPU *cpu) const IDESC * crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, - CGEN_INSN_INT base_insn, + CGEN_INSN_WORD base_insn, ARGBUF *abuf) { /* Result of decoder. */ CRISV10F_INSN_TYPE itype; { - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; { unsigned int val = (((insn >> 4) & (255 << 0))); @@ -746,15 +746,15 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, case 110 : itype = CRISV10F_INSN_CMP_R_D_R; goto extract_sfmt_cmp_r_b_r; case 111 : itype = CRISV10F_INSN_DSTEP; goto extract_sfmt_dstep; case 112 : itype = CRISV10F_INSN_AND_B_R; goto extract_sfmt_and_b_r; - case 113 : itype = CRISV10F_INSN_AND_W_R; goto extract_sfmt_and_w_r; + case 113 : itype = CRISV10F_INSN_AND_W_R; goto extract_sfmt_and_b_r; case 114 : itype = CRISV10F_INSN_AND_D_R; goto extract_sfmt_and_d_r; case 115 : itype = CRISV10F_INSN_LZ; goto extract_sfmt_movs_b_r; case 116 : itype = CRISV10F_INSN_ORR_B_R; goto extract_sfmt_and_b_r; - case 117 : itype = CRISV10F_INSN_ORR_W_R; goto extract_sfmt_and_w_r; + case 117 : itype = CRISV10F_INSN_ORR_W_R; goto extract_sfmt_and_b_r; case 118 : itype = CRISV10F_INSN_ORR_D_R; goto extract_sfmt_and_d_r; case 119 : itype = CRISV10F_INSN_SWAP; goto extract_sfmt_swap; - case 120 : itype = CRISV10F_INSN_ASRR_B_R; goto extract_sfmt_asrr_b_r; - case 121 : itype = CRISV10F_INSN_ASRR_W_R; goto extract_sfmt_asrr_b_r; + case 120 : itype = CRISV10F_INSN_ASRR_B_R; goto extract_sfmt_and_b_r; + case 121 : itype = CRISV10F_INSN_ASRR_W_R; goto extract_sfmt_and_b_r; case 122 : itype = CRISV10F_INSN_ASRR_D_R; goto extract_sfmt_and_d_r; case 123 : itype = CRISV10F_INSN_XOR; goto extract_sfmt_dstep; case 124 : itype = CRISV10F_INSN_LSRR_B_R; goto extract_sfmt_lsrr_b_r; @@ -951,7 +951,10 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, case 148 : itype = CRISV10F_INSN_ADDO_M_B_M; goto extract_sfmt_addo_m_b_m; case 149 : itype = CRISV10F_INSN_ADDO_M_W_M; goto extract_sfmt_addo_m_w_m; case 150 : itype = CRISV10F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m; - case 151 : itype = CRISV10F_INSN_DIP_M; goto extract_sfmt_dip_m; + case 151 : + if ((base_insn & 0xfbf0) == 0x970) + { itype = CRISV10F_INSN_DIP_M; goto extract_sfmt_dip_m; } + itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; case 155 : itype = CRISV10F_INSN_JUMP_R; goto extract_sfmt_jump_r; case 156 : itype = CRISV10F_INSN_BOUND_M_B_M; goto extract_sfmt_bound_m_b_m; case 157 : itype = CRISV10F_INSN_BOUND_M_W_M; goto extract_sfmt_bound_m_w_m; @@ -978,13 +981,25 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, case 181 : itype = CRISV10F_INSN_OR_M_W_M; goto extract_sfmt_and_m_w_m; case 182 : itype = CRISV10F_INSN_OR_M_D_M; goto extract_sfmt_and_m_d_m; case 183 : /* fall through */ - case 247 : itype = CRISV10F_INSN_SBFS; goto extract_sfmt_sbfs; + case 247 : + if ((base_insn & 0xfbf0) == 0x3b70) + { itype = CRISV10F_INSN_SBFS; goto extract_sfmt_sbfs; } + itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; case 184 : /* fall through */ - case 248 : itype = CRISV10F_INSN_TEST_M_B_M; goto extract_sfmt_test_m_b_m; + case 248 : + if ((base_insn & 0xfbf0) == 0xb80) + { itype = CRISV10F_INSN_TEST_M_B_M; goto extract_sfmt_test_m_b_m; } + itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; case 185 : /* fall through */ - case 249 : itype = CRISV10F_INSN_TEST_M_W_M; goto extract_sfmt_test_m_w_m; + case 249 : + if ((base_insn & 0xfbf0) == 0xb90) + { itype = CRISV10F_INSN_TEST_M_W_M; goto extract_sfmt_test_m_w_m; } + itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; case 186 : /* fall through */ - case 250 : itype = CRISV10F_INSN_TEST_M_D_M; goto extract_sfmt_test_m_d_m; + case 250 : + if ((base_insn & 0xfbf0) == 0xba0) + { itype = CRISV10F_INSN_TEST_M_D_M; goto extract_sfmt_test_m_d_m; } + itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; case 187 : /* fall through */ case 251 : { @@ -1479,7 +1494,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, } case 214 : { - unsigned int val = (((insn >> 0) & (15 << 0))); + unsigned int val = (((insn >> 12) & (15 << 0))); switch (val) { case 0 : /* fall through */ @@ -1496,8 +1511,54 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, case 11 : /* fall through */ case 12 : /* fall through */ case 13 : /* fall through */ - case 14 : itype = CRISV10F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m; - case 15 : itype = CRISV10F_INSN_ADDO_CD; goto extract_sfmt_addo_cd; + case 14 : + { + 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 = CRISV10F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m; + case 15 : itype = CRISV10F_INSN_ADDO_CD; goto extract_sfmt_addo_cd; + default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; + } + } + case 15 : + { + 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 = CRISV10F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m; + case 15 : itype = CRISV10F_INSN_BDAP_32_PC; goto extract_sfmt_bdap_32_pc; + default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; + } + } default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; } } @@ -1520,8 +1581,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, case 11 : /* fall through */ case 12 : /* fall through */ case 13 : /* fall through */ - case 14 : itype = CRISV10F_INSN_DIP_M; goto extract_sfmt_dip_m; - case 15 : itype = CRISV10F_INSN_DIP_C; goto extract_sfmt_dip_c; + case 14 : + if ((base_insn & 0xfbf0) == 0x970) + { itype = CRISV10F_INSN_DIP_M; goto extract_sfmt_dip_m; } + itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; + case 15 : + if ((base_insn & 0xffff) == 0xd7f) + { itype = CRISV10F_INSN_DIP_C; goto extract_sfmt_dip_c; } + itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; } } @@ -1616,8 +1683,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, case 11 : /* fall through */ case 12 : /* fall through */ case 13 : /* fall through */ - case 15 : itype = CRISV10F_INSN_BCC_W; goto extract_sfmt_bcc_w; - case 14 : itype = CRISV10F_INSN_BA_W; goto extract_sfmt_ba_w; + case 15 : + if ((base_insn & 0xfff) == 0xdff) + { itype = CRISV10F_INSN_BCC_W; goto extract_sfmt_bcc_w; } + itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; + case 14 : + if ((base_insn & 0xffff) == 0xedff) + { itype = CRISV10F_INSN_BA_W; goto extract_sfmt_ba_w; } + itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; } } @@ -1741,63 +1814,33 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, } case 227 : { - unsigned int val = (((insn >> 12) & (15 << 0))); + unsigned int val = (((insn >> 11) & (15 << 1)) | ((insn >> 0) & (1 << 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 = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; - case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P0; goto extract_sfmt_move_c_sprv10_p0; - default : itype = CRISV10F_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 = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; - case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P1; goto extract_sfmt_move_c_sprv10_p0; - default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; - } - } + case 0 : /* fall through */ case 2 : /* fall through */ case 3 : /* fall through */ - case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; - case 4 : + 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 12 : /* fall through */ + case 13 : /* fall through */ + case 14 : /* fall through */ + case 17 : /* fall through */ + case 18 : /* fall through */ + case 20 : /* fall through */ + case 22 : /* fall through */ + case 24 : /* fall through */ + case 26 : /* fall through */ + case 28 : /* fall through */ + case 30 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; + case 1 : { - unsigned int val = (((insn >> 0) & (15 << 0))); + unsigned int val = (((insn >> 1) & (7 << 0))); switch (val) { case 0 : /* fall through */ @@ -1806,22 +1849,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; - case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P4; goto extract_sfmt_move_c_sprv10_p4; + case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; + case 7 : itype = CRISV10F_INSN_MOVE_M_PCPLUS_P0; goto extract_sfmt_move_m_pcplus_p0; default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; } } - case 5 : + case 11 : { - unsigned int val = (((insn >> 0) & (15 << 0))); + unsigned int val = (((insn >> 1) & (7 << 0))); switch (val) { case 0 : /* fall through */ @@ -1830,22 +1865,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; - case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P5; goto extract_sfmt_move_c_sprv10_p4; + case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; + case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P5; goto extract_sfmt_move_c_sprv10_p5; default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; } } - case 7 : + case 15 : { - unsigned int val = (((insn >> 0) & (15 << 0))); + unsigned int val = (((insn >> 1) & (7 << 0))); switch (val) { case 0 : /* fall through */ @@ -1854,22 +1881,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; - case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P7; goto extract_sfmt_move_c_sprv10_p8; + case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; + case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P7; goto extract_sfmt_move_c_sprv10_p9; default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; } } - case 8 : + case 16 : { - unsigned int val = (((insn >> 0) & (15 << 0))); + unsigned int val = (((insn >> 1) & (7 << 0))); switch (val) { case 0 : /* fall through */ @@ -1878,22 +1897,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; - case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P8; goto extract_sfmt_move_c_sprv10_p8; + case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; + case 7 : itype = CRISV10F_INSN_MOVE_M_SPPLUS_P8; goto extract_sfmt_move_m_spplus_p8; default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; } } - case 9 : + case 19 : { - unsigned int val = (((insn >> 0) & (15 << 0))); + unsigned int val = (((insn >> 1) & (7 << 0))); switch (val) { case 0 : /* fall through */ @@ -1902,22 +1913,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; - case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P9; goto extract_sfmt_move_c_sprv10_p8; + case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; + case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P9; goto extract_sfmt_move_c_sprv10_p9; default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; } } - case 10 : + case 21 : { - unsigned int val = (((insn >> 0) & (15 << 0))); + unsigned int val = (((insn >> 1) & (7 << 0))); switch (val) { case 0 : /* fall through */ @@ -1926,22 +1929,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; - case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P10; goto extract_sfmt_move_c_sprv10_p8; + case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; + case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P10; goto extract_sfmt_move_c_sprv10_p9; default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; } } - case 11 : + case 23 : { - unsigned int val = (((insn >> 0) & (15 << 0))); + unsigned int val = (((insn >> 1) & (7 << 0))); switch (val) { case 0 : /* fall through */ @@ -1950,22 +1945,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; - case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P11; goto extract_sfmt_move_c_sprv10_p8; + case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; + case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P11; goto extract_sfmt_move_c_sprv10_p9; default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; } } - case 12 : + case 25 : { - unsigned int val = (((insn >> 0) & (15 << 0))); + unsigned int val = (((insn >> 1) & (7 << 0))); switch (val) { case 0 : /* fall through */ @@ -1974,22 +1961,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; - case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P12; goto extract_sfmt_move_c_sprv10_p8; + case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; + case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P12; goto extract_sfmt_move_c_sprv10_p9; default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; } } - case 13 : + case 27 : { - unsigned int val = (((insn >> 0) & (15 << 0))); + unsigned int val = (((insn >> 1) & (7 << 0))); switch (val) { case 0 : /* fall through */ @@ -1998,22 +1977,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; - case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P13; goto extract_sfmt_move_c_sprv10_p8; + case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; + case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P13; goto extract_sfmt_move_c_sprv10_p9; default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; } } - case 14 : + case 29 : { - unsigned int val = (((insn >> 0) & (15 << 0))); + unsigned int val = (((insn >> 1) & (7 << 0))); switch (val) { case 0 : /* fall through */ @@ -2022,22 +1993,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; - case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P14; goto extract_sfmt_move_c_sprv10_p8; + case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; + case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P14; goto extract_sfmt_move_c_sprv10_p9; default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; } } - case 15 : + case 31 : { - unsigned int val = (((insn >> 0) & (15 << 0))); + unsigned int val = (((insn >> 1) & (7 << 0))); switch (val) { case 0 : /* fall through */ @@ -2046,16 +2009,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; - case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P15; goto extract_sfmt_move_c_sprv10_p8; + case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; + case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P15; goto extract_sfmt_move_c_sprv10_p9; default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty; } } @@ -2432,11 +2387,11 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_empty: { const IDESC *idesc = &crisv10f_insn_data[itype]; -#define FLD(f) abuf->fields.fmt_empty.f +#define FLD(f) abuf->fields.sfmt_empty.f /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0)); #undef FLD return idesc; @@ -2445,11 +2400,11 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_nop: { const IDESC *idesc = &crisv10f_insn_data[itype]; -#define FLD(f) abuf->fields.fmt_empty.f +#define FLD(f) abuf->fields.sfmt_empty.f /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0)); #undef FLD return idesc; @@ -2458,7 +2413,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_move_b_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_add_b_r.f UINT f_operand2; UINT f_operand1; @@ -2469,14 +2424,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand1) = f_operand1; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ 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 @@ -2486,7 +2441,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_move_d_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_add_b_r.f UINT f_operand2; UINT f_operand1; @@ -2497,14 +2452,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand1) = f_operand1; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ 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 @@ -2514,7 +2469,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_movepcr: { const IDESC *idesc = &crisv10f_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; @@ -2522,7 +2477,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movepcr", "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movepcr", "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -2538,18 +2493,18 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_moveq: { const IDESC *idesc = &crisv10f_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; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_moveq", "f_s6 0x%x", 'x', f_s6, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_moveq", "f_s6 0x%x", 'x', f_s6, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -2565,7 +2520,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_movs_b_r: { const IDESC *idesc = &crisv10f_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; @@ -2576,7 +2531,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand1) = f_operand1; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -2593,27 +2548,27 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_movecbr: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__byte) = f_indir_pc__byte; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); #if WITH_PROFILE_MODEL_P /* 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 @@ -2623,27 +2578,27 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_movecwr: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__word) = f_indir_pc__word; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); #if WITH_PROFILE_MODEL_P /* 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 @@ -2653,7 +2608,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_movecdr: { const IDESC *idesc = &crisv10f_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; @@ -2667,7 +2622,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_movecdr", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecdr", "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. */ @@ -2683,21 +2638,21 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_movscbr: { const IDESC *idesc = &crisv10f_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; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -2713,21 +2668,21 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_movscwr: { const IDESC *idesc = &crisv10f_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; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -2743,21 +2698,21 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_movucbr: { const IDESC *idesc = &crisv10f_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; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -2773,21 +2728,21 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_movucwr: { const IDESC *idesc = &crisv10f_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; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -2803,7 +2758,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addq: { const IDESC *idesc = &crisv10f_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; @@ -2814,14 +2769,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand2) = f_operand2; FLD (f_u6) = f_u6; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addq", "f_operand2 0x%x", 'x', f_operand2, "f_u6 0x%x", 'x', f_u6, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addq", "f_operand2 0x%x", 'x', f_operand2, "f_u6 0x%x", 'x', f_u6, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ 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 @@ -2831,7 +2786,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_cmp_r_b_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_add_b_r.f UINT f_operand2; UINT f_operand1; @@ -2842,7 +2797,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_cmp_r_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_r_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. */ @@ -2859,7 +2814,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_cmp_m_b_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_memmode; @@ -2873,7 +2828,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -2891,7 +2846,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_cmp_m_w_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_memmode; @@ -2905,7 +2860,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -2923,7 +2878,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_cmp_m_d_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_memmode; @@ -2937,7 +2892,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -2955,21 +2910,21 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_cmpcbr: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__byte) = f_indir_pc__byte; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -2985,21 +2940,21 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_cmpcwr: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__word) = f_indir_pc__word; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3015,7 +2970,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_cmpcdr: { const IDESC *idesc = &crisv10f_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; @@ -3029,7 +2984,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__dword) = f_indir_pc__dword; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3045,18 +3000,18 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_cmpq: { const IDESC *idesc = &crisv10f_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; FLD (f_s6) = f_s6; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3072,21 +3027,21 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_cmpucbr: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__byte) = f_indir_pc__byte; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3102,21 +3057,21 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_cmpucwr: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__word) = f_indir_pc__word; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3132,7 +3087,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_move_m_b_m: { const IDESC *idesc = &crisv10f_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; @@ -3146,7 +3101,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand1) = f_operand1; FLD (f_operand2) = f_operand2; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3154,7 +3109,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, { 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 @@ -3164,7 +3119,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_move_m_w_m: { const IDESC *idesc = &crisv10f_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; @@ -3178,7 +3133,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand1) = f_operand1; FLD (f_operand2) = f_operand2; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3186,7 +3141,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, { 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 @@ -3196,7 +3151,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_move_m_d_m: { const IDESC *idesc = &crisv10f_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; @@ -3210,7 +3165,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand1) = f_operand1; FLD (f_operand2) = f_operand2; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3218,7 +3173,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, { 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 @@ -3228,7 +3183,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_movs_m_b_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_memmode; @@ -3242,7 +3197,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3260,7 +3215,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_movs_m_w_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_memmode; @@ -3274,7 +3229,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3292,7 +3247,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_move_r_sprv10: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f UINT f_operand2; UINT f_operand1; @@ -3303,7 +3258,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand1) = f_operand1; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3320,7 +3275,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_move_spr_rv10: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_move_spr_rv10.f UINT f_operand2; UINT f_operand1; @@ -3331,14 +3286,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_move_spr_rv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_rv10", "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_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 @@ -3348,7 +3303,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_ret_type: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_move_spr_rv10.f UINT f_operand2; @@ -3356,7 +3311,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ret_type", "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ret_type", "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3372,7 +3327,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_move_m_sprv10: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f UINT f_operand2; UINT f_memmode; @@ -3386,7 +3341,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand1) = f_operand1; FLD (f_operand2) = f_operand2; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3401,54 +3356,24 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, return idesc; } - extract_sfmt_move_c_sprv10_p0: - { - const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_move_c_sprv10_p0.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); - f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4); - f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0)); - - /* Record the fields for the semantic handler. */ - FLD (f_indir_pc__byte) = f_indir_pc__byte; - FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p0", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (out_Pd) = f_operand2; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_move_c_sprv10_p4: + extract_sfmt_move_c_sprv10_p5: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_move_c_sprv10_p4.f + CGEN_INSN_WORD insn = base_insn; +#define FLD(f) abuf->fields.sfmt_move_c_sprv10_p5.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; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p4", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p5", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3461,11 +3386,11 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, return idesc; } - extract_sfmt_move_c_sprv10_p8: + extract_sfmt_move_c_sprv10_p9: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f + CGEN_INSN_WORD insn = base_insn; +#define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f INT f_indir_pc__dword; UINT f_operand2; /* Contents of trailing part of insn. */ @@ -3478,7 +3403,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_sprv10_p8", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p9", "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. */ @@ -3494,7 +3419,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_move_spr_mv10: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f UINT f_operand2; UINT f_memmode; @@ -3508,7 +3433,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_mv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_mv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3526,11 +3451,11 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_sbfs: { const IDESC *idesc = &crisv10f_insn_data[itype]; -#define FLD(f) abuf->fields.fmt_empty.f +#define FLD(f) abuf->fields.sfmt_empty.f /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sbfs", (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sbfs", (char *) 0)); #undef FLD return idesc; @@ -3539,7 +3464,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_movem_r_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_movem_r_m.f UINT f_operand2; UINT f_memmode; @@ -3553,7 +3478,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_r_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_r_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3587,7 +3512,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_movem_m_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_movem_m_r.f UINT f_operand2; UINT f_memmode; @@ -3601,7 +3526,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3634,7 +3559,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_movem_m_pc: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_movem_m_r.f UINT f_memmode; UINT f_operand1; @@ -3645,7 +3570,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_pc", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_pc", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3677,7 +3602,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_add_b_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_add_b_r.f UINT f_operand2; UINT f_operand1; @@ -3688,7 +3613,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_add_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_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. */ @@ -3696,7 +3621,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, { 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 @@ -3706,7 +3631,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_add_d_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_add_b_r.f UINT f_operand2; UINT f_operand1; @@ -3717,7 +3642,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_add_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_d_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. */ @@ -3725,7 +3650,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, { 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 @@ -3735,7 +3660,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_add_m_b_m: { const IDESC *idesc = &crisv10f_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; @@ -3749,7 +3674,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3758,7 +3683,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 @@ -3768,7 +3693,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_add_m_w_m: { const IDESC *idesc = &crisv10f_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; @@ -3782,7 +3707,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3791,7 +3716,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 @@ -3801,7 +3726,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_add_m_d_m: { const IDESC *idesc = &crisv10f_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; @@ -3815,7 +3740,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3824,7 +3749,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 @@ -3834,28 +3759,28 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addcbr: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__byte) = f_indir_pc__byte; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ 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 @@ -3865,28 +3790,28 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addcwr: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__word) = f_indir_pc__word; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ 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 @@ -3896,7 +3821,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addcdr: { const IDESC *idesc = &crisv10f_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; @@ -3910,14 +3835,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__dword) = f_indir_pc__dword; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ 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 @@ -3927,8 +3852,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addcpc: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f + CGEN_INSN_WORD insn = base_insn; +#define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f INT f_indir_pc__dword; /* Contents of trailing part of insn. */ UINT word_1; @@ -3938,7 +3863,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_indir_pc__dword) = f_indir_pc__dword; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcpc", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcpc", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3953,7 +3878,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_adds_m_b_m: { const IDESC *idesc = &crisv10f_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; @@ -3967,7 +3892,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -3976,7 +3901,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 @@ -3986,7 +3911,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_adds_m_w_m: { const IDESC *idesc = &crisv10f_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; @@ -4000,7 +3925,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -4009,7 +3934,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 @@ -4019,28 +3944,28 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addscbr: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__byte) = f_indir_pc__byte; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ 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 @@ -4050,28 +3975,28 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addscwr: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__word) = f_indir_pc__word; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ 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 @@ -4081,11 +4006,11 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addspcpc: { const IDESC *idesc = &crisv10f_insn_data[itype]; -#define FLD(f) abuf->fields.fmt_empty.f +#define FLD(f) abuf->fields.sfmt_empty.f /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addspcpc", (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addspcpc", (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -4100,7 +4025,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addi_b_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_operand1; @@ -4111,7 +4036,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_addi_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_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. */ @@ -4129,7 +4054,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_neg_b_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_add_b_r.f UINT f_operand2; UINT f_operand1; @@ -4140,14 +4065,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand1) = f_operand1; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ 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 @@ -4157,7 +4082,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_neg_d_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_add_b_r.f UINT f_operand2; UINT f_operand1; @@ -4168,14 +4093,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand1) = f_operand1; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ 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 @@ -4185,7 +4110,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_test_m_b_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f UINT f_memmode; UINT f_operand1; @@ -4196,7 +4121,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -4213,7 +4138,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_test_m_w_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f UINT f_memmode; UINT f_operand1; @@ -4224,7 +4149,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -4241,7 +4166,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_test_m_d_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f UINT f_memmode; UINT f_operand1; @@ -4252,7 +4177,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -4269,7 +4194,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_move_r_m_b_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_memmode; @@ -4283,7 +4208,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -4301,7 +4226,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_move_r_m_w_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_memmode; @@ -4315,7 +4240,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -4333,7 +4258,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_move_r_m_d_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_memmode; @@ -4347,7 +4272,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -4365,7 +4290,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_muls_b: { const IDESC *idesc = &crisv10f_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; @@ -4376,7 +4301,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_muls_b", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_muls_b", "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. */ @@ -4395,7 +4320,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_mstep: { const IDESC *idesc = &crisv10f_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; @@ -4406,7 +4331,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_mstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mstep", "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. */ @@ -4424,7 +4349,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_dstep: { const IDESC *idesc = &crisv10f_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; @@ -4435,7 +4360,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_dstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dstep", "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. */ @@ -4453,7 +4378,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_and_b_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_add_b_r.f UINT f_operand2; UINT f_operand1; @@ -4464,7 +4389,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_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. */ @@ -4472,36 +4397,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, { 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 = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add_b_r.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 @@ -4511,7 +4407,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_and_d_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_add_b_r.f UINT f_operand2; UINT f_operand1; @@ -4522,7 +4418,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_d_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. */ @@ -4530,7 +4426,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, { 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 @@ -4540,7 +4436,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_and_m_b_m: { const IDESC *idesc = &crisv10f_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; @@ -4554,7 +4450,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -4563,7 +4459,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 @@ -4573,7 +4469,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_and_m_w_m: { const IDESC *idesc = &crisv10f_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; @@ -4587,7 +4483,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -4596,7 +4492,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 @@ -4606,7 +4502,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_and_m_d_m: { const IDESC *idesc = &crisv10f_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; @@ -4620,7 +4516,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -4629,7 +4525,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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 @@ -4639,28 +4535,28 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_andcbr: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__byte) = f_indir_pc__byte; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ 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 @@ -4670,28 +4566,28 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_andcwr: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__word) = f_indir_pc__word; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ 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 @@ -4701,7 +4597,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_andcdr: { const IDESC *idesc = &crisv10f_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; @@ -4715,14 +4611,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__dword) = f_indir_pc__dword; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ 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 @@ -4732,25 +4628,25 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_andq: { const IDESC *idesc = &crisv10f_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; FLD (f_s6) = f_s6; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ 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 @@ -4760,7 +4656,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_swap: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f UINT f_operand2; UINT f_operand1; @@ -4771,7 +4667,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand1) = f_operand1; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swap", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swap", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -4781,35 +4677,6 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (out_Rs) = f_operand1; } #endif -#undef FLD - return idesc; - } - - extract_sfmt_asrr_b_r: - { - const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add_b_r.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; } @@ -4817,7 +4684,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_asrq: { const IDESC *idesc = &crisv10f_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; @@ -4828,7 +4695,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand2) = f_operand2; FLD (f_u5) = f_u5; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asrq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asrq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -4845,7 +4712,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_lsrr_b_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_add_b_r.f UINT f_operand2; UINT f_operand1; @@ -4856,7 +4723,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_lsrr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_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. */ @@ -4864,7 +4731,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, { 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 @@ -4874,7 +4741,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_lsrr_d_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_add_b_r.f UINT f_operand2; UINT f_operand1; @@ -4885,7 +4752,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_lsrr_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_d_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. */ @@ -4893,7 +4760,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, { 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 @@ -4903,7 +4770,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_btst: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_add_b_r.f UINT f_operand2; UINT f_operand1; @@ -4914,7 +4781,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_btst", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst", "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. */ @@ -4931,7 +4798,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_btstq: { const IDESC *idesc = &crisv10f_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; @@ -4942,7 +4809,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand2) = f_operand2; FLD (f_u5) = f_u5; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -4958,7 +4825,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_setf: { const IDESC *idesc = &crisv10f_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; @@ -4970,7 +4837,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_dstsrc) = f_dstsrc; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setf", "f_dstsrc 0x%x", 'x', f_dstsrc, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setf", "f_dstsrc 0x%x", 'x', f_dstsrc, (char *) 0)); #undef FLD return idesc; @@ -4979,7 +4846,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_bcc_b: { const IDESC *idesc = &crisv10f_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; @@ -4988,7 +4855,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, 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; @@ -5000,7 +4867,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand2) = f_operand2; FLD (i_o_pcrel) = f_disp9; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_b", "f_operand2 0x%x", 'x', f_operand2, "o_pcrel 0x%x", 'x', f_disp9, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_b", "f_operand2 0x%x", 'x', f_operand2, "o_pcrel 0x%x", 'x', f_disp9, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5015,14 +4882,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_ba_b: { const IDESC *idesc = &crisv10f_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; @@ -5033,7 +4900,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (i_o_pcrel) = f_disp9; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_b", "o_pcrel 0x%x", 'x', f_disp9, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_b", "o_pcrel 0x%x", 'x', f_disp9, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5048,21 +4915,21 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_bcc_w: { const IDESC *idesc = &crisv10f_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_NON_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_NON_V32 ()) ? (0) : (4)))))); f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4); /* Record the fields for the semantic handler. */ FLD (f_operand2) = f_operand2; FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_w", "f_operand2 0x%x", 'x', f_operand2, "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_w", "f_operand2 0x%x", 'x', f_operand2, "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5077,18 +4944,18 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_ba_w: { const IDESC *idesc = &crisv10f_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_NON_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_NON_V32 ()) ? (0) : (4)))))); /* Record the fields for the semantic handler. */ FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_w", "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_w", "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5103,7 +4970,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_jump_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f UINT f_operand2; UINT f_operand1; @@ -5114,7 +4981,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand1) = f_operand1; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5131,7 +4998,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_jump_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f UINT f_operand2; UINT f_memmode; @@ -5145,7 +5012,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5163,8 +5030,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_jump_c: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f + CGEN_INSN_WORD insn = base_insn; +#define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f INT f_indir_pc__dword; UINT f_operand2; /* Contents of trailing part of insn. */ @@ -5177,7 +5044,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_jump_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_c", "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. */ @@ -5193,7 +5060,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_break: { const IDESC *idesc = &crisv10f_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; @@ -5201,7 +5068,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_u4) = f_u4; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", "f_u4 0x%x", 'x', f_u4, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", "f_u4 0x%x", 'x', f_u4, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5216,7 +5083,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_bound_m_b_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_memmode; @@ -5230,7 +5097,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5249,7 +5116,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_bound_m_w_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_memmode; @@ -5263,7 +5130,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5282,7 +5149,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_bound_m_d_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_memmode; @@ -5296,7 +5163,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5315,21 +5182,21 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_bound_cb: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__byte) = f_indir_pc__byte; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5346,21 +5213,21 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_bound_cw: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__word) = f_indir_pc__word; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5377,7 +5244,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_bound_cd: { const IDESC *idesc = &crisv10f_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; @@ -5391,7 +5258,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__dword) = f_indir_pc__dword; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5408,7 +5275,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_scc: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f UINT f_operand2; UINT f_operand1; @@ -5419,7 +5286,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_scc", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_scc", "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. */ @@ -5435,18 +5302,18 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addoq: { const IDESC *idesc = &crisv10f_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; FLD (f_s8) = f_s8; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addoq", "f_operand2 0x%x", 'x', f_operand2, "f_s8 0x%x", 'x', f_s8, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addoq", "f_operand2 0x%x", 'x', f_operand2, "f_s8 0x%x", 'x', f_s8, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5462,15 +5329,64 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_bdapqpc: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_addoq.f INT f_s8; - 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_s8) = f_s8; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bdapqpc", "f_s8 0x%x", 'x', f_s8, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bdapqpc", "f_s8 0x%x", 'x', f_s8, (char *) 0)); + +#if WITH_PROFILE_MODEL_P + /* Record the fields for profiling. */ + if (PROFILE_MODEL_P (current_cpu)) + { + } +#endif +#undef FLD + return idesc; + } + + extract_sfmt_bdap_32_pc: + { + const IDESC *idesc = &crisv10f_insn_data[itype]; + CGEN_INSN_WORD insn = base_insn; +#define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f + INT f_indir_pc__dword; + /* Contents of trailing part of insn. */ + UINT word_1; + + word_1 = GETIMEMUSI (current_cpu, pc + 2); + f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0)); + + /* Record the fields for the semantic handler. */ + FLD (f_indir_pc__dword) = f_indir_pc__dword; + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bdap_32_pc", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); + +#if WITH_PROFILE_MODEL_P + /* Record the fields for profiling. */ + if (PROFILE_MODEL_P (current_cpu)) + { + } +#endif +#undef FLD + return idesc; + } + + extract_sfmt_move_m_pcplus_p0: + { + const IDESC *idesc = &crisv10f_insn_data[itype]; + CGEN_INSN_WORD insn = base_insn; +#define FLD(f) abuf->fields.sfmt_move_m_spplus_p8.f + UINT f_memmode; + + f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1); + + /* Record the fields for the semantic handler. */ + FLD (f_memmode) = f_memmode; + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_pcplus_p0", "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5478,6 +5394,31 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, { } #endif +#undef FLD + return idesc; + } + + extract_sfmt_move_m_spplus_p8: + { + const IDESC *idesc = &crisv10f_insn_data[itype]; + CGEN_INSN_WORD insn = base_insn; +#define FLD(f) abuf->fields.sfmt_move_m_spplus_p8.f + UINT f_memmode; + + f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1); + + /* Record the fields for the semantic handler. */ + FLD (f_memmode) = f_memmode; + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_spplus_p8", "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + +#if WITH_PROFILE_MODEL_P + /* Record the fields for profiling. */ + if (PROFILE_MODEL_P (current_cpu)) + { + FLD (in_h_gr_SI_14) = 14; + FLD (out_h_gr_SI_14) = 14; + } +#endif #undef FLD return idesc; } @@ -5485,7 +5426,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addo_m_b_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_memmode; @@ -5499,7 +5440,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5517,7 +5458,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addo_m_w_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_memmode; @@ -5531,7 +5472,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5549,7 +5490,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addo_m_d_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f UINT f_operand2; UINT f_memmode; @@ -5563,7 +5504,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_operand2) = f_operand2; FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5581,21 +5522,21 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addo_cb: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__byte) = f_indir_pc__byte; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5611,21 +5552,21 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addo_cw: { const IDESC *idesc = &crisv10f_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. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__word) = f_indir_pc__word; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5641,7 +5582,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addo_cd: { const IDESC *idesc = &crisv10f_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; @@ -5655,7 +5596,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand2) = f_operand2; FLD (f_indir_pc__dword) = f_indir_pc__dword; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5671,7 +5612,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_dip_m: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f UINT f_memmode; UINT f_operand1; @@ -5682,7 +5623,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand1) = f_operand1; FLD (f_memmode) = f_memmode; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */ @@ -5699,8 +5640,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_dip_c: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f + CGEN_INSN_WORD insn = base_insn; +#define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f INT f_indir_pc__dword; /* Contents of trailing part of insn. */ UINT word_1; @@ -5710,7 +5651,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_indir_pc__dword) = f_indir_pc__dword; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0)); #undef FLD return idesc; @@ -5719,7 +5660,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_addi_acr_b_r: { const IDESC *idesc = &crisv10f_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; + CGEN_INSN_WORD insn = base_insn; #define FLD(f) abuf->fields.sfmt_add_b_r.f UINT f_operand2; UINT f_operand1; @@ -5730,7 +5671,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* 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_addi_acr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_acr_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. */ @@ -5747,7 +5688,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, extract_sfmt_biap_pc_b_r: { const IDESC *idesc = &crisv10f_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; @@ -5755,7 +5696,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc, /* Record the fields for the semantic handler. */ FLD (f_operand2) = f_operand2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_biap_pc_b_r", "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); + CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_biap_pc_b_r", "f_operand2 0x%x", 'x', f_operand2, (char *) 0)); #if WITH_PROFILE_MODEL_P /* Record the fields for profiling. */