diff options
author | Andrew Cagney <cagney@redhat.com> | 2002-07-16 14:30:14 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2002-07-16 14:30:14 +0000 |
commit | 7a3085c168dec67f00ccc68ea4623666fa930736 (patch) | |
tree | 016c785340babe5ff06a9e605ef044cbe43e07a7 /sim/fr30/decode.c | |
parent | 25d3fb587f2c199aa9d84925188ab8924bf410a4 (diff) | |
download | fsf-binutils-gdb-7a3085c168dec67f00ccc68ea4623666fa930736.zip fsf-binutils-gdb-7a3085c168dec67f00ccc68ea4623666fa930736.tar.gz fsf-binutils-gdb-7a3085c168dec67f00ccc68ea4623666fa930736.tar.bz2 |
Obsolete fr30.
Diffstat (limited to 'sim/fr30/decode.c')
-rw-r--r-- | sim/fr30/decode.c | 6906 |
1 files changed, 3453 insertions, 3453 deletions
diff --git a/sim/fr30/decode.c b/sim/fr30/decode.c index 445c3ab..dbbcce5 100644 --- a/sim/fr30/decode.c +++ b/sim/fr30/decode.c @@ -1,3453 +1,3453 @@ -/* Simulator instruction decoder for fr30bf. - -THIS FILE IS MACHINE GENERATED WITH CGEN. - -Copyright 1996, 1997, 1998, 1999, 2000, 2001 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 program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -*/ - -#define WANT_CPU fr30bf -#define WANT_CPU_FR30BF - -#include "sim-main.h" -#include "sim-assert.h" - -/* The instruction descriptor array. - This is computed at runtime. Space for it is not malloc'd to save a - teensy bit of cpu in the decoder. Moving it to malloc space is trivial - but won't be done until necessary (we don't currently support the runtime - addition of instructions nor an SMP machine with different cpus). */ -static IDESC fr30bf_insn_data[FR30BF_INSN_XCHB + 1]; - -/* Commas between elements are contained in the macros. - Some of these are conditionally compiled out. */ - -static const struct insn_sem fr30bf_insn_sem[] = -{ - { VIRTUAL_INSN_X_INVALID, FR30BF_INSN_X_INVALID, FR30BF_SFMT_EMPTY }, - { VIRTUAL_INSN_X_AFTER, FR30BF_INSN_X_AFTER, FR30BF_SFMT_EMPTY }, - { VIRTUAL_INSN_X_BEFORE, FR30BF_INSN_X_BEFORE, FR30BF_SFMT_EMPTY }, - { VIRTUAL_INSN_X_CTI_CHAIN, FR30BF_INSN_X_CTI_CHAIN, FR30BF_SFMT_EMPTY }, - { VIRTUAL_INSN_X_CHAIN, FR30BF_INSN_X_CHAIN, FR30BF_SFMT_EMPTY }, - { VIRTUAL_INSN_X_BEGIN, FR30BF_INSN_X_BEGIN, FR30BF_SFMT_EMPTY }, - { FR30_INSN_ADD, FR30BF_INSN_ADD, FR30BF_SFMT_ADD }, - { FR30_INSN_ADDI, FR30BF_INSN_ADDI, FR30BF_SFMT_ADDI }, - { FR30_INSN_ADD2, FR30BF_INSN_ADD2, FR30BF_SFMT_ADD2 }, - { FR30_INSN_ADDC, FR30BF_INSN_ADDC, FR30BF_SFMT_ADDC }, - { FR30_INSN_ADDN, FR30BF_INSN_ADDN, FR30BF_SFMT_ADDN }, - { FR30_INSN_ADDNI, FR30BF_INSN_ADDNI, FR30BF_SFMT_ADDNI }, - { FR30_INSN_ADDN2, FR30BF_INSN_ADDN2, FR30BF_SFMT_ADDN2 }, - { FR30_INSN_SUB, FR30BF_INSN_SUB, FR30BF_SFMT_ADD }, - { FR30_INSN_SUBC, FR30BF_INSN_SUBC, FR30BF_SFMT_ADDC }, - { FR30_INSN_SUBN, FR30BF_INSN_SUBN, FR30BF_SFMT_ADDN }, - { FR30_INSN_CMP, FR30BF_INSN_CMP, FR30BF_SFMT_CMP }, - { FR30_INSN_CMPI, FR30BF_INSN_CMPI, FR30BF_SFMT_CMPI }, - { FR30_INSN_CMP2, FR30BF_INSN_CMP2, FR30BF_SFMT_CMP2 }, - { FR30_INSN_AND, FR30BF_INSN_AND, FR30BF_SFMT_AND }, - { FR30_INSN_OR, FR30BF_INSN_OR, FR30BF_SFMT_AND }, - { FR30_INSN_EOR, FR30BF_INSN_EOR, FR30BF_SFMT_AND }, - { FR30_INSN_ANDM, FR30BF_INSN_ANDM, FR30BF_SFMT_ANDM }, - { FR30_INSN_ANDH, FR30BF_INSN_ANDH, FR30BF_SFMT_ANDH }, - { FR30_INSN_ANDB, FR30BF_INSN_ANDB, FR30BF_SFMT_ANDB }, - { FR30_INSN_ORM, FR30BF_INSN_ORM, FR30BF_SFMT_ANDM }, - { FR30_INSN_ORH, FR30BF_INSN_ORH, FR30BF_SFMT_ANDH }, - { FR30_INSN_ORB, FR30BF_INSN_ORB, FR30BF_SFMT_ANDB }, - { FR30_INSN_EORM, FR30BF_INSN_EORM, FR30BF_SFMT_ANDM }, - { FR30_INSN_EORH, FR30BF_INSN_EORH, FR30BF_SFMT_ANDH }, - { FR30_INSN_EORB, FR30BF_INSN_EORB, FR30BF_SFMT_ANDB }, - { FR30_INSN_BANDL, FR30BF_INSN_BANDL, FR30BF_SFMT_BANDL }, - { FR30_INSN_BORL, FR30BF_INSN_BORL, FR30BF_SFMT_BANDL }, - { FR30_INSN_BEORL, FR30BF_INSN_BEORL, FR30BF_SFMT_BANDL }, - { FR30_INSN_BANDH, FR30BF_INSN_BANDH, FR30BF_SFMT_BANDL }, - { FR30_INSN_BORH, FR30BF_INSN_BORH, FR30BF_SFMT_BANDL }, - { FR30_INSN_BEORH, FR30BF_INSN_BEORH, FR30BF_SFMT_BANDL }, - { FR30_INSN_BTSTL, FR30BF_INSN_BTSTL, FR30BF_SFMT_BTSTL }, - { FR30_INSN_BTSTH, FR30BF_INSN_BTSTH, FR30BF_SFMT_BTSTL }, - { FR30_INSN_MUL, FR30BF_INSN_MUL, FR30BF_SFMT_MUL }, - { FR30_INSN_MULU, FR30BF_INSN_MULU, FR30BF_SFMT_MULU }, - { FR30_INSN_MULH, FR30BF_INSN_MULH, FR30BF_SFMT_MULH }, - { FR30_INSN_MULUH, FR30BF_INSN_MULUH, FR30BF_SFMT_MULH }, - { FR30_INSN_DIV0S, FR30BF_INSN_DIV0S, FR30BF_SFMT_DIV0S }, - { FR30_INSN_DIV0U, FR30BF_INSN_DIV0U, FR30BF_SFMT_DIV0U }, - { FR30_INSN_DIV1, FR30BF_INSN_DIV1, FR30BF_SFMT_DIV1 }, - { FR30_INSN_DIV2, FR30BF_INSN_DIV2, FR30BF_SFMT_DIV2 }, - { FR30_INSN_DIV3, FR30BF_INSN_DIV3, FR30BF_SFMT_DIV3 }, - { FR30_INSN_DIV4S, FR30BF_INSN_DIV4S, FR30BF_SFMT_DIV4S }, - { FR30_INSN_LSL, FR30BF_INSN_LSL, FR30BF_SFMT_LSL }, - { FR30_INSN_LSLI, FR30BF_INSN_LSLI, FR30BF_SFMT_LSLI }, - { FR30_INSN_LSL2, FR30BF_INSN_LSL2, FR30BF_SFMT_LSLI }, - { FR30_INSN_LSR, FR30BF_INSN_LSR, FR30BF_SFMT_LSL }, - { FR30_INSN_LSRI, FR30BF_INSN_LSRI, FR30BF_SFMT_LSLI }, - { FR30_INSN_LSR2, FR30BF_INSN_LSR2, FR30BF_SFMT_LSLI }, - { FR30_INSN_ASR, FR30BF_INSN_ASR, FR30BF_SFMT_LSL }, - { FR30_INSN_ASRI, FR30BF_INSN_ASRI, FR30BF_SFMT_LSLI }, - { FR30_INSN_ASR2, FR30BF_INSN_ASR2, FR30BF_SFMT_LSLI }, - { FR30_INSN_LDI8, FR30BF_INSN_LDI8, FR30BF_SFMT_LDI8 }, - { FR30_INSN_LDI20, FR30BF_INSN_LDI20, FR30BF_SFMT_LDI20 }, - { FR30_INSN_LDI32, FR30BF_INSN_LDI32, FR30BF_SFMT_LDI32 }, - { FR30_INSN_LD, FR30BF_INSN_LD, FR30BF_SFMT_LD }, - { FR30_INSN_LDUH, FR30BF_INSN_LDUH, FR30BF_SFMT_LDUH }, - { FR30_INSN_LDUB, FR30BF_INSN_LDUB, FR30BF_SFMT_LDUB }, - { FR30_INSN_LDR13, FR30BF_INSN_LDR13, FR30BF_SFMT_LDR13 }, - { FR30_INSN_LDR13UH, FR30BF_INSN_LDR13UH, FR30BF_SFMT_LDR13UH }, - { FR30_INSN_LDR13UB, FR30BF_INSN_LDR13UB, FR30BF_SFMT_LDR13UB }, - { FR30_INSN_LDR14, FR30BF_INSN_LDR14, FR30BF_SFMT_LDR14 }, - { FR30_INSN_LDR14UH, FR30BF_INSN_LDR14UH, FR30BF_SFMT_LDR14UH }, - { FR30_INSN_LDR14UB, FR30BF_INSN_LDR14UB, FR30BF_SFMT_LDR14UB }, - { FR30_INSN_LDR15, FR30BF_INSN_LDR15, FR30BF_SFMT_LDR15 }, - { FR30_INSN_LDR15GR, FR30BF_INSN_LDR15GR, FR30BF_SFMT_LDR15GR }, - { FR30_INSN_LDR15DR, FR30BF_INSN_LDR15DR, FR30BF_SFMT_LDR15DR }, - { FR30_INSN_LDR15PS, FR30BF_INSN_LDR15PS, FR30BF_SFMT_LDR15PS }, - { FR30_INSN_ST, FR30BF_INSN_ST, FR30BF_SFMT_ST }, - { FR30_INSN_STH, FR30BF_INSN_STH, FR30BF_SFMT_STH }, - { FR30_INSN_STB, FR30BF_INSN_STB, FR30BF_SFMT_STB }, - { FR30_INSN_STR13, FR30BF_INSN_STR13, FR30BF_SFMT_STR13 }, - { FR30_INSN_STR13H, FR30BF_INSN_STR13H, FR30BF_SFMT_STR13H }, - { FR30_INSN_STR13B, FR30BF_INSN_STR13B, FR30BF_SFMT_STR13B }, - { FR30_INSN_STR14, FR30BF_INSN_STR14, FR30BF_SFMT_STR14 }, - { FR30_INSN_STR14H, FR30BF_INSN_STR14H, FR30BF_SFMT_STR14H }, - { FR30_INSN_STR14B, FR30BF_INSN_STR14B, FR30BF_SFMT_STR14B }, - { FR30_INSN_STR15, FR30BF_INSN_STR15, FR30BF_SFMT_STR15 }, - { FR30_INSN_STR15GR, FR30BF_INSN_STR15GR, FR30BF_SFMT_STR15GR }, - { FR30_INSN_STR15DR, FR30BF_INSN_STR15DR, FR30BF_SFMT_STR15DR }, - { FR30_INSN_STR15PS, FR30BF_INSN_STR15PS, FR30BF_SFMT_STR15PS }, - { FR30_INSN_MOV, FR30BF_INSN_MOV, FR30BF_SFMT_MOV }, - { FR30_INSN_MOVDR, FR30BF_INSN_MOVDR, FR30BF_SFMT_MOVDR }, - { FR30_INSN_MOVPS, FR30BF_INSN_MOVPS, FR30BF_SFMT_MOVPS }, - { FR30_INSN_MOV2DR, FR30BF_INSN_MOV2DR, FR30BF_SFMT_MOV2DR }, - { FR30_INSN_MOV2PS, FR30BF_INSN_MOV2PS, FR30BF_SFMT_MOV2PS }, - { FR30_INSN_JMP, FR30BF_INSN_JMP, FR30BF_SFMT_JMP }, - { FR30_INSN_JMPD, FR30BF_INSN_JMPD, FR30BF_SFMT_JMP }, - { FR30_INSN_CALLR, FR30BF_INSN_CALLR, FR30BF_SFMT_CALLR }, - { FR30_INSN_CALLRD, FR30BF_INSN_CALLRD, FR30BF_SFMT_CALLR }, - { FR30_INSN_CALL, FR30BF_INSN_CALL, FR30BF_SFMT_CALL }, - { FR30_INSN_CALLD, FR30BF_INSN_CALLD, FR30BF_SFMT_CALL }, - { FR30_INSN_RET, FR30BF_INSN_RET, FR30BF_SFMT_RET }, - { FR30_INSN_RET_D, FR30BF_INSN_RET_D, FR30BF_SFMT_RET }, - { FR30_INSN_INT, FR30BF_INSN_INT, FR30BF_SFMT_INT }, - { FR30_INSN_INTE, FR30BF_INSN_INTE, FR30BF_SFMT_INTE }, - { FR30_INSN_RETI, FR30BF_INSN_RETI, FR30BF_SFMT_RETI }, - { FR30_INSN_BRAD, FR30BF_INSN_BRAD, FR30BF_SFMT_BRAD }, - { FR30_INSN_BRA, FR30BF_INSN_BRA, FR30BF_SFMT_BRAD }, - { FR30_INSN_BNOD, FR30BF_INSN_BNOD, FR30BF_SFMT_BNOD }, - { FR30_INSN_BNO, FR30BF_INSN_BNO, FR30BF_SFMT_BNOD }, - { FR30_INSN_BEQD, FR30BF_INSN_BEQD, FR30BF_SFMT_BEQD }, - { FR30_INSN_BEQ, FR30BF_INSN_BEQ, FR30BF_SFMT_BEQD }, - { FR30_INSN_BNED, FR30BF_INSN_BNED, FR30BF_SFMT_BEQD }, - { FR30_INSN_BNE, FR30BF_INSN_BNE, FR30BF_SFMT_BEQD }, - { FR30_INSN_BCD, FR30BF_INSN_BCD, FR30BF_SFMT_BCD }, - { FR30_INSN_BC, FR30BF_INSN_BC, FR30BF_SFMT_BCD }, - { FR30_INSN_BNCD, FR30BF_INSN_BNCD, FR30BF_SFMT_BCD }, - { FR30_INSN_BNC, FR30BF_INSN_BNC, FR30BF_SFMT_BCD }, - { FR30_INSN_BND, FR30BF_INSN_BND, FR30BF_SFMT_BND }, - { FR30_INSN_BN, FR30BF_INSN_BN, FR30BF_SFMT_BND }, - { FR30_INSN_BPD, FR30BF_INSN_BPD, FR30BF_SFMT_BND }, - { FR30_INSN_BP, FR30BF_INSN_BP, FR30BF_SFMT_BND }, - { FR30_INSN_BVD, FR30BF_INSN_BVD, FR30BF_SFMT_BVD }, - { FR30_INSN_BV, FR30BF_INSN_BV, FR30BF_SFMT_BVD }, - { FR30_INSN_BNVD, FR30BF_INSN_BNVD, FR30BF_SFMT_BVD }, - { FR30_INSN_BNV, FR30BF_INSN_BNV, FR30BF_SFMT_BVD }, - { FR30_INSN_BLTD, FR30BF_INSN_BLTD, FR30BF_SFMT_BLTD }, - { FR30_INSN_BLT, FR30BF_INSN_BLT, FR30BF_SFMT_BLTD }, - { FR30_INSN_BGED, FR30BF_INSN_BGED, FR30BF_SFMT_BLTD }, - { FR30_INSN_BGE, FR30BF_INSN_BGE, FR30BF_SFMT_BLTD }, - { FR30_INSN_BLED, FR30BF_INSN_BLED, FR30BF_SFMT_BLED }, - { FR30_INSN_BLE, FR30BF_INSN_BLE, FR30BF_SFMT_BLED }, - { FR30_INSN_BGTD, FR30BF_INSN_BGTD, FR30BF_SFMT_BLED }, - { FR30_INSN_BGT, FR30BF_INSN_BGT, FR30BF_SFMT_BLED }, - { FR30_INSN_BLSD, FR30BF_INSN_BLSD, FR30BF_SFMT_BLSD }, - { FR30_INSN_BLS, FR30BF_INSN_BLS, FR30BF_SFMT_BLSD }, - { FR30_INSN_BHID, FR30BF_INSN_BHID, FR30BF_SFMT_BLSD }, - { FR30_INSN_BHI, FR30BF_INSN_BHI, FR30BF_SFMT_BLSD }, - { FR30_INSN_DMOVR13, FR30BF_INSN_DMOVR13, FR30BF_SFMT_DMOVR13 }, - { FR30_INSN_DMOVR13H, FR30BF_INSN_DMOVR13H, FR30BF_SFMT_DMOVR13H }, - { FR30_INSN_DMOVR13B, FR30BF_INSN_DMOVR13B, FR30BF_SFMT_DMOVR13B }, - { FR30_INSN_DMOVR13PI, FR30BF_INSN_DMOVR13PI, FR30BF_SFMT_DMOVR13PI }, - { FR30_INSN_DMOVR13PIH, FR30BF_INSN_DMOVR13PIH, FR30BF_SFMT_DMOVR13PIH }, - { FR30_INSN_DMOVR13PIB, FR30BF_INSN_DMOVR13PIB, FR30BF_SFMT_DMOVR13PIB }, - { FR30_INSN_DMOVR15PI, FR30BF_INSN_DMOVR15PI, FR30BF_SFMT_DMOVR15PI }, - { FR30_INSN_DMOV2R13, FR30BF_INSN_DMOV2R13, FR30BF_SFMT_DMOV2R13 }, - { FR30_INSN_DMOV2R13H, FR30BF_INSN_DMOV2R13H, FR30BF_SFMT_DMOV2R13H }, - { FR30_INSN_DMOV2R13B, FR30BF_INSN_DMOV2R13B, FR30BF_SFMT_DMOV2R13B }, - { FR30_INSN_DMOV2R13PI, FR30BF_INSN_DMOV2R13PI, FR30BF_SFMT_DMOV2R13PI }, - { FR30_INSN_DMOV2R13PIH, FR30BF_INSN_DMOV2R13PIH, FR30BF_SFMT_DMOV2R13PIH }, - { FR30_INSN_DMOV2R13PIB, FR30BF_INSN_DMOV2R13PIB, FR30BF_SFMT_DMOV2R13PIB }, - { FR30_INSN_DMOV2R15PD, FR30BF_INSN_DMOV2R15PD, FR30BF_SFMT_DMOV2R15PD }, - { FR30_INSN_LDRES, FR30BF_INSN_LDRES, FR30BF_SFMT_LDRES }, - { FR30_INSN_STRES, FR30BF_INSN_STRES, FR30BF_SFMT_LDRES }, - { FR30_INSN_COPOP, FR30BF_INSN_COPOP, FR30BF_SFMT_COPOP }, - { FR30_INSN_COPLD, FR30BF_INSN_COPLD, FR30BF_SFMT_COPOP }, - { FR30_INSN_COPST, FR30BF_INSN_COPST, FR30BF_SFMT_COPOP }, - { FR30_INSN_COPSV, FR30BF_INSN_COPSV, FR30BF_SFMT_COPOP }, - { FR30_INSN_NOP, FR30BF_INSN_NOP, FR30BF_SFMT_BNOD }, - { FR30_INSN_ANDCCR, FR30BF_INSN_ANDCCR, FR30BF_SFMT_ANDCCR }, - { FR30_INSN_ORCCR, FR30BF_INSN_ORCCR, FR30BF_SFMT_ANDCCR }, - { FR30_INSN_STILM, FR30BF_INSN_STILM, FR30BF_SFMT_STILM }, - { FR30_INSN_ADDSP, FR30BF_INSN_ADDSP, FR30BF_SFMT_ADDSP }, - { FR30_INSN_EXTSB, FR30BF_INSN_EXTSB, FR30BF_SFMT_EXTSB }, - { FR30_INSN_EXTUB, FR30BF_INSN_EXTUB, FR30BF_SFMT_EXTUB }, - { FR30_INSN_EXTSH, FR30BF_INSN_EXTSH, FR30BF_SFMT_EXTSH }, - { FR30_INSN_EXTUH, FR30BF_INSN_EXTUH, FR30BF_SFMT_EXTUH }, - { FR30_INSN_LDM0, FR30BF_INSN_LDM0, FR30BF_SFMT_LDM0 }, - { FR30_INSN_LDM1, FR30BF_INSN_LDM1, FR30BF_SFMT_LDM1 }, - { FR30_INSN_STM0, FR30BF_INSN_STM0, FR30BF_SFMT_STM0 }, - { FR30_INSN_STM1, FR30BF_INSN_STM1, FR30BF_SFMT_STM1 }, - { FR30_INSN_ENTER, FR30BF_INSN_ENTER, FR30BF_SFMT_ENTER }, - { FR30_INSN_LEAVE, FR30BF_INSN_LEAVE, FR30BF_SFMT_LEAVE }, - { FR30_INSN_XCHB, FR30BF_INSN_XCHB, FR30BF_SFMT_XCHB }, -}; - -static const struct insn_sem fr30bf_insn_sem_invalid = { - VIRTUAL_INSN_X_INVALID, FR30BF_INSN_X_INVALID, FR30BF_SFMT_EMPTY -}; - -/* Initialize an IDESC from the compile-time computable parts. */ - -static INLINE void -init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t) -{ - const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries; - - id->num = t->index; - id->sfmt = t->sfmt; - if ((int) t->type <= 0) - id->idata = & cgen_virtual_insn_table[- (int) t->type]; - else - id->idata = & insn_table[t->type]; - id->attrs = CGEN_INSN_ATTRS (id->idata); - /* Oh my god, a magic number. */ - id->length = CGEN_INSN_BITSIZE (id->idata) / 8; - -#if WITH_PROFILE_MODEL_P - id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index]; - { - SIM_DESC sd = CPU_STATE (cpu); - SIM_ASSERT (t->index == id->timing->num); - } -#endif - - /* Semantic pointers are initialized elsewhere. */ -} - -/* Initialize the instruction descriptor table. */ - -void -fr30bf_init_idesc_table (SIM_CPU *cpu) -{ - IDESC *id,*tabend; - const struct insn_sem *t,*tend; - int tabsize = sizeof (fr30bf_insn_data) / sizeof (IDESC); - IDESC *table = fr30bf_insn_data; - - memset (table, 0, tabsize * sizeof (IDESC)); - - /* First set all entries to the `invalid insn'. */ - t = & fr30bf_insn_sem_invalid; - for (id = table, tabend = table + tabsize; id < tabend; ++id) - init_idesc (cpu, id, t); - - /* Now fill in the values for the chosen cpu. */ - for (t = fr30bf_insn_sem, tend = t + sizeof (fr30bf_insn_sem) / sizeof (*t); - t != tend; ++t) - { - init_idesc (cpu, & table[t->index], t); - } - - /* Link the IDESC table into the cpu. */ - CPU_IDESC (cpu) = table; -} - -/* Given an instruction, return a pointer to its IDESC entry. */ - -const IDESC * -fr30bf_decode (SIM_CPU *current_cpu, IADDR pc, - CGEN_INSN_INT base_insn, - ARGBUF *abuf) -{ - /* Result of decoder. */ - FR30BF_INSN_TYPE itype; - - { - CGEN_INSN_INT insn = base_insn; - - { - unsigned int val = (((insn >> 8) & (255 << 0))); - switch (val) - { - case 0 : itype = FR30BF_INSN_LDR13;goto extract_sfmt_ldr13; - case 1 : itype = FR30BF_INSN_LDR13UH;goto extract_sfmt_ldr13uh; - case 2 : itype = FR30BF_INSN_LDR13UB;goto extract_sfmt_ldr13ub; - case 3 : itype = FR30BF_INSN_LDR15;goto extract_sfmt_ldr15; - case 4 : itype = FR30BF_INSN_LD;goto extract_sfmt_ld; - case 5 : itype = FR30BF_INSN_LDUH;goto extract_sfmt_lduh; - case 6 : itype = FR30BF_INSN_LDUB;goto extract_sfmt_ldub; - case 7 : - { - unsigned int val = (((insn >> 6) & (1 << 1)) | ((insn >> 4) & (1 << 0))); - switch (val) - { - case 0 : itype = FR30BF_INSN_LDR15GR;goto extract_sfmt_ldr15gr; - case 1 : itype = FR30BF_INSN_MOV2PS;goto extract_sfmt_mov2ps; - case 2 : itype = FR30BF_INSN_LDR15DR;goto extract_sfmt_ldr15dr; - case 3 : itype = FR30BF_INSN_LDR15PS;goto extract_sfmt_ldr15ps; - default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; - } - } - case 8 : itype = FR30BF_INSN_DMOV2R13;goto extract_sfmt_dmov2r13; - case 9 : itype = FR30BF_INSN_DMOV2R13H;goto extract_sfmt_dmov2r13h; - case 10 : itype = FR30BF_INSN_DMOV2R13B;goto extract_sfmt_dmov2r13b; - case 11 : itype = FR30BF_INSN_DMOV2R15PD;goto extract_sfmt_dmov2r15pd; - case 12 : itype = FR30BF_INSN_DMOV2R13PI;goto extract_sfmt_dmov2r13pi; - case 13 : itype = FR30BF_INSN_DMOV2R13PIH;goto extract_sfmt_dmov2r13pih; - case 14 : itype = FR30BF_INSN_DMOV2R13PIB;goto extract_sfmt_dmov2r13pib; - case 15 : itype = FR30BF_INSN_ENTER;goto extract_sfmt_enter; - case 16 : itype = FR30BF_INSN_STR13;goto extract_sfmt_str13; - case 17 : itype = FR30BF_INSN_STR13H;goto extract_sfmt_str13h; - case 18 : itype = FR30BF_INSN_STR13B;goto extract_sfmt_str13b; - case 19 : itype = FR30BF_INSN_STR15;goto extract_sfmt_str15; - case 20 : itype = FR30BF_INSN_ST;goto extract_sfmt_st; - case 21 : itype = FR30BF_INSN_STH;goto extract_sfmt_sth; - case 22 : itype = FR30BF_INSN_STB;goto extract_sfmt_stb; - case 23 : - { - unsigned int val = (((insn >> 6) & (1 << 1)) | ((insn >> 4) & (1 << 0))); - switch (val) - { - case 0 : itype = FR30BF_INSN_STR15GR;goto extract_sfmt_str15gr; - case 1 : itype = FR30BF_INSN_MOVPS;goto extract_sfmt_movps; - case 2 : itype = FR30BF_INSN_STR15DR;goto extract_sfmt_str15dr; - case 3 : itype = FR30BF_INSN_STR15PS;goto extract_sfmt_str15ps; - default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; - } - } - case 24 : itype = FR30BF_INSN_DMOVR13;goto extract_sfmt_dmovr13; - case 25 : itype = FR30BF_INSN_DMOVR13H;goto extract_sfmt_dmovr13h; - case 26 : itype = FR30BF_INSN_DMOVR13B;goto extract_sfmt_dmovr13b; - case 27 : itype = FR30BF_INSN_DMOVR15PI;goto extract_sfmt_dmovr15pi; - case 28 : itype = FR30BF_INSN_DMOVR13PI;goto extract_sfmt_dmovr13pi; - case 29 : itype = FR30BF_INSN_DMOVR13PIH;goto extract_sfmt_dmovr13pih; - case 30 : itype = FR30BF_INSN_DMOVR13PIB;goto extract_sfmt_dmovr13pib; - case 31 : itype = FR30BF_INSN_INT;goto extract_sfmt_int; - case 32 : /* fall through */ - case 33 : /* fall through */ - case 34 : /* fall through */ - case 35 : /* fall through */ - case 36 : /* fall through */ - case 37 : /* fall through */ - case 38 : /* fall through */ - case 39 : /* fall through */ - case 40 : /* fall through */ - case 41 : /* fall through */ - case 42 : /* fall through */ - case 43 : /* fall through */ - case 44 : /* fall through */ - case 45 : /* fall through */ - case 46 : /* fall through */ - case 47 : itype = FR30BF_INSN_LDR14;goto extract_sfmt_ldr14; - case 48 : /* fall through */ - case 49 : /* fall through */ - case 50 : /* fall through */ - case 51 : /* fall through */ - case 52 : /* fall through */ - case 53 : /* fall through */ - case 54 : /* fall through */ - case 55 : /* fall through */ - case 56 : /* fall through */ - case 57 : /* fall through */ - case 58 : /* fall through */ - case 59 : /* fall through */ - case 60 : /* fall through */ - case 61 : /* fall through */ - case 62 : /* fall through */ - case 63 : itype = FR30BF_INSN_STR14;goto extract_sfmt_str14; - case 64 : /* fall through */ - case 65 : /* fall through */ - case 66 : /* fall through */ - case 67 : /* fall through */ - case 68 : /* fall through */ - case 69 : /* fall through */ - case 70 : /* fall through */ - case 71 : /* fall through */ - case 72 : /* fall through */ - case 73 : /* fall through */ - case 74 : /* fall through */ - case 75 : /* fall through */ - case 76 : /* fall through */ - case 77 : /* fall through */ - case 78 : /* fall through */ - case 79 : itype = FR30BF_INSN_LDR14UH;goto extract_sfmt_ldr14uh; - case 80 : /* fall through */ - case 81 : /* fall through */ - case 82 : /* fall through */ - case 83 : /* fall through */ - case 84 : /* fall through */ - case 85 : /* fall through */ - case 86 : /* fall through */ - case 87 : /* fall through */ - case 88 : /* fall through */ - case 89 : /* fall through */ - case 90 : /* fall through */ - case 91 : /* fall through */ - case 92 : /* fall through */ - case 93 : /* fall through */ - case 94 : /* fall through */ - case 95 : itype = FR30BF_INSN_STR14H;goto extract_sfmt_str14h; - case 96 : /* fall through */ - case 97 : /* fall through */ - case 98 : /* fall through */ - case 99 : /* fall through */ - case 100 : /* fall through */ - case 101 : /* fall through */ - case 102 : /* fall through */ - case 103 : /* fall through */ - case 104 : /* fall through */ - case 105 : /* fall through */ - case 106 : /* fall through */ - case 107 : /* fall through */ - case 108 : /* fall through */ - case 109 : /* fall through */ - case 110 : /* fall through */ - case 111 : itype = FR30BF_INSN_LDR14UB;goto extract_sfmt_ldr14ub; - case 112 : /* fall through */ - case 113 : /* fall through */ - case 114 : /* fall through */ - case 115 : /* fall through */ - case 116 : /* fall through */ - case 117 : /* fall through */ - case 118 : /* fall through */ - case 119 : /* fall through */ - case 120 : /* fall through */ - case 121 : /* fall through */ - case 122 : /* fall through */ - case 123 : /* fall through */ - case 124 : /* fall through */ - case 125 : /* fall through */ - case 126 : /* fall through */ - case 127 : itype = FR30BF_INSN_STR14B;goto extract_sfmt_str14b; - case 128 : itype = FR30BF_INSN_BANDL;goto extract_sfmt_bandl; - case 129 : itype = FR30BF_INSN_BANDH;goto extract_sfmt_bandl; - case 130 : itype = FR30BF_INSN_AND;goto extract_sfmt_and; - case 131 : itype = FR30BF_INSN_ANDCCR;goto extract_sfmt_andccr; - case 132 : itype = FR30BF_INSN_ANDM;goto extract_sfmt_andm; - case 133 : itype = FR30BF_INSN_ANDH;goto extract_sfmt_andh; - case 134 : itype = FR30BF_INSN_ANDB;goto extract_sfmt_andb; - case 135 : itype = FR30BF_INSN_STILM;goto extract_sfmt_stilm; - case 136 : itype = FR30BF_INSN_BTSTL;goto extract_sfmt_btstl; - case 137 : itype = FR30BF_INSN_BTSTH;goto extract_sfmt_btstl; - case 138 : itype = FR30BF_INSN_XCHB;goto extract_sfmt_xchb; - case 139 : itype = FR30BF_INSN_MOV;goto extract_sfmt_mov; - case 140 : itype = FR30BF_INSN_LDM0;goto extract_sfmt_ldm0; - case 141 : itype = FR30BF_INSN_LDM1;goto extract_sfmt_ldm1; - case 142 : itype = FR30BF_INSN_STM0;goto extract_sfmt_stm0; - case 143 : itype = FR30BF_INSN_STM1;goto extract_sfmt_stm1; - case 144 : itype = FR30BF_INSN_BORL;goto extract_sfmt_bandl; - case 145 : itype = FR30BF_INSN_BORH;goto extract_sfmt_bandl; - case 146 : itype = FR30BF_INSN_OR;goto extract_sfmt_and; - case 147 : itype = FR30BF_INSN_ORCCR;goto extract_sfmt_andccr; - case 148 : itype = FR30BF_INSN_ORM;goto extract_sfmt_andm; - case 149 : itype = FR30BF_INSN_ORH;goto extract_sfmt_andh; - case 150 : itype = FR30BF_INSN_ORB;goto extract_sfmt_andb; - case 151 : - { - unsigned int val = (((insn >> 4) & (15 << 0))); - switch (val) - { - case 0 : itype = FR30BF_INSN_JMP;goto extract_sfmt_jmp; - case 1 : itype = FR30BF_INSN_CALLR;goto extract_sfmt_callr; - case 2 : itype = FR30BF_INSN_RET;goto extract_sfmt_ret; - case 3 : itype = FR30BF_INSN_RETI;goto extract_sfmt_reti; - case 4 : itype = FR30BF_INSN_DIV0S;goto extract_sfmt_div0s; - case 5 : itype = FR30BF_INSN_DIV0U;goto extract_sfmt_div0u; - case 6 : itype = FR30BF_INSN_DIV1;goto extract_sfmt_div1; - case 7 : itype = FR30BF_INSN_DIV2;goto extract_sfmt_div2; - case 8 : itype = FR30BF_INSN_EXTSB;goto extract_sfmt_extsb; - case 9 : itype = FR30BF_INSN_EXTUB;goto extract_sfmt_extub; - case 10 : itype = FR30BF_INSN_EXTSH;goto extract_sfmt_extsh; - case 11 : itype = FR30BF_INSN_EXTUH;goto extract_sfmt_extuh; - default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; - } - } - case 152 : itype = FR30BF_INSN_BEORL;goto extract_sfmt_bandl; - case 153 : itype = FR30BF_INSN_BEORH;goto extract_sfmt_bandl; - case 154 : itype = FR30BF_INSN_EOR;goto extract_sfmt_and; - case 155 : itype = FR30BF_INSN_LDI20;goto extract_sfmt_ldi20; - case 156 : itype = FR30BF_INSN_EORM;goto extract_sfmt_andm; - case 157 : itype = FR30BF_INSN_EORH;goto extract_sfmt_andh; - case 158 : itype = FR30BF_INSN_EORB;goto extract_sfmt_andb; - case 159 : - { - unsigned int val = (((insn >> 4) & (15 << 0))); - switch (val) - { - case 0 : itype = FR30BF_INSN_JMPD;goto extract_sfmt_jmp; - case 1 : itype = FR30BF_INSN_CALLRD;goto extract_sfmt_callr; - case 2 : itype = FR30BF_INSN_RET_D;goto extract_sfmt_ret; - case 3 : itype = FR30BF_INSN_INTE;goto extract_sfmt_inte; - case 6 : itype = FR30BF_INSN_DIV3;goto extract_sfmt_div3; - case 7 : itype = FR30BF_INSN_DIV4S;goto extract_sfmt_div4s; - case 8 : itype = FR30BF_INSN_LDI32;goto extract_sfmt_ldi32; - case 9 : itype = FR30BF_INSN_LEAVE;goto extract_sfmt_leave; - case 10 : itype = FR30BF_INSN_NOP;goto extract_sfmt_bnod; - case 12 : itype = FR30BF_INSN_COPOP;goto extract_sfmt_copop; - case 13 : itype = FR30BF_INSN_COPLD;goto extract_sfmt_copop; - case 14 : itype = FR30BF_INSN_COPST;goto extract_sfmt_copop; - case 15 : itype = FR30BF_INSN_COPSV;goto extract_sfmt_copop; - default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; - } - } - case 160 : itype = FR30BF_INSN_ADDNI;goto extract_sfmt_addni; - case 161 : itype = FR30BF_INSN_ADDN2;goto extract_sfmt_addn2; - case 162 : itype = FR30BF_INSN_ADDN;goto extract_sfmt_addn; - case 163 : itype = FR30BF_INSN_ADDSP;goto extract_sfmt_addsp; - case 164 : itype = FR30BF_INSN_ADDI;goto extract_sfmt_addi; - case 165 : itype = FR30BF_INSN_ADD2;goto extract_sfmt_add2; - case 166 : itype = FR30BF_INSN_ADD;goto extract_sfmt_add; - case 167 : itype = FR30BF_INSN_ADDC;goto extract_sfmt_addc; - case 168 : itype = FR30BF_INSN_CMPI;goto extract_sfmt_cmpi; - case 169 : itype = FR30BF_INSN_CMP2;goto extract_sfmt_cmp2; - case 170 : itype = FR30BF_INSN_CMP;goto extract_sfmt_cmp; - case 171 : itype = FR30BF_INSN_MULU;goto extract_sfmt_mulu; - case 172 : itype = FR30BF_INSN_SUB;goto extract_sfmt_add; - case 173 : itype = FR30BF_INSN_SUBC;goto extract_sfmt_addc; - case 174 : itype = FR30BF_INSN_SUBN;goto extract_sfmt_addn; - case 175 : itype = FR30BF_INSN_MUL;goto extract_sfmt_mul; - case 176 : itype = FR30BF_INSN_LSRI;goto extract_sfmt_lsli; - case 177 : itype = FR30BF_INSN_LSR2;goto extract_sfmt_lsli; - case 178 : itype = FR30BF_INSN_LSR;goto extract_sfmt_lsl; - case 179 : itype = FR30BF_INSN_MOV2DR;goto extract_sfmt_mov2dr; - case 180 : itype = FR30BF_INSN_LSLI;goto extract_sfmt_lsli; - case 181 : itype = FR30BF_INSN_LSL2;goto extract_sfmt_lsli; - case 182 : itype = FR30BF_INSN_LSL;goto extract_sfmt_lsl; - case 183 : itype = FR30BF_INSN_MOVDR;goto extract_sfmt_movdr; - case 184 : itype = FR30BF_INSN_ASRI;goto extract_sfmt_lsli; - case 185 : itype = FR30BF_INSN_ASR2;goto extract_sfmt_lsli; - case 186 : itype = FR30BF_INSN_ASR;goto extract_sfmt_lsl; - case 187 : itype = FR30BF_INSN_MULUH;goto extract_sfmt_mulh; - case 188 : itype = FR30BF_INSN_LDRES;goto extract_sfmt_ldres; - case 189 : itype = FR30BF_INSN_STRES;goto extract_sfmt_ldres; - case 191 : itype = FR30BF_INSN_MULH;goto extract_sfmt_mulh; - case 192 : /* fall through */ - case 193 : /* fall through */ - case 194 : /* fall through */ - case 195 : /* fall through */ - case 196 : /* fall through */ - case 197 : /* fall through */ - case 198 : /* fall through */ - case 199 : /* fall through */ - case 200 : /* fall through */ - case 201 : /* fall through */ - case 202 : /* fall through */ - case 203 : /* fall through */ - case 204 : /* fall through */ - case 205 : /* fall through */ - case 206 : /* fall through */ - case 207 : itype = FR30BF_INSN_LDI8;goto extract_sfmt_ldi8; - case 208 : /* fall through */ - case 209 : /* fall through */ - case 210 : /* fall through */ - case 211 : /* fall through */ - case 212 : /* fall through */ - case 213 : /* fall through */ - case 214 : /* fall through */ - case 215 : itype = FR30BF_INSN_CALL;goto extract_sfmt_call; - case 216 : /* fall through */ - case 217 : /* fall through */ - case 218 : /* fall through */ - case 219 : /* fall through */ - case 220 : /* fall through */ - case 221 : /* fall through */ - case 222 : /* fall through */ - case 223 : itype = FR30BF_INSN_CALLD;goto extract_sfmt_call; - case 224 : itype = FR30BF_INSN_BRA;goto extract_sfmt_brad; - case 225 : itype = FR30BF_INSN_BNO;goto extract_sfmt_bnod; - case 226 : itype = FR30BF_INSN_BEQ;goto extract_sfmt_beqd; - case 227 : itype = FR30BF_INSN_BNE;goto extract_sfmt_beqd; - case 228 : itype = FR30BF_INSN_BC;goto extract_sfmt_bcd; - case 229 : itype = FR30BF_INSN_BNC;goto extract_sfmt_bcd; - case 230 : itype = FR30BF_INSN_BN;goto extract_sfmt_bnd; - case 231 : itype = FR30BF_INSN_BP;goto extract_sfmt_bnd; - case 232 : itype = FR30BF_INSN_BV;goto extract_sfmt_bvd; - case 233 : itype = FR30BF_INSN_BNV;goto extract_sfmt_bvd; - case 234 : itype = FR30BF_INSN_BLT;goto extract_sfmt_bltd; - case 235 : itype = FR30BF_INSN_BGE;goto extract_sfmt_bltd; - case 236 : itype = FR30BF_INSN_BLE;goto extract_sfmt_bled; - case 237 : itype = FR30BF_INSN_BGT;goto extract_sfmt_bled; - case 238 : itype = FR30BF_INSN_BLS;goto extract_sfmt_blsd; - case 239 : itype = FR30BF_INSN_BHI;goto extract_sfmt_blsd; - case 240 : itype = FR30BF_INSN_BRAD;goto extract_sfmt_brad; - case 241 : itype = FR30BF_INSN_BNOD;goto extract_sfmt_bnod; - case 242 : itype = FR30BF_INSN_BEQD;goto extract_sfmt_beqd; - case 243 : itype = FR30BF_INSN_BNED;goto extract_sfmt_beqd; - case 244 : itype = FR30BF_INSN_BCD;goto extract_sfmt_bcd; - case 245 : itype = FR30BF_INSN_BNCD;goto extract_sfmt_bcd; - case 246 : itype = FR30BF_INSN_BND;goto extract_sfmt_bnd; - case 247 : itype = FR30BF_INSN_BPD;goto extract_sfmt_bnd; - case 248 : itype = FR30BF_INSN_BVD;goto extract_sfmt_bvd; - case 249 : itype = FR30BF_INSN_BNVD;goto extract_sfmt_bvd; - case 250 : itype = FR30BF_INSN_BLTD;goto extract_sfmt_bltd; - case 251 : itype = FR30BF_INSN_BGED;goto extract_sfmt_bltd; - case 252 : itype = FR30BF_INSN_BLED;goto extract_sfmt_bled; - case 253 : itype = FR30BF_INSN_BGTD;goto extract_sfmt_bled; - case 254 : itype = FR30BF_INSN_BLSD;goto extract_sfmt_blsd; - case 255 : itype = FR30BF_INSN_BHID;goto extract_sfmt_blsd; - default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; - } - } - } - - /* The instruction has been decoded, now extract the fields. */ - - extract_sfmt_empty: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; -#define FLD(f) abuf->fields.fmt_empty.f - - - /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0)); - -#undef FLD - return idesc; - } - - extract_sfmt_add: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_addi: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_addi.f - UINT f_u4; - UINT f_Ri; - - f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_u4) = f_u4; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_add2: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add2.f - SI f_m4; - UINT f_Ri; - - f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4)))); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_m4) = f_m4; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_addc: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_addn: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addn", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_addni: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_addi.f - UINT f_u4; - UINT f_Ri; - - f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_u4) = f_u4; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addni", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_addn2: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add2.f - SI f_m4; - UINT f_Ri; - - f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4)))); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_m4) = f_m4; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addn2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_cmp: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_cmpi: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_addi.f - UINT f_u4; - UINT f_Ri; - - f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_u4) = f_u4; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpi", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_cmp2: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add2.f - SI f_m4; - UINT f_Ri; - - f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4)))); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_m4) = f_m4; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_and: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_andm: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andm", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_andh: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andh", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_andb: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_bandl: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_addi.f - UINT f_u4; - UINT f_Ri; - - f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_u4) = f_u4; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bandl", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_btstl: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_addi.f - UINT f_u4; - UINT f_Ri; - - f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_u4) = f_u4; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstl", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_mul: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mul", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_mulu: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulu", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_mulh: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulh", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_div0s: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_mov2dr.f - UINT f_Ri; - - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0s", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_div0u: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; -#define FLD(f) abuf->fields.fmt_empty.f - - - /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0u", (char *) 0)); - -#undef FLD - return idesc; - } - - extract_sfmt_div1: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_mov2dr.f - UINT f_Ri; - - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div1", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_div2: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_mov2dr.f - UINT f_Ri; - - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div2", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_div3: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; -#define FLD(f) abuf->fields.fmt_empty.f - - - /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div3", (char *) 0)); - -#undef FLD - return idesc; - } - - extract_sfmt_div4s: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; -#define FLD(f) abuf->fields.fmt_empty.f - - - /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div4s", (char *) 0)); - -#undef FLD - return idesc; - } - - extract_sfmt_lsl: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsl", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_lsli: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_addi.f - UINT f_u4; - UINT f_Ri; - - f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_u4) = f_u4; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsli", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldi8: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldi8.f - UINT f_i8; - UINT f_Ri; - - f_i8 = EXTRACT_MSB0_UINT (insn, 16, 4, 8); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_i8) = f_i8; - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi8", "f_i8 0x%x", 'x', f_i8, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldi20: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldi20.f - UINT f_i20_16; - UINT f_i20_4; - UINT f_Ri; - UINT f_i20; - /* Contents of trailing part of insn. */ - UINT word_1; - - word_1 = GETIMEMUHI (current_cpu, pc + 2); - f_i20_16 = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 0)); - f_i20_4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -{ - f_i20 = ((((f_i20_4) << (16))) | (f_i20_16)); -} - - /* Record the fields for the semantic handler. */ - FLD (f_i20) = f_i20; - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi20", "f_i20 0x%x", 'x', f_i20, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldi32: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldi32.f - UINT f_i32; - UINT f_Ri; - /* Contents of trailing part of insn. */ - UINT word_1; - UINT word_2; - - word_1 = GETIMEMUHI (current_cpu, pc + 2); - word_2 = GETIMEMUHI (current_cpu, pc + 4); - f_i32 = (0|(EXTRACT_MSB0_UINT (word_2, 16, 0, 16) << 0)|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 16)); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_i32) = f_i32; - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi32", "f_i32 0x%x", 'x', f_i32, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ld: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldr13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rj) = f_Rj; - FLD (f_Ri) = f_Ri; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Rj) = f_Rj; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_lduh: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldr13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rj) = f_Rj; - FLD (f_Ri) = f_Ri; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lduh", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Rj) = f_Rj; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldub: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldr13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rj) = f_Rj; - FLD (f_Ri) = f_Ri; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldub", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Rj) = f_Rj; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldr13: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldr13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rj) = f_Rj; - FLD (f_Ri) = f_Ri; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Rj) = f_Rj; - FLD (in_h_gr_SI_13) = 13; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldr13uh: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldr13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rj) = f_Rj; - FLD (f_Ri) = f_Ri; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13uh", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Rj) = f_Rj; - FLD (in_h_gr_SI_13) = 13; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldr13ub: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldr13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rj) = f_Rj; - FLD (f_Ri) = f_Ri; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13ub", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Rj) = f_Rj; - FLD (in_h_gr_SI_13) = 13; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldr14: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldr14.f - SI f_disp10; - UINT f_Ri; - - f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2)); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_disp10) = f_disp10; - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14", "f_disp10 0x%x", 'x', f_disp10, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (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_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldr14uh: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldr14uh.f - SI f_disp9; - UINT f_Ri; - - f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1)); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_disp9) = f_disp9; - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14uh", "f_disp9 0x%x", 'x', f_disp9, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (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_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldr14ub: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldr14ub.f - INT f_disp8; - UINT f_Ri; - - f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_disp8) = f_disp8; - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14ub", "f_disp8 0x%x", 'x', f_disp8, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (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_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldr15: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldr15.f - USI f_udisp6; - UINT f_Ri; - - f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2)); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_udisp6) = f_udisp6; - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15", "f_udisp6 0x%x", 'x', f_udisp6, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_15) = 15; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldr15gr: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldr15gr.f - UINT f_Ri; - - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15gr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_15) = 15; - FLD (out_Ri) = f_Ri; - FLD (out_h_gr_SI_15) = 15; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldr15dr: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldr15dr.f - UINT f_Rs2; - - f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rs2) = f_Rs2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15dr", "f_Rs2 0x%x", 'x', f_Rs2, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_15) = 15; - FLD (out_h_gr_SI_15) = 15; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldr15ps: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; -#define FLD(f) abuf->fields.sfmt_addsp.f - - - /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15ps", (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_15) = 15; - FLD (out_h_gr_SI_15) = 15; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_st: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_sth: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_stb: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_str13: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - FLD (in_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_str13h: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13h", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - FLD (in_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_str13b: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13b", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - FLD (in_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_str14: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str14.f - SI f_disp10; - UINT f_Ri; - - f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2)); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_disp10) = f_disp10; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14", "f_Ri 0x%x", 'x', f_Ri, "f_disp10 0x%x", 'x', f_disp10, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_h_gr_SI_14) = 14; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_str14h: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str14h.f - SI f_disp9; - UINT f_Ri; - - f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1)); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_disp9) = f_disp9; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14h", "f_Ri 0x%x", 'x', f_Ri, "f_disp9 0x%x", 'x', f_disp9, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_h_gr_SI_14) = 14; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_str14b: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str14b.f - INT f_disp8; - UINT f_Ri; - - f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_disp8) = f_disp8; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14b", "f_Ri 0x%x", 'x', f_Ri, "f_disp8 0x%x", 'x', f_disp8, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_h_gr_SI_14) = 14; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_str15: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str15.f - USI f_udisp6; - UINT f_Ri; - - f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2)); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_udisp6) = f_udisp6; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15", "f_Ri 0x%x", 'x', f_Ri, "f_udisp6 0x%x", 'x', f_udisp6, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_h_gr_SI_15) = 15; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_str15gr: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_str15gr.f - UINT f_Ri; - - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15gr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_h_gr_SI_15) = 15; - FLD (out_h_gr_SI_15) = 15; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_str15dr: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldr15dr.f - UINT f_Rs2; - - f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rs2) = f_Rs2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15dr", "f_Rs2 0x%x", 'x', f_Rs2, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_15) = 15; - FLD (out_h_gr_SI_15) = 15; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_str15ps: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; -#define FLD(f) abuf->fields.sfmt_addsp.f - - - /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15ps", (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_15) = 15; - FLD (out_h_gr_SI_15) = 15; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_mov: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldr13.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rj) = f_Rj; - FLD (f_Ri) = f_Ri; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Rj) = f_Rj; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_movdr: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_movdr.f - UINT f_Rs1; - UINT f_Ri; - - f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rs1) = f_Rs1; - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movdr", "f_Rs1 0x%x", 'x', f_Rs1, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_movps: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_movdr.f - UINT f_Ri; - - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movps", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_mov2dr: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_mov2dr.f - UINT f_Rs1; - UINT f_Ri; - - f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rs1) = f_Rs1; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov2dr", "f_Ri 0x%x", 'x', f_Ri, "f_Rs1 0x%x", 'x', f_Rs1, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_mov2ps: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_mov2dr.f - UINT f_Ri; - - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov2ps", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_jmp: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_mov2dr.f - UINT f_Ri; - - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmp", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_callr: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_mov2dr.f - UINT f_Ri; - - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_callr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_call: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_call.f - SI f_rel12; - - f_rel12 = ((((EXTRACT_MSB0_INT (insn, 16, 5, 11)) << (1))) + (((pc) + (2)))); - - /* Record the fields for the semantic handler. */ - FLD (i_label12) = f_rel12; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_call", "label12 0x%x", 'x', f_rel12, (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_ret: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; -#define FLD(f) abuf->fields.fmt_empty.f - - - /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ret", (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_int: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_int.f - UINT f_u8; - - f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); - - /* Record the fields for the semantic handler. */ - FLD (f_u8) = f_u8; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_int", "f_u8 0x%x", 'x', f_u8, (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_inte: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; -#define FLD(f) abuf->fields.fmt_empty.f - - - /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_inte", (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_reti: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; -#define FLD(f) abuf->fields.fmt_empty.f - - - /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_reti", (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_brad: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_brad.f - SI f_rel9; - - f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); - - /* Record the fields for the semantic handler. */ - FLD (i_label9) = f_rel9; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brad", "label9 0x%x", 'x', f_rel9, (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_bnod: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; -#define FLD(f) abuf->fields.fmt_empty.f - - - /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnod", (char *) 0)); - -#undef FLD - return idesc; - } - - extract_sfmt_beqd: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_brad.f - SI f_rel9; - - f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); - - /* Record the fields for the semantic handler. */ - FLD (i_label9) = f_rel9; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqd", "label9 0x%x", 'x', f_rel9, (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_bcd: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_brad.f - SI f_rel9; - - f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); - - /* Record the fields for the semantic handler. */ - FLD (i_label9) = f_rel9; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcd", "label9 0x%x", 'x', f_rel9, (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_bnd: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_brad.f - SI f_rel9; - - f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); - - /* Record the fields for the semantic handler. */ - FLD (i_label9) = f_rel9; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnd", "label9 0x%x", 'x', f_rel9, (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_bvd: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_brad.f - SI f_rel9; - - f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); - - /* Record the fields for the semantic handler. */ - FLD (i_label9) = f_rel9; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bvd", "label9 0x%x", 'x', f_rel9, (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_bltd: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_brad.f - SI f_rel9; - - f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); - - /* Record the fields for the semantic handler. */ - FLD (i_label9) = f_rel9; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bltd", "label9 0x%x", 'x', f_rel9, (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_bled: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_brad.f - SI f_rel9; - - f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); - - /* Record the fields for the semantic handler. */ - FLD (i_label9) = f_rel9; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bled", "label9 0x%x", 'x', f_rel9, (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_blsd: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_brad.f - SI f_rel9; - - f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); - - /* Record the fields for the semantic handler. */ - FLD (i_label9) = f_rel9; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_blsd", "label9 0x%x", 'x', f_rel9, (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_dmovr13: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_dmovr13pi.f - USI f_dir10; - - f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); - - /* Record the fields for the semantic handler. */ - FLD (f_dir10) = f_dir10; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_dmovr13h: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_dmovr13pih.f - USI f_dir9; - - f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); - - /* Record the fields for the semantic handler. */ - FLD (f_dir9) = f_dir9; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13h", "f_dir9 0x%x", 'x', f_dir9, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_dmovr13b: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_dmovr13pib.f - UINT f_dir8; - - f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); - - /* Record the fields for the semantic handler. */ - FLD (f_dir8) = f_dir8; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13b", "f_dir8 0x%x", 'x', f_dir8, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_dmovr13pi: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_dmovr13pi.f - USI f_dir10; - - f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); - - /* Record the fields for the semantic handler. */ - FLD (f_dir10) = f_dir10; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_13) = 13; - FLD (out_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_dmovr13pih: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_dmovr13pih.f - USI f_dir9; - - f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); - - /* Record the fields for the semantic handler. */ - FLD (f_dir9) = f_dir9; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pih", "f_dir9 0x%x", 'x', f_dir9, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_13) = 13; - FLD (out_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_dmovr13pib: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_dmovr13pib.f - UINT f_dir8; - - f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); - - /* Record the fields for the semantic handler. */ - FLD (f_dir8) = f_dir8; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pib", "f_dir8 0x%x", 'x', f_dir8, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_13) = 13; - FLD (out_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_dmovr15pi: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_dmovr15pi.f - USI f_dir10; - - f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); - - /* Record the fields for the semantic handler. */ - FLD (f_dir10) = f_dir10; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr15pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_15) = 15; - FLD (out_h_gr_SI_15) = 15; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_dmov2r13: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_dmovr13pi.f - USI f_dir10; - - f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); - - /* Record the fields for the semantic handler. */ - FLD (f_dir10) = f_dir10; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (out_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_dmov2r13h: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_dmovr13pih.f - USI f_dir9; - - f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); - - /* Record the fields for the semantic handler. */ - FLD (f_dir9) = f_dir9; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13h", "f_dir9 0x%x", 'x', f_dir9, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (out_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_dmov2r13b: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_dmovr13pib.f - UINT f_dir8; - - f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); - - /* Record the fields for the semantic handler. */ - FLD (f_dir8) = f_dir8; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13b", "f_dir8 0x%x", 'x', f_dir8, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (out_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_dmov2r13pi: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_dmovr13pi.f - USI f_dir10; - - f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); - - /* Record the fields for the semantic handler. */ - FLD (f_dir10) = f_dir10; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_13) = 13; - FLD (out_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_dmov2r13pih: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_dmovr13pih.f - USI f_dir9; - - f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); - - /* Record the fields for the semantic handler. */ - FLD (f_dir9) = f_dir9; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pih", "f_dir9 0x%x", 'x', f_dir9, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_13) = 13; - FLD (out_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_dmov2r13pib: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_dmovr13pib.f - UINT f_dir8; - - f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); - - /* Record the fields for the semantic handler. */ - FLD (f_dir8) = f_dir8; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pib", "f_dir8 0x%x", 'x', f_dir8, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_13) = 13; - FLD (out_h_gr_SI_13) = 13; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_dmov2r15pd: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_dmovr15pi.f - USI f_dir10; - - f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); - - /* Record the fields for the semantic handler. */ - FLD (f_dir10) = f_dir10; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r15pd", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_15) = 15; - FLD (out_h_gr_SI_15) = 15; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldres: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add2.f - UINT f_Ri; - - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldres", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_copop: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; -#define FLD(f) abuf->fields.fmt_empty.f - /* Contents of trailing part of insn. */ - UINT word_1; - - word_1 = GETIMEMUHI (current_cpu, pc + 2); - - /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_copop", (char *) 0)); - -#undef FLD - return idesc; - } - - extract_sfmt_andccr: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_int.f - UINT f_u8; - - f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); - - /* Record the fields for the semantic handler. */ - FLD (f_u8) = f_u8; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andccr", "f_u8 0x%x", 'x', f_u8, (char *) 0)); - -#undef FLD - return idesc; - } - - extract_sfmt_stilm: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_int.f - UINT f_u8; - - f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); - - /* Record the fields for the semantic handler. */ - FLD (f_u8) = f_u8; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stilm", "f_u8 0x%x", 'x', f_u8, (char *) 0)); - -#undef FLD - return idesc; - } - - extract_sfmt_addsp: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_addsp.f - SI f_s10; - - f_s10 = ((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (2)); - - /* Record the fields for the semantic handler. */ - FLD (f_s10) = f_s10; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addsp", "f_s10 0x%x", 'x', f_s10, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_15) = 15; - FLD (out_h_gr_SI_15) = 15; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_extsb: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add2.f - UINT f_Ri; - - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsb", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_extub: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add2.f - UINT f_Ri; - - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extub", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_extsh: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add2.f - UINT f_Ri; - - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsh", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_extuh: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add2.f - UINT f_Ri; - - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extuh", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldm0: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldm0.f - UINT f_reglist_low_ld; - - f_reglist_low_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8); - - /* Record the fields for the semantic handler. */ - FLD (f_reglist_low_ld) = f_reglist_low_ld; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldm0", "f_reglist_low_ld 0x%x", 'x', f_reglist_low_ld, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_15) = 15; - FLD (out_h_gr_SI_0) = 0; - FLD (out_h_gr_SI_1) = 1; - FLD (out_h_gr_SI_15) = 15; - FLD (out_h_gr_SI_2) = 2; - FLD (out_h_gr_SI_3) = 3; - FLD (out_h_gr_SI_4) = 4; - FLD (out_h_gr_SI_5) = 5; - FLD (out_h_gr_SI_6) = 6; - FLD (out_h_gr_SI_7) = 7; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_ldm1: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_ldm1.f - UINT f_reglist_hi_ld; - - f_reglist_hi_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8); - - /* Record the fields for the semantic handler. */ - FLD (f_reglist_hi_ld) = f_reglist_hi_ld; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldm1", "f_reglist_hi_ld 0x%x", 'x', f_reglist_hi_ld, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_15) = 15; - FLD (out_h_gr_SI_10) = 10; - FLD (out_h_gr_SI_11) = 11; - FLD (out_h_gr_SI_12) = 12; - FLD (out_h_gr_SI_13) = 13; - FLD (out_h_gr_SI_14) = 14; - FLD (out_h_gr_SI_15) = 15; - FLD (out_h_gr_SI_8) = 8; - FLD (out_h_gr_SI_9) = 9; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_stm0: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_stm0.f - UINT f_reglist_low_st; - - f_reglist_low_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8); - - /* Record the fields for the semantic handler. */ - FLD (f_reglist_low_st) = f_reglist_low_st; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stm0", "f_reglist_low_st 0x%x", 'x', f_reglist_low_st, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_0) = 0; - FLD (in_h_gr_SI_1) = 1; - FLD (in_h_gr_SI_15) = 15; - FLD (in_h_gr_SI_2) = 2; - FLD (in_h_gr_SI_3) = 3; - FLD (in_h_gr_SI_4) = 4; - FLD (in_h_gr_SI_5) = 5; - FLD (in_h_gr_SI_6) = 6; - FLD (in_h_gr_SI_7) = 7; - FLD (out_h_gr_SI_15) = 15; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_stm1: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_stm1.f - UINT f_reglist_hi_st; - - f_reglist_hi_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8); - - /* Record the fields for the semantic handler. */ - FLD (f_reglist_hi_st) = f_reglist_hi_st; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stm1", "f_reglist_hi_st 0x%x", 'x', f_reglist_hi_st, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_h_gr_SI_10) = 10; - FLD (in_h_gr_SI_11) = 11; - FLD (in_h_gr_SI_12) = 12; - FLD (in_h_gr_SI_13) = 13; - FLD (in_h_gr_SI_14) = 14; - FLD (in_h_gr_SI_15) = 15; - FLD (in_h_gr_SI_8) = 8; - FLD (in_h_gr_SI_9) = 9; - FLD (out_h_gr_SI_15) = 15; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_enter: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_enter.f - USI f_u10; - - f_u10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); - - /* Record the fields for the semantic handler. */ - FLD (f_u10) = f_u10; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_enter", "f_u10 0x%x", 'x', f_u10, (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 (in_h_gr_SI_15) = 15; - FLD (out_h_gr_SI_14) = 14; - FLD (out_h_gr_SI_15) = 15; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_leave: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; -#define FLD(f) abuf->fields.sfmt_enter.f - - - /* Record the fields for the semantic handler. */ - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_leave", (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 (in_h_gr_SI_15) = 15; - FLD (out_h_gr_SI_14) = 14; - FLD (out_h_gr_SI_15) = 15; - } -#endif -#undef FLD - return idesc; - } - - extract_sfmt_xchb: - { - const IDESC *idesc = &fr30bf_insn_data[itype]; - CGEN_INSN_INT insn = base_insn; -#define FLD(f) abuf->fields.sfmt_add.f - UINT f_Rj; - UINT f_Ri; - - f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Ri) = f_Ri; - FLD (f_Rj) = f_Rj; - FLD (i_Ri) = & CPU (h_gr)[f_Ri]; - FLD (i_Rj) = & CPU (h_gr)[f_Rj]; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_xchb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); - -#if WITH_PROFILE_MODEL_P - /* Record the fields for profiling. */ - if (PROFILE_MODEL_P (current_cpu)) - { - FLD (in_Ri) = f_Ri; - FLD (in_Rj) = f_Rj; - FLD (out_Ri) = f_Ri; - } -#endif -#undef FLD - return idesc; - } - -} +// OBSOLETE /* Simulator instruction decoder for fr30bf. +// OBSOLETE +// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN. +// OBSOLETE +// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +// OBSOLETE +// OBSOLETE This file is part of the GNU simulators. +// OBSOLETE +// OBSOLETE This program is free software; you can redistribute it and/or modify +// OBSOLETE it under the terms of the GNU General Public License as published by +// OBSOLETE the Free Software Foundation; either version 2, or (at your option) +// OBSOLETE any later version. +// OBSOLETE +// OBSOLETE This program is distributed in the hope that it will be useful, +// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of +// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// OBSOLETE GNU General Public License for more details. +// OBSOLETE +// OBSOLETE You should have received a copy of the GNU General Public License along +// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., +// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// OBSOLETE +// OBSOLETE */ +// OBSOLETE +// OBSOLETE #define WANT_CPU fr30bf +// OBSOLETE #define WANT_CPU_FR30BF +// OBSOLETE +// OBSOLETE #include "sim-main.h" +// OBSOLETE #include "sim-assert.h" +// OBSOLETE +// OBSOLETE /* The instruction descriptor array. +// OBSOLETE This is computed at runtime. Space for it is not malloc'd to save a +// OBSOLETE teensy bit of cpu in the decoder. Moving it to malloc space is trivial +// OBSOLETE but won't be done until necessary (we don't currently support the runtime +// OBSOLETE addition of instructions nor an SMP machine with different cpus). */ +// OBSOLETE static IDESC fr30bf_insn_data[FR30BF_INSN_XCHB + 1]; +// OBSOLETE +// OBSOLETE /* Commas between elements are contained in the macros. +// OBSOLETE Some of these are conditionally compiled out. */ +// OBSOLETE +// OBSOLETE static const struct insn_sem fr30bf_insn_sem[] = +// OBSOLETE { +// OBSOLETE { VIRTUAL_INSN_X_INVALID, FR30BF_INSN_X_INVALID, FR30BF_SFMT_EMPTY }, +// OBSOLETE { VIRTUAL_INSN_X_AFTER, FR30BF_INSN_X_AFTER, FR30BF_SFMT_EMPTY }, +// OBSOLETE { VIRTUAL_INSN_X_BEFORE, FR30BF_INSN_X_BEFORE, FR30BF_SFMT_EMPTY }, +// OBSOLETE { VIRTUAL_INSN_X_CTI_CHAIN, FR30BF_INSN_X_CTI_CHAIN, FR30BF_SFMT_EMPTY }, +// OBSOLETE { VIRTUAL_INSN_X_CHAIN, FR30BF_INSN_X_CHAIN, FR30BF_SFMT_EMPTY }, +// OBSOLETE { VIRTUAL_INSN_X_BEGIN, FR30BF_INSN_X_BEGIN, FR30BF_SFMT_EMPTY }, +// OBSOLETE { FR30_INSN_ADD, FR30BF_INSN_ADD, FR30BF_SFMT_ADD }, +// OBSOLETE { FR30_INSN_ADDI, FR30BF_INSN_ADDI, FR30BF_SFMT_ADDI }, +// OBSOLETE { FR30_INSN_ADD2, FR30BF_INSN_ADD2, FR30BF_SFMT_ADD2 }, +// OBSOLETE { FR30_INSN_ADDC, FR30BF_INSN_ADDC, FR30BF_SFMT_ADDC }, +// OBSOLETE { FR30_INSN_ADDN, FR30BF_INSN_ADDN, FR30BF_SFMT_ADDN }, +// OBSOLETE { FR30_INSN_ADDNI, FR30BF_INSN_ADDNI, FR30BF_SFMT_ADDNI }, +// OBSOLETE { FR30_INSN_ADDN2, FR30BF_INSN_ADDN2, FR30BF_SFMT_ADDN2 }, +// OBSOLETE { FR30_INSN_SUB, FR30BF_INSN_SUB, FR30BF_SFMT_ADD }, +// OBSOLETE { FR30_INSN_SUBC, FR30BF_INSN_SUBC, FR30BF_SFMT_ADDC }, +// OBSOLETE { FR30_INSN_SUBN, FR30BF_INSN_SUBN, FR30BF_SFMT_ADDN }, +// OBSOLETE { FR30_INSN_CMP, FR30BF_INSN_CMP, FR30BF_SFMT_CMP }, +// OBSOLETE { FR30_INSN_CMPI, FR30BF_INSN_CMPI, FR30BF_SFMT_CMPI }, +// OBSOLETE { FR30_INSN_CMP2, FR30BF_INSN_CMP2, FR30BF_SFMT_CMP2 }, +// OBSOLETE { FR30_INSN_AND, FR30BF_INSN_AND, FR30BF_SFMT_AND }, +// OBSOLETE { FR30_INSN_OR, FR30BF_INSN_OR, FR30BF_SFMT_AND }, +// OBSOLETE { FR30_INSN_EOR, FR30BF_INSN_EOR, FR30BF_SFMT_AND }, +// OBSOLETE { FR30_INSN_ANDM, FR30BF_INSN_ANDM, FR30BF_SFMT_ANDM }, +// OBSOLETE { FR30_INSN_ANDH, FR30BF_INSN_ANDH, FR30BF_SFMT_ANDH }, +// OBSOLETE { FR30_INSN_ANDB, FR30BF_INSN_ANDB, FR30BF_SFMT_ANDB }, +// OBSOLETE { FR30_INSN_ORM, FR30BF_INSN_ORM, FR30BF_SFMT_ANDM }, +// OBSOLETE { FR30_INSN_ORH, FR30BF_INSN_ORH, FR30BF_SFMT_ANDH }, +// OBSOLETE { FR30_INSN_ORB, FR30BF_INSN_ORB, FR30BF_SFMT_ANDB }, +// OBSOLETE { FR30_INSN_EORM, FR30BF_INSN_EORM, FR30BF_SFMT_ANDM }, +// OBSOLETE { FR30_INSN_EORH, FR30BF_INSN_EORH, FR30BF_SFMT_ANDH }, +// OBSOLETE { FR30_INSN_EORB, FR30BF_INSN_EORB, FR30BF_SFMT_ANDB }, +// OBSOLETE { FR30_INSN_BANDL, FR30BF_INSN_BANDL, FR30BF_SFMT_BANDL }, +// OBSOLETE { FR30_INSN_BORL, FR30BF_INSN_BORL, FR30BF_SFMT_BANDL }, +// OBSOLETE { FR30_INSN_BEORL, FR30BF_INSN_BEORL, FR30BF_SFMT_BANDL }, +// OBSOLETE { FR30_INSN_BANDH, FR30BF_INSN_BANDH, FR30BF_SFMT_BANDL }, +// OBSOLETE { FR30_INSN_BORH, FR30BF_INSN_BORH, FR30BF_SFMT_BANDL }, +// OBSOLETE { FR30_INSN_BEORH, FR30BF_INSN_BEORH, FR30BF_SFMT_BANDL }, +// OBSOLETE { FR30_INSN_BTSTL, FR30BF_INSN_BTSTL, FR30BF_SFMT_BTSTL }, +// OBSOLETE { FR30_INSN_BTSTH, FR30BF_INSN_BTSTH, FR30BF_SFMT_BTSTL }, +// OBSOLETE { FR30_INSN_MUL, FR30BF_INSN_MUL, FR30BF_SFMT_MUL }, +// OBSOLETE { FR30_INSN_MULU, FR30BF_INSN_MULU, FR30BF_SFMT_MULU }, +// OBSOLETE { FR30_INSN_MULH, FR30BF_INSN_MULH, FR30BF_SFMT_MULH }, +// OBSOLETE { FR30_INSN_MULUH, FR30BF_INSN_MULUH, FR30BF_SFMT_MULH }, +// OBSOLETE { FR30_INSN_DIV0S, FR30BF_INSN_DIV0S, FR30BF_SFMT_DIV0S }, +// OBSOLETE { FR30_INSN_DIV0U, FR30BF_INSN_DIV0U, FR30BF_SFMT_DIV0U }, +// OBSOLETE { FR30_INSN_DIV1, FR30BF_INSN_DIV1, FR30BF_SFMT_DIV1 }, +// OBSOLETE { FR30_INSN_DIV2, FR30BF_INSN_DIV2, FR30BF_SFMT_DIV2 }, +// OBSOLETE { FR30_INSN_DIV3, FR30BF_INSN_DIV3, FR30BF_SFMT_DIV3 }, +// OBSOLETE { FR30_INSN_DIV4S, FR30BF_INSN_DIV4S, FR30BF_SFMT_DIV4S }, +// OBSOLETE { FR30_INSN_LSL, FR30BF_INSN_LSL, FR30BF_SFMT_LSL }, +// OBSOLETE { FR30_INSN_LSLI, FR30BF_INSN_LSLI, FR30BF_SFMT_LSLI }, +// OBSOLETE { FR30_INSN_LSL2, FR30BF_INSN_LSL2, FR30BF_SFMT_LSLI }, +// OBSOLETE { FR30_INSN_LSR, FR30BF_INSN_LSR, FR30BF_SFMT_LSL }, +// OBSOLETE { FR30_INSN_LSRI, FR30BF_INSN_LSRI, FR30BF_SFMT_LSLI }, +// OBSOLETE { FR30_INSN_LSR2, FR30BF_INSN_LSR2, FR30BF_SFMT_LSLI }, +// OBSOLETE { FR30_INSN_ASR, FR30BF_INSN_ASR, FR30BF_SFMT_LSL }, +// OBSOLETE { FR30_INSN_ASRI, FR30BF_INSN_ASRI, FR30BF_SFMT_LSLI }, +// OBSOLETE { FR30_INSN_ASR2, FR30BF_INSN_ASR2, FR30BF_SFMT_LSLI }, +// OBSOLETE { FR30_INSN_LDI8, FR30BF_INSN_LDI8, FR30BF_SFMT_LDI8 }, +// OBSOLETE { FR30_INSN_LDI20, FR30BF_INSN_LDI20, FR30BF_SFMT_LDI20 }, +// OBSOLETE { FR30_INSN_LDI32, FR30BF_INSN_LDI32, FR30BF_SFMT_LDI32 }, +// OBSOLETE { FR30_INSN_LD, FR30BF_INSN_LD, FR30BF_SFMT_LD }, +// OBSOLETE { FR30_INSN_LDUH, FR30BF_INSN_LDUH, FR30BF_SFMT_LDUH }, +// OBSOLETE { FR30_INSN_LDUB, FR30BF_INSN_LDUB, FR30BF_SFMT_LDUB }, +// OBSOLETE { FR30_INSN_LDR13, FR30BF_INSN_LDR13, FR30BF_SFMT_LDR13 }, +// OBSOLETE { FR30_INSN_LDR13UH, FR30BF_INSN_LDR13UH, FR30BF_SFMT_LDR13UH }, +// OBSOLETE { FR30_INSN_LDR13UB, FR30BF_INSN_LDR13UB, FR30BF_SFMT_LDR13UB }, +// OBSOLETE { FR30_INSN_LDR14, FR30BF_INSN_LDR14, FR30BF_SFMT_LDR14 }, +// OBSOLETE { FR30_INSN_LDR14UH, FR30BF_INSN_LDR14UH, FR30BF_SFMT_LDR14UH }, +// OBSOLETE { FR30_INSN_LDR14UB, FR30BF_INSN_LDR14UB, FR30BF_SFMT_LDR14UB }, +// OBSOLETE { FR30_INSN_LDR15, FR30BF_INSN_LDR15, FR30BF_SFMT_LDR15 }, +// OBSOLETE { FR30_INSN_LDR15GR, FR30BF_INSN_LDR15GR, FR30BF_SFMT_LDR15GR }, +// OBSOLETE { FR30_INSN_LDR15DR, FR30BF_INSN_LDR15DR, FR30BF_SFMT_LDR15DR }, +// OBSOLETE { FR30_INSN_LDR15PS, FR30BF_INSN_LDR15PS, FR30BF_SFMT_LDR15PS }, +// OBSOLETE { FR30_INSN_ST, FR30BF_INSN_ST, FR30BF_SFMT_ST }, +// OBSOLETE { FR30_INSN_STH, FR30BF_INSN_STH, FR30BF_SFMT_STH }, +// OBSOLETE { FR30_INSN_STB, FR30BF_INSN_STB, FR30BF_SFMT_STB }, +// OBSOLETE { FR30_INSN_STR13, FR30BF_INSN_STR13, FR30BF_SFMT_STR13 }, +// OBSOLETE { FR30_INSN_STR13H, FR30BF_INSN_STR13H, FR30BF_SFMT_STR13H }, +// OBSOLETE { FR30_INSN_STR13B, FR30BF_INSN_STR13B, FR30BF_SFMT_STR13B }, +// OBSOLETE { FR30_INSN_STR14, FR30BF_INSN_STR14, FR30BF_SFMT_STR14 }, +// OBSOLETE { FR30_INSN_STR14H, FR30BF_INSN_STR14H, FR30BF_SFMT_STR14H }, +// OBSOLETE { FR30_INSN_STR14B, FR30BF_INSN_STR14B, FR30BF_SFMT_STR14B }, +// OBSOLETE { FR30_INSN_STR15, FR30BF_INSN_STR15, FR30BF_SFMT_STR15 }, +// OBSOLETE { FR30_INSN_STR15GR, FR30BF_INSN_STR15GR, FR30BF_SFMT_STR15GR }, +// OBSOLETE { FR30_INSN_STR15DR, FR30BF_INSN_STR15DR, FR30BF_SFMT_STR15DR }, +// OBSOLETE { FR30_INSN_STR15PS, FR30BF_INSN_STR15PS, FR30BF_SFMT_STR15PS }, +// OBSOLETE { FR30_INSN_MOV, FR30BF_INSN_MOV, FR30BF_SFMT_MOV }, +// OBSOLETE { FR30_INSN_MOVDR, FR30BF_INSN_MOVDR, FR30BF_SFMT_MOVDR }, +// OBSOLETE { FR30_INSN_MOVPS, FR30BF_INSN_MOVPS, FR30BF_SFMT_MOVPS }, +// OBSOLETE { FR30_INSN_MOV2DR, FR30BF_INSN_MOV2DR, FR30BF_SFMT_MOV2DR }, +// OBSOLETE { FR30_INSN_MOV2PS, FR30BF_INSN_MOV2PS, FR30BF_SFMT_MOV2PS }, +// OBSOLETE { FR30_INSN_JMP, FR30BF_INSN_JMP, FR30BF_SFMT_JMP }, +// OBSOLETE { FR30_INSN_JMPD, FR30BF_INSN_JMPD, FR30BF_SFMT_JMP }, +// OBSOLETE { FR30_INSN_CALLR, FR30BF_INSN_CALLR, FR30BF_SFMT_CALLR }, +// OBSOLETE { FR30_INSN_CALLRD, FR30BF_INSN_CALLRD, FR30BF_SFMT_CALLR }, +// OBSOLETE { FR30_INSN_CALL, FR30BF_INSN_CALL, FR30BF_SFMT_CALL }, +// OBSOLETE { FR30_INSN_CALLD, FR30BF_INSN_CALLD, FR30BF_SFMT_CALL }, +// OBSOLETE { FR30_INSN_RET, FR30BF_INSN_RET, FR30BF_SFMT_RET }, +// OBSOLETE { FR30_INSN_RET_D, FR30BF_INSN_RET_D, FR30BF_SFMT_RET }, +// OBSOLETE { FR30_INSN_INT, FR30BF_INSN_INT, FR30BF_SFMT_INT }, +// OBSOLETE { FR30_INSN_INTE, FR30BF_INSN_INTE, FR30BF_SFMT_INTE }, +// OBSOLETE { FR30_INSN_RETI, FR30BF_INSN_RETI, FR30BF_SFMT_RETI }, +// OBSOLETE { FR30_INSN_BRAD, FR30BF_INSN_BRAD, FR30BF_SFMT_BRAD }, +// OBSOLETE { FR30_INSN_BRA, FR30BF_INSN_BRA, FR30BF_SFMT_BRAD }, +// OBSOLETE { FR30_INSN_BNOD, FR30BF_INSN_BNOD, FR30BF_SFMT_BNOD }, +// OBSOLETE { FR30_INSN_BNO, FR30BF_INSN_BNO, FR30BF_SFMT_BNOD }, +// OBSOLETE { FR30_INSN_BEQD, FR30BF_INSN_BEQD, FR30BF_SFMT_BEQD }, +// OBSOLETE { FR30_INSN_BEQ, FR30BF_INSN_BEQ, FR30BF_SFMT_BEQD }, +// OBSOLETE { FR30_INSN_BNED, FR30BF_INSN_BNED, FR30BF_SFMT_BEQD }, +// OBSOLETE { FR30_INSN_BNE, FR30BF_INSN_BNE, FR30BF_SFMT_BEQD }, +// OBSOLETE { FR30_INSN_BCD, FR30BF_INSN_BCD, FR30BF_SFMT_BCD }, +// OBSOLETE { FR30_INSN_BC, FR30BF_INSN_BC, FR30BF_SFMT_BCD }, +// OBSOLETE { FR30_INSN_BNCD, FR30BF_INSN_BNCD, FR30BF_SFMT_BCD }, +// OBSOLETE { FR30_INSN_BNC, FR30BF_INSN_BNC, FR30BF_SFMT_BCD }, +// OBSOLETE { FR30_INSN_BND, FR30BF_INSN_BND, FR30BF_SFMT_BND }, +// OBSOLETE { FR30_INSN_BN, FR30BF_INSN_BN, FR30BF_SFMT_BND }, +// OBSOLETE { FR30_INSN_BPD, FR30BF_INSN_BPD, FR30BF_SFMT_BND }, +// OBSOLETE { FR30_INSN_BP, FR30BF_INSN_BP, FR30BF_SFMT_BND }, +// OBSOLETE { FR30_INSN_BVD, FR30BF_INSN_BVD, FR30BF_SFMT_BVD }, +// OBSOLETE { FR30_INSN_BV, FR30BF_INSN_BV, FR30BF_SFMT_BVD }, +// OBSOLETE { FR30_INSN_BNVD, FR30BF_INSN_BNVD, FR30BF_SFMT_BVD }, +// OBSOLETE { FR30_INSN_BNV, FR30BF_INSN_BNV, FR30BF_SFMT_BVD }, +// OBSOLETE { FR30_INSN_BLTD, FR30BF_INSN_BLTD, FR30BF_SFMT_BLTD }, +// OBSOLETE { FR30_INSN_BLT, FR30BF_INSN_BLT, FR30BF_SFMT_BLTD }, +// OBSOLETE { FR30_INSN_BGED, FR30BF_INSN_BGED, FR30BF_SFMT_BLTD }, +// OBSOLETE { FR30_INSN_BGE, FR30BF_INSN_BGE, FR30BF_SFMT_BLTD }, +// OBSOLETE { FR30_INSN_BLED, FR30BF_INSN_BLED, FR30BF_SFMT_BLED }, +// OBSOLETE { FR30_INSN_BLE, FR30BF_INSN_BLE, FR30BF_SFMT_BLED }, +// OBSOLETE { FR30_INSN_BGTD, FR30BF_INSN_BGTD, FR30BF_SFMT_BLED }, +// OBSOLETE { FR30_INSN_BGT, FR30BF_INSN_BGT, FR30BF_SFMT_BLED }, +// OBSOLETE { FR30_INSN_BLSD, FR30BF_INSN_BLSD, FR30BF_SFMT_BLSD }, +// OBSOLETE { FR30_INSN_BLS, FR30BF_INSN_BLS, FR30BF_SFMT_BLSD }, +// OBSOLETE { FR30_INSN_BHID, FR30BF_INSN_BHID, FR30BF_SFMT_BLSD }, +// OBSOLETE { FR30_INSN_BHI, FR30BF_INSN_BHI, FR30BF_SFMT_BLSD }, +// OBSOLETE { FR30_INSN_DMOVR13, FR30BF_INSN_DMOVR13, FR30BF_SFMT_DMOVR13 }, +// OBSOLETE { FR30_INSN_DMOVR13H, FR30BF_INSN_DMOVR13H, FR30BF_SFMT_DMOVR13H }, +// OBSOLETE { FR30_INSN_DMOVR13B, FR30BF_INSN_DMOVR13B, FR30BF_SFMT_DMOVR13B }, +// OBSOLETE { FR30_INSN_DMOVR13PI, FR30BF_INSN_DMOVR13PI, FR30BF_SFMT_DMOVR13PI }, +// OBSOLETE { FR30_INSN_DMOVR13PIH, FR30BF_INSN_DMOVR13PIH, FR30BF_SFMT_DMOVR13PIH }, +// OBSOLETE { FR30_INSN_DMOVR13PIB, FR30BF_INSN_DMOVR13PIB, FR30BF_SFMT_DMOVR13PIB }, +// OBSOLETE { FR30_INSN_DMOVR15PI, FR30BF_INSN_DMOVR15PI, FR30BF_SFMT_DMOVR15PI }, +// OBSOLETE { FR30_INSN_DMOV2R13, FR30BF_INSN_DMOV2R13, FR30BF_SFMT_DMOV2R13 }, +// OBSOLETE { FR30_INSN_DMOV2R13H, FR30BF_INSN_DMOV2R13H, FR30BF_SFMT_DMOV2R13H }, +// OBSOLETE { FR30_INSN_DMOV2R13B, FR30BF_INSN_DMOV2R13B, FR30BF_SFMT_DMOV2R13B }, +// OBSOLETE { FR30_INSN_DMOV2R13PI, FR30BF_INSN_DMOV2R13PI, FR30BF_SFMT_DMOV2R13PI }, +// OBSOLETE { FR30_INSN_DMOV2R13PIH, FR30BF_INSN_DMOV2R13PIH, FR30BF_SFMT_DMOV2R13PIH }, +// OBSOLETE { FR30_INSN_DMOV2R13PIB, FR30BF_INSN_DMOV2R13PIB, FR30BF_SFMT_DMOV2R13PIB }, +// OBSOLETE { FR30_INSN_DMOV2R15PD, FR30BF_INSN_DMOV2R15PD, FR30BF_SFMT_DMOV2R15PD }, +// OBSOLETE { FR30_INSN_LDRES, FR30BF_INSN_LDRES, FR30BF_SFMT_LDRES }, +// OBSOLETE { FR30_INSN_STRES, FR30BF_INSN_STRES, FR30BF_SFMT_LDRES }, +// OBSOLETE { FR30_INSN_COPOP, FR30BF_INSN_COPOP, FR30BF_SFMT_COPOP }, +// OBSOLETE { FR30_INSN_COPLD, FR30BF_INSN_COPLD, FR30BF_SFMT_COPOP }, +// OBSOLETE { FR30_INSN_COPST, FR30BF_INSN_COPST, FR30BF_SFMT_COPOP }, +// OBSOLETE { FR30_INSN_COPSV, FR30BF_INSN_COPSV, FR30BF_SFMT_COPOP }, +// OBSOLETE { FR30_INSN_NOP, FR30BF_INSN_NOP, FR30BF_SFMT_BNOD }, +// OBSOLETE { FR30_INSN_ANDCCR, FR30BF_INSN_ANDCCR, FR30BF_SFMT_ANDCCR }, +// OBSOLETE { FR30_INSN_ORCCR, FR30BF_INSN_ORCCR, FR30BF_SFMT_ANDCCR }, +// OBSOLETE { FR30_INSN_STILM, FR30BF_INSN_STILM, FR30BF_SFMT_STILM }, +// OBSOLETE { FR30_INSN_ADDSP, FR30BF_INSN_ADDSP, FR30BF_SFMT_ADDSP }, +// OBSOLETE { FR30_INSN_EXTSB, FR30BF_INSN_EXTSB, FR30BF_SFMT_EXTSB }, +// OBSOLETE { FR30_INSN_EXTUB, FR30BF_INSN_EXTUB, FR30BF_SFMT_EXTUB }, +// OBSOLETE { FR30_INSN_EXTSH, FR30BF_INSN_EXTSH, FR30BF_SFMT_EXTSH }, +// OBSOLETE { FR30_INSN_EXTUH, FR30BF_INSN_EXTUH, FR30BF_SFMT_EXTUH }, +// OBSOLETE { FR30_INSN_LDM0, FR30BF_INSN_LDM0, FR30BF_SFMT_LDM0 }, +// OBSOLETE { FR30_INSN_LDM1, FR30BF_INSN_LDM1, FR30BF_SFMT_LDM1 }, +// OBSOLETE { FR30_INSN_STM0, FR30BF_INSN_STM0, FR30BF_SFMT_STM0 }, +// OBSOLETE { FR30_INSN_STM1, FR30BF_INSN_STM1, FR30BF_SFMT_STM1 }, +// OBSOLETE { FR30_INSN_ENTER, FR30BF_INSN_ENTER, FR30BF_SFMT_ENTER }, +// OBSOLETE { FR30_INSN_LEAVE, FR30BF_INSN_LEAVE, FR30BF_SFMT_LEAVE }, +// OBSOLETE { FR30_INSN_XCHB, FR30BF_INSN_XCHB, FR30BF_SFMT_XCHB }, +// OBSOLETE }; +// OBSOLETE +// OBSOLETE static const struct insn_sem fr30bf_insn_sem_invalid = { +// OBSOLETE VIRTUAL_INSN_X_INVALID, FR30BF_INSN_X_INVALID, FR30BF_SFMT_EMPTY +// OBSOLETE }; +// OBSOLETE +// OBSOLETE /* Initialize an IDESC from the compile-time computable parts. */ +// OBSOLETE +// OBSOLETE static INLINE void +// OBSOLETE init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t) +// OBSOLETE { +// OBSOLETE const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries; +// OBSOLETE +// OBSOLETE id->num = t->index; +// OBSOLETE id->sfmt = t->sfmt; +// OBSOLETE if ((int) t->type <= 0) +// OBSOLETE id->idata = & cgen_virtual_insn_table[- (int) t->type]; +// OBSOLETE else +// OBSOLETE id->idata = & insn_table[t->type]; +// OBSOLETE id->attrs = CGEN_INSN_ATTRS (id->idata); +// OBSOLETE /* Oh my god, a magic number. */ +// OBSOLETE id->length = CGEN_INSN_BITSIZE (id->idata) / 8; +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index]; +// OBSOLETE { +// OBSOLETE SIM_DESC sd = CPU_STATE (cpu); +// OBSOLETE SIM_ASSERT (t->index == id->timing->num); +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE +// OBSOLETE /* Semantic pointers are initialized elsewhere. */ +// OBSOLETE } +// OBSOLETE +// OBSOLETE /* Initialize the instruction descriptor table. */ +// OBSOLETE +// OBSOLETE void +// OBSOLETE fr30bf_init_idesc_table (SIM_CPU *cpu) +// OBSOLETE { +// OBSOLETE IDESC *id,*tabend; +// OBSOLETE const struct insn_sem *t,*tend; +// OBSOLETE int tabsize = sizeof (fr30bf_insn_data) / sizeof (IDESC); +// OBSOLETE IDESC *table = fr30bf_insn_data; +// OBSOLETE +// OBSOLETE memset (table, 0, tabsize * sizeof (IDESC)); +// OBSOLETE +// OBSOLETE /* First set all entries to the `invalid insn'. */ +// OBSOLETE t = & fr30bf_insn_sem_invalid; +// OBSOLETE for (id = table, tabend = table + tabsize; id < tabend; ++id) +// OBSOLETE init_idesc (cpu, id, t); +// OBSOLETE +// OBSOLETE /* Now fill in the values for the chosen cpu. */ +// OBSOLETE for (t = fr30bf_insn_sem, tend = t + sizeof (fr30bf_insn_sem) / sizeof (*t); +// OBSOLETE t != tend; ++t) +// OBSOLETE { +// OBSOLETE init_idesc (cpu, & table[t->index], t); +// OBSOLETE } +// OBSOLETE +// OBSOLETE /* Link the IDESC table into the cpu. */ +// OBSOLETE CPU_IDESC (cpu) = table; +// OBSOLETE } +// OBSOLETE +// OBSOLETE /* Given an instruction, return a pointer to its IDESC entry. */ +// OBSOLETE +// OBSOLETE const IDESC * +// OBSOLETE fr30bf_decode (SIM_CPU *current_cpu, IADDR pc, +// OBSOLETE CGEN_INSN_INT base_insn, +// OBSOLETE ARGBUF *abuf) +// OBSOLETE { +// OBSOLETE /* Result of decoder. */ +// OBSOLETE FR30BF_INSN_TYPE itype; +// OBSOLETE +// OBSOLETE { +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE +// OBSOLETE { +// OBSOLETE unsigned int val = (((insn >> 8) & (255 << 0))); +// OBSOLETE switch (val) +// OBSOLETE { +// OBSOLETE case 0 : itype = FR30BF_INSN_LDR13;goto extract_sfmt_ldr13; +// OBSOLETE case 1 : itype = FR30BF_INSN_LDR13UH;goto extract_sfmt_ldr13uh; +// OBSOLETE case 2 : itype = FR30BF_INSN_LDR13UB;goto extract_sfmt_ldr13ub; +// OBSOLETE case 3 : itype = FR30BF_INSN_LDR15;goto extract_sfmt_ldr15; +// OBSOLETE case 4 : itype = FR30BF_INSN_LD;goto extract_sfmt_ld; +// OBSOLETE case 5 : itype = FR30BF_INSN_LDUH;goto extract_sfmt_lduh; +// OBSOLETE case 6 : itype = FR30BF_INSN_LDUB;goto extract_sfmt_ldub; +// OBSOLETE case 7 : +// OBSOLETE { +// OBSOLETE unsigned int val = (((insn >> 6) & (1 << 1)) | ((insn >> 4) & (1 << 0))); +// OBSOLETE switch (val) +// OBSOLETE { +// OBSOLETE case 0 : itype = FR30BF_INSN_LDR15GR;goto extract_sfmt_ldr15gr; +// OBSOLETE case 1 : itype = FR30BF_INSN_MOV2PS;goto extract_sfmt_mov2ps; +// OBSOLETE case 2 : itype = FR30BF_INSN_LDR15DR;goto extract_sfmt_ldr15dr; +// OBSOLETE case 3 : itype = FR30BF_INSN_LDR15PS;goto extract_sfmt_ldr15ps; +// OBSOLETE default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; +// OBSOLETE } +// OBSOLETE } +// OBSOLETE case 8 : itype = FR30BF_INSN_DMOV2R13;goto extract_sfmt_dmov2r13; +// OBSOLETE case 9 : itype = FR30BF_INSN_DMOV2R13H;goto extract_sfmt_dmov2r13h; +// OBSOLETE case 10 : itype = FR30BF_INSN_DMOV2R13B;goto extract_sfmt_dmov2r13b; +// OBSOLETE case 11 : itype = FR30BF_INSN_DMOV2R15PD;goto extract_sfmt_dmov2r15pd; +// OBSOLETE case 12 : itype = FR30BF_INSN_DMOV2R13PI;goto extract_sfmt_dmov2r13pi; +// OBSOLETE case 13 : itype = FR30BF_INSN_DMOV2R13PIH;goto extract_sfmt_dmov2r13pih; +// OBSOLETE case 14 : itype = FR30BF_INSN_DMOV2R13PIB;goto extract_sfmt_dmov2r13pib; +// OBSOLETE case 15 : itype = FR30BF_INSN_ENTER;goto extract_sfmt_enter; +// OBSOLETE case 16 : itype = FR30BF_INSN_STR13;goto extract_sfmt_str13; +// OBSOLETE case 17 : itype = FR30BF_INSN_STR13H;goto extract_sfmt_str13h; +// OBSOLETE case 18 : itype = FR30BF_INSN_STR13B;goto extract_sfmt_str13b; +// OBSOLETE case 19 : itype = FR30BF_INSN_STR15;goto extract_sfmt_str15; +// OBSOLETE case 20 : itype = FR30BF_INSN_ST;goto extract_sfmt_st; +// OBSOLETE case 21 : itype = FR30BF_INSN_STH;goto extract_sfmt_sth; +// OBSOLETE case 22 : itype = FR30BF_INSN_STB;goto extract_sfmt_stb; +// OBSOLETE case 23 : +// OBSOLETE { +// OBSOLETE unsigned int val = (((insn >> 6) & (1 << 1)) | ((insn >> 4) & (1 << 0))); +// OBSOLETE switch (val) +// OBSOLETE { +// OBSOLETE case 0 : itype = FR30BF_INSN_STR15GR;goto extract_sfmt_str15gr; +// OBSOLETE case 1 : itype = FR30BF_INSN_MOVPS;goto extract_sfmt_movps; +// OBSOLETE case 2 : itype = FR30BF_INSN_STR15DR;goto extract_sfmt_str15dr; +// OBSOLETE case 3 : itype = FR30BF_INSN_STR15PS;goto extract_sfmt_str15ps; +// OBSOLETE default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; +// OBSOLETE } +// OBSOLETE } +// OBSOLETE case 24 : itype = FR30BF_INSN_DMOVR13;goto extract_sfmt_dmovr13; +// OBSOLETE case 25 : itype = FR30BF_INSN_DMOVR13H;goto extract_sfmt_dmovr13h; +// OBSOLETE case 26 : itype = FR30BF_INSN_DMOVR13B;goto extract_sfmt_dmovr13b; +// OBSOLETE case 27 : itype = FR30BF_INSN_DMOVR15PI;goto extract_sfmt_dmovr15pi; +// OBSOLETE case 28 : itype = FR30BF_INSN_DMOVR13PI;goto extract_sfmt_dmovr13pi; +// OBSOLETE case 29 : itype = FR30BF_INSN_DMOVR13PIH;goto extract_sfmt_dmovr13pih; +// OBSOLETE case 30 : itype = FR30BF_INSN_DMOVR13PIB;goto extract_sfmt_dmovr13pib; +// OBSOLETE case 31 : itype = FR30BF_INSN_INT;goto extract_sfmt_int; +// OBSOLETE case 32 : /* fall through */ +// OBSOLETE case 33 : /* fall through */ +// OBSOLETE case 34 : /* fall through */ +// OBSOLETE case 35 : /* fall through */ +// OBSOLETE case 36 : /* fall through */ +// OBSOLETE case 37 : /* fall through */ +// OBSOLETE case 38 : /* fall through */ +// OBSOLETE case 39 : /* fall through */ +// OBSOLETE case 40 : /* fall through */ +// OBSOLETE case 41 : /* fall through */ +// OBSOLETE case 42 : /* fall through */ +// OBSOLETE case 43 : /* fall through */ +// OBSOLETE case 44 : /* fall through */ +// OBSOLETE case 45 : /* fall through */ +// OBSOLETE case 46 : /* fall through */ +// OBSOLETE case 47 : itype = FR30BF_INSN_LDR14;goto extract_sfmt_ldr14; +// OBSOLETE case 48 : /* fall through */ +// OBSOLETE case 49 : /* fall through */ +// OBSOLETE case 50 : /* fall through */ +// OBSOLETE case 51 : /* fall through */ +// OBSOLETE case 52 : /* fall through */ +// OBSOLETE case 53 : /* fall through */ +// OBSOLETE case 54 : /* fall through */ +// OBSOLETE case 55 : /* fall through */ +// OBSOLETE case 56 : /* fall through */ +// OBSOLETE case 57 : /* fall through */ +// OBSOLETE case 58 : /* fall through */ +// OBSOLETE case 59 : /* fall through */ +// OBSOLETE case 60 : /* fall through */ +// OBSOLETE case 61 : /* fall through */ +// OBSOLETE case 62 : /* fall through */ +// OBSOLETE case 63 : itype = FR30BF_INSN_STR14;goto extract_sfmt_str14; +// OBSOLETE case 64 : /* fall through */ +// OBSOLETE case 65 : /* fall through */ +// OBSOLETE case 66 : /* fall through */ +// OBSOLETE case 67 : /* fall through */ +// OBSOLETE case 68 : /* fall through */ +// OBSOLETE case 69 : /* fall through */ +// OBSOLETE case 70 : /* fall through */ +// OBSOLETE case 71 : /* fall through */ +// OBSOLETE case 72 : /* fall through */ +// OBSOLETE case 73 : /* fall through */ +// OBSOLETE case 74 : /* fall through */ +// OBSOLETE case 75 : /* fall through */ +// OBSOLETE case 76 : /* fall through */ +// OBSOLETE case 77 : /* fall through */ +// OBSOLETE case 78 : /* fall through */ +// OBSOLETE case 79 : itype = FR30BF_INSN_LDR14UH;goto extract_sfmt_ldr14uh; +// OBSOLETE case 80 : /* fall through */ +// OBSOLETE case 81 : /* fall through */ +// OBSOLETE case 82 : /* fall through */ +// OBSOLETE case 83 : /* fall through */ +// OBSOLETE case 84 : /* fall through */ +// OBSOLETE case 85 : /* fall through */ +// OBSOLETE case 86 : /* fall through */ +// OBSOLETE case 87 : /* fall through */ +// OBSOLETE case 88 : /* fall through */ +// OBSOLETE case 89 : /* fall through */ +// OBSOLETE case 90 : /* fall through */ +// OBSOLETE case 91 : /* fall through */ +// OBSOLETE case 92 : /* fall through */ +// OBSOLETE case 93 : /* fall through */ +// OBSOLETE case 94 : /* fall through */ +// OBSOLETE case 95 : itype = FR30BF_INSN_STR14H;goto extract_sfmt_str14h; +// OBSOLETE case 96 : /* fall through */ +// OBSOLETE case 97 : /* fall through */ +// OBSOLETE case 98 : /* fall through */ +// OBSOLETE case 99 : /* fall through */ +// OBSOLETE case 100 : /* fall through */ +// OBSOLETE case 101 : /* fall through */ +// OBSOLETE case 102 : /* fall through */ +// OBSOLETE case 103 : /* fall through */ +// OBSOLETE case 104 : /* fall through */ +// OBSOLETE case 105 : /* fall through */ +// OBSOLETE case 106 : /* fall through */ +// OBSOLETE case 107 : /* fall through */ +// OBSOLETE case 108 : /* fall through */ +// OBSOLETE case 109 : /* fall through */ +// OBSOLETE case 110 : /* fall through */ +// OBSOLETE case 111 : itype = FR30BF_INSN_LDR14UB;goto extract_sfmt_ldr14ub; +// OBSOLETE case 112 : /* fall through */ +// OBSOLETE case 113 : /* fall through */ +// OBSOLETE case 114 : /* fall through */ +// OBSOLETE case 115 : /* fall through */ +// OBSOLETE case 116 : /* fall through */ +// OBSOLETE case 117 : /* fall through */ +// OBSOLETE case 118 : /* fall through */ +// OBSOLETE case 119 : /* fall through */ +// OBSOLETE case 120 : /* fall through */ +// OBSOLETE case 121 : /* fall through */ +// OBSOLETE case 122 : /* fall through */ +// OBSOLETE case 123 : /* fall through */ +// OBSOLETE case 124 : /* fall through */ +// OBSOLETE case 125 : /* fall through */ +// OBSOLETE case 126 : /* fall through */ +// OBSOLETE case 127 : itype = FR30BF_INSN_STR14B;goto extract_sfmt_str14b; +// OBSOLETE case 128 : itype = FR30BF_INSN_BANDL;goto extract_sfmt_bandl; +// OBSOLETE case 129 : itype = FR30BF_INSN_BANDH;goto extract_sfmt_bandl; +// OBSOLETE case 130 : itype = FR30BF_INSN_AND;goto extract_sfmt_and; +// OBSOLETE case 131 : itype = FR30BF_INSN_ANDCCR;goto extract_sfmt_andccr; +// OBSOLETE case 132 : itype = FR30BF_INSN_ANDM;goto extract_sfmt_andm; +// OBSOLETE case 133 : itype = FR30BF_INSN_ANDH;goto extract_sfmt_andh; +// OBSOLETE case 134 : itype = FR30BF_INSN_ANDB;goto extract_sfmt_andb; +// OBSOLETE case 135 : itype = FR30BF_INSN_STILM;goto extract_sfmt_stilm; +// OBSOLETE case 136 : itype = FR30BF_INSN_BTSTL;goto extract_sfmt_btstl; +// OBSOLETE case 137 : itype = FR30BF_INSN_BTSTH;goto extract_sfmt_btstl; +// OBSOLETE case 138 : itype = FR30BF_INSN_XCHB;goto extract_sfmt_xchb; +// OBSOLETE case 139 : itype = FR30BF_INSN_MOV;goto extract_sfmt_mov; +// OBSOLETE case 140 : itype = FR30BF_INSN_LDM0;goto extract_sfmt_ldm0; +// OBSOLETE case 141 : itype = FR30BF_INSN_LDM1;goto extract_sfmt_ldm1; +// OBSOLETE case 142 : itype = FR30BF_INSN_STM0;goto extract_sfmt_stm0; +// OBSOLETE case 143 : itype = FR30BF_INSN_STM1;goto extract_sfmt_stm1; +// OBSOLETE case 144 : itype = FR30BF_INSN_BORL;goto extract_sfmt_bandl; +// OBSOLETE case 145 : itype = FR30BF_INSN_BORH;goto extract_sfmt_bandl; +// OBSOLETE case 146 : itype = FR30BF_INSN_OR;goto extract_sfmt_and; +// OBSOLETE case 147 : itype = FR30BF_INSN_ORCCR;goto extract_sfmt_andccr; +// OBSOLETE case 148 : itype = FR30BF_INSN_ORM;goto extract_sfmt_andm; +// OBSOLETE case 149 : itype = FR30BF_INSN_ORH;goto extract_sfmt_andh; +// OBSOLETE case 150 : itype = FR30BF_INSN_ORB;goto extract_sfmt_andb; +// OBSOLETE case 151 : +// OBSOLETE { +// OBSOLETE unsigned int val = (((insn >> 4) & (15 << 0))); +// OBSOLETE switch (val) +// OBSOLETE { +// OBSOLETE case 0 : itype = FR30BF_INSN_JMP;goto extract_sfmt_jmp; +// OBSOLETE case 1 : itype = FR30BF_INSN_CALLR;goto extract_sfmt_callr; +// OBSOLETE case 2 : itype = FR30BF_INSN_RET;goto extract_sfmt_ret; +// OBSOLETE case 3 : itype = FR30BF_INSN_RETI;goto extract_sfmt_reti; +// OBSOLETE case 4 : itype = FR30BF_INSN_DIV0S;goto extract_sfmt_div0s; +// OBSOLETE case 5 : itype = FR30BF_INSN_DIV0U;goto extract_sfmt_div0u; +// OBSOLETE case 6 : itype = FR30BF_INSN_DIV1;goto extract_sfmt_div1; +// OBSOLETE case 7 : itype = FR30BF_INSN_DIV2;goto extract_sfmt_div2; +// OBSOLETE case 8 : itype = FR30BF_INSN_EXTSB;goto extract_sfmt_extsb; +// OBSOLETE case 9 : itype = FR30BF_INSN_EXTUB;goto extract_sfmt_extub; +// OBSOLETE case 10 : itype = FR30BF_INSN_EXTSH;goto extract_sfmt_extsh; +// OBSOLETE case 11 : itype = FR30BF_INSN_EXTUH;goto extract_sfmt_extuh; +// OBSOLETE default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; +// OBSOLETE } +// OBSOLETE } +// OBSOLETE case 152 : itype = FR30BF_INSN_BEORL;goto extract_sfmt_bandl; +// OBSOLETE case 153 : itype = FR30BF_INSN_BEORH;goto extract_sfmt_bandl; +// OBSOLETE case 154 : itype = FR30BF_INSN_EOR;goto extract_sfmt_and; +// OBSOLETE case 155 : itype = FR30BF_INSN_LDI20;goto extract_sfmt_ldi20; +// OBSOLETE case 156 : itype = FR30BF_INSN_EORM;goto extract_sfmt_andm; +// OBSOLETE case 157 : itype = FR30BF_INSN_EORH;goto extract_sfmt_andh; +// OBSOLETE case 158 : itype = FR30BF_INSN_EORB;goto extract_sfmt_andb; +// OBSOLETE case 159 : +// OBSOLETE { +// OBSOLETE unsigned int val = (((insn >> 4) & (15 << 0))); +// OBSOLETE switch (val) +// OBSOLETE { +// OBSOLETE case 0 : itype = FR30BF_INSN_JMPD;goto extract_sfmt_jmp; +// OBSOLETE case 1 : itype = FR30BF_INSN_CALLRD;goto extract_sfmt_callr; +// OBSOLETE case 2 : itype = FR30BF_INSN_RET_D;goto extract_sfmt_ret; +// OBSOLETE case 3 : itype = FR30BF_INSN_INTE;goto extract_sfmt_inte; +// OBSOLETE case 6 : itype = FR30BF_INSN_DIV3;goto extract_sfmt_div3; +// OBSOLETE case 7 : itype = FR30BF_INSN_DIV4S;goto extract_sfmt_div4s; +// OBSOLETE case 8 : itype = FR30BF_INSN_LDI32;goto extract_sfmt_ldi32; +// OBSOLETE case 9 : itype = FR30BF_INSN_LEAVE;goto extract_sfmt_leave; +// OBSOLETE case 10 : itype = FR30BF_INSN_NOP;goto extract_sfmt_bnod; +// OBSOLETE case 12 : itype = FR30BF_INSN_COPOP;goto extract_sfmt_copop; +// OBSOLETE case 13 : itype = FR30BF_INSN_COPLD;goto extract_sfmt_copop; +// OBSOLETE case 14 : itype = FR30BF_INSN_COPST;goto extract_sfmt_copop; +// OBSOLETE case 15 : itype = FR30BF_INSN_COPSV;goto extract_sfmt_copop; +// OBSOLETE default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; +// OBSOLETE } +// OBSOLETE } +// OBSOLETE case 160 : itype = FR30BF_INSN_ADDNI;goto extract_sfmt_addni; +// OBSOLETE case 161 : itype = FR30BF_INSN_ADDN2;goto extract_sfmt_addn2; +// OBSOLETE case 162 : itype = FR30BF_INSN_ADDN;goto extract_sfmt_addn; +// OBSOLETE case 163 : itype = FR30BF_INSN_ADDSP;goto extract_sfmt_addsp; +// OBSOLETE case 164 : itype = FR30BF_INSN_ADDI;goto extract_sfmt_addi; +// OBSOLETE case 165 : itype = FR30BF_INSN_ADD2;goto extract_sfmt_add2; +// OBSOLETE case 166 : itype = FR30BF_INSN_ADD;goto extract_sfmt_add; +// OBSOLETE case 167 : itype = FR30BF_INSN_ADDC;goto extract_sfmt_addc; +// OBSOLETE case 168 : itype = FR30BF_INSN_CMPI;goto extract_sfmt_cmpi; +// OBSOLETE case 169 : itype = FR30BF_INSN_CMP2;goto extract_sfmt_cmp2; +// OBSOLETE case 170 : itype = FR30BF_INSN_CMP;goto extract_sfmt_cmp; +// OBSOLETE case 171 : itype = FR30BF_INSN_MULU;goto extract_sfmt_mulu; +// OBSOLETE case 172 : itype = FR30BF_INSN_SUB;goto extract_sfmt_add; +// OBSOLETE case 173 : itype = FR30BF_INSN_SUBC;goto extract_sfmt_addc; +// OBSOLETE case 174 : itype = FR30BF_INSN_SUBN;goto extract_sfmt_addn; +// OBSOLETE case 175 : itype = FR30BF_INSN_MUL;goto extract_sfmt_mul; +// OBSOLETE case 176 : itype = FR30BF_INSN_LSRI;goto extract_sfmt_lsli; +// OBSOLETE case 177 : itype = FR30BF_INSN_LSR2;goto extract_sfmt_lsli; +// OBSOLETE case 178 : itype = FR30BF_INSN_LSR;goto extract_sfmt_lsl; +// OBSOLETE case 179 : itype = FR30BF_INSN_MOV2DR;goto extract_sfmt_mov2dr; +// OBSOLETE case 180 : itype = FR30BF_INSN_LSLI;goto extract_sfmt_lsli; +// OBSOLETE case 181 : itype = FR30BF_INSN_LSL2;goto extract_sfmt_lsli; +// OBSOLETE case 182 : itype = FR30BF_INSN_LSL;goto extract_sfmt_lsl; +// OBSOLETE case 183 : itype = FR30BF_INSN_MOVDR;goto extract_sfmt_movdr; +// OBSOLETE case 184 : itype = FR30BF_INSN_ASRI;goto extract_sfmt_lsli; +// OBSOLETE case 185 : itype = FR30BF_INSN_ASR2;goto extract_sfmt_lsli; +// OBSOLETE case 186 : itype = FR30BF_INSN_ASR;goto extract_sfmt_lsl; +// OBSOLETE case 187 : itype = FR30BF_INSN_MULUH;goto extract_sfmt_mulh; +// OBSOLETE case 188 : itype = FR30BF_INSN_LDRES;goto extract_sfmt_ldres; +// OBSOLETE case 189 : itype = FR30BF_INSN_STRES;goto extract_sfmt_ldres; +// OBSOLETE case 191 : itype = FR30BF_INSN_MULH;goto extract_sfmt_mulh; +// OBSOLETE case 192 : /* fall through */ +// OBSOLETE case 193 : /* fall through */ +// OBSOLETE case 194 : /* fall through */ +// OBSOLETE case 195 : /* fall through */ +// OBSOLETE case 196 : /* fall through */ +// OBSOLETE case 197 : /* fall through */ +// OBSOLETE case 198 : /* fall through */ +// OBSOLETE case 199 : /* fall through */ +// OBSOLETE case 200 : /* fall through */ +// OBSOLETE case 201 : /* fall through */ +// OBSOLETE case 202 : /* fall through */ +// OBSOLETE case 203 : /* fall through */ +// OBSOLETE case 204 : /* fall through */ +// OBSOLETE case 205 : /* fall through */ +// OBSOLETE case 206 : /* fall through */ +// OBSOLETE case 207 : itype = FR30BF_INSN_LDI8;goto extract_sfmt_ldi8; +// OBSOLETE case 208 : /* fall through */ +// OBSOLETE case 209 : /* fall through */ +// OBSOLETE case 210 : /* fall through */ +// OBSOLETE case 211 : /* fall through */ +// OBSOLETE case 212 : /* fall through */ +// OBSOLETE case 213 : /* fall through */ +// OBSOLETE case 214 : /* fall through */ +// OBSOLETE case 215 : itype = FR30BF_INSN_CALL;goto extract_sfmt_call; +// OBSOLETE case 216 : /* fall through */ +// OBSOLETE case 217 : /* fall through */ +// OBSOLETE case 218 : /* fall through */ +// OBSOLETE case 219 : /* fall through */ +// OBSOLETE case 220 : /* fall through */ +// OBSOLETE case 221 : /* fall through */ +// OBSOLETE case 222 : /* fall through */ +// OBSOLETE case 223 : itype = FR30BF_INSN_CALLD;goto extract_sfmt_call; +// OBSOLETE case 224 : itype = FR30BF_INSN_BRA;goto extract_sfmt_brad; +// OBSOLETE case 225 : itype = FR30BF_INSN_BNO;goto extract_sfmt_bnod; +// OBSOLETE case 226 : itype = FR30BF_INSN_BEQ;goto extract_sfmt_beqd; +// OBSOLETE case 227 : itype = FR30BF_INSN_BNE;goto extract_sfmt_beqd; +// OBSOLETE case 228 : itype = FR30BF_INSN_BC;goto extract_sfmt_bcd; +// OBSOLETE case 229 : itype = FR30BF_INSN_BNC;goto extract_sfmt_bcd; +// OBSOLETE case 230 : itype = FR30BF_INSN_BN;goto extract_sfmt_bnd; +// OBSOLETE case 231 : itype = FR30BF_INSN_BP;goto extract_sfmt_bnd; +// OBSOLETE case 232 : itype = FR30BF_INSN_BV;goto extract_sfmt_bvd; +// OBSOLETE case 233 : itype = FR30BF_INSN_BNV;goto extract_sfmt_bvd; +// OBSOLETE case 234 : itype = FR30BF_INSN_BLT;goto extract_sfmt_bltd; +// OBSOLETE case 235 : itype = FR30BF_INSN_BGE;goto extract_sfmt_bltd; +// OBSOLETE case 236 : itype = FR30BF_INSN_BLE;goto extract_sfmt_bled; +// OBSOLETE case 237 : itype = FR30BF_INSN_BGT;goto extract_sfmt_bled; +// OBSOLETE case 238 : itype = FR30BF_INSN_BLS;goto extract_sfmt_blsd; +// OBSOLETE case 239 : itype = FR30BF_INSN_BHI;goto extract_sfmt_blsd; +// OBSOLETE case 240 : itype = FR30BF_INSN_BRAD;goto extract_sfmt_brad; +// OBSOLETE case 241 : itype = FR30BF_INSN_BNOD;goto extract_sfmt_bnod; +// OBSOLETE case 242 : itype = FR30BF_INSN_BEQD;goto extract_sfmt_beqd; +// OBSOLETE case 243 : itype = FR30BF_INSN_BNED;goto extract_sfmt_beqd; +// OBSOLETE case 244 : itype = FR30BF_INSN_BCD;goto extract_sfmt_bcd; +// OBSOLETE case 245 : itype = FR30BF_INSN_BNCD;goto extract_sfmt_bcd; +// OBSOLETE case 246 : itype = FR30BF_INSN_BND;goto extract_sfmt_bnd; +// OBSOLETE case 247 : itype = FR30BF_INSN_BPD;goto extract_sfmt_bnd; +// OBSOLETE case 248 : itype = FR30BF_INSN_BVD;goto extract_sfmt_bvd; +// OBSOLETE case 249 : itype = FR30BF_INSN_BNVD;goto extract_sfmt_bvd; +// OBSOLETE case 250 : itype = FR30BF_INSN_BLTD;goto extract_sfmt_bltd; +// OBSOLETE case 251 : itype = FR30BF_INSN_BGED;goto extract_sfmt_bltd; +// OBSOLETE case 252 : itype = FR30BF_INSN_BLED;goto extract_sfmt_bled; +// OBSOLETE case 253 : itype = FR30BF_INSN_BGTD;goto extract_sfmt_bled; +// OBSOLETE case 254 : itype = FR30BF_INSN_BLSD;goto extract_sfmt_blsd; +// OBSOLETE case 255 : itype = FR30BF_INSN_BHID;goto extract_sfmt_blsd; +// OBSOLETE default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; +// OBSOLETE } +// OBSOLETE } +// OBSOLETE } +// OBSOLETE +// OBSOLETE /* The instruction has been decoded, now extract the fields. */ +// OBSOLETE +// OBSOLETE extract_sfmt_empty: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f +// OBSOLETE +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0)); +// OBSOLETE +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_add: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_addi: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f +// OBSOLETE UINT f_u4; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_u4) = f_u4; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_add2: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f +// OBSOLETE SI f_m4; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4)))); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_m4) = f_m4; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_addc: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_addn: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addn", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_addni: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f +// OBSOLETE UINT f_u4; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_u4) = f_u4; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addni", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_addn2: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f +// OBSOLETE SI f_m4; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4)))); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_m4) = f_m4; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addn2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_cmp: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_cmpi: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f +// OBSOLETE UINT f_u4; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_u4) = f_u4; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpi", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_cmp2: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f +// OBSOLETE SI f_m4; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4)))); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_m4) = f_m4; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_and: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_andm: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andm", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_andh: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andh", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_andb: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_bandl: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f +// OBSOLETE UINT f_u4; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_u4) = f_u4; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bandl", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_btstl: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f +// OBSOLETE UINT f_u4; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_u4) = f_u4; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstl", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_mul: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mul", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_mulu: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulu", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_mulh: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulh", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_div0s: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0s", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_div0u: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f +// OBSOLETE +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0u", (char *) 0)); +// OBSOLETE +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_div1: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div1", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_div2: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div2", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_div3: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f +// OBSOLETE +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div3", (char *) 0)); +// OBSOLETE +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_div4s: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f +// OBSOLETE +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div4s", (char *) 0)); +// OBSOLETE +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_lsl: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsl", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_lsli: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f +// OBSOLETE UINT f_u4; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_u4) = f_u4; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsli", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldi8: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi8.f +// OBSOLETE UINT f_i8; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_i8 = EXTRACT_MSB0_UINT (insn, 16, 4, 8); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_i8) = f_i8; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi8", "f_i8 0x%x", 'x', f_i8, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldi20: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi20.f +// OBSOLETE UINT f_i20_16; +// OBSOLETE UINT f_i20_4; +// OBSOLETE UINT f_Ri; +// OBSOLETE UINT f_i20; +// OBSOLETE /* Contents of trailing part of insn. */ +// OBSOLETE UINT word_1; +// OBSOLETE +// OBSOLETE word_1 = GETIMEMUHI (current_cpu, pc + 2); +// OBSOLETE f_i20_16 = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 0)); +// OBSOLETE f_i20_4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE { +// OBSOLETE f_i20 = ((((f_i20_4) << (16))) | (f_i20_16)); +// OBSOLETE } +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_i20) = f_i20; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi20", "f_i20 0x%x", 'x', f_i20, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldi32: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi32.f +// OBSOLETE UINT f_i32; +// OBSOLETE UINT f_Ri; +// OBSOLETE /* Contents of trailing part of insn. */ +// OBSOLETE UINT word_1; +// OBSOLETE UINT word_2; +// OBSOLETE +// OBSOLETE word_1 = GETIMEMUHI (current_cpu, pc + 2); +// OBSOLETE word_2 = GETIMEMUHI (current_cpu, pc + 4); +// OBSOLETE f_i32 = (0|(EXTRACT_MSB0_UINT (word_2, 16, 0, 16) << 0)|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 16)); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_i32) = f_i32; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi32", "f_i32 0x%x", 'x', f_i32, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ld: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_lduh: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lduh", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldub: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldub", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldr13: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldr13uh: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13uh", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldr13ub: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13ub", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldr14: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14.f +// OBSOLETE SI f_disp10; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2)); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_disp10) = f_disp10; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14", "f_disp10 0x%x", 'x', f_disp10, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_14) = 14; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldr14uh: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14uh.f +// OBSOLETE SI f_disp9; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1)); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_disp9) = f_disp9; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14uh", "f_disp9 0x%x", 'x', f_disp9, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_14) = 14; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldr14ub: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14ub.f +// OBSOLETE INT f_disp8; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_disp8) = f_disp8; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14ub", "f_disp8 0x%x", 'x', f_disp8, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_14) = 14; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldr15: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15.f +// OBSOLETE USI f_udisp6; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2)); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_udisp6) = f_udisp6; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15", "f_udisp6 0x%x", 'x', f_udisp6, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldr15gr: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15gr.f +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15gr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldr15dr: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f +// OBSOLETE UINT f_Rs2; +// OBSOLETE +// OBSOLETE f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Rs2) = f_Rs2; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15dr", "f_Rs2 0x%x", 'x', f_Rs2, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldr15ps: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f +// OBSOLETE +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15ps", (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_st: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_sth: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_stb: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_str13: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_str13h: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13h", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_str13b: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13b", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_str14: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14.f +// OBSOLETE SI f_disp10; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2)); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_disp10) = f_disp10; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14", "f_Ri 0x%x", 'x', f_Ri, "f_disp10 0x%x", 'x', f_disp10, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_h_gr_SI_14) = 14; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_str14h: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14h.f +// OBSOLETE SI f_disp9; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1)); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_disp9) = f_disp9; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14h", "f_Ri 0x%x", 'x', f_Ri, "f_disp9 0x%x", 'x', f_disp9, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_h_gr_SI_14) = 14; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_str14b: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14b.f +// OBSOLETE INT f_disp8; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_disp8) = f_disp8; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14b", "f_Ri 0x%x", 'x', f_Ri, "f_disp8 0x%x", 'x', f_disp8, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_h_gr_SI_14) = 14; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_str15: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15.f +// OBSOLETE USI f_udisp6; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2)); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_udisp6) = f_udisp6; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15", "f_Ri 0x%x", 'x', f_Ri, "f_udisp6 0x%x", 'x', f_udisp6, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_str15gr: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15gr.f +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15gr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_str15dr: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f +// OBSOLETE UINT f_Rs2; +// OBSOLETE +// OBSOLETE f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Rs2) = f_Rs2; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15dr", "f_Rs2 0x%x", 'x', f_Rs2, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_str15ps: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f +// OBSOLETE +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15ps", (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_mov: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_movdr: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f +// OBSOLETE UINT f_Rs1; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Rs1) = f_Rs1; +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movdr", "f_Rs1 0x%x", 'x', f_Rs1, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_movps: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movps", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_mov2dr: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f +// OBSOLETE UINT f_Rs1; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rs1) = f_Rs1; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov2dr", "f_Ri 0x%x", 'x', f_Ri, "f_Rs1 0x%x", 'x', f_Rs1, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_mov2ps: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov2ps", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_jmp: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmp", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_callr: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_callr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_call: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f +// OBSOLETE SI f_rel12; +// OBSOLETE +// OBSOLETE f_rel12 = ((((EXTRACT_MSB0_INT (insn, 16, 5, 11)) << (1))) + (((pc) + (2)))); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (i_label12) = f_rel12; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_call", "label12 0x%x", 'x', f_rel12, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ret: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f +// OBSOLETE +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ret", (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_int: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f +// OBSOLETE UINT f_u8; +// OBSOLETE +// OBSOLETE f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_u8) = f_u8; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_int", "f_u8 0x%x", 'x', f_u8, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_inte: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f +// OBSOLETE +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_inte", (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_reti: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f +// OBSOLETE +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_reti", (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_brad: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f +// OBSOLETE SI f_rel9; +// OBSOLETE +// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (i_label9) = f_rel9; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brad", "label9 0x%x", 'x', f_rel9, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_bnod: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f +// OBSOLETE +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnod", (char *) 0)); +// OBSOLETE +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_beqd: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f +// OBSOLETE SI f_rel9; +// OBSOLETE +// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (i_label9) = f_rel9; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqd", "label9 0x%x", 'x', f_rel9, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_bcd: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f +// OBSOLETE SI f_rel9; +// OBSOLETE +// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (i_label9) = f_rel9; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcd", "label9 0x%x", 'x', f_rel9, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_bnd: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f +// OBSOLETE SI f_rel9; +// OBSOLETE +// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (i_label9) = f_rel9; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnd", "label9 0x%x", 'x', f_rel9, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_bvd: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f +// OBSOLETE SI f_rel9; +// OBSOLETE +// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (i_label9) = f_rel9; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bvd", "label9 0x%x", 'x', f_rel9, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_bltd: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f +// OBSOLETE SI f_rel9; +// OBSOLETE +// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (i_label9) = f_rel9; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bltd", "label9 0x%x", 'x', f_rel9, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_bled: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f +// OBSOLETE SI f_rel9; +// OBSOLETE +// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (i_label9) = f_rel9; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bled", "label9 0x%x", 'x', f_rel9, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_blsd: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f +// OBSOLETE SI f_rel9; +// OBSOLETE +// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (i_label9) = f_rel9; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_blsd", "label9 0x%x", 'x', f_rel9, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_dmovr13: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f +// OBSOLETE USI f_dir10; +// OBSOLETE +// OBSOLETE f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_dir10) = f_dir10; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_dmovr13h: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f +// OBSOLETE USI f_dir9; +// OBSOLETE +// OBSOLETE f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_dir9) = f_dir9; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13h", "f_dir9 0x%x", 'x', f_dir9, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_dmovr13b: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f +// OBSOLETE UINT f_dir8; +// OBSOLETE +// OBSOLETE f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_dir8) = f_dir8; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13b", "f_dir8 0x%x", 'x', f_dir8, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_dmovr13pi: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f +// OBSOLETE USI f_dir10; +// OBSOLETE +// OBSOLETE f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_dir10) = f_dir10; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE FLD (out_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_dmovr13pih: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f +// OBSOLETE USI f_dir9; +// OBSOLETE +// OBSOLETE f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_dir9) = f_dir9; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pih", "f_dir9 0x%x", 'x', f_dir9, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE FLD (out_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_dmovr13pib: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f +// OBSOLETE UINT f_dir8; +// OBSOLETE +// OBSOLETE f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_dir8) = f_dir8; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pib", "f_dir8 0x%x", 'x', f_dir8, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE FLD (out_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_dmovr15pi: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f +// OBSOLETE USI f_dir10; +// OBSOLETE +// OBSOLETE f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_dir10) = f_dir10; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr15pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_dmov2r13: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f +// OBSOLETE USI f_dir10; +// OBSOLETE +// OBSOLETE f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_dir10) = f_dir10; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (out_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_dmov2r13h: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f +// OBSOLETE USI f_dir9; +// OBSOLETE +// OBSOLETE f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_dir9) = f_dir9; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13h", "f_dir9 0x%x", 'x', f_dir9, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (out_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_dmov2r13b: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f +// OBSOLETE UINT f_dir8; +// OBSOLETE +// OBSOLETE f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_dir8) = f_dir8; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13b", "f_dir8 0x%x", 'x', f_dir8, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (out_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_dmov2r13pi: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f +// OBSOLETE USI f_dir10; +// OBSOLETE +// OBSOLETE f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_dir10) = f_dir10; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE FLD (out_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_dmov2r13pih: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f +// OBSOLETE USI f_dir9; +// OBSOLETE +// OBSOLETE f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_dir9) = f_dir9; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pih", "f_dir9 0x%x", 'x', f_dir9, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE FLD (out_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_dmov2r13pib: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f +// OBSOLETE UINT f_dir8; +// OBSOLETE +// OBSOLETE f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_dir8) = f_dir8; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pib", "f_dir8 0x%x", 'x', f_dir8, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE FLD (out_h_gr_SI_13) = 13; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_dmov2r15pd: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f +// OBSOLETE USI f_dir10; +// OBSOLETE +// OBSOLETE f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_dir10) = f_dir10; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r15pd", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldres: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldres", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_copop: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f +// OBSOLETE /* Contents of trailing part of insn. */ +// OBSOLETE UINT word_1; +// OBSOLETE +// OBSOLETE word_1 = GETIMEMUHI (current_cpu, pc + 2); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_copop", (char *) 0)); +// OBSOLETE +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_andccr: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f +// OBSOLETE UINT f_u8; +// OBSOLETE +// OBSOLETE f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_u8) = f_u8; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andccr", "f_u8 0x%x", 'x', f_u8, (char *) 0)); +// OBSOLETE +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_stilm: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f +// OBSOLETE UINT f_u8; +// OBSOLETE +// OBSOLETE f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_u8) = f_u8; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stilm", "f_u8 0x%x", 'x', f_u8, (char *) 0)); +// OBSOLETE +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_addsp: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f +// OBSOLETE SI f_s10; +// OBSOLETE +// OBSOLETE f_s10 = ((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (2)); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_s10) = f_s10; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addsp", "f_s10 0x%x", 'x', f_s10, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_extsb: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsb", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_extub: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extub", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_extsh: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsh", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_extuh: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extuh", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldm0: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm0.f +// OBSOLETE UINT f_reglist_low_ld; +// OBSOLETE +// OBSOLETE f_reglist_low_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_reglist_low_ld) = f_reglist_low_ld; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldm0", "f_reglist_low_ld 0x%x", 'x', f_reglist_low_ld, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_h_gr_SI_0) = 0; +// OBSOLETE FLD (out_h_gr_SI_1) = 1; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_h_gr_SI_2) = 2; +// OBSOLETE FLD (out_h_gr_SI_3) = 3; +// OBSOLETE FLD (out_h_gr_SI_4) = 4; +// OBSOLETE FLD (out_h_gr_SI_5) = 5; +// OBSOLETE FLD (out_h_gr_SI_6) = 6; +// OBSOLETE FLD (out_h_gr_SI_7) = 7; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_ldm1: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm1.f +// OBSOLETE UINT f_reglist_hi_ld; +// OBSOLETE +// OBSOLETE f_reglist_hi_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_reglist_hi_ld) = f_reglist_hi_ld; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldm1", "f_reglist_hi_ld 0x%x", 'x', f_reglist_hi_ld, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_h_gr_SI_10) = 10; +// OBSOLETE FLD (out_h_gr_SI_11) = 11; +// OBSOLETE FLD (out_h_gr_SI_12) = 12; +// OBSOLETE FLD (out_h_gr_SI_13) = 13; +// OBSOLETE FLD (out_h_gr_SI_14) = 14; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_h_gr_SI_8) = 8; +// OBSOLETE FLD (out_h_gr_SI_9) = 9; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_stm0: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm0.f +// OBSOLETE UINT f_reglist_low_st; +// OBSOLETE +// OBSOLETE f_reglist_low_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_reglist_low_st) = f_reglist_low_st; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stm0", "f_reglist_low_st 0x%x", 'x', f_reglist_low_st, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_0) = 0; +// OBSOLETE FLD (in_h_gr_SI_1) = 1; +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (in_h_gr_SI_2) = 2; +// OBSOLETE FLD (in_h_gr_SI_3) = 3; +// OBSOLETE FLD (in_h_gr_SI_4) = 4; +// OBSOLETE FLD (in_h_gr_SI_5) = 5; +// OBSOLETE FLD (in_h_gr_SI_6) = 6; +// OBSOLETE FLD (in_h_gr_SI_7) = 7; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_stm1: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm1.f +// OBSOLETE UINT f_reglist_hi_st; +// OBSOLETE +// OBSOLETE f_reglist_hi_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_reglist_hi_st) = f_reglist_hi_st; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stm1", "f_reglist_hi_st 0x%x", 'x', f_reglist_hi_st, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_10) = 10; +// OBSOLETE FLD (in_h_gr_SI_11) = 11; +// OBSOLETE FLD (in_h_gr_SI_12) = 12; +// OBSOLETE FLD (in_h_gr_SI_13) = 13; +// OBSOLETE FLD (in_h_gr_SI_14) = 14; +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (in_h_gr_SI_8) = 8; +// OBSOLETE FLD (in_h_gr_SI_9) = 9; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_enter: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f +// OBSOLETE USI f_u10; +// OBSOLETE +// OBSOLETE f_u10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_u10) = f_u10; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_enter", "f_u10 0x%x", 'x', f_u10, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_14) = 14; +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_h_gr_SI_14) = 14; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_leave: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f +// OBSOLETE +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_leave", (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_h_gr_SI_14) = 14; +// OBSOLETE FLD (in_h_gr_SI_15) = 15; +// OBSOLETE FLD (out_h_gr_SI_14) = 14; +// OBSOLETE FLD (out_h_gr_SI_15) = 15; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE extract_sfmt_xchb: +// OBSOLETE { +// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; +// OBSOLETE CGEN_INSN_INT insn = base_insn; +// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f +// OBSOLETE UINT f_Rj; +// OBSOLETE UINT f_Ri; +// OBSOLETE +// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); +// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); +// OBSOLETE +// OBSOLETE /* Record the fields for the semantic handler. */ +// OBSOLETE FLD (f_Ri) = f_Ri; +// OBSOLETE FLD (f_Rj) = f_Rj; +// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; +// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; +// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_xchb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); +// OBSOLETE +// OBSOLETE #if WITH_PROFILE_MODEL_P +// OBSOLETE /* Record the fields for profiling. */ +// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) +// OBSOLETE { +// OBSOLETE FLD (in_Ri) = f_Ri; +// OBSOLETE FLD (in_Rj) = f_Rj; +// OBSOLETE FLD (out_Ri) = f_Ri; +// OBSOLETE } +// OBSOLETE #endif +// OBSOLETE #undef FLD +// OBSOLETE return idesc; +// OBSOLETE } +// OBSOLETE +// OBSOLETE } |