| /* Simulator instruction decoder for arc700f. |
| |
| THIS FILE IS MACHINE GENERATED WITH CGEN. |
| |
| Copyright 1996-2007 Free Software Foundation, Inc. |
| |
| This file is part of the GNU simulators. |
| |
| This file is free software; you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation; either version 3, or (at your option) |
| any later version. |
| |
| It is distributed in the hope that it will be useful, but WITHOUT |
| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
| or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public |
| License for more details. |
| |
| You should have received a copy of the GNU General Public License along |
| with this program; if not, write to the Free Software Foundation, Inc., |
| 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. |
| |
| */ |
| |
| #define WANT_CPU arc700f |
| #define WANT_CPU_ARC700F |
| |
| #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 arc700f_insn_data[ARC700F_INSN__MAX]; |
| |
| /* Commas between elements are contained in the macros. |
| Some of these are conditionally compiled out. */ |
| |
| static const struct insn_sem arc700f_insn_sem[] = |
| { |
| { VIRTUAL_INSN_X_INVALID, ARC700F_INSN_X_INVALID, ARC700F_SFMT_EMPTY }, |
| { VIRTUAL_INSN_X_AFTER, ARC700F_INSN_X_AFTER, ARC700F_SFMT_EMPTY }, |
| { VIRTUAL_INSN_X_BEFORE, ARC700F_INSN_X_BEFORE, ARC700F_SFMT_EMPTY }, |
| { VIRTUAL_INSN_X_CTI_CHAIN, ARC700F_INSN_X_CTI_CHAIN, ARC700F_SFMT_EMPTY }, |
| { VIRTUAL_INSN_X_CHAIN, ARC700F_INSN_X_CHAIN, ARC700F_SFMT_EMPTY }, |
| { VIRTUAL_INSN_X_BEGIN, ARC700F_INSN_X_BEGIN, ARC700F_SFMT_EMPTY }, |
| { ARC_INSN_B_S, ARC700F_INSN_B_S, ARC700F_SFMT_B_S }, |
| { ARC_INSN_BCC_S, ARC700F_INSN_BCC_S, ARC700F_SFMT_BCC_S }, |
| { ARC_INSN_BRCC_S, ARC700F_INSN_BRCC_S, ARC700F_SFMT_BRCC_S }, |
| { ARC_INSN_BCC_L, ARC700F_INSN_BCC_L, ARC700F_SFMT_BCC_L }, |
| { ARC_INSN_BCC_L_D, ARC700F_INSN_BCC_L_D, ARC700F_SFMT_BCC_L }, |
| { ARC_INSN_B_L, ARC700F_INSN_B_L, ARC700F_SFMT_B_L }, |
| { ARC_INSN_B_L_D, ARC700F_INSN_B_L_D, ARC700F_SFMT_B_L }, |
| { ARC_INSN_BRCC_RC, ARC700F_INSN_BRCC_RC, ARC700F_SFMT_BRCC_RC }, |
| { ARC_INSN_BRCC_RC_D, ARC700F_INSN_BRCC_RC_D, ARC700F_SFMT_BRCC_RC }, |
| { ARC_INSN_BRCC_U6, ARC700F_INSN_BRCC_U6, ARC700F_SFMT_BRCC_U6 }, |
| { ARC_INSN_BRCC_U6_D, ARC700F_INSN_BRCC_U6_D, ARC700F_SFMT_BRCC_U6 }, |
| { ARC_INSN_BL_S, ARC700F_INSN_BL_S, ARC700F_SFMT_BL_S }, |
| { ARC_INSN_BLCC, ARC700F_INSN_BLCC, ARC700F_SFMT_BLCC }, |
| { ARC_INSN_BLCC_D, ARC700F_INSN_BLCC_D, ARC700F_SFMT_BLCC }, |
| { ARC_INSN_BL, ARC700F_INSN_BL, ARC700F_SFMT_BL }, |
| { ARC_INSN_BL_D, ARC700F_INSN_BL_D, ARC700F_SFMT_BL_D }, |
| { ARC_INSN_LD_ABS, ARC700F_INSN_LD_ABS, ARC700F_SFMT_LD_ABS }, |
| { ARC_INSN_LD__AW_ABS, ARC700F_INSN_LD__AW_ABS, ARC700F_SFMT_LD__AW_ABS }, |
| { ARC_INSN_LD_AB_ABS, ARC700F_INSN_LD_AB_ABS, ARC700F_SFMT_LD__AW_ABS }, |
| { ARC_INSN_LD_AS_ABS, ARC700F_INSN_LD_AS_ABS, ARC700F_SFMT_LD_ABS }, |
| { ARC_INSN_LD_ABC, ARC700F_INSN_LD_ABC, ARC700F_SFMT_LD_ABC }, |
| { ARC_INSN_LD__AW_ABC, ARC700F_INSN_LD__AW_ABC, ARC700F_SFMT_LD__AW_ABC }, |
| { ARC_INSN_LD_AB_ABC, ARC700F_INSN_LD_AB_ABC, ARC700F_SFMT_LD__AW_ABC }, |
| { ARC_INSN_LD_AS_ABC, ARC700F_INSN_LD_AS_ABC, ARC700F_SFMT_LD_ABC }, |
| { ARC_INSN_LD_S_ABC, ARC700F_INSN_LD_S_ABC, ARC700F_SFMT_LD_S_ABC }, |
| { ARC_INSN_LD_S_ABU, ARC700F_INSN_LD_S_ABU, ARC700F_SFMT_LD_S_ABU }, |
| { ARC_INSN_LD_S_ABSP, ARC700F_INSN_LD_S_ABSP, ARC700F_SFMT_LD_S_ABSP }, |
| { ARC_INSN_LD_S_GPREL, ARC700F_INSN_LD_S_GPREL, ARC700F_SFMT_LD_S_GPREL }, |
| { ARC_INSN_LD_S_PCREL, ARC700F_INSN_LD_S_PCREL, ARC700F_SFMT_LD_S_PCREL }, |
| { ARC_INSN_LDB_ABS, ARC700F_INSN_LDB_ABS, ARC700F_SFMT_LDB_ABS }, |
| { ARC_INSN_LDB__AW_ABS, ARC700F_INSN_LDB__AW_ABS, ARC700F_SFMT_LDB__AW_ABS }, |
| { ARC_INSN_LDB_AB_ABS, ARC700F_INSN_LDB_AB_ABS, ARC700F_SFMT_LDB__AW_ABS }, |
| { ARC_INSN_LDB_AS_ABS, ARC700F_INSN_LDB_AS_ABS, ARC700F_SFMT_LDB_AS_ABS }, |
| { ARC_INSN_LDB_ABC, ARC700F_INSN_LDB_ABC, ARC700F_SFMT_LDB_ABC }, |
| { ARC_INSN_LDB__AW_ABC, ARC700F_INSN_LDB__AW_ABC, ARC700F_SFMT_LDB__AW_ABC }, |
| { ARC_INSN_LDB_AB_ABC, ARC700F_INSN_LDB_AB_ABC, ARC700F_SFMT_LDB__AW_ABC }, |
| { ARC_INSN_LDB_AS_ABC, ARC700F_INSN_LDB_AS_ABC, ARC700F_SFMT_LDB_AS_ABC }, |
| { ARC_INSN_LDB_S_ABC, ARC700F_INSN_LDB_S_ABC, ARC700F_SFMT_LDB_S_ABC }, |
| { ARC_INSN_LDB_S_ABU, ARC700F_INSN_LDB_S_ABU, ARC700F_SFMT_LDB_S_ABU }, |
| { ARC_INSN_LDB_S_ABSP, ARC700F_INSN_LDB_S_ABSP, ARC700F_SFMT_LDB_S_ABSP }, |
| { ARC_INSN_LDB_S_GPREL, ARC700F_INSN_LDB_S_GPREL, ARC700F_SFMT_LDB_S_GPREL }, |
| { ARC_INSN_LDB_X_ABS, ARC700F_INSN_LDB_X_ABS, ARC700F_SFMT_LDB_ABS }, |
| { ARC_INSN_LDB__AW_X_ABS, ARC700F_INSN_LDB__AW_X_ABS, ARC700F_SFMT_LDB__AW_ABS }, |
| { ARC_INSN_LDB_AB_X_ABS, ARC700F_INSN_LDB_AB_X_ABS, ARC700F_SFMT_LDB__AW_ABS }, |
| { ARC_INSN_LDB_AS_X_ABS, ARC700F_INSN_LDB_AS_X_ABS, ARC700F_SFMT_LDB_AS_ABS }, |
| { ARC_INSN_LDB_X_ABC, ARC700F_INSN_LDB_X_ABC, ARC700F_SFMT_LDB_ABC }, |
| { ARC_INSN_LDB__AW_X_ABC, ARC700F_INSN_LDB__AW_X_ABC, ARC700F_SFMT_LDB__AW_ABC }, |
| { ARC_INSN_LDB_AB_X_ABC, ARC700F_INSN_LDB_AB_X_ABC, ARC700F_SFMT_LDB__AW_ABC }, |
| { ARC_INSN_LDB_AS_X_ABC, ARC700F_INSN_LDB_AS_X_ABC, ARC700F_SFMT_LDB_AS_ABC }, |
| { ARC_INSN_LDW_ABS, ARC700F_INSN_LDW_ABS, ARC700F_SFMT_LDW_ABS }, |
| { ARC_INSN_LDW__AW_ABS, ARC700F_INSN_LDW__AW_ABS, ARC700F_SFMT_LDW__AW_ABS }, |
| { ARC_INSN_LDW_AB_ABS, ARC700F_INSN_LDW_AB_ABS, ARC700F_SFMT_LDW__AW_ABS }, |
| { ARC_INSN_LDW_AS_ABS, ARC700F_INSN_LDW_AS_ABS, ARC700F_SFMT_LDW_ABS }, |
| { ARC_INSN_LDW_ABC, ARC700F_INSN_LDW_ABC, ARC700F_SFMT_LDW_ABC }, |
| { ARC_INSN_LDW__AW_ABC, ARC700F_INSN_LDW__AW_ABC, ARC700F_SFMT_LDW__AW_ABC }, |
| { ARC_INSN_LDW_AB_ABC, ARC700F_INSN_LDW_AB_ABC, ARC700F_SFMT_LDW__AW_ABC }, |
| { ARC_INSN_LDW_AS_ABC, ARC700F_INSN_LDW_AS_ABC, ARC700F_SFMT_LDW_ABC }, |
| { ARC_INSN_LDW_S_ABC, ARC700F_INSN_LDW_S_ABC, ARC700F_SFMT_LDW_S_ABC }, |
| { ARC_INSN_LDW_S_ABU, ARC700F_INSN_LDW_S_ABU, ARC700F_SFMT_LDW_S_ABU }, |
| { ARC_INSN_LDW_S_GPREL, ARC700F_INSN_LDW_S_GPREL, ARC700F_SFMT_LDW_S_GPREL }, |
| { ARC_INSN_LDW_X_ABS, ARC700F_INSN_LDW_X_ABS, ARC700F_SFMT_LDW_ABS }, |
| { ARC_INSN_LDW__AW_X_ABS, ARC700F_INSN_LDW__AW_X_ABS, ARC700F_SFMT_LDW__AW_ABS }, |
| { ARC_INSN_LDW_AB_X_ABS, ARC700F_INSN_LDW_AB_X_ABS, ARC700F_SFMT_LDW__AW_ABS }, |
| { ARC_INSN_LDW_AS_X_ABS, ARC700F_INSN_LDW_AS_X_ABS, ARC700F_SFMT_LDW_ABS }, |
| { ARC_INSN_LDW_X_ABC, ARC700F_INSN_LDW_X_ABC, ARC700F_SFMT_LDW_ABC }, |
| { ARC_INSN_LDW__AW_X_ABC, ARC700F_INSN_LDW__AW_X_ABC, ARC700F_SFMT_LDW__AW_ABC }, |
| { ARC_INSN_LDW_AB_X_ABC, ARC700F_INSN_LDW_AB_X_ABC, ARC700F_SFMT_LDW__AW_ABC }, |
| { ARC_INSN_LDW_AS_X_ABC, ARC700F_INSN_LDW_AS_X_ABC, ARC700F_SFMT_LDW_ABC }, |
| { ARC_INSN_LDW_S_X_ABU, ARC700F_INSN_LDW_S_X_ABU, ARC700F_SFMT_LDW_S_ABU }, |
| { ARC_INSN_ST_ABS, ARC700F_INSN_ST_ABS, ARC700F_SFMT_ST_ABS }, |
| { ARC_INSN_ST__AW_ABS, ARC700F_INSN_ST__AW_ABS, ARC700F_SFMT_ST__AW_ABS }, |
| { ARC_INSN_ST_AB_ABS, ARC700F_INSN_ST_AB_ABS, ARC700F_SFMT_ST__AW_ABS }, |
| { ARC_INSN_ST_AS_ABS, ARC700F_INSN_ST_AS_ABS, ARC700F_SFMT_ST_ABS }, |
| { ARC_INSN_ST_S_ABU, ARC700F_INSN_ST_S_ABU, ARC700F_SFMT_ST_S_ABU }, |
| { ARC_INSN_ST_S_ABSP, ARC700F_INSN_ST_S_ABSP, ARC700F_SFMT_ST_S_ABSP }, |
| { ARC_INSN_STB_ABS, ARC700F_INSN_STB_ABS, ARC700F_SFMT_STB_ABS }, |
| { ARC_INSN_STB__AW_ABS, ARC700F_INSN_STB__AW_ABS, ARC700F_SFMT_STB__AW_ABS }, |
| { ARC_INSN_STB_AB_ABS, ARC700F_INSN_STB_AB_ABS, ARC700F_SFMT_STB__AW_ABS }, |
| { ARC_INSN_STB_AS_ABS, ARC700F_INSN_STB_AS_ABS, ARC700F_SFMT_STB_AS_ABS }, |
| { ARC_INSN_STB_S_ABU, ARC700F_INSN_STB_S_ABU, ARC700F_SFMT_STB_S_ABU }, |
| { ARC_INSN_STB_S_ABSP, ARC700F_INSN_STB_S_ABSP, ARC700F_SFMT_STB_S_ABSP }, |
| { ARC_INSN_STW_ABS, ARC700F_INSN_STW_ABS, ARC700F_SFMT_STW_ABS }, |
| { ARC_INSN_STW__AW_ABS, ARC700F_INSN_STW__AW_ABS, ARC700F_SFMT_STW__AW_ABS }, |
| { ARC_INSN_STW_AB_ABS, ARC700F_INSN_STW_AB_ABS, ARC700F_SFMT_STW__AW_ABS }, |
| { ARC_INSN_STW_AS_ABS, ARC700F_INSN_STW_AS_ABS, ARC700F_SFMT_STW_ABS }, |
| { ARC_INSN_STW_S_ABU, ARC700F_INSN_STW_S_ABU, ARC700F_SFMT_STW_S_ABU }, |
| { ARC_INSN_ADD_L_S12__RA_, ARC700F_INSN_ADD_L_S12__RA_, ARC700F_SFMT_ADD_L_S12__RA_ }, |
| { ARC_INSN_ADD_CCU6__RA_, ARC700F_INSN_ADD_CCU6__RA_, ARC700F_SFMT_ADD_CCU6__RA_ }, |
| { ARC_INSN_ADD_L_U6__RA_, ARC700F_INSN_ADD_L_U6__RA_, ARC700F_SFMT_ADD_L_U6__RA_ }, |
| { ARC_INSN_ADD_L_R_R__RA__RC, ARC700F_INSN_ADD_L_R_R__RA__RC, ARC700F_SFMT_ADD_L_R_R__RA__RC }, |
| { ARC_INSN_ADD_CC__RA__RC, ARC700F_INSN_ADD_CC__RA__RC, ARC700F_SFMT_ADD_CC__RA__RC }, |
| { ARC_INSN_ADD_S_ABC, ARC700F_INSN_ADD_S_ABC, ARC700F_SFMT_ADD_S_ABC }, |
| { ARC_INSN_ADD_S_CBU3, ARC700F_INSN_ADD_S_CBU3, ARC700F_SFMT_ADD_S_CBU3 }, |
| { ARC_INSN_ADD_S_MCAH, ARC700F_INSN_ADD_S_MCAH, ARC700F_SFMT_ADD_S_MCAH }, |
| { ARC_INSN_ADD_S_ABSP, ARC700F_INSN_ADD_S_ABSP, ARC700F_SFMT_ADD_S_ABSP }, |
| { ARC_INSN_ADD_S_ASSPSP, ARC700F_INSN_ADD_S_ASSPSP, ARC700F_SFMT_ADD_S_ASSPSP }, |
| { ARC_INSN_ADD_S_GP, ARC700F_INSN_ADD_S_GP, ARC700F_SFMT_ADD_S_GP }, |
| { ARC_INSN_ADD_S_R_U7, ARC700F_INSN_ADD_S_R_U7, ARC700F_SFMT_ADD_S_R_U7 }, |
| { ARC_INSN_ADC_L_S12__RA_, ARC700F_INSN_ADC_L_S12__RA_, ARC700F_SFMT_ADC_L_S12__RA_ }, |
| { ARC_INSN_ADC_CCU6__RA_, ARC700F_INSN_ADC_CCU6__RA_, ARC700F_SFMT_ADC_CCU6__RA_ }, |
| { ARC_INSN_ADC_L_U6__RA_, ARC700F_INSN_ADC_L_U6__RA_, ARC700F_SFMT_ADC_L_U6__RA_ }, |
| { ARC_INSN_ADC_L_R_R__RA__RC, ARC700F_INSN_ADC_L_R_R__RA__RC, ARC700F_SFMT_ADC_L_R_R__RA__RC }, |
| { ARC_INSN_ADC_CC__RA__RC, ARC700F_INSN_ADC_CC__RA__RC, ARC700F_SFMT_ADC_CC__RA__RC }, |
| { ARC_INSN_SUB_L_S12__RA_, ARC700F_INSN_SUB_L_S12__RA_, ARC700F_SFMT_ADD_L_S12__RA_ }, |
| { ARC_INSN_SUB_CCU6__RA_, ARC700F_INSN_SUB_CCU6__RA_, ARC700F_SFMT_ADD_CCU6__RA_ }, |
| { ARC_INSN_SUB_L_U6__RA_, ARC700F_INSN_SUB_L_U6__RA_, ARC700F_SFMT_ADD_L_U6__RA_ }, |
| { ARC_INSN_SUB_L_R_R__RA__RC, ARC700F_INSN_SUB_L_R_R__RA__RC, ARC700F_SFMT_ADD_L_R_R__RA__RC }, |
| { ARC_INSN_SUB_CC__RA__RC, ARC700F_INSN_SUB_CC__RA__RC, ARC700F_SFMT_ADD_CC__RA__RC }, |
| { ARC_INSN_SUB_S_CBU3, ARC700F_INSN_SUB_S_CBU3, ARC700F_SFMT_ADD_S_CBU3 }, |
| { ARC_INSN_I16_GO_SUB_S_GO, ARC700F_INSN_I16_GO_SUB_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_SUB_S_GO_SUB_NE, ARC700F_INSN_SUB_S_GO_SUB_NE, ARC700F_SFMT_SUB_S_GO_SUB_NE }, |
| { ARC_INSN_SUB_S_SSB, ARC700F_INSN_SUB_S_SSB, ARC700F_SFMT_SUB_S_SSB }, |
| { ARC_INSN_SUB_S_ASSPSP, ARC700F_INSN_SUB_S_ASSPSP, ARC700F_SFMT_ADD_S_ASSPSP }, |
| { ARC_INSN_SBC_L_S12__RA_, ARC700F_INSN_SBC_L_S12__RA_, ARC700F_SFMT_ADC_L_S12__RA_ }, |
| { ARC_INSN_SBC_CCU6__RA_, ARC700F_INSN_SBC_CCU6__RA_, ARC700F_SFMT_ADC_CCU6__RA_ }, |
| { ARC_INSN_SBC_L_U6__RA_, ARC700F_INSN_SBC_L_U6__RA_, ARC700F_SFMT_ADC_L_U6__RA_ }, |
| { ARC_INSN_SBC_L_R_R__RA__RC, ARC700F_INSN_SBC_L_R_R__RA__RC, ARC700F_SFMT_ADC_L_R_R__RA__RC }, |
| { ARC_INSN_SBC_CC__RA__RC, ARC700F_INSN_SBC_CC__RA__RC, ARC700F_SFMT_ADC_CC__RA__RC }, |
| { ARC_INSN_AND_L_S12__RA_, ARC700F_INSN_AND_L_S12__RA_, ARC700F_SFMT_AND_L_S12__RA_ }, |
| { ARC_INSN_AND_CCU6__RA_, ARC700F_INSN_AND_CCU6__RA_, ARC700F_SFMT_AND_CCU6__RA_ }, |
| { ARC_INSN_AND_L_U6__RA_, ARC700F_INSN_AND_L_U6__RA_, ARC700F_SFMT_AND_L_U6__RA_ }, |
| { ARC_INSN_AND_L_R_R__RA__RC, ARC700F_INSN_AND_L_R_R__RA__RC, ARC700F_SFMT_AND_L_R_R__RA__RC }, |
| { ARC_INSN_AND_CC__RA__RC, ARC700F_INSN_AND_CC__RA__RC, ARC700F_SFMT_AND_CC__RA__RC }, |
| { ARC_INSN_I16_GO_AND_S_GO, ARC700F_INSN_I16_GO_AND_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_OR_L_S12__RA_, ARC700F_INSN_OR_L_S12__RA_, ARC700F_SFMT_AND_L_S12__RA_ }, |
| { ARC_INSN_OR_CCU6__RA_, ARC700F_INSN_OR_CCU6__RA_, ARC700F_SFMT_AND_CCU6__RA_ }, |
| { ARC_INSN_OR_L_U6__RA_, ARC700F_INSN_OR_L_U6__RA_, ARC700F_SFMT_AND_L_U6__RA_ }, |
| { ARC_INSN_OR_L_R_R__RA__RC, ARC700F_INSN_OR_L_R_R__RA__RC, ARC700F_SFMT_AND_L_R_R__RA__RC }, |
| { ARC_INSN_OR_CC__RA__RC, ARC700F_INSN_OR_CC__RA__RC, ARC700F_SFMT_AND_CC__RA__RC }, |
| { ARC_INSN_I16_GO_OR_S_GO, ARC700F_INSN_I16_GO_OR_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_BIC_L_S12__RA_, ARC700F_INSN_BIC_L_S12__RA_, ARC700F_SFMT_AND_L_S12__RA_ }, |
| { ARC_INSN_BIC_CCU6__RA_, ARC700F_INSN_BIC_CCU6__RA_, ARC700F_SFMT_AND_CCU6__RA_ }, |
| { ARC_INSN_BIC_L_U6__RA_, ARC700F_INSN_BIC_L_U6__RA_, ARC700F_SFMT_AND_L_U6__RA_ }, |
| { ARC_INSN_BIC_L_R_R__RA__RC, ARC700F_INSN_BIC_L_R_R__RA__RC, ARC700F_SFMT_AND_L_R_R__RA__RC }, |
| { ARC_INSN_BIC_CC__RA__RC, ARC700F_INSN_BIC_CC__RA__RC, ARC700F_SFMT_AND_CC__RA__RC }, |
| { ARC_INSN_I16_GO_BIC_S_GO, ARC700F_INSN_I16_GO_BIC_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_XOR_L_S12__RA_, ARC700F_INSN_XOR_L_S12__RA_, ARC700F_SFMT_AND_L_S12__RA_ }, |
| { ARC_INSN_XOR_CCU6__RA_, ARC700F_INSN_XOR_CCU6__RA_, ARC700F_SFMT_AND_CCU6__RA_ }, |
| { ARC_INSN_XOR_L_U6__RA_, ARC700F_INSN_XOR_L_U6__RA_, ARC700F_SFMT_AND_L_U6__RA_ }, |
| { ARC_INSN_XOR_L_R_R__RA__RC, ARC700F_INSN_XOR_L_R_R__RA__RC, ARC700F_SFMT_AND_L_R_R__RA__RC }, |
| { ARC_INSN_XOR_CC__RA__RC, ARC700F_INSN_XOR_CC__RA__RC, ARC700F_SFMT_AND_CC__RA__RC }, |
| { ARC_INSN_I16_GO_XOR_S_GO, ARC700F_INSN_I16_GO_XOR_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_MAX_L_S12__RA_, ARC700F_INSN_MAX_L_S12__RA_, ARC700F_SFMT_ADD_L_S12__RA_ }, |
| { ARC_INSN_MAX_CCU6__RA_, ARC700F_INSN_MAX_CCU6__RA_, ARC700F_SFMT_ADD_CCU6__RA_ }, |
| { ARC_INSN_MAX_L_U6__RA_, ARC700F_INSN_MAX_L_U6__RA_, ARC700F_SFMT_ADD_L_U6__RA_ }, |
| { ARC_INSN_MAX_L_R_R__RA__RC, ARC700F_INSN_MAX_L_R_R__RA__RC, ARC700F_SFMT_ADD_L_R_R__RA__RC }, |
| { ARC_INSN_MAX_CC__RA__RC, ARC700F_INSN_MAX_CC__RA__RC, ARC700F_SFMT_ADD_CC__RA__RC }, |
| { ARC_INSN_MIN_L_S12__RA_, ARC700F_INSN_MIN_L_S12__RA_, ARC700F_SFMT_ADD_L_S12__RA_ }, |
| { ARC_INSN_MIN_CCU6__RA_, ARC700F_INSN_MIN_CCU6__RA_, ARC700F_SFMT_ADD_CCU6__RA_ }, |
| { ARC_INSN_MIN_L_U6__RA_, ARC700F_INSN_MIN_L_U6__RA_, ARC700F_SFMT_ADD_L_U6__RA_ }, |
| { ARC_INSN_MIN_L_R_R__RA__RC, ARC700F_INSN_MIN_L_R_R__RA__RC, ARC700F_SFMT_ADD_L_R_R__RA__RC }, |
| { ARC_INSN_MIN_CC__RA__RC, ARC700F_INSN_MIN_CC__RA__RC, ARC700F_SFMT_ADD_CC__RA__RC }, |
| { ARC_INSN_MOV_L_S12_, ARC700F_INSN_MOV_L_S12_, ARC700F_SFMT_MOV_L_S12_ }, |
| { ARC_INSN_MOV_CCU6_, ARC700F_INSN_MOV_CCU6_, ARC700F_SFMT_MOV_CCU6_ }, |
| { ARC_INSN_MOV_L_U6_, ARC700F_INSN_MOV_L_U6_, ARC700F_SFMT_MOV_L_U6_ }, |
| { ARC_INSN_MOV_L_R_R__RC, ARC700F_INSN_MOV_L_R_R__RC, ARC700F_SFMT_MOV_L_R_R__RC }, |
| { ARC_INSN_MOV_CC__RC, ARC700F_INSN_MOV_CC__RC, ARC700F_SFMT_MOV_CC__RC }, |
| { ARC_INSN_MOV_S_MCAH, ARC700F_INSN_MOV_S_MCAH, ARC700F_SFMT_MOV_S_MCAH }, |
| { ARC_INSN_MOV_S_MCAHB, ARC700F_INSN_MOV_S_MCAHB, ARC700F_SFMT_MOV_S_MCAHB }, |
| { ARC_INSN_MOV_S_R_U7, ARC700F_INSN_MOV_S_R_U7, ARC700F_SFMT_MOV_S_R_U7 }, |
| { ARC_INSN_TST_L_S12_, ARC700F_INSN_TST_L_S12_, ARC700F_SFMT_TST_L_S12_ }, |
| { ARC_INSN_TST_CCU6_, ARC700F_INSN_TST_CCU6_, ARC700F_SFMT_TST_CCU6_ }, |
| { ARC_INSN_TST_L_U6_, ARC700F_INSN_TST_L_U6_, ARC700F_SFMT_TST_L_U6_ }, |
| { ARC_INSN_TST_L_R_R__RC, ARC700F_INSN_TST_L_R_R__RC, ARC700F_SFMT_TST_L_R_R__RC }, |
| { ARC_INSN_TST_CC__RC, ARC700F_INSN_TST_CC__RC, ARC700F_SFMT_TST_CC__RC }, |
| { ARC_INSN_TST_S_GO, ARC700F_INSN_TST_S_GO, ARC700F_SFMT_TST_S_GO }, |
| { ARC_INSN_CMP_L_S12_, ARC700F_INSN_CMP_L_S12_, ARC700F_SFMT_CMP_L_S12_ }, |
| { ARC_INSN_CMP_CCU6_, ARC700F_INSN_CMP_CCU6_, ARC700F_SFMT_CMP_CCU6_ }, |
| { ARC_INSN_CMP_L_U6_, ARC700F_INSN_CMP_L_U6_, ARC700F_SFMT_CMP_L_U6_ }, |
| { ARC_INSN_CMP_L_R_R__RC, ARC700F_INSN_CMP_L_R_R__RC, ARC700F_SFMT_CMP_L_R_R__RC }, |
| { ARC_INSN_CMP_CC__RC, ARC700F_INSN_CMP_CC__RC, ARC700F_SFMT_CMP_CC__RC }, |
| { ARC_INSN_CMP_S_MCAH, ARC700F_INSN_CMP_S_MCAH, ARC700F_SFMT_CMP_S_MCAH }, |
| { ARC_INSN_CMP_S_R_U7, ARC700F_INSN_CMP_S_R_U7, ARC700F_SFMT_CMP_S_R_U7 }, |
| { ARC_INSN_RCMP_L_S12_, ARC700F_INSN_RCMP_L_S12_, ARC700F_SFMT_CMP_L_S12_ }, |
| { ARC_INSN_RCMP_CCU6_, ARC700F_INSN_RCMP_CCU6_, ARC700F_SFMT_CMP_CCU6_ }, |
| { ARC_INSN_RCMP_L_U6_, ARC700F_INSN_RCMP_L_U6_, ARC700F_SFMT_CMP_L_U6_ }, |
| { ARC_INSN_RCMP_L_R_R__RC, ARC700F_INSN_RCMP_L_R_R__RC, ARC700F_SFMT_CMP_L_R_R__RC }, |
| { ARC_INSN_RCMP_CC__RC, ARC700F_INSN_RCMP_CC__RC, ARC700F_SFMT_CMP_CC__RC }, |
| { ARC_INSN_RSUB_L_S12__RA_, ARC700F_INSN_RSUB_L_S12__RA_, ARC700F_SFMT_ADD_L_S12__RA_ }, |
| { ARC_INSN_RSUB_CCU6__RA_, ARC700F_INSN_RSUB_CCU6__RA_, ARC700F_SFMT_ADD_CCU6__RA_ }, |
| { ARC_INSN_RSUB_L_U6__RA_, ARC700F_INSN_RSUB_L_U6__RA_, ARC700F_SFMT_ADD_L_U6__RA_ }, |
| { ARC_INSN_RSUB_L_R_R__RA__RC, ARC700F_INSN_RSUB_L_R_R__RA__RC, ARC700F_SFMT_ADD_L_R_R__RA__RC }, |
| { ARC_INSN_RSUB_CC__RA__RC, ARC700F_INSN_RSUB_CC__RA__RC, ARC700F_SFMT_ADD_CC__RA__RC }, |
| { ARC_INSN_BSET_L_S12__RA_, ARC700F_INSN_BSET_L_S12__RA_, ARC700F_SFMT_AND_L_S12__RA_ }, |
| { ARC_INSN_BSET_CCU6__RA_, ARC700F_INSN_BSET_CCU6__RA_, ARC700F_SFMT_AND_CCU6__RA_ }, |
| { ARC_INSN_BSET_L_U6__RA_, ARC700F_INSN_BSET_L_U6__RA_, ARC700F_SFMT_AND_L_U6__RA_ }, |
| { ARC_INSN_BSET_L_R_R__RA__RC, ARC700F_INSN_BSET_L_R_R__RA__RC, ARC700F_SFMT_AND_L_R_R__RA__RC }, |
| { ARC_INSN_BSET_CC__RA__RC, ARC700F_INSN_BSET_CC__RA__RC, ARC700F_SFMT_AND_CC__RA__RC }, |
| { ARC_INSN_BSET_S_SSB, ARC700F_INSN_BSET_S_SSB, ARC700F_SFMT_SUB_S_SSB }, |
| { ARC_INSN_BCLR_L_S12__RA_, ARC700F_INSN_BCLR_L_S12__RA_, ARC700F_SFMT_AND_L_S12__RA_ }, |
| { ARC_INSN_BCLR_CCU6__RA_, ARC700F_INSN_BCLR_CCU6__RA_, ARC700F_SFMT_AND_CCU6__RA_ }, |
| { ARC_INSN_BCLR_L_U6__RA_, ARC700F_INSN_BCLR_L_U6__RA_, ARC700F_SFMT_AND_L_U6__RA_ }, |
| { ARC_INSN_BCLR_L_R_R__RA__RC, ARC700F_INSN_BCLR_L_R_R__RA__RC, ARC700F_SFMT_AND_L_R_R__RA__RC }, |
| { ARC_INSN_BCLR_CC__RA__RC, ARC700F_INSN_BCLR_CC__RA__RC, ARC700F_SFMT_AND_CC__RA__RC }, |
| { ARC_INSN_BCLR_S_SSB, ARC700F_INSN_BCLR_S_SSB, ARC700F_SFMT_SUB_S_SSB }, |
| { ARC_INSN_BTST_L_S12_, ARC700F_INSN_BTST_L_S12_, ARC700F_SFMT_TST_L_S12_ }, |
| { ARC_INSN_BTST_CCU6_, ARC700F_INSN_BTST_CCU6_, ARC700F_SFMT_TST_CCU6_ }, |
| { ARC_INSN_BTST_L_U6_, ARC700F_INSN_BTST_L_U6_, ARC700F_SFMT_TST_L_U6_ }, |
| { ARC_INSN_BTST_L_R_R__RC, ARC700F_INSN_BTST_L_R_R__RC, ARC700F_SFMT_TST_L_R_R__RC }, |
| { ARC_INSN_BTST_CC__RC, ARC700F_INSN_BTST_CC__RC, ARC700F_SFMT_TST_CC__RC }, |
| { ARC_INSN_BTST_S_SSB, ARC700F_INSN_BTST_S_SSB, ARC700F_SFMT_BTST_S_SSB }, |
| { ARC_INSN_BXOR_L_S12__RA_, ARC700F_INSN_BXOR_L_S12__RA_, ARC700F_SFMT_AND_L_S12__RA_ }, |
| { ARC_INSN_BXOR_CCU6__RA_, ARC700F_INSN_BXOR_CCU6__RA_, ARC700F_SFMT_AND_CCU6__RA_ }, |
| { ARC_INSN_BXOR_L_U6__RA_, ARC700F_INSN_BXOR_L_U6__RA_, ARC700F_SFMT_AND_L_U6__RA_ }, |
| { ARC_INSN_BXOR_L_R_R__RA__RC, ARC700F_INSN_BXOR_L_R_R__RA__RC, ARC700F_SFMT_AND_L_R_R__RA__RC }, |
| { ARC_INSN_BXOR_CC__RA__RC, ARC700F_INSN_BXOR_CC__RA__RC, ARC700F_SFMT_AND_CC__RA__RC }, |
| { ARC_INSN_BMSK_L_S12__RA_, ARC700F_INSN_BMSK_L_S12__RA_, ARC700F_SFMT_AND_L_S12__RA_ }, |
| { ARC_INSN_BMSK_CCU6__RA_, ARC700F_INSN_BMSK_CCU6__RA_, ARC700F_SFMT_AND_CCU6__RA_ }, |
| { ARC_INSN_BMSK_L_U6__RA_, ARC700F_INSN_BMSK_L_U6__RA_, ARC700F_SFMT_AND_L_U6__RA_ }, |
| { ARC_INSN_BMSK_L_R_R__RA__RC, ARC700F_INSN_BMSK_L_R_R__RA__RC, ARC700F_SFMT_AND_L_R_R__RA__RC }, |
| { ARC_INSN_BMSK_CC__RA__RC, ARC700F_INSN_BMSK_CC__RA__RC, ARC700F_SFMT_AND_CC__RA__RC }, |
| { ARC_INSN_BMSK_S_SSB, ARC700F_INSN_BMSK_S_SSB, ARC700F_SFMT_SUB_S_SSB }, |
| { ARC_INSN_ADD1_L_S12__RA_, ARC700F_INSN_ADD1_L_S12__RA_, ARC700F_SFMT_ADD_L_S12__RA_ }, |
| { ARC_INSN_ADD1_CCU6__RA_, ARC700F_INSN_ADD1_CCU6__RA_, ARC700F_SFMT_ADD_CCU6__RA_ }, |
| { ARC_INSN_ADD1_L_U6__RA_, ARC700F_INSN_ADD1_L_U6__RA_, ARC700F_SFMT_ADD_L_U6__RA_ }, |
| { ARC_INSN_ADD1_L_R_R__RA__RC, ARC700F_INSN_ADD1_L_R_R__RA__RC, ARC700F_SFMT_ADD_L_R_R__RA__RC }, |
| { ARC_INSN_ADD1_CC__RA__RC, ARC700F_INSN_ADD1_CC__RA__RC, ARC700F_SFMT_ADD_CC__RA__RC }, |
| { ARC_INSN_I16_GO_ADD1_S_GO, ARC700F_INSN_I16_GO_ADD1_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_ADD2_L_S12__RA_, ARC700F_INSN_ADD2_L_S12__RA_, ARC700F_SFMT_ADD_L_S12__RA_ }, |
| { ARC_INSN_ADD2_CCU6__RA_, ARC700F_INSN_ADD2_CCU6__RA_, ARC700F_SFMT_ADD_CCU6__RA_ }, |
| { ARC_INSN_ADD2_L_U6__RA_, ARC700F_INSN_ADD2_L_U6__RA_, ARC700F_SFMT_ADD_L_U6__RA_ }, |
| { ARC_INSN_ADD2_L_R_R__RA__RC, ARC700F_INSN_ADD2_L_R_R__RA__RC, ARC700F_SFMT_ADD_L_R_R__RA__RC }, |
| { ARC_INSN_ADD2_CC__RA__RC, ARC700F_INSN_ADD2_CC__RA__RC, ARC700F_SFMT_ADD_CC__RA__RC }, |
| { ARC_INSN_I16_GO_ADD2_S_GO, ARC700F_INSN_I16_GO_ADD2_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_ADD3_L_S12__RA_, ARC700F_INSN_ADD3_L_S12__RA_, ARC700F_SFMT_ADD_L_S12__RA_ }, |
| { ARC_INSN_ADD3_CCU6__RA_, ARC700F_INSN_ADD3_CCU6__RA_, ARC700F_SFMT_ADD_CCU6__RA_ }, |
| { ARC_INSN_ADD3_L_U6__RA_, ARC700F_INSN_ADD3_L_U6__RA_, ARC700F_SFMT_ADD_L_U6__RA_ }, |
| { ARC_INSN_ADD3_L_R_R__RA__RC, ARC700F_INSN_ADD3_L_R_R__RA__RC, ARC700F_SFMT_ADD_L_R_R__RA__RC }, |
| { ARC_INSN_ADD3_CC__RA__RC, ARC700F_INSN_ADD3_CC__RA__RC, ARC700F_SFMT_ADD_CC__RA__RC }, |
| { ARC_INSN_I16_GO_ADD3_S_GO, ARC700F_INSN_I16_GO_ADD3_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_SUB1_L_S12__RA_, ARC700F_INSN_SUB1_L_S12__RA_, ARC700F_SFMT_ADD_L_S12__RA_ }, |
| { ARC_INSN_SUB1_CCU6__RA_, ARC700F_INSN_SUB1_CCU6__RA_, ARC700F_SFMT_ADD_CCU6__RA_ }, |
| { ARC_INSN_SUB1_L_U6__RA_, ARC700F_INSN_SUB1_L_U6__RA_, ARC700F_SFMT_ADD_L_U6__RA_ }, |
| { ARC_INSN_SUB1_L_R_R__RA__RC, ARC700F_INSN_SUB1_L_R_R__RA__RC, ARC700F_SFMT_ADD_L_R_R__RA__RC }, |
| { ARC_INSN_SUB1_CC__RA__RC, ARC700F_INSN_SUB1_CC__RA__RC, ARC700F_SFMT_ADD_CC__RA__RC }, |
| { ARC_INSN_SUB2_L_S12__RA_, ARC700F_INSN_SUB2_L_S12__RA_, ARC700F_SFMT_ADD_L_S12__RA_ }, |
| { ARC_INSN_SUB2_CCU6__RA_, ARC700F_INSN_SUB2_CCU6__RA_, ARC700F_SFMT_ADD_CCU6__RA_ }, |
| { ARC_INSN_SUB2_L_U6__RA_, ARC700F_INSN_SUB2_L_U6__RA_, ARC700F_SFMT_ADD_L_U6__RA_ }, |
| { ARC_INSN_SUB2_L_R_R__RA__RC, ARC700F_INSN_SUB2_L_R_R__RA__RC, ARC700F_SFMT_ADD_L_R_R__RA__RC }, |
| { ARC_INSN_SUB2_CC__RA__RC, ARC700F_INSN_SUB2_CC__RA__RC, ARC700F_SFMT_ADD_CC__RA__RC }, |
| { ARC_INSN_SUB3_L_S12__RA_, ARC700F_INSN_SUB3_L_S12__RA_, ARC700F_SFMT_ADD_L_S12__RA_ }, |
| { ARC_INSN_SUB3_CCU6__RA_, ARC700F_INSN_SUB3_CCU6__RA_, ARC700F_SFMT_ADD_CCU6__RA_ }, |
| { ARC_INSN_SUB3_L_U6__RA_, ARC700F_INSN_SUB3_L_U6__RA_, ARC700F_SFMT_ADD_L_U6__RA_ }, |
| { ARC_INSN_SUB3_L_R_R__RA__RC, ARC700F_INSN_SUB3_L_R_R__RA__RC, ARC700F_SFMT_ADD_L_R_R__RA__RC }, |
| { ARC_INSN_SUB3_CC__RA__RC, ARC700F_INSN_SUB3_CC__RA__RC, ARC700F_SFMT_ADD_CC__RA__RC }, |
| { ARC_INSN_MPY_L_S12__RA_, ARC700F_INSN_MPY_L_S12__RA_, ARC700F_SFMT_MPY_L_S12__RA_ }, |
| { ARC_INSN_MPY_CCU6__RA_, ARC700F_INSN_MPY_CCU6__RA_, ARC700F_SFMT_MPY_CCU6__RA_ }, |
| { ARC_INSN_MPY_L_U6__RA_, ARC700F_INSN_MPY_L_U6__RA_, ARC700F_SFMT_MPY_L_U6__RA_ }, |
| { ARC_INSN_MPY_L_R_R__RA__RC, ARC700F_INSN_MPY_L_R_R__RA__RC, ARC700F_SFMT_MPY_L_R_R__RA__RC }, |
| { ARC_INSN_MPY_CC__RA__RC, ARC700F_INSN_MPY_CC__RA__RC, ARC700F_SFMT_MPY_CC__RA__RC }, |
| { ARC_INSN_MPYH_L_S12__RA_, ARC700F_INSN_MPYH_L_S12__RA_, ARC700F_SFMT_MPY_L_S12__RA_ }, |
| { ARC_INSN_MPYH_CCU6__RA_, ARC700F_INSN_MPYH_CCU6__RA_, ARC700F_SFMT_MPY_CCU6__RA_ }, |
| { ARC_INSN_MPYH_L_U6__RA_, ARC700F_INSN_MPYH_L_U6__RA_, ARC700F_SFMT_MPY_L_U6__RA_ }, |
| { ARC_INSN_MPYH_L_R_R__RA__RC, ARC700F_INSN_MPYH_L_R_R__RA__RC, ARC700F_SFMT_MPY_L_R_R__RA__RC }, |
| { ARC_INSN_MPYH_CC__RA__RC, ARC700F_INSN_MPYH_CC__RA__RC, ARC700F_SFMT_MPY_CC__RA__RC }, |
| { ARC_INSN_MPYHU_L_S12__RA_, ARC700F_INSN_MPYHU_L_S12__RA_, ARC700F_SFMT_MPY_L_S12__RA_ }, |
| { ARC_INSN_MPYHU_CCU6__RA_, ARC700F_INSN_MPYHU_CCU6__RA_, ARC700F_SFMT_MPY_CCU6__RA_ }, |
| { ARC_INSN_MPYHU_L_U6__RA_, ARC700F_INSN_MPYHU_L_U6__RA_, ARC700F_SFMT_MPY_L_U6__RA_ }, |
| { ARC_INSN_MPYHU_L_R_R__RA__RC, ARC700F_INSN_MPYHU_L_R_R__RA__RC, ARC700F_SFMT_MPY_L_R_R__RA__RC }, |
| { ARC_INSN_MPYHU_CC__RA__RC, ARC700F_INSN_MPYHU_CC__RA__RC, ARC700F_SFMT_MPY_CC__RA__RC }, |
| { ARC_INSN_MPYU_L_S12__RA_, ARC700F_INSN_MPYU_L_S12__RA_, ARC700F_SFMT_MPY_L_S12__RA_ }, |
| { ARC_INSN_MPYU_CCU6__RA_, ARC700F_INSN_MPYU_CCU6__RA_, ARC700F_SFMT_MPY_CCU6__RA_ }, |
| { ARC_INSN_MPYU_L_U6__RA_, ARC700F_INSN_MPYU_L_U6__RA_, ARC700F_SFMT_MPY_L_U6__RA_ }, |
| { ARC_INSN_MPYU_L_R_R__RA__RC, ARC700F_INSN_MPYU_L_R_R__RA__RC, ARC700F_SFMT_MPY_L_R_R__RA__RC }, |
| { ARC_INSN_MPYU_CC__RA__RC, ARC700F_INSN_MPYU_CC__RA__RC, ARC700F_SFMT_MPY_CC__RA__RC }, |
| { ARC_INSN_J_L_R_R___RC_NOILINK_, ARC700F_INSN_J_L_R_R___RC_NOILINK_, ARC700F_SFMT_J_L_R_R___RC_NOILINK_ }, |
| { ARC_INSN_J_CC___RC_NOILINK_, ARC700F_INSN_J_CC___RC_NOILINK_, ARC700F_SFMT_J_CC___RC_NOILINK_ }, |
| { ARC_INSN_J_L_R_R___RC_ILINK_, ARC700F_INSN_J_L_R_R___RC_ILINK_, ARC700F_SFMT_J_L_R_R___RC_ILINK_ }, |
| { ARC_INSN_J_CC___RC_ILINK_, ARC700F_INSN_J_CC___RC_ILINK_, ARC700F_SFMT_J_CC___RC_ILINK_ }, |
| { ARC_INSN_J_L_S12_, ARC700F_INSN_J_L_S12_, ARC700F_SFMT_J_L_S12_ }, |
| { ARC_INSN_J_CCU6_, ARC700F_INSN_J_CCU6_, ARC700F_SFMT_J_CCU6_ }, |
| { ARC_INSN_J_L_U6_, ARC700F_INSN_J_L_U6_, ARC700F_SFMT_J_L_U6_ }, |
| { ARC_INSN_J_S, ARC700F_INSN_J_S, ARC700F_SFMT_J_S }, |
| { ARC_INSN_J_S__S, ARC700F_INSN_J_S__S, ARC700F_SFMT_J_S__S }, |
| { ARC_INSN_J_SEQ__S, ARC700F_INSN_J_SEQ__S, ARC700F_SFMT_J_SEQ__S }, |
| { ARC_INSN_J_SNE__S, ARC700F_INSN_J_SNE__S, ARC700F_SFMT_J_SEQ__S }, |
| { ARC_INSN_J_L_S12_D_, ARC700F_INSN_J_L_S12_D_, ARC700F_SFMT_J_L_S12_D_ }, |
| { ARC_INSN_J_CCU6_D_, ARC700F_INSN_J_CCU6_D_, ARC700F_SFMT_J_CCU6_D_ }, |
| { ARC_INSN_J_L_U6_D_, ARC700F_INSN_J_L_U6_D_, ARC700F_SFMT_J_L_U6_D_ }, |
| { ARC_INSN_J_L_R_R_D___RC_, ARC700F_INSN_J_L_R_R_D___RC_, ARC700F_SFMT_J_L_R_R_D___RC_ }, |
| { ARC_INSN_J_CC_D___RC_, ARC700F_INSN_J_CC_D___RC_, ARC700F_SFMT_J_CC_D___RC_ }, |
| { ARC_INSN_J_S_D, ARC700F_INSN_J_S_D, ARC700F_SFMT_J_S }, |
| { ARC_INSN_J_S__S_D, ARC700F_INSN_J_S__S_D, ARC700F_SFMT_J_S__S }, |
| { ARC_INSN_JL_L_S12_, ARC700F_INSN_JL_L_S12_, ARC700F_SFMT_JL_L_S12_ }, |
| { ARC_INSN_JL_CCU6_, ARC700F_INSN_JL_CCU6_, ARC700F_SFMT_JL_CCU6_ }, |
| { ARC_INSN_JL_L_U6_, ARC700F_INSN_JL_L_U6_, ARC700F_SFMT_JL_L_U6_ }, |
| { ARC_INSN_JL_S, ARC700F_INSN_JL_S, ARC700F_SFMT_JL_S }, |
| { ARC_INSN_JL_L_R_R___RC_NOILINK_, ARC700F_INSN_JL_L_R_R___RC_NOILINK_, ARC700F_SFMT_JL_L_R_R___RC_NOILINK_ }, |
| { ARC_INSN_JL_CC___RC_NOILINK_, ARC700F_INSN_JL_CC___RC_NOILINK_, ARC700F_SFMT_JL_CC___RC_NOILINK_ }, |
| { ARC_INSN_JL_L_S12_D_, ARC700F_INSN_JL_L_S12_D_, ARC700F_SFMT_JL_L_S12_ }, |
| { ARC_INSN_JL_CCU6_D_, ARC700F_INSN_JL_CCU6_D_, ARC700F_SFMT_JL_CCU6_ }, |
| { ARC_INSN_JL_L_U6_D_, ARC700F_INSN_JL_L_U6_D_, ARC700F_SFMT_JL_L_U6_ }, |
| { ARC_INSN_JL_L_R_R_D___RC_, ARC700F_INSN_JL_L_R_R_D___RC_, ARC700F_SFMT_JL_L_R_R_D___RC_ }, |
| { ARC_INSN_JL_CC_D___RC_, ARC700F_INSN_JL_CC_D___RC_, ARC700F_SFMT_JL_CC_D___RC_ }, |
| { ARC_INSN_JL_S_D, ARC700F_INSN_JL_S_D, ARC700F_SFMT_JL_S_D }, |
| { ARC_INSN_LP_L_S12_, ARC700F_INSN_LP_L_S12_, ARC700F_SFMT_LP_L_S12_ }, |
| { ARC_INSN_LPCC_CCU6, ARC700F_INSN_LPCC_CCU6, ARC700F_SFMT_LPCC_CCU6 }, |
| { ARC_INSN_FLAG_L_S12_, ARC700F_INSN_FLAG_L_S12_, ARC700F_SFMT_FLAG_L_S12_ }, |
| { ARC_INSN_FLAG_CCU6_, ARC700F_INSN_FLAG_CCU6_, ARC700F_SFMT_FLAG_CCU6_ }, |
| { ARC_INSN_FLAG_L_U6_, ARC700F_INSN_FLAG_L_U6_, ARC700F_SFMT_FLAG_L_U6_ }, |
| { ARC_INSN_FLAG_L_R_R__RC, ARC700F_INSN_FLAG_L_R_R__RC, ARC700F_SFMT_FLAG_L_R_R__RC }, |
| { ARC_INSN_FLAG_CC__RC, ARC700F_INSN_FLAG_CC__RC, ARC700F_SFMT_FLAG_CC__RC }, |
| { ARC_INSN_LR_L_R_R___RC_, ARC700F_INSN_LR_L_R_R___RC_, ARC700F_SFMT_LR_L_R_R___RC_ }, |
| { ARC_INSN_LR_L_S12_, ARC700F_INSN_LR_L_S12_, ARC700F_SFMT_LR_L_S12_ }, |
| { ARC_INSN_LR_L_U6_, ARC700F_INSN_LR_L_U6_, ARC700F_SFMT_LR_L_U6_ }, |
| { ARC_INSN_SR_L_R_R___RC_, ARC700F_INSN_SR_L_R_R___RC_, ARC700F_SFMT_SR_L_R_R___RC_ }, |
| { ARC_INSN_SR_L_S12_, ARC700F_INSN_SR_L_S12_, ARC700F_SFMT_SR_L_S12_ }, |
| { ARC_INSN_SR_L_U6_, ARC700F_INSN_SR_L_U6_, ARC700F_SFMT_SR_L_U6_ }, |
| { ARC_INSN_ASL_L_R_R__RC, ARC700F_INSN_ASL_L_R_R__RC, ARC700F_SFMT_ASL_L_R_R__RC }, |
| { ARC_INSN_ASL_L_U6_, ARC700F_INSN_ASL_L_U6_, ARC700F_SFMT_ASL_L_U6_ }, |
| { ARC_INSN_I16_GO_ASL_S_GO, ARC700F_INSN_I16_GO_ASL_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_ASR_L_R_R__RC, ARC700F_INSN_ASR_L_R_R__RC, ARC700F_SFMT_ASR_L_R_R__RC }, |
| { ARC_INSN_ASR_L_U6_, ARC700F_INSN_ASR_L_U6_, ARC700F_SFMT_ASR_L_U6_ }, |
| { ARC_INSN_I16_GO_ASR_S_GO, ARC700F_INSN_I16_GO_ASR_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_LSR_L_R_R__RC, ARC700F_INSN_LSR_L_R_R__RC, ARC700F_SFMT_ASR_L_R_R__RC }, |
| { ARC_INSN_LSR_L_U6_, ARC700F_INSN_LSR_L_U6_, ARC700F_SFMT_ASR_L_U6_ }, |
| { ARC_INSN_I16_GO_LSR_S_GO, ARC700F_INSN_I16_GO_LSR_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_ROR_L_R_R__RC, ARC700F_INSN_ROR_L_R_R__RC, ARC700F_SFMT_ASR_L_R_R__RC }, |
| { ARC_INSN_ROR_L_U6_, ARC700F_INSN_ROR_L_U6_, ARC700F_SFMT_ASR_L_U6_ }, |
| { ARC_INSN_RRC_L_R_R__RC, ARC700F_INSN_RRC_L_R_R__RC, ARC700F_SFMT_RRC_L_R_R__RC }, |
| { ARC_INSN_RRC_L_U6_, ARC700F_INSN_RRC_L_U6_, ARC700F_SFMT_RRC_L_U6_ }, |
| { ARC_INSN_SEXB_L_R_R__RC, ARC700F_INSN_SEXB_L_R_R__RC, ARC700F_SFMT_SEXB_L_R_R__RC }, |
| { ARC_INSN_SEXB_L_U6_, ARC700F_INSN_SEXB_L_U6_, ARC700F_SFMT_SEXB_L_U6_ }, |
| { ARC_INSN_I16_GO_SEXB_S_GO, ARC700F_INSN_I16_GO_SEXB_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_SEXW_L_R_R__RC, ARC700F_INSN_SEXW_L_R_R__RC, ARC700F_SFMT_SEXW_L_R_R__RC }, |
| { ARC_INSN_SEXW_L_U6_, ARC700F_INSN_SEXW_L_U6_, ARC700F_SFMT_SEXW_L_U6_ }, |
| { ARC_INSN_I16_GO_SEXW_S_GO, ARC700F_INSN_I16_GO_SEXW_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_EXTB_L_R_R__RC, ARC700F_INSN_EXTB_L_R_R__RC, ARC700F_SFMT_SEXB_L_R_R__RC }, |
| { ARC_INSN_EXTB_L_U6_, ARC700F_INSN_EXTB_L_U6_, ARC700F_SFMT_SEXB_L_U6_ }, |
| { ARC_INSN_I16_GO_EXTB_S_GO, ARC700F_INSN_I16_GO_EXTB_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_EXTW_L_R_R__RC, ARC700F_INSN_EXTW_L_R_R__RC, ARC700F_SFMT_SEXW_L_R_R__RC }, |
| { ARC_INSN_EXTW_L_U6_, ARC700F_INSN_EXTW_L_U6_, ARC700F_SFMT_SEXW_L_U6_ }, |
| { ARC_INSN_I16_GO_EXTW_S_GO, ARC700F_INSN_I16_GO_EXTW_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_ABS_L_R_R__RC, ARC700F_INSN_ABS_L_R_R__RC, ARC700F_SFMT_ABS_L_R_R__RC }, |
| { ARC_INSN_ABS_L_U6_, ARC700F_INSN_ABS_L_U6_, ARC700F_SFMT_ABS_L_U6_ }, |
| { ARC_INSN_I16_GO_ABS_S_GO, ARC700F_INSN_I16_GO_ABS_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_NOT_L_R_R__RC, ARC700F_INSN_NOT_L_R_R__RC, ARC700F_SFMT_NOT_L_R_R__RC }, |
| { ARC_INSN_NOT_L_U6_, ARC700F_INSN_NOT_L_U6_, ARC700F_SFMT_NOT_L_U6_ }, |
| { ARC_INSN_I16_GO_NOT_S_GO, ARC700F_INSN_I16_GO_NOT_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_RLC_L_R_R__RC, ARC700F_INSN_RLC_L_R_R__RC, ARC700F_SFMT_RRC_L_R_R__RC }, |
| { ARC_INSN_RLC_L_U6_, ARC700F_INSN_RLC_L_U6_, ARC700F_SFMT_RRC_L_U6_ }, |
| { ARC_INSN_EX_L_R_R__RC, ARC700F_INSN_EX_L_R_R__RC, ARC700F_SFMT_EX_L_R_R__RC }, |
| { ARC_INSN_EX_L_U6_, ARC700F_INSN_EX_L_U6_, ARC700F_SFMT_EX_L_U6_ }, |
| { ARC_INSN_I16_GO_NEG_S_GO, ARC700F_INSN_I16_GO_NEG_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_SWI, ARC700F_INSN_SWI, ARC700F_SFMT_SWI }, |
| { ARC_INSN_TRAP_S, ARC700F_INSN_TRAP_S, ARC700F_SFMT_TRAP_S }, |
| { ARC_INSN_BRK, ARC700F_INSN_BRK, ARC700F_SFMT_BRK }, |
| { ARC_INSN_BRK_S, ARC700F_INSN_BRK_S, ARC700F_SFMT_BRK }, |
| { ARC_INSN_ASL_L_S12__RA_, ARC700F_INSN_ASL_L_S12__RA_, ARC700F_SFMT_ASL_L_S12__RA_ }, |
| { ARC_INSN_ASL_CCU6__RA_, ARC700F_INSN_ASL_CCU6__RA_, ARC700F_SFMT_ASL_CCU6__RA_ }, |
| { ARC_INSN_ASL_L_U6__RA_, ARC700F_INSN_ASL_L_U6__RA_, ARC700F_SFMT_ASL_L_U6__RA_ }, |
| { ARC_INSN_ASL_L_R_R__RA__RC, ARC700F_INSN_ASL_L_R_R__RA__RC, ARC700F_SFMT_ASL_L_R_R__RA__RC }, |
| { ARC_INSN_ASL_CC__RA__RC, ARC700F_INSN_ASL_CC__RA__RC, ARC700F_SFMT_ASL_CC__RA__RC }, |
| { ARC_INSN_ASL_S_CBU3, ARC700F_INSN_ASL_S_CBU3, ARC700F_SFMT_ADD_S_CBU3 }, |
| { ARC_INSN_ASL_S_SSB, ARC700F_INSN_ASL_S_SSB, ARC700F_SFMT_SUB_S_SSB }, |
| { ARC_INSN_I16_GO_ASLM_S_GO, ARC700F_INSN_I16_GO_ASLM_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_LSR_L_S12__RA_, ARC700F_INSN_LSR_L_S12__RA_, ARC700F_SFMT_ASL_L_S12__RA_ }, |
| { ARC_INSN_LSR_CCU6__RA_, ARC700F_INSN_LSR_CCU6__RA_, ARC700F_SFMT_ASL_CCU6__RA_ }, |
| { ARC_INSN_LSR_L_U6__RA_, ARC700F_INSN_LSR_L_U6__RA_, ARC700F_SFMT_ASL_L_U6__RA_ }, |
| { ARC_INSN_LSR_L_R_R__RA__RC, ARC700F_INSN_LSR_L_R_R__RA__RC, ARC700F_SFMT_ASL_L_R_R__RA__RC }, |
| { ARC_INSN_LSR_CC__RA__RC, ARC700F_INSN_LSR_CC__RA__RC, ARC700F_SFMT_ASL_CC__RA__RC }, |
| { ARC_INSN_LSR_S_SSB, ARC700F_INSN_LSR_S_SSB, ARC700F_SFMT_SUB_S_SSB }, |
| { ARC_INSN_I16_GO_LSRM_S_GO, ARC700F_INSN_I16_GO_LSRM_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_ASR_L_S12__RA_, ARC700F_INSN_ASR_L_S12__RA_, ARC700F_SFMT_ASL_L_S12__RA_ }, |
| { ARC_INSN_ASR_CCU6__RA_, ARC700F_INSN_ASR_CCU6__RA_, ARC700F_SFMT_ASL_CCU6__RA_ }, |
| { ARC_INSN_ASR_L_U6__RA_, ARC700F_INSN_ASR_L_U6__RA_, ARC700F_SFMT_ASL_L_U6__RA_ }, |
| { ARC_INSN_ASR_L_R_R__RA__RC, ARC700F_INSN_ASR_L_R_R__RA__RC, ARC700F_SFMT_ASL_L_R_R__RA__RC }, |
| { ARC_INSN_ASR_CC__RA__RC, ARC700F_INSN_ASR_CC__RA__RC, ARC700F_SFMT_ASL_CC__RA__RC }, |
| { ARC_INSN_ASR_S_CBU3, ARC700F_INSN_ASR_S_CBU3, ARC700F_SFMT_ADD_S_CBU3 }, |
| { ARC_INSN_ASR_S_SSB, ARC700F_INSN_ASR_S_SSB, ARC700F_SFMT_SUB_S_SSB }, |
| { ARC_INSN_I16_GO_ASRM_S_GO, ARC700F_INSN_I16_GO_ASRM_S_GO, ARC700F_SFMT_I16_GO_SUB_S_GO }, |
| { ARC_INSN_ROR_L_S12__RA_, ARC700F_INSN_ROR_L_S12__RA_, ARC700F_SFMT_ASL_L_S12__RA_ }, |
| { ARC_INSN_ROR_CCU6__RA_, ARC700F_INSN_ROR_CCU6__RA_, ARC700F_SFMT_ASL_CCU6__RA_ }, |
| { ARC_INSN_ROR_L_U6__RA_, ARC700F_INSN_ROR_L_U6__RA_, ARC700F_SFMT_ASL_L_U6__RA_ }, |
| { ARC_INSN_ROR_L_R_R__RA__RC, ARC700F_INSN_ROR_L_R_R__RA__RC, ARC700F_SFMT_ASL_L_R_R__RA__RC }, |
| { ARC_INSN_ROR_CC__RA__RC, ARC700F_INSN_ROR_CC__RA__RC, ARC700F_SFMT_ASL_CC__RA__RC }, |
| { ARC_INSN_MUL64_L_S12_, ARC700F_INSN_MUL64_L_S12_, ARC700F_SFMT_MUL64_L_S12_ }, |
| { ARC_INSN_MUL64_CCU6_, ARC700F_INSN_MUL64_CCU6_, ARC700F_SFMT_MUL64_CCU6_ }, |
| { ARC_INSN_MUL64_L_U6_, ARC700F_INSN_MUL64_L_U6_, ARC700F_SFMT_MUL64_L_U6_ }, |
| { ARC_INSN_MUL64_L_R_R__RC, ARC700F_INSN_MUL64_L_R_R__RC, ARC700F_SFMT_MUL64_L_R_R__RC }, |
| { ARC_INSN_MUL64_CC__RC, ARC700F_INSN_MUL64_CC__RC, ARC700F_SFMT_MUL64_CC__RC }, |
| { ARC_INSN_MUL64_S_GO, ARC700F_INSN_MUL64_S_GO, ARC700F_SFMT_MUL64_S_GO }, |
| { ARC_INSN_MULU64_L_S12_, ARC700F_INSN_MULU64_L_S12_, ARC700F_SFMT_MUL64_L_S12_ }, |
| { ARC_INSN_MULU64_CCU6_, ARC700F_INSN_MULU64_CCU6_, ARC700F_SFMT_MUL64_CCU6_ }, |
| { ARC_INSN_MULU64_L_U6_, ARC700F_INSN_MULU64_L_U6_, ARC700F_SFMT_MUL64_L_U6_ }, |
| { ARC_INSN_MULU64_L_R_R__RC, ARC700F_INSN_MULU64_L_R_R__RC, ARC700F_SFMT_MUL64_L_R_R__RC }, |
| { ARC_INSN_MULU64_CC__RC, ARC700F_INSN_MULU64_CC__RC, ARC700F_SFMT_MUL64_CC__RC }, |
| { ARC_INSN_ADDS_L_S12__RA_, ARC700F_INSN_ADDS_L_S12__RA_, ARC700F_SFMT_ADDS_L_S12__RA_ }, |
| { ARC_INSN_ADDS_CCU6__RA_, ARC700F_INSN_ADDS_CCU6__RA_, ARC700F_SFMT_ADDS_CCU6__RA_ }, |
| { ARC_INSN_ADDS_L_U6__RA_, ARC700F_INSN_ADDS_L_U6__RA_, ARC700F_SFMT_ADDS_L_U6__RA_ }, |
| { ARC_INSN_ADDS_L_R_R__RA__RC, ARC700F_INSN_ADDS_L_R_R__RA__RC, ARC700F_SFMT_ADDS_L_R_R__RA__RC }, |
| { ARC_INSN_ADDS_CC__RA__RC, ARC700F_INSN_ADDS_CC__RA__RC, ARC700F_SFMT_ADDS_CC__RA__RC }, |
| { ARC_INSN_SUBS_L_S12__RA_, ARC700F_INSN_SUBS_L_S12__RA_, ARC700F_SFMT_ADDS_L_S12__RA_ }, |
| { ARC_INSN_SUBS_CCU6__RA_, ARC700F_INSN_SUBS_CCU6__RA_, ARC700F_SFMT_ADDS_CCU6__RA_ }, |
| { ARC_INSN_SUBS_L_U6__RA_, ARC700F_INSN_SUBS_L_U6__RA_, ARC700F_SFMT_ADDS_L_U6__RA_ }, |
| { ARC_INSN_SUBS_L_R_R__RA__RC, ARC700F_INSN_SUBS_L_R_R__RA__RC, ARC700F_SFMT_ADDS_L_R_R__RA__RC }, |
| { ARC_INSN_SUBS_CC__RA__RC, ARC700F_INSN_SUBS_CC__RA__RC, ARC700F_SFMT_ADDS_CC__RA__RC }, |
| { ARC_INSN_DIVAW_L_S12__RA_, ARC700F_INSN_DIVAW_L_S12__RA_, ARC700F_SFMT_DIVAW_L_S12__RA_ }, |
| { ARC_INSN_DIVAW_CCU6__RA_, ARC700F_INSN_DIVAW_CCU6__RA_, ARC700F_SFMT_DIVAW_CCU6__RA_ }, |
| { ARC_INSN_DIVAW_L_U6__RA_, ARC700F_INSN_DIVAW_L_U6__RA_, ARC700F_SFMT_DIVAW_L_U6__RA_ }, |
| { ARC_INSN_DIVAW_L_R_R__RA__RC, ARC700F_INSN_DIVAW_L_R_R__RA__RC, ARC700F_SFMT_DIVAW_L_R_R__RA__RC }, |
| { ARC_INSN_DIVAW_CC__RA__RC, ARC700F_INSN_DIVAW_CC__RA__RC, ARC700F_SFMT_DIVAW_CC__RA__RC }, |
| { ARC_INSN_ASLS_L_S12__RA_, ARC700F_INSN_ASLS_L_S12__RA_, ARC700F_SFMT_ASLS_L_S12__RA_ }, |
| { ARC_INSN_ASLS_CCU6__RA_, ARC700F_INSN_ASLS_CCU6__RA_, ARC700F_SFMT_ASLS_CCU6__RA_ }, |
| { ARC_INSN_ASLS_L_U6__RA_, ARC700F_INSN_ASLS_L_U6__RA_, ARC700F_SFMT_ASLS_L_U6__RA_ }, |
| { ARC_INSN_ASLS_L_R_R__RA__RC, ARC700F_INSN_ASLS_L_R_R__RA__RC, ARC700F_SFMT_ASLS_L_R_R__RA__RC }, |
| { ARC_INSN_ASLS_CC__RA__RC, ARC700F_INSN_ASLS_CC__RA__RC, ARC700F_SFMT_ASLS_CC__RA__RC }, |
| { ARC_INSN_ASRS_L_S12__RA_, ARC700F_INSN_ASRS_L_S12__RA_, ARC700F_SFMT_ASLS_L_S12__RA_ }, |
| { ARC_INSN_ASRS_CCU6__RA_, ARC700F_INSN_ASRS_CCU6__RA_, ARC700F_SFMT_ASLS_CCU6__RA_ }, |
| { ARC_INSN_ASRS_L_U6__RA_, ARC700F_INSN_ASRS_L_U6__RA_, ARC700F_SFMT_ASLS_L_U6__RA_ }, |
| { ARC_INSN_ASRS_L_R_R__RA__RC, ARC700F_INSN_ASRS_L_R_R__RA__RC, ARC700F_SFMT_ASLS_L_R_R__RA__RC }, |
| { ARC_INSN_ASRS_CC__RA__RC, ARC700F_INSN_ASRS_CC__RA__RC, ARC700F_SFMT_ASLS_CC__RA__RC }, |
| { ARC_INSN_ADDSDW_L_S12__RA_, ARC700F_INSN_ADDSDW_L_S12__RA_, ARC700F_SFMT_ASLS_L_S12__RA_ }, |
| { ARC_INSN_ADDSDW_CCU6__RA_, ARC700F_INSN_ADDSDW_CCU6__RA_, ARC700F_SFMT_ASLS_CCU6__RA_ }, |
| { ARC_INSN_ADDSDW_L_U6__RA_, ARC700F_INSN_ADDSDW_L_U6__RA_, ARC700F_SFMT_ASLS_L_U6__RA_ }, |
| { ARC_INSN_ADDSDW_L_R_R__RA__RC, ARC700F_INSN_ADDSDW_L_R_R__RA__RC, ARC700F_SFMT_ASLS_L_R_R__RA__RC }, |
| { ARC_INSN_ADDSDW_CC__RA__RC, ARC700F_INSN_ADDSDW_CC__RA__RC, ARC700F_SFMT_ASLS_CC__RA__RC }, |
| { ARC_INSN_SUBSDW_L_S12__RA_, ARC700F_INSN_SUBSDW_L_S12__RA_, ARC700F_SFMT_ASLS_L_S12__RA_ }, |
| { ARC_INSN_SUBSDW_CCU6__RA_, ARC700F_INSN_SUBSDW_CCU6__RA_, ARC700F_SFMT_ASLS_CCU6__RA_ }, |
| { ARC_INSN_SUBSDW_L_U6__RA_, ARC700F_INSN_SUBSDW_L_U6__RA_, ARC700F_SFMT_ASLS_L_U6__RA_ }, |
| { ARC_INSN_SUBSDW_L_R_R__RA__RC, ARC700F_INSN_SUBSDW_L_R_R__RA__RC, ARC700F_SFMT_ASLS_L_R_R__RA__RC }, |
| { ARC_INSN_SUBSDW_CC__RA__RC, ARC700F_INSN_SUBSDW_CC__RA__RC, ARC700F_SFMT_ASLS_CC__RA__RC }, |
| { ARC_INSN_SWAP_L_R_R__RC, ARC700F_INSN_SWAP_L_R_R__RC, ARC700F_SFMT_SWAP_L_R_R__RC }, |
| { ARC_INSN_SWAP_L_U6_, ARC700F_INSN_SWAP_L_U6_, ARC700F_SFMT_SWAP_L_U6_ }, |
| { ARC_INSN_NORM_L_R_R__RC, ARC700F_INSN_NORM_L_R_R__RC, ARC700F_SFMT_SWAP_L_R_R__RC }, |
| { ARC_INSN_NORM_L_U6_, ARC700F_INSN_NORM_L_U6_, ARC700F_SFMT_NORM_L_U6_ }, |
| { ARC_INSN_RND16_L_R_R__RC, ARC700F_INSN_RND16_L_R_R__RC, ARC700F_SFMT_RND16_L_R_R__RC }, |
| { ARC_INSN_RND16_L_U6_, ARC700F_INSN_RND16_L_U6_, ARC700F_SFMT_RND16_L_U6_ }, |
| { ARC_INSN_ABSSW_L_R_R__RC, ARC700F_INSN_ABSSW_L_R_R__RC, ARC700F_SFMT_ABSSW_L_R_R__RC }, |
| { ARC_INSN_ABSSW_L_U6_, ARC700F_INSN_ABSSW_L_U6_, ARC700F_SFMT_ABSSW_L_U6_ }, |
| { ARC_INSN_ABSS_L_R_R__RC, ARC700F_INSN_ABSS_L_R_R__RC, ARC700F_SFMT_RND16_L_R_R__RC }, |
| { ARC_INSN_ABSS_L_U6_, ARC700F_INSN_ABSS_L_U6_, ARC700F_SFMT_ABSS_L_U6_ }, |
| { ARC_INSN_NEGSW_L_R_R__RC, ARC700F_INSN_NEGSW_L_R_R__RC, ARC700F_SFMT_ABSSW_L_R_R__RC }, |
| { ARC_INSN_NEGSW_L_U6_, ARC700F_INSN_NEGSW_L_U6_, ARC700F_SFMT_ABSSW_L_U6_ }, |
| { ARC_INSN_NEGS_L_R_R__RC, ARC700F_INSN_NEGS_L_R_R__RC, ARC700F_SFMT_RND16_L_R_R__RC }, |
| { ARC_INSN_NEGS_L_U6_, ARC700F_INSN_NEGS_L_U6_, ARC700F_SFMT_RND16_L_U6_ }, |
| { ARC_INSN_NORMW_L_R_R__RC, ARC700F_INSN_NORMW_L_R_R__RC, ARC700F_SFMT_SWAP_L_R_R__RC }, |
| { ARC_INSN_NORMW_L_U6_, ARC700F_INSN_NORMW_L_U6_, ARC700F_SFMT_SWAP_L_U6_ }, |
| { ARC_INSN_NOP_S, ARC700F_INSN_NOP_S, ARC700F_SFMT_NOP_S }, |
| { ARC_INSN_UNIMP_S, ARC700F_INSN_UNIMP_S, ARC700F_SFMT_NOP_S }, |
| { ARC_INSN_POP_S_B, ARC700F_INSN_POP_S_B, ARC700F_SFMT_POP_S_B }, |
| { ARC_INSN_POP_S_BLINK, ARC700F_INSN_POP_S_BLINK, ARC700F_SFMT_POP_S_BLINK }, |
| { ARC_INSN_PUSH_S_B, ARC700F_INSN_PUSH_S_B, ARC700F_SFMT_PUSH_S_B }, |
| { ARC_INSN_PUSH_S_BLINK, ARC700F_INSN_PUSH_S_BLINK, ARC700F_SFMT_PUSH_S_BLINK }, |
| { ARC_INSN_MULLW_L_S12__RA_, ARC700F_INSN_MULLW_L_S12__RA_, ARC700F_SFMT_MULLW_L_S12__RA_ }, |
| { ARC_INSN_MULLW_CCU6__RA_, ARC700F_INSN_MULLW_CCU6__RA_, ARC700F_SFMT_MULLW_CCU6__RA_ }, |
| { ARC_INSN_MULLW_L_U6__RA_, ARC700F_INSN_MULLW_L_U6__RA_, ARC700F_SFMT_MULLW_L_U6__RA_ }, |
| { ARC_INSN_MULLW_L_R_R__RA__RC, ARC700F_INSN_MULLW_L_R_R__RA__RC, ARC700F_SFMT_MULLW_L_R_R__RA__RC }, |
| { ARC_INSN_MULLW_CC__RA__RC, ARC700F_INSN_MULLW_CC__RA__RC, ARC700F_SFMT_MULLW_CC__RA__RC }, |
| { ARC_INSN_MACLW_L_S12__RA_, ARC700F_INSN_MACLW_L_S12__RA_, ARC700F_SFMT_MACLW_L_S12__RA_ }, |
| { ARC_INSN_MACLW_CCU6__RA_, ARC700F_INSN_MACLW_CCU6__RA_, ARC700F_SFMT_MACLW_CCU6__RA_ }, |
| { ARC_INSN_MACLW_L_U6__RA_, ARC700F_INSN_MACLW_L_U6__RA_, ARC700F_SFMT_MACLW_L_U6__RA_ }, |
| { ARC_INSN_MACLW_L_R_R__RA__RC, ARC700F_INSN_MACLW_L_R_R__RA__RC, ARC700F_SFMT_MACLW_L_R_R__RA__RC }, |
| { ARC_INSN_MACLW_CC__RA__RC, ARC700F_INSN_MACLW_CC__RA__RC, ARC700F_SFMT_MACLW_CC__RA__RC }, |
| { ARC_INSN_MACHLW_L_S12__RA_, ARC700F_INSN_MACHLW_L_S12__RA_, ARC700F_SFMT_MACLW_L_S12__RA_ }, |
| { ARC_INSN_MACHLW_CCU6__RA_, ARC700F_INSN_MACHLW_CCU6__RA_, ARC700F_SFMT_MACLW_CCU6__RA_ }, |
| { ARC_INSN_MACHLW_L_U6__RA_, ARC700F_INSN_MACHLW_L_U6__RA_, ARC700F_SFMT_MACLW_L_U6__RA_ }, |
| { ARC_INSN_MACHLW_L_R_R__RA__RC, ARC700F_INSN_MACHLW_L_R_R__RA__RC, ARC700F_SFMT_MACLW_L_R_R__RA__RC }, |
| { ARC_INSN_MACHLW_CC__RA__RC, ARC700F_INSN_MACHLW_CC__RA__RC, ARC700F_SFMT_MACLW_CC__RA__RC }, |
| { ARC_INSN_MULULW_L_S12__RA_, ARC700F_INSN_MULULW_L_S12__RA_, ARC700F_SFMT_MULLW_L_S12__RA_ }, |
| { ARC_INSN_MULULW_CCU6__RA_, ARC700F_INSN_MULULW_CCU6__RA_, ARC700F_SFMT_MULLW_CCU6__RA_ }, |
| { ARC_INSN_MULULW_L_U6__RA_, ARC700F_INSN_MULULW_L_U6__RA_, ARC700F_SFMT_MULLW_L_U6__RA_ }, |
| { ARC_INSN_MULULW_L_R_R__RA__RC, ARC700F_INSN_MULULW_L_R_R__RA__RC, ARC700F_SFMT_MULLW_L_R_R__RA__RC }, |
| { ARC_INSN_MULULW_CC__RA__RC, ARC700F_INSN_MULULW_CC__RA__RC, ARC700F_SFMT_MULLW_CC__RA__RC }, |
| { ARC_INSN_MACHULW_L_S12__RA_, ARC700F_INSN_MACHULW_L_S12__RA_, ARC700F_SFMT_MACHULW_L_S12__RA_ }, |
| { ARC_INSN_MACHULW_CCU6__RA_, ARC700F_INSN_MACHULW_CCU6__RA_, ARC700F_SFMT_MACHULW_CCU6__RA_ }, |
| { ARC_INSN_MACHULW_L_U6__RA_, ARC700F_INSN_MACHULW_L_U6__RA_, ARC700F_SFMT_MACHULW_L_U6__RA_ }, |
| { ARC_INSN_MACHULW_L_R_R__RA__RC, ARC700F_INSN_MACHULW_L_R_R__RA__RC, ARC700F_SFMT_MACHULW_L_R_R__RA__RC }, |
| { ARC_INSN_MACHULW_CC__RA__RC, ARC700F_INSN_MACHULW_CC__RA__RC, ARC700F_SFMT_MACHULW_CC__RA__RC }, |
| { ARC_INSN_CURRENT_LOOP_END, ARC700F_INSN_CURRENT_LOOP_END, ARC700F_SFMT_CURRENT_LOOP_END }, |
| { ARC_INSN_CURRENT_LOOP_END_AFTER_BRANCH, ARC700F_INSN_CURRENT_LOOP_END_AFTER_BRANCH, ARC700F_SFMT_CURRENT_LOOP_END_AFTER_BRANCH }, |
| { ARC_INSN_ARC600_CURRENT_LOOP_END_AFTER_BRANCH, ARC700F_INSN_ARC600_CURRENT_LOOP_END_AFTER_BRANCH, ARC700F_SFMT_CURRENT_LOOP_END_AFTER_BRANCH }, |
| }; |
| |
| static const struct insn_sem arc700f_insn_sem_invalid = { |
| VIRTUAL_INSN_X_INVALID, ARC700F_INSN_X_INVALID, ARC700F_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 |
| arc700f_init_idesc_table (SIM_CPU *cpu) |
| { |
| IDESC *id,*tabend; |
| const struct insn_sem *t,*tend; |
| int tabsize = ARC700F_INSN__MAX; |
| IDESC *table = arc700f_insn_data; |
| |
| memset (table, 0, tabsize * sizeof (IDESC)); |
| |
| /* First set all entries to the `invalid insn'. */ |
| t = & arc700f_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 = arc700f_insn_sem, tend = t + sizeof (arc700f_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 * |
| arc700f_decode (SIM_CPU *current_cpu, IADDR pc, |
| CGEN_INSN_INT base_insn, CGEN_INSN_INT entire_insn, |
| ARGBUF *abuf) |
| { |
| /* Result of decoder. */ |
| ARC700F_INSN_TYPE itype; |
| |
| { |
| CGEN_INSN_INT insn = base_insn; |
| |
| { |
| unsigned int val = (((insn >> 20) & (1 << 10)) | ((insn >> 19) & (3 << 8)) | ((insn >> 16) & (255 << 0))); |
| switch (val) |
| { |
| case 0 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20000000) |
| { itype = ARC700F_INSN_ADD_L_R_R__RA__RC; goto extract_sfmt_add_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20010000) |
| { itype = ARC700F_INSN_ADC_L_R_R__RA__RC; goto extract_sfmt_adc_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 2 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20020000) |
| { itype = ARC700F_INSN_SUB_L_R_R__RA__RC; goto extract_sfmt_add_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 3 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20030000) |
| { itype = ARC700F_INSN_SBC_L_R_R__RA__RC; goto extract_sfmt_adc_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 4 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20040000) |
| { itype = ARC700F_INSN_AND_L_R_R__RA__RC; goto extract_sfmt_and_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 5 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20050000) |
| { itype = ARC700F_INSN_OR_L_R_R__RA__RC; goto extract_sfmt_and_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 6 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20060000) |
| { itype = ARC700F_INSN_BIC_L_R_R__RA__RC; goto extract_sfmt_and_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 7 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20070000) |
| { itype = ARC700F_INSN_XOR_L_R_R__RA__RC; goto extract_sfmt_and_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 8 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20080000) |
| { itype = ARC700F_INSN_MAX_L_R_R__RA__RC; goto extract_sfmt_add_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 9 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20090000) |
| { itype = ARC700F_INSN_MIN_L_R_R__RA__RC; goto extract_sfmt_add_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 10 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x200a0000) |
| { itype = ARC700F_INSN_MOV_L_R_R__RC; goto extract_sfmt_mov_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 11 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x200b0000) |
| { itype = ARC700F_INSN_TST_L_R_R__RC; goto extract_sfmt_tst_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 12 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x200c0000) |
| { itype = ARC700F_INSN_CMP_L_R_R__RC; goto extract_sfmt_cmp_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 13 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x200d0000) |
| { itype = ARC700F_INSN_RCMP_L_R_R__RC; goto extract_sfmt_cmp_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 14 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x200e0000) |
| { itype = ARC700F_INSN_RSUB_L_R_R__RA__RC; goto extract_sfmt_add_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 15 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x200f0000) |
| { itype = ARC700F_INSN_BSET_L_R_R__RA__RC; goto extract_sfmt_and_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 16 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20100000) |
| { itype = ARC700F_INSN_BCLR_L_R_R__RA__RC; goto extract_sfmt_and_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 17 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20110000) |
| { itype = ARC700F_INSN_BTST_L_R_R__RC; goto extract_sfmt_tst_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 18 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20120000) |
| { itype = ARC700F_INSN_BXOR_L_R_R__RA__RC; goto extract_sfmt_and_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 19 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20130000) |
| { itype = ARC700F_INSN_BMSK_L_R_R__RA__RC; goto extract_sfmt_and_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 20 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20140000) |
| { itype = ARC700F_INSN_ADD1_L_R_R__RA__RC; goto extract_sfmt_add_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 21 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20150000) |
| { itype = ARC700F_INSN_ADD2_L_R_R__RA__RC; goto extract_sfmt_add_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 22 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20160000) |
| { itype = ARC700F_INSN_ADD3_L_R_R__RA__RC; goto extract_sfmt_add_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 23 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20170000) |
| { itype = ARC700F_INSN_SUB1_L_R_R__RA__RC; goto extract_sfmt_add_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 24 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20180000) |
| { itype = ARC700F_INSN_SUB2_L_R_R__RA__RC; goto extract_sfmt_add_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 25 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20190000) |
| { itype = ARC700F_INSN_SUB3_L_R_R__RA__RC; goto extract_sfmt_add_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 26 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x201a0000) |
| { itype = ARC700F_INSN_MPY_L_R_R__RA__RC; goto extract_sfmt_mpy_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 27 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x201b0000) |
| { itype = ARC700F_INSN_MPYH_L_R_R__RA__RC; goto extract_sfmt_mpy_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 28 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x201c0000) |
| { itype = ARC700F_INSN_MPYHU_L_R_R__RA__RC; goto extract_sfmt_mpy_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 29 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x201d0000) |
| { itype = ARC700F_INSN_MPYU_L_R_R__RA__RC; goto extract_sfmt_mpy_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 30 : /* fall through */ |
| case 36 : /* fall through */ |
| case 38 : /* fall through */ |
| case 40 : /* fall through */ |
| case 44 : /* fall through */ |
| case 46 : /* fall through */ |
| case 54 : /* fall through */ |
| case 56 : /* fall through */ |
| case 58 : /* fall through */ |
| case 60 : /* fall through */ |
| case 62 : /* fall through */ |
| case 94 : /* fall through */ |
| case 100 : /* fall through */ |
| case 102 : /* fall through */ |
| case 104 : /* fall through */ |
| case 108 : /* fall through */ |
| case 110 : /* fall through */ |
| case 118 : /* fall through */ |
| case 120 : /* fall through */ |
| case 122 : /* fall through */ |
| case 124 : /* fall through */ |
| case 126 : /* fall through */ |
| case 158 : /* fall through */ |
| case 164 : /* fall through */ |
| case 166 : /* fall through */ |
| case 172 : /* fall through */ |
| case 174 : /* fall through */ |
| case 182 : /* fall through */ |
| case 184 : /* fall through */ |
| case 186 : /* fall through */ |
| case 188 : /* fall through */ |
| case 190 : /* fall through */ |
| case 222 : /* fall through */ |
| case 228 : /* fall through */ |
| case 230 : /* fall through */ |
| case 234 : /* fall through */ |
| case 236 : /* fall through */ |
| case 238 : /* fall through */ |
| case 246 : /* fall through */ |
| case 248 : /* fall through */ |
| case 250 : /* fall through */ |
| case 252 : /* fall through */ |
| case 254 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 31 : /* fall through */ |
| case 37 : /* fall through */ |
| case 39 : /* fall through */ |
| case 45 : /* fall through */ |
| case 49 : /* fall through */ |
| case 55 : /* fall through */ |
| case 57 : /* fall through */ |
| case 59 : /* fall through */ |
| case 61 : /* fall through */ |
| case 63 : /* fall through */ |
| case 95 : /* fall through */ |
| case 101 : /* fall through */ |
| case 103 : /* fall through */ |
| case 109 : /* fall through */ |
| case 113 : /* fall through */ |
| case 119 : /* fall through */ |
| case 121 : /* fall through */ |
| case 123 : /* fall through */ |
| case 125 : /* fall through */ |
| case 127 : /* fall through */ |
| case 159 : /* fall through */ |
| case 165 : /* fall through */ |
| case 167 : /* fall through */ |
| case 173 : /* fall through */ |
| case 175 : /* fall through */ |
| case 177 : /* fall through */ |
| case 183 : /* fall through */ |
| case 185 : /* fall through */ |
| case 187 : /* fall through */ |
| case 189 : /* fall through */ |
| case 191 : /* fall through */ |
| case 223 : /* fall through */ |
| case 229 : /* fall through */ |
| case 231 : /* fall through */ |
| case 235 : /* fall through */ |
| case 237 : /* fall through */ |
| case 239 : /* fall through */ |
| case 241 : /* fall through */ |
| case 247 : /* fall through */ |
| case 249 : /* fall through */ |
| case 251 : /* fall through */ |
| case 253 : /* fall through */ |
| case 255 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 32 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20200000) |
| { itype = ARC700F_INSN_J_L_R_R___RC_ILINK_; goto extract_sfmt_j_L_r_r___RC_ilink_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 33 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20210000) |
| { itype = ARC700F_INSN_J_L_R_R_D___RC_; goto extract_sfmt_j_L_r_r_d___RC_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 34 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20220000) |
| { itype = ARC700F_INSN_JL_L_R_R___RC_NOILINK_; goto extract_sfmt_jl_L_r_r___RC_noilink_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 35 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20230000) |
| { itype = ARC700F_INSN_JL_L_R_R_D___RC_; goto extract_sfmt_jl_L_r_r_d___RC_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 41 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20290000) |
| { itype = ARC700F_INSN_FLAG_L_R_R__RC; goto extract_sfmt_flag_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 42 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x202a0000) |
| { itype = ARC700F_INSN_LR_L_R_R___RC_; goto extract_sfmt_lr_L_r_r___RC_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 43 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x202b0000) |
| { itype = ARC700F_INSN_SR_L_R_R___RC_; goto extract_sfmt_sr_L_r_r___RC_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 47 : |
| { |
| unsigned int val = (((insn >> 23) & (1 << 6)) | ((insn >> 0) & (63 << 0))); |
| switch (val) |
| { |
| case 0 : /* fall through */ |
| case 1 : /* fall through */ |
| case 2 : /* fall through */ |
| case 3 : /* fall through */ |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : /* fall through */ |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : /* fall through */ |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 16 : /* fall through */ |
| case 17 : /* fall through */ |
| case 18 : /* fall through */ |
| case 19 : /* fall through */ |
| case 20 : /* fall through */ |
| case 21 : /* fall through */ |
| case 22 : /* fall through */ |
| case 23 : /* fall through */ |
| case 24 : /* fall through */ |
| case 25 : /* fall through */ |
| case 26 : /* fall through */ |
| case 27 : /* fall through */ |
| case 28 : /* fall through */ |
| case 29 : /* fall through */ |
| case 30 : /* fall through */ |
| case 31 : /* fall through */ |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 64 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x202f0000) |
| { itype = ARC700F_INSN_ASL_L_R_R__RC; goto extract_sfmt_asl_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 65 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x202f0001) |
| { itype = ARC700F_INSN_ASR_L_R_R__RC; goto extract_sfmt_asr_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 66 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x202f0002) |
| { itype = ARC700F_INSN_LSR_L_R_R__RC; goto extract_sfmt_asr_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 67 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x202f0003) |
| { itype = ARC700F_INSN_ROR_L_R_R__RC; goto extract_sfmt_asr_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 68 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x202f0004) |
| { itype = ARC700F_INSN_RRC_L_R_R__RC; goto extract_sfmt_rrc_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 69 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x202f0005) |
| { itype = ARC700F_INSN_SEXB_L_R_R__RC; goto extract_sfmt_sexb_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 70 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x202f0006) |
| { itype = ARC700F_INSN_SEXW_L_R_R__RC; goto extract_sfmt_sexw_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 71 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x202f0007) |
| { itype = ARC700F_INSN_EXTB_L_R_R__RC; goto extract_sfmt_sexb_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 72 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x202f0008) |
| { itype = ARC700F_INSN_EXTW_L_R_R__RC; goto extract_sfmt_sexw_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 73 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x202f0009) |
| { itype = ARC700F_INSN_ABS_L_R_R__RC; goto extract_sfmt_abs_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 74 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x202f000a) |
| { itype = ARC700F_INSN_NOT_L_R_R__RC; goto extract_sfmt_not_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 75 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x202f000b) |
| { itype = ARC700F_INSN_RLC_L_R_R__RC; goto extract_sfmt_rrc_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 76 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x202f000c) |
| { itype = ARC700F_INSN_EX_L_R_R__RC; goto extract_sfmt_ex_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 77 : /* fall through */ |
| case 78 : /* fall through */ |
| case 79 : /* fall through */ |
| 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 : /* fall through */ |
| 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 : /* fall through */ |
| 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 127 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 126 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x202f003e) |
| { itype = ARC700F_INSN_CURRENT_LOOP_END; goto extract_sfmt_current_loop_end; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 48 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20300000) |
| { itype = ARC700F_INSN_LD_ABC; goto extract_sfmt_ld_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 50 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20320000) |
| { itype = ARC700F_INSN_LDB_ABC; goto extract_sfmt_ldb_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 51 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20330000) |
| { itype = ARC700F_INSN_LDB_X_ABC; goto extract_sfmt_ldb_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 52 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20340000) |
| { itype = ARC700F_INSN_LDW_ABC; goto extract_sfmt_ldw_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 53 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20350000) |
| { itype = ARC700F_INSN_LDW_X_ABC; goto extract_sfmt_ldw_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 64 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20400000) |
| { itype = ARC700F_INSN_ADD_L_U6__RA_; goto extract_sfmt_add_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 65 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20410000) |
| { itype = ARC700F_INSN_ADC_L_U6__RA_; goto extract_sfmt_adc_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 66 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20420000) |
| { itype = ARC700F_INSN_SUB_L_U6__RA_; goto extract_sfmt_add_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 67 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20430000) |
| { itype = ARC700F_INSN_SBC_L_U6__RA_; goto extract_sfmt_adc_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 68 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20440000) |
| { itype = ARC700F_INSN_AND_L_U6__RA_; goto extract_sfmt_and_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 69 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20450000) |
| { itype = ARC700F_INSN_OR_L_U6__RA_; goto extract_sfmt_and_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 70 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20460000) |
| { itype = ARC700F_INSN_BIC_L_U6__RA_; goto extract_sfmt_and_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 71 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20470000) |
| { itype = ARC700F_INSN_XOR_L_U6__RA_; goto extract_sfmt_and_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 72 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20480000) |
| { itype = ARC700F_INSN_MAX_L_U6__RA_; goto extract_sfmt_add_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 73 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20490000) |
| { itype = ARC700F_INSN_MIN_L_U6__RA_; goto extract_sfmt_add_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 74 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x204a0000) |
| { itype = ARC700F_INSN_MOV_L_U6_; goto extract_sfmt_mov_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 75 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x204b0000) |
| { itype = ARC700F_INSN_TST_L_U6_; goto extract_sfmt_tst_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 76 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x204c0000) |
| { itype = ARC700F_INSN_CMP_L_U6_; goto extract_sfmt_cmp_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 77 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x204d0000) |
| { itype = ARC700F_INSN_RCMP_L_U6_; goto extract_sfmt_cmp_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 78 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x204e0000) |
| { itype = ARC700F_INSN_RSUB_L_U6__RA_; goto extract_sfmt_add_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 79 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x204f0000) |
| { itype = ARC700F_INSN_BSET_L_U6__RA_; goto extract_sfmt_and_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 80 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20500000) |
| { itype = ARC700F_INSN_BCLR_L_U6__RA_; goto extract_sfmt_and_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 81 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20510000) |
| { itype = ARC700F_INSN_BTST_L_U6_; goto extract_sfmt_tst_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 82 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20520000) |
| { itype = ARC700F_INSN_BXOR_L_U6__RA_; goto extract_sfmt_and_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 83 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20530000) |
| { itype = ARC700F_INSN_BMSK_L_U6__RA_; goto extract_sfmt_and_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 84 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20540000) |
| { itype = ARC700F_INSN_ADD1_L_U6__RA_; goto extract_sfmt_add_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 85 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20550000) |
| { itype = ARC700F_INSN_ADD2_L_U6__RA_; goto extract_sfmt_add_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 86 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20560000) |
| { itype = ARC700F_INSN_ADD3_L_U6__RA_; goto extract_sfmt_add_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 87 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20570000) |
| { itype = ARC700F_INSN_SUB1_L_U6__RA_; goto extract_sfmt_add_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 88 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20580000) |
| { itype = ARC700F_INSN_SUB2_L_U6__RA_; goto extract_sfmt_add_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 89 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20590000) |
| { itype = ARC700F_INSN_SUB3_L_U6__RA_; goto extract_sfmt_add_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 90 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x205a0000) |
| { itype = ARC700F_INSN_MPY_L_U6__RA_; goto extract_sfmt_mpy_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 91 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x205b0000) |
| { itype = ARC700F_INSN_MPYH_L_U6__RA_; goto extract_sfmt_mpy_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 92 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x205c0000) |
| { itype = ARC700F_INSN_MPYHU_L_U6__RA_; goto extract_sfmt_mpy_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 93 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x205d0000) |
| { itype = ARC700F_INSN_MPYU_L_U6__RA_; goto extract_sfmt_mpy_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 96 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20600000) |
| { itype = ARC700F_INSN_J_L_U6_; goto extract_sfmt_j_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 97 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20610000) |
| { itype = ARC700F_INSN_J_L_U6_D_; goto extract_sfmt_j_L_u6_d_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 98 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20620000) |
| { itype = ARC700F_INSN_JL_L_U6_; goto extract_sfmt_jl_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 99 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20630000) |
| { itype = ARC700F_INSN_JL_L_U6_D_; goto extract_sfmt_jl_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 105 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20690000) |
| { itype = ARC700F_INSN_FLAG_L_U6_; goto extract_sfmt_flag_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 106 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x206a0000) |
| { itype = ARC700F_INSN_LR_L_U6_; goto extract_sfmt_lr_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 107 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x206b0000) |
| { itype = ARC700F_INSN_SR_L_U6_; goto extract_sfmt_sr_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 111 : |
| { |
| unsigned int val = (((insn >> 0) & (15 << 0))); |
| switch (val) |
| { |
| case 0 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff003f) == 0x206f0000) |
| { itype = ARC700F_INSN_ASL_L_U6_; goto extract_sfmt_asl_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff003f) == 0x206f0001) |
| { itype = ARC700F_INSN_ASR_L_U6_; goto extract_sfmt_asr_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 2 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff003f) == 0x206f0002) |
| { itype = ARC700F_INSN_LSR_L_U6_; goto extract_sfmt_asr_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 3 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff003f) == 0x206f0003) |
| { itype = ARC700F_INSN_ROR_L_U6_; goto extract_sfmt_asr_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 4 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff003f) == 0x206f0004) |
| { itype = ARC700F_INSN_RRC_L_U6_; goto extract_sfmt_rrc_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 5 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff003f) == 0x206f0005) |
| { itype = ARC700F_INSN_SEXB_L_U6_; goto extract_sfmt_sexb_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 6 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff003f) == 0x206f0006) |
| { itype = ARC700F_INSN_SEXW_L_U6_; goto extract_sfmt_sexw_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 7 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff003f) == 0x206f0007) |
| { itype = ARC700F_INSN_EXTB_L_U6_; goto extract_sfmt_sexb_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 8 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff003f) == 0x206f0008) |
| { itype = ARC700F_INSN_EXTW_L_U6_; goto extract_sfmt_sexw_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 9 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff003f) == 0x206f0009) |
| { itype = ARC700F_INSN_ABS_L_U6_; goto extract_sfmt_abs_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 10 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff003f) == 0x206f000a) |
| { itype = ARC700F_INSN_NOT_L_U6_; goto extract_sfmt_not_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 11 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff003f) == 0x206f000b) |
| { itype = ARC700F_INSN_RLC_L_U6_; goto extract_sfmt_rrc_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 12 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff003f) == 0x206f000c) |
| { itype = ARC700F_INSN_EX_L_U6_; goto extract_sfmt_ex_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 13 : /* fall through */ |
| case 14 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 15 : |
| { |
| unsigned int val = (((insn >> 25) & (1 << 6)) | ((insn >> 24) & (1 << 5)) | ((insn >> 22) & (7 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : /* fall through */ |
| case 4 : /* fall through */ |
| case 8 : /* fall through */ |
| case 12 : /* fall through */ |
| case 16 : /* fall through */ |
| case 20 : /* fall through */ |
| case 24 : /* fall through */ |
| case 28 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 6 : /* fall through */ |
| case 10 : /* fall through */ |
| case 14 : /* fall through */ |
| case 18 : /* fall through */ |
| case 22 : /* fall through */ |
| case 26 : /* fall through */ |
| case 30 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 43 : |
| if ((entire_insn & 0xffff7fff) == 0x226f003f) |
| { itype = ARC700F_INSN_SWI; goto extract_sfmt_swi; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 55 : |
| if ((entire_insn & 0xffff7fff) == 0x256f003f) |
| { itype = ARC700F_INSN_BRK; goto extract_sfmt_brk; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : /* fall through */ |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : /* fall through */ |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 112 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20700000) |
| { itype = ARC700F_INSN_LD__AW_ABC; goto extract_sfmt_ld__AW_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 114 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20720000) |
| { itype = ARC700F_INSN_LDB__AW_ABC; goto extract_sfmt_ldb__AW_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 115 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20730000) |
| { itype = ARC700F_INSN_LDB__AW_X_ABC; goto extract_sfmt_ldb__AW_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 116 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20740000) |
| { itype = ARC700F_INSN_LDW__AW_ABC; goto extract_sfmt_ldw__AW_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 117 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20750000) |
| { itype = ARC700F_INSN_LDW__AW_X_ABC; goto extract_sfmt_ldw__AW_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 128 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20800000) |
| { itype = ARC700F_INSN_ADD_L_S12__RA_; goto extract_sfmt_add_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 129 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20810000) |
| { itype = ARC700F_INSN_ADC_L_S12__RA_; goto extract_sfmt_adc_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 130 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20820000) |
| { itype = ARC700F_INSN_SUB_L_S12__RA_; goto extract_sfmt_add_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 131 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20830000) |
| { itype = ARC700F_INSN_SBC_L_S12__RA_; goto extract_sfmt_adc_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 132 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20840000) |
| { itype = ARC700F_INSN_AND_L_S12__RA_; goto extract_sfmt_and_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 133 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20850000) |
| { itype = ARC700F_INSN_OR_L_S12__RA_; goto extract_sfmt_and_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 134 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20860000) |
| { itype = ARC700F_INSN_BIC_L_S12__RA_; goto extract_sfmt_and_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 135 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20870000) |
| { itype = ARC700F_INSN_XOR_L_S12__RA_; goto extract_sfmt_and_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 136 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20880000) |
| { itype = ARC700F_INSN_MAX_L_S12__RA_; goto extract_sfmt_add_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 137 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20890000) |
| { itype = ARC700F_INSN_MIN_L_S12__RA_; goto extract_sfmt_add_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 138 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x208a0000) |
| { itype = ARC700F_INSN_MOV_L_S12_; goto extract_sfmt_mov_L_s12_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 139 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x208b0000) |
| { itype = ARC700F_INSN_TST_L_S12_; goto extract_sfmt_tst_L_s12_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 140 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x208c0000) |
| { itype = ARC700F_INSN_CMP_L_S12_; goto extract_sfmt_cmp_L_s12_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 141 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x208d0000) |
| { itype = ARC700F_INSN_RCMP_L_S12_; goto extract_sfmt_cmp_L_s12_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 142 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x208e0000) |
| { itype = ARC700F_INSN_RSUB_L_S12__RA_; goto extract_sfmt_add_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 143 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x208f0000) |
| { itype = ARC700F_INSN_BSET_L_S12__RA_; goto extract_sfmt_and_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 144 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20900000) |
| { itype = ARC700F_INSN_BCLR_L_S12__RA_; goto extract_sfmt_and_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 145 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20910000) |
| { itype = ARC700F_INSN_BTST_L_S12_; goto extract_sfmt_tst_L_s12_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 146 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20920000) |
| { itype = ARC700F_INSN_BXOR_L_S12__RA_; goto extract_sfmt_and_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 147 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20930000) |
| { itype = ARC700F_INSN_BMSK_L_S12__RA_; goto extract_sfmt_and_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 148 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20940000) |
| { itype = ARC700F_INSN_ADD1_L_S12__RA_; goto extract_sfmt_add_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 149 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20950000) |
| { itype = ARC700F_INSN_ADD2_L_S12__RA_; goto extract_sfmt_add_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 150 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20960000) |
| { itype = ARC700F_INSN_ADD3_L_S12__RA_; goto extract_sfmt_add_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 151 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20970000) |
| { itype = ARC700F_INSN_SUB1_L_S12__RA_; goto extract_sfmt_add_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 152 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20980000) |
| { itype = ARC700F_INSN_SUB2_L_S12__RA_; goto extract_sfmt_add_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 153 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20990000) |
| { itype = ARC700F_INSN_SUB3_L_S12__RA_; goto extract_sfmt_add_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 154 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x209a0000) |
| { itype = ARC700F_INSN_MPY_L_S12__RA_; goto extract_sfmt_mpy_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 155 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x209b0000) |
| { itype = ARC700F_INSN_MPYH_L_S12__RA_; goto extract_sfmt_mpy_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 156 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x209c0000) |
| { itype = ARC700F_INSN_MPYHU_L_S12__RA_; goto extract_sfmt_mpy_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 157 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x209d0000) |
| { itype = ARC700F_INSN_MPYU_L_S12__RA_; goto extract_sfmt_mpy_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 160 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20a00000) |
| { itype = ARC700F_INSN_J_L_S12_; goto extract_sfmt_j_L_s12_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 161 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20a10000) |
| { itype = ARC700F_INSN_J_L_S12_D_; goto extract_sfmt_j_L_s12_d_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 162 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20a20000) |
| { itype = ARC700F_INSN_JL_L_S12_; goto extract_sfmt_jl_L_s12_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 163 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20a30000) |
| { itype = ARC700F_INSN_JL_L_S12_D_; goto extract_sfmt_jl_L_s12_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 168 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20a80000) |
| { itype = ARC700F_INSN_LP_L_S12_; goto extract_sfmt_lp_L_s12_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 169 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20a90000) |
| { itype = ARC700F_INSN_FLAG_L_S12_; goto extract_sfmt_flag_L_s12_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 170 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20aa0000) |
| { itype = ARC700F_INSN_LR_L_S12_; goto extract_sfmt_lr_L_s12_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 171 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20ab0000) |
| { itype = ARC700F_INSN_SR_L_S12_; goto extract_sfmt_sr_L_s12_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 176 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20b00000) |
| { itype = ARC700F_INSN_LD_AB_ABC; goto extract_sfmt_ld__AW_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 178 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20b20000) |
| { itype = ARC700F_INSN_LDB_AB_ABC; goto extract_sfmt_ldb__AW_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 179 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20b30000) |
| { itype = ARC700F_INSN_LDB_AB_X_ABC; goto extract_sfmt_ldb__AW_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 180 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20b40000) |
| { itype = ARC700F_INSN_LDW_AB_ABC; goto extract_sfmt_ldw__AW_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 181 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20b50000) |
| { itype = ARC700F_INSN_LDW_AB_X_ABC; goto extract_sfmt_ldw__AW_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 192 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c00000) |
| { itype = ARC700F_INSN_ADD_CC__RA__RC; goto extract_sfmt_add_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c00020) |
| { itype = ARC700F_INSN_ADD_CCU6__RA_; goto extract_sfmt_add_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 193 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c10000) |
| { itype = ARC700F_INSN_ADC_CC__RA__RC; goto extract_sfmt_adc_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c10020) |
| { itype = ARC700F_INSN_ADC_CCU6__RA_; goto extract_sfmt_adc_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 194 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c20000) |
| { itype = ARC700F_INSN_SUB_CC__RA__RC; goto extract_sfmt_add_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c20020) |
| { itype = ARC700F_INSN_SUB_CCU6__RA_; goto extract_sfmt_add_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 195 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c30000) |
| { itype = ARC700F_INSN_SBC_CC__RA__RC; goto extract_sfmt_adc_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c30020) |
| { itype = ARC700F_INSN_SBC_CCU6__RA_; goto extract_sfmt_adc_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 196 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c40000) |
| { itype = ARC700F_INSN_AND_CC__RA__RC; goto extract_sfmt_and_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c40020) |
| { itype = ARC700F_INSN_AND_CCU6__RA_; goto extract_sfmt_and_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 197 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c50000) |
| { itype = ARC700F_INSN_OR_CC__RA__RC; goto extract_sfmt_and_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c50020) |
| { itype = ARC700F_INSN_OR_CCU6__RA_; goto extract_sfmt_and_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 198 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c60000) |
| { itype = ARC700F_INSN_BIC_CC__RA__RC; goto extract_sfmt_and_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c60020) |
| { itype = ARC700F_INSN_BIC_CCU6__RA_; goto extract_sfmt_and_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 199 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c70000) |
| { itype = ARC700F_INSN_XOR_CC__RA__RC; goto extract_sfmt_and_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c70020) |
| { itype = ARC700F_INSN_XOR_CCU6__RA_; goto extract_sfmt_and_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 200 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c80000) |
| { itype = ARC700F_INSN_MAX_CC__RA__RC; goto extract_sfmt_add_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c80020) |
| { itype = ARC700F_INSN_MAX_CCU6__RA_; goto extract_sfmt_add_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 201 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c90000) |
| { itype = ARC700F_INSN_MIN_CC__RA__RC; goto extract_sfmt_add_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20c90020) |
| { itype = ARC700F_INSN_MIN_CCU6__RA_; goto extract_sfmt_add_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 202 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20ca0000) |
| { itype = ARC700F_INSN_MOV_CC__RC; goto extract_sfmt_mov_cc__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20ca0020) |
| { itype = ARC700F_INSN_MOV_CCU6_; goto extract_sfmt_mov_ccu6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 203 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20cb0000) |
| { itype = ARC700F_INSN_TST_CC__RC; goto extract_sfmt_tst_cc__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20cb0020) |
| { itype = ARC700F_INSN_TST_CCU6_; goto extract_sfmt_tst_ccu6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 204 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20cc0000) |
| { itype = ARC700F_INSN_CMP_CC__RC; goto extract_sfmt_cmp_cc__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20cc0020) |
| { itype = ARC700F_INSN_CMP_CCU6_; goto extract_sfmt_cmp_ccu6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 205 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20cd0000) |
| { itype = ARC700F_INSN_RCMP_CC__RC; goto extract_sfmt_cmp_cc__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20cd0020) |
| { itype = ARC700F_INSN_RCMP_CCU6_; goto extract_sfmt_cmp_ccu6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 206 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20ce0000) |
| { itype = ARC700F_INSN_RSUB_CC__RA__RC; goto extract_sfmt_add_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20ce0020) |
| { itype = ARC700F_INSN_RSUB_CCU6__RA_; goto extract_sfmt_add_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 207 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20cf0000) |
| { itype = ARC700F_INSN_BSET_CC__RA__RC; goto extract_sfmt_and_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20cf0020) |
| { itype = ARC700F_INSN_BSET_CCU6__RA_; goto extract_sfmt_and_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 208 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d00000) |
| { itype = ARC700F_INSN_BCLR_CC__RA__RC; goto extract_sfmt_and_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d00020) |
| { itype = ARC700F_INSN_BCLR_CCU6__RA_; goto extract_sfmt_and_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 209 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d10000) |
| { itype = ARC700F_INSN_BTST_CC__RC; goto extract_sfmt_tst_cc__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d10020) |
| { itype = ARC700F_INSN_BTST_CCU6_; goto extract_sfmt_tst_ccu6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 210 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d20000) |
| { itype = ARC700F_INSN_BXOR_CC__RA__RC; goto extract_sfmt_and_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d20020) |
| { itype = ARC700F_INSN_BXOR_CCU6__RA_; goto extract_sfmt_and_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 211 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d30000) |
| { itype = ARC700F_INSN_BMSK_CC__RA__RC; goto extract_sfmt_and_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d30020) |
| { itype = ARC700F_INSN_BMSK_CCU6__RA_; goto extract_sfmt_and_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 212 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d40000) |
| { itype = ARC700F_INSN_ADD1_CC__RA__RC; goto extract_sfmt_add_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d40020) |
| { itype = ARC700F_INSN_ADD1_CCU6__RA_; goto extract_sfmt_add_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 213 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d50000) |
| { itype = ARC700F_INSN_ADD2_CC__RA__RC; goto extract_sfmt_add_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d50020) |
| { itype = ARC700F_INSN_ADD2_CCU6__RA_; goto extract_sfmt_add_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 214 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d60000) |
| { itype = ARC700F_INSN_ADD3_CC__RA__RC; goto extract_sfmt_add_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d60020) |
| { itype = ARC700F_INSN_ADD3_CCU6__RA_; goto extract_sfmt_add_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 215 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d70000) |
| { itype = ARC700F_INSN_SUB1_CC__RA__RC; goto extract_sfmt_add_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d70020) |
| { itype = ARC700F_INSN_SUB1_CCU6__RA_; goto extract_sfmt_add_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 216 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d80000) |
| { itype = ARC700F_INSN_SUB2_CC__RA__RC; goto extract_sfmt_add_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d80020) |
| { itype = ARC700F_INSN_SUB2_CCU6__RA_; goto extract_sfmt_add_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 217 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d90000) |
| { itype = ARC700F_INSN_SUB3_CC__RA__RC; goto extract_sfmt_add_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20d90020) |
| { itype = ARC700F_INSN_SUB3_CCU6__RA_; goto extract_sfmt_add_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 218 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20da0000) |
| { itype = ARC700F_INSN_MPY_CC__RA__RC; goto extract_sfmt_mpy_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20da0020) |
| { itype = ARC700F_INSN_MPY_CCU6__RA_; goto extract_sfmt_mpy_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 219 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20db0000) |
| { itype = ARC700F_INSN_MPYH_CC__RA__RC; goto extract_sfmt_mpy_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20db0020) |
| { itype = ARC700F_INSN_MPYH_CCU6__RA_; goto extract_sfmt_mpy_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 220 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20dc0000) |
| { itype = ARC700F_INSN_MPYHU_CC__RA__RC; goto extract_sfmt_mpy_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20dc0020) |
| { itype = ARC700F_INSN_MPYHU_CCU6__RA_; goto extract_sfmt_mpy_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 221 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20dd0000) |
| { itype = ARC700F_INSN_MPYU_CC__RA__RC; goto extract_sfmt_mpy_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20dd0020) |
| { itype = ARC700F_INSN_MPYU_CCU6__RA_; goto extract_sfmt_mpy_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 224 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20e00000) |
| { itype = ARC700F_INSN_J_CC___RC_ILINK_; goto extract_sfmt_j_cc___RC_ilink_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20e00020) |
| { itype = ARC700F_INSN_J_CCU6_; goto extract_sfmt_j_ccu6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 225 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20e10000) |
| { itype = ARC700F_INSN_J_CC_D___RC_; goto extract_sfmt_j_cc_d___RC_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20e10020) |
| { itype = ARC700F_INSN_J_CCU6_D_; goto extract_sfmt_j_ccu6_d_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 226 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20e20000) |
| { itype = ARC700F_INSN_JL_CC___RC_NOILINK_; goto extract_sfmt_jl_cc___RC_noilink_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20e20020) |
| { itype = ARC700F_INSN_JL_CCU6_; goto extract_sfmt_jl_ccu6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 227 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20e30000) |
| { itype = ARC700F_INSN_JL_CC_D___RC_; goto extract_sfmt_jl_cc_d___RC_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20e30020) |
| { itype = ARC700F_INSN_JL_CCU6_D_; goto extract_sfmt_jl_ccu6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 232 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20e80020) |
| { itype = ARC700F_INSN_LPCC_CCU6; goto extract_sfmt_lpcc_ccu6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 233 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x20e90000) |
| { itype = ARC700F_INSN_FLAG_CC__RC; goto extract_sfmt_flag_cc__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x20e90020) |
| { itype = ARC700F_INSN_FLAG_CCU6_; goto extract_sfmt_flag_ccu6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 240 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20f00000) |
| { itype = ARC700F_INSN_LD_AS_ABC; goto extract_sfmt_ld_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 242 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20f20000) |
| { itype = ARC700F_INSN_LDB_AS_ABC; goto extract_sfmt_ldb_as_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 243 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20f30000) |
| { itype = ARC700F_INSN_LDB_AS_X_ABC; goto extract_sfmt_ldb_as_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 244 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010020) == 0x0) |
| { itype = ARC700F_INSN_BCC_L; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010020) == 0x20) |
| { itype = ARC700F_INSN_BCC_L_D; goto extract_sfmt_bcc_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20f40000) |
| { itype = ARC700F_INSN_LDW_AS_ABC; goto extract_sfmt_ldw_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 245 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x10000) |
| { itype = ARC700F_INSN_B_L; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x10020) |
| { itype = ARC700F_INSN_B_L_D; goto extract_sfmt_b_l; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x20f50000) |
| { itype = ARC700F_INSN_LDW_AS_X_ABC; goto extract_sfmt_ldw_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x80000000) |
| { itype = ARC700F_INSN_LD_S_ABU; goto extract_sfmt_ld_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa0000000) |
| { itype = ARC700F_INSN_ST_S_ABU; goto extract_sfmt_st_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 256 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28000000) |
| { itype = ARC700F_INSN_ASL_L_R_R__RA__RC; goto extract_sfmt_asl_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 257 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28010000) |
| { itype = ARC700F_INSN_LSR_L_R_R__RA__RC; goto extract_sfmt_asl_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 258 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28020000) |
| { itype = ARC700F_INSN_ASR_L_R_R__RA__RC; goto extract_sfmt_asl_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 259 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28030000) |
| { itype = ARC700F_INSN_ROR_L_R_R__RA__RC; goto extract_sfmt_asl_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 260 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28040000) |
| { itype = ARC700F_INSN_MUL64_L_R_R__RC; goto extract_sfmt_mul64_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 261 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28050000) |
| { itype = ARC700F_INSN_MULU64_L_R_R__RC; goto extract_sfmt_mul64_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 262 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28060000) |
| { itype = ARC700F_INSN_ADDS_L_R_R__RA__RC; goto extract_sfmt_adds_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 263 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28070000) |
| { itype = ARC700F_INSN_SUBS_L_R_R__RA__RC; goto extract_sfmt_adds_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 264 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28080000) |
| { itype = ARC700F_INSN_DIVAW_L_R_R__RA__RC; goto extract_sfmt_divaw_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 265 : /* fall through */ |
| case 269 : /* fall through */ |
| case 271 : /* fall through */ |
| case 273 : /* fall through */ |
| case 275 : /* fall through */ |
| case 277 : /* fall through */ |
| case 279 : /* fall through */ |
| case 281 : /* fall through */ |
| case 283 : /* fall through */ |
| case 285 : /* fall through */ |
| case 287 : /* fall through */ |
| case 289 : /* fall through */ |
| case 291 : /* fall through */ |
| case 293 : /* fall through */ |
| case 295 : /* fall through */ |
| case 299 : /* fall through */ |
| case 301 : /* fall through */ |
| case 311 : /* fall through */ |
| case 313 : /* fall through */ |
| case 315 : /* fall through */ |
| case 317 : /* fall through */ |
| case 319 : /* fall through */ |
| case 329 : /* fall through */ |
| case 333 : /* fall through */ |
| case 335 : /* fall through */ |
| case 337 : /* fall through */ |
| case 339 : /* fall through */ |
| case 341 : /* fall through */ |
| case 343 : /* fall through */ |
| case 345 : /* fall through */ |
| case 347 : /* fall through */ |
| case 349 : /* fall through */ |
| case 351 : /* fall through */ |
| case 353 : /* fall through */ |
| case 355 : /* fall through */ |
| case 357 : /* fall through */ |
| case 359 : /* fall through */ |
| case 363 : /* fall through */ |
| case 365 : /* fall through */ |
| case 375 : /* fall through */ |
| case 377 : /* fall through */ |
| case 379 : /* fall through */ |
| case 381 : /* fall through */ |
| case 383 : /* fall through */ |
| case 393 : /* fall through */ |
| case 397 : /* fall through */ |
| case 399 : /* fall through */ |
| case 401 : /* fall through */ |
| case 403 : /* fall through */ |
| case 405 : /* fall through */ |
| case 407 : /* fall through */ |
| case 409 : /* fall through */ |
| case 411 : /* fall through */ |
| case 413 : /* fall through */ |
| case 415 : /* fall through */ |
| case 417 : /* fall through */ |
| case 419 : /* fall through */ |
| case 421 : /* fall through */ |
| case 423 : /* fall through */ |
| case 427 : /* fall through */ |
| case 429 : /* fall through */ |
| case 431 : /* fall through */ |
| case 439 : /* fall through */ |
| case 441 : /* fall through */ |
| case 443 : /* fall through */ |
| case 445 : /* fall through */ |
| case 447 : /* fall through */ |
| case 457 : /* fall through */ |
| case 461 : /* fall through */ |
| case 463 : /* fall through */ |
| case 465 : /* fall through */ |
| case 467 : /* fall through */ |
| case 469 : /* fall through */ |
| case 471 : /* fall through */ |
| case 473 : /* fall through */ |
| case 475 : /* fall through */ |
| case 477 : /* fall through */ |
| case 479 : /* fall through */ |
| case 481 : /* fall through */ |
| case 483 : /* fall through */ |
| case 485 : /* fall through */ |
| case 487 : /* fall through */ |
| case 491 : /* fall through */ |
| case 493 : /* fall through */ |
| case 495 : /* fall through */ |
| case 503 : /* fall through */ |
| case 505 : /* fall through */ |
| case 507 : /* fall through */ |
| case 509 : /* fall through */ |
| case 511 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 266 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x280a0000) |
| { itype = ARC700F_INSN_ASLS_L_R_R__RA__RC; goto extract_sfmt_asls_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 267 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x280b0000) |
| { itype = ARC700F_INSN_ASRS_L_R_R__RA__RC; goto extract_sfmt_asls_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 268 : /* fall through */ |
| case 272 : /* fall through */ |
| case 276 : /* fall through */ |
| case 280 : /* fall through */ |
| case 284 : /* fall through */ |
| case 288 : /* fall through */ |
| case 292 : /* fall through */ |
| case 300 : /* fall through */ |
| case 308 : /* fall through */ |
| case 312 : /* fall through */ |
| case 316 : /* fall through */ |
| case 332 : /* fall through */ |
| case 336 : /* fall through */ |
| case 340 : /* fall through */ |
| case 344 : /* fall through */ |
| case 348 : /* fall through */ |
| case 352 : /* fall through */ |
| case 356 : /* fall through */ |
| case 364 : /* fall through */ |
| case 372 : /* fall through */ |
| case 376 : /* fall through */ |
| case 380 : /* fall through */ |
| case 396 : /* fall through */ |
| case 400 : /* fall through */ |
| case 404 : /* fall through */ |
| case 408 : /* fall through */ |
| case 412 : /* fall through */ |
| case 416 : /* fall through */ |
| case 420 : /* fall through */ |
| case 428 : /* fall through */ |
| case 436 : /* fall through */ |
| case 440 : /* fall through */ |
| case 444 : /* fall through */ |
| case 460 : /* fall through */ |
| case 464 : /* fall through */ |
| case 468 : /* fall through */ |
| case 472 : /* fall through */ |
| case 476 : /* fall through */ |
| case 480 : /* fall through */ |
| case 484 : /* fall through */ |
| case 492 : /* fall through */ |
| case 500 : /* fall through */ |
| case 504 : /* fall through */ |
| case 508 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 270 : /* fall through */ |
| case 274 : /* fall through */ |
| case 278 : /* fall through */ |
| case 282 : /* fall through */ |
| case 286 : /* fall through */ |
| case 290 : /* fall through */ |
| case 294 : /* fall through */ |
| case 298 : /* fall through */ |
| case 302 : /* fall through */ |
| case 306 : /* fall through */ |
| case 314 : /* fall through */ |
| case 318 : /* fall through */ |
| case 334 : /* fall through */ |
| case 338 : /* fall through */ |
| case 342 : /* fall through */ |
| case 346 : /* fall through */ |
| case 350 : /* fall through */ |
| case 354 : /* fall through */ |
| case 358 : /* fall through */ |
| case 362 : /* fall through */ |
| case 366 : /* fall through */ |
| case 370 : /* fall through */ |
| case 378 : /* fall through */ |
| case 382 : /* fall through */ |
| case 398 : /* fall through */ |
| case 402 : /* fall through */ |
| case 406 : /* fall through */ |
| case 410 : /* fall through */ |
| case 414 : /* fall through */ |
| case 418 : /* fall through */ |
| case 422 : /* fall through */ |
| case 426 : /* fall through */ |
| case 430 : /* fall through */ |
| case 434 : /* fall through */ |
| case 442 : /* fall through */ |
| case 446 : /* fall through */ |
| case 462 : /* fall through */ |
| case 466 : /* fall through */ |
| case 470 : /* fall through */ |
| case 474 : /* fall through */ |
| case 478 : /* fall through */ |
| case 482 : /* fall through */ |
| case 486 : /* fall through */ |
| case 490 : /* fall through */ |
| case 494 : /* fall through */ |
| case 498 : /* fall through */ |
| case 506 : /* fall through */ |
| case 510 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 296 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28280000) |
| { itype = ARC700F_INSN_ADDSDW_L_R_R__RA__RC; goto extract_sfmt_asls_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 297 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28290000) |
| { itype = ARC700F_INSN_SUBSDW_L_R_R__RA__RC; goto extract_sfmt_asls_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 303 : |
| { |
| unsigned int val = (((insn >> 25) & (1 << 6)) | ((insn >> 24) & (1 << 5)) | ((insn >> 1) & (3 << 3)) | ((insn >> 0) & (7 << 0))); |
| switch (val) |
| { |
| case 0 : /* fall through */ |
| case 1 : /* fall through */ |
| case 2 : /* fall through */ |
| case 3 : /* fall through */ |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : /* fall through */ |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 16 : /* fall through */ |
| case 17 : /* fall through */ |
| case 18 : /* fall through */ |
| case 19 : /* fall through */ |
| case 20 : /* fall through */ |
| case 21 : /* fall through */ |
| case 22 : /* fall through */ |
| case 23 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 24 : /* fall through */ |
| case 25 : /* fall through */ |
| case 26 : /* fall through */ |
| case 27 : /* fall through */ |
| case 28 : /* fall through */ |
| case 29 : /* fall through */ |
| case 30 : /* fall through */ |
| case 31 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 32 : |
| { |
| unsigned int val = (((insn >> 3) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x282f0000) |
| { itype = ARC700F_INSN_SWAP_L_R_R__RC; goto extract_sfmt_swap_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8ff003f) == 0x282f0008) |
| { itype = ARC700F_INSN_NORMW_L_R_R__RC; goto extract_sfmt_swap_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 33 : |
| if ((entire_insn & 0xf8ff003f) == 0x282f0001) |
| { itype = ARC700F_INSN_NORM_L_R_R__RC; goto extract_sfmt_swap_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 35 : |
| if ((entire_insn & 0xf8ff003f) == 0x282f0003) |
| { itype = ARC700F_INSN_RND16_L_R_R__RC; goto extract_sfmt_rnd16_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 36 : |
| if ((entire_insn & 0xf8ff003f) == 0x282f0004) |
| { itype = ARC700F_INSN_ABSSW_L_R_R__RC; goto extract_sfmt_abssw_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 37 : |
| if ((entire_insn & 0xf8ff003f) == 0x282f0005) |
| { itype = ARC700F_INSN_ABSS_L_R_R__RC; goto extract_sfmt_rnd16_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 38 : |
| if ((entire_insn & 0xf8ff003f) == 0x282f0006) |
| { itype = ARC700F_INSN_NEGSW_L_R_R__RC; goto extract_sfmt_abssw_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 39 : |
| if ((entire_insn & 0xf8ff003f) == 0x282f0007) |
| { itype = ARC700F_INSN_NEGS_L_R_R__RC; goto extract_sfmt_rnd16_L_r_r__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : /* fall through */ |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : /* fall through */ |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 304 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28300000) |
| { itype = ARC700F_INSN_MULULW_L_R_R__RA__RC; goto extract_sfmt_mullw_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 305 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28310000) |
| { itype = ARC700F_INSN_MULLW_L_R_R__RA__RC; goto extract_sfmt_mullw_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 307 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28330000) |
| { itype = ARC700F_INSN_MACLW_L_R_R__RA__RC; goto extract_sfmt_maclw_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 309 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28350000) |
| { itype = ARC700F_INSN_MACHULW_L_R_R__RA__RC; goto extract_sfmt_machulw_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 310 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28360000) |
| { itype = ARC700F_INSN_MACHLW_L_R_R__RA__RC; goto extract_sfmt_maclw_L_r_r__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 320 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28400000) |
| { itype = ARC700F_INSN_ASL_L_U6__RA_; goto extract_sfmt_asl_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 321 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28410000) |
| { itype = ARC700F_INSN_LSR_L_U6__RA_; goto extract_sfmt_asl_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 322 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28420000) |
| { itype = ARC700F_INSN_ASR_L_U6__RA_; goto extract_sfmt_asl_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 323 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28430000) |
| { itype = ARC700F_INSN_ROR_L_U6__RA_; goto extract_sfmt_asl_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 324 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28440000) |
| { itype = ARC700F_INSN_MUL64_L_U6_; goto extract_sfmt_mul64_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 325 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28450000) |
| { itype = ARC700F_INSN_MULU64_L_U6_; goto extract_sfmt_mul64_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 326 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28460000) |
| { itype = ARC700F_INSN_ADDS_L_U6__RA_; goto extract_sfmt_adds_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 327 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28470000) |
| { itype = ARC700F_INSN_SUBS_L_U6__RA_; goto extract_sfmt_adds_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 328 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28480000) |
| { itype = ARC700F_INSN_DIVAW_L_U6__RA_; goto extract_sfmt_divaw_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 330 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x284a0000) |
| { itype = ARC700F_INSN_ASLS_L_U6__RA_; goto extract_sfmt_asls_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 331 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x284b0000) |
| { itype = ARC700F_INSN_ASRS_L_U6__RA_; goto extract_sfmt_asls_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 360 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28680000) |
| { itype = ARC700F_INSN_ADDSDW_L_U6__RA_; goto extract_sfmt_asls_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 361 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28690000) |
| { itype = ARC700F_INSN_SUBSDW_L_U6__RA_; goto extract_sfmt_asls_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 367 : |
| { |
| unsigned int val = (((insn >> 25) & (1 << 6)) | ((insn >> 24) & (1 << 5)) | ((insn >> 1) & (3 << 3)) | ((insn >> 0) & (7 << 0))); |
| switch (val) |
| { |
| case 0 : /* fall through */ |
| case 1 : /* fall through */ |
| case 2 : /* fall through */ |
| case 3 : /* fall through */ |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : /* fall through */ |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 16 : /* fall through */ |
| case 17 : /* fall through */ |
| case 18 : /* fall through */ |
| case 19 : /* fall through */ |
| case 20 : /* fall through */ |
| case 21 : /* fall through */ |
| case 22 : /* fall through */ |
| case 23 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 24 : /* fall through */ |
| case 25 : /* fall through */ |
| case 26 : /* fall through */ |
| case 27 : /* fall through */ |
| case 28 : /* fall through */ |
| case 29 : /* fall through */ |
| case 30 : /* fall through */ |
| case 31 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 32 : |
| { |
| unsigned int val = (((insn >> 3) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8ff003f) == 0x286f0000) |
| { itype = ARC700F_INSN_SWAP_L_U6_; goto extract_sfmt_swap_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8ff003f) == 0x286f0008) |
| { itype = ARC700F_INSN_NORMW_L_U6_; goto extract_sfmt_swap_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 33 : |
| if ((entire_insn & 0xf8ff003f) == 0x286f0001) |
| { itype = ARC700F_INSN_NORM_L_U6_; goto extract_sfmt_norm_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 35 : |
| if ((entire_insn & 0xf8ff003f) == 0x286f0003) |
| { itype = ARC700F_INSN_RND16_L_U6_; goto extract_sfmt_rnd16_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 36 : |
| if ((entire_insn & 0xf8ff003f) == 0x286f0004) |
| { itype = ARC700F_INSN_ABSSW_L_U6_; goto extract_sfmt_abssw_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 37 : |
| if ((entire_insn & 0xf8ff003f) == 0x286f0005) |
| { itype = ARC700F_INSN_ABSS_L_U6_; goto extract_sfmt_abss_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 38 : |
| if ((entire_insn & 0xf8ff003f) == 0x286f0006) |
| { itype = ARC700F_INSN_NEGSW_L_U6_; goto extract_sfmt_abssw_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 39 : |
| if ((entire_insn & 0xf8ff003f) == 0x286f0007) |
| { itype = ARC700F_INSN_NEGS_L_U6_; goto extract_sfmt_rnd16_L_u6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : /* fall through */ |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : /* fall through */ |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 368 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28700000) |
| { itype = ARC700F_INSN_MULULW_L_U6__RA_; goto extract_sfmt_mullw_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 369 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28710000) |
| { itype = ARC700F_INSN_MULLW_L_U6__RA_; goto extract_sfmt_mullw_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 371 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28730000) |
| { itype = ARC700F_INSN_MACLW_L_U6__RA_; goto extract_sfmt_maclw_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 373 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28750000) |
| { itype = ARC700F_INSN_MACHULW_L_U6__RA_; goto extract_sfmt_machulw_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 374 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28760000) |
| { itype = ARC700F_INSN_MACHLW_L_U6__RA_; goto extract_sfmt_maclw_L_u6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 384 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28800000) |
| { itype = ARC700F_INSN_ASL_L_S12__RA_; goto extract_sfmt_asl_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 385 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28810000) |
| { itype = ARC700F_INSN_LSR_L_S12__RA_; goto extract_sfmt_asl_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 386 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28820000) |
| { itype = ARC700F_INSN_ASR_L_S12__RA_; goto extract_sfmt_asl_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 387 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28830000) |
| { itype = ARC700F_INSN_ROR_L_S12__RA_; goto extract_sfmt_asl_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 388 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28840000) |
| { itype = ARC700F_INSN_MUL64_L_S12_; goto extract_sfmt_mul64_L_s12_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 389 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28850000) |
| { itype = ARC700F_INSN_MULU64_L_S12_; goto extract_sfmt_mul64_L_s12_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 390 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28860000) |
| { itype = ARC700F_INSN_ADDS_L_S12__RA_; goto extract_sfmt_adds_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 391 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28870000) |
| { itype = ARC700F_INSN_SUBS_L_S12__RA_; goto extract_sfmt_adds_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 392 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28880000) |
| { itype = ARC700F_INSN_DIVAW_L_S12__RA_; goto extract_sfmt_divaw_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 394 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x288a0000) |
| { itype = ARC700F_INSN_ASLS_L_S12__RA_; goto extract_sfmt_asls_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 395 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x288b0000) |
| { itype = ARC700F_INSN_ASRS_L_S12__RA_; goto extract_sfmt_asls_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 424 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28a80000) |
| { itype = ARC700F_INSN_ADDSDW_L_S12__RA_; goto extract_sfmt_asls_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 425 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28a90000) |
| { itype = ARC700F_INSN_SUBSDW_L_S12__RA_; goto extract_sfmt_asls_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 432 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28b00000) |
| { itype = ARC700F_INSN_MULULW_L_S12__RA_; goto extract_sfmt_mullw_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 433 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28b10000) |
| { itype = ARC700F_INSN_MULLW_L_S12__RA_; goto extract_sfmt_mullw_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 435 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28b30000) |
| { itype = ARC700F_INSN_MACLW_L_S12__RA_; goto extract_sfmt_maclw_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 437 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0000) == 0x28b50000) |
| { itype = ARC700F_INSN_MACHULW_L_S12__RA_; goto extract_sfmt_machulw_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 438 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8ff0000) == 0x28b60000) |
| { itype = ARC700F_INSN_MACHLW_L_S12__RA_; goto extract_sfmt_maclw_L_s12__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 448 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c00000) |
| { itype = ARC700F_INSN_ASL_CC__RA__RC; goto extract_sfmt_asl_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c00020) |
| { itype = ARC700F_INSN_ASL_CCU6__RA_; goto extract_sfmt_asl_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 449 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c10000) |
| { itype = ARC700F_INSN_LSR_CC__RA__RC; goto extract_sfmt_asl_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c10020) |
| { itype = ARC700F_INSN_LSR_CCU6__RA_; goto extract_sfmt_asl_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 450 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c20000) |
| { itype = ARC700F_INSN_ASR_CC__RA__RC; goto extract_sfmt_asl_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c20020) |
| { itype = ARC700F_INSN_ASR_CCU6__RA_; goto extract_sfmt_asl_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 451 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c30000) |
| { itype = ARC700F_INSN_ROR_CC__RA__RC; goto extract_sfmt_asl_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c30020) |
| { itype = ARC700F_INSN_ROR_CCU6__RA_; goto extract_sfmt_asl_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 452 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c40000) |
| { itype = ARC700F_INSN_MUL64_CC__RC; goto extract_sfmt_mul64_cc__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c40020) |
| { itype = ARC700F_INSN_MUL64_CCU6_; goto extract_sfmt_mul64_ccu6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 453 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c50000) |
| { itype = ARC700F_INSN_MULU64_CC__RC; goto extract_sfmt_mul64_cc__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c50020) |
| { itype = ARC700F_INSN_MULU64_CCU6_; goto extract_sfmt_mul64_ccu6_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 454 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c60000) |
| { itype = ARC700F_INSN_ADDS_CC__RA__RC; goto extract_sfmt_adds_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c60020) |
| { itype = ARC700F_INSN_ADDS_CCU6__RA_; goto extract_sfmt_adds_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 455 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c70000) |
| { itype = ARC700F_INSN_SUBS_CC__RA__RC; goto extract_sfmt_adds_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c70020) |
| { itype = ARC700F_INSN_SUBS_CCU6__RA_; goto extract_sfmt_adds_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 456 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c80000) |
| { itype = ARC700F_INSN_DIVAW_CC__RA__RC; goto extract_sfmt_divaw_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x28c80020) |
| { itype = ARC700F_INSN_DIVAW_CCU6__RA_; goto extract_sfmt_divaw_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 458 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x28ca0000) |
| { itype = ARC700F_INSN_ASLS_CC__RA__RC; goto extract_sfmt_asls_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x28ca0020) |
| { itype = ARC700F_INSN_ASLS_CCU6__RA_; goto extract_sfmt_asls_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 459 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8ff0020) == 0x28cb0000) |
| { itype = ARC700F_INSN_ASRS_CC__RA__RC; goto extract_sfmt_asls_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0020) == 0x28cb0020) |
| { itype = ARC700F_INSN_ASRS_CCU6__RA_; goto extract_sfmt_asls_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 488 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x28e80000) |
| { itype = ARC700F_INSN_ADDSDW_CC__RA__RC; goto extract_sfmt_asls_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x28e80020) |
| { itype = ARC700F_INSN_ADDSDW_CCU6__RA_; goto extract_sfmt_asls_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 489 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8ff0020) == 0x28e90000) |
| { itype = ARC700F_INSN_SUBSDW_CC__RA__RC; goto extract_sfmt_asls_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0020) == 0x28e90020) |
| { itype = ARC700F_INSN_SUBSDW_CCU6__RA_; goto extract_sfmt_asls_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 496 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030020) == 0x8000000) |
| { itype = ARC700F_INSN_BLCC; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030020) == 0x8000020) |
| { itype = ARC700F_INSN_BLCC_D; goto extract_sfmt_blcc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x28f00000) |
| { itype = ARC700F_INSN_MULULW_CC__RA__RC; goto extract_sfmt_mullw_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x28f00020) |
| { itype = ARC700F_INSN_MULULW_CCU6__RA_; goto extract_sfmt_mullw_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 497 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8ff0020) == 0x28f10000) |
| { itype = ARC700F_INSN_MULLW_CC__RA__RC; goto extract_sfmt_mullw_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0020) == 0x28f10020) |
| { itype = ARC700F_INSN_MULLW_CCU6__RA_; goto extract_sfmt_mullw_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 499 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8ff0020) == 0x28f30000) |
| { itype = ARC700F_INSN_MACLW_CC__RA__RC; goto extract_sfmt_maclw_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0020) == 0x28f30020) |
| { itype = ARC700F_INSN_MACLW_CCU6__RA_; goto extract_sfmt_maclw_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 501 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 4) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8010030) == 0x8010000) |
| { itype = ARC700F_INSN_BRCC_RC; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8010030) == 0x8010010) |
| { itype = ARC700F_INSN_BRCC_U6; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8010030) == 0x8010020) |
| { itype = ARC700F_INSN_BRCC_RC_D; goto extract_sfmt_brcc_RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8010030) == 0x8010030) |
| { itype = ARC700F_INSN_BRCC_U6_D; goto extract_sfmt_brcc_U6; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8ff0020) == 0x28f50000) |
| { itype = ARC700F_INSN_MACHULW_CC__RA__RC; goto extract_sfmt_machulw_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8ff0020) == 0x28f50020) |
| { itype = ARC700F_INSN_MACHULW_CCU6__RA_; goto extract_sfmt_machulw_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : /* fall through */ |
| case 9 : /* fall through */ |
| case 10 : /* fall through */ |
| case 11 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 502 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 5) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8030030) == 0x8020000) |
| { itype = ARC700F_INSN_BL; goto extract_sfmt_bl; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8030030) == 0x8020020) |
| { itype = ARC700F_INSN_BL_D; goto extract_sfmt_bl_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0020) == 0x28f60000) |
| { itype = ARC700F_INSN_MACHLW_CC__RA__RC; goto extract_sfmt_maclw_cc__RA__RC; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8ff0020) == 0x28f60020) |
| { itype = ARC700F_INSN_MACHLW_CCU6__RA_; goto extract_sfmt_maclw_ccu6__RA_; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : /* fall through */ |
| case 5 : |
| if ((entire_insn & 0xf8000000) == 0x88000000) |
| { itype = ARC700F_INSN_LDB_S_ABU; goto extract_sfmt_ldb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8000000) == 0xa8000000) |
| { itype = ARC700F_INSN_STB_S_ABU; goto extract_sfmt_stb_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 512 : /* fall through */ |
| case 513 : /* fall through */ |
| case 514 : /* fall through */ |
| case 515 : /* fall through */ |
| case 516 : /* fall through */ |
| case 517 : /* fall through */ |
| case 518 : /* fall through */ |
| case 519 : /* fall through */ |
| case 520 : /* fall through */ |
| case 521 : /* fall through */ |
| case 522 : /* fall through */ |
| case 523 : /* fall through */ |
| case 524 : /* fall through */ |
| case 525 : /* fall through */ |
| case 526 : /* fall through */ |
| case 527 : /* fall through */ |
| case 528 : /* fall through */ |
| case 529 : /* fall through */ |
| case 530 : /* fall through */ |
| case 531 : /* fall through */ |
| case 532 : /* fall through */ |
| case 533 : /* fall through */ |
| case 534 : /* fall through */ |
| case 535 : /* fall through */ |
| case 536 : /* fall through */ |
| case 537 : /* fall through */ |
| case 538 : /* fall through */ |
| case 539 : /* fall through */ |
| case 540 : /* fall through */ |
| case 541 : /* fall through */ |
| case 542 : /* fall through */ |
| case 543 : /* fall through */ |
| case 544 : /* fall through */ |
| case 545 : /* fall through */ |
| case 546 : /* fall through */ |
| case 547 : /* fall through */ |
| case 548 : /* fall through */ |
| case 549 : /* fall through */ |
| case 550 : /* fall through */ |
| case 551 : /* fall through */ |
| case 552 : /* fall through */ |
| case 553 : /* fall through */ |
| case 554 : /* fall through */ |
| case 555 : /* fall through */ |
| case 556 : /* fall through */ |
| case 557 : /* fall through */ |
| case 558 : /* fall through */ |
| case 559 : /* fall through */ |
| case 560 : /* fall through */ |
| case 561 : /* fall through */ |
| case 562 : /* fall through */ |
| case 563 : /* fall through */ |
| case 564 : /* fall through */ |
| case 565 : /* fall through */ |
| case 566 : /* fall through */ |
| case 567 : /* fall through */ |
| case 568 : /* fall through */ |
| case 569 : /* fall through */ |
| case 570 : /* fall through */ |
| case 571 : /* fall through */ |
| case 572 : /* fall through */ |
| case 573 : /* fall through */ |
| case 574 : /* fall through */ |
| case 575 : /* fall through */ |
| case 576 : /* fall through */ |
| case 577 : /* fall through */ |
| case 578 : /* fall through */ |
| case 579 : /* fall through */ |
| case 580 : /* fall through */ |
| case 581 : /* fall through */ |
| case 582 : /* fall through */ |
| case 583 : /* fall through */ |
| case 584 : /* fall through */ |
| case 585 : /* fall through */ |
| case 586 : /* fall through */ |
| case 587 : /* fall through */ |
| case 588 : /* fall through */ |
| case 589 : /* fall through */ |
| case 590 : /* fall through */ |
| case 591 : /* fall through */ |
| case 592 : /* fall through */ |
| case 593 : /* fall through */ |
| case 594 : /* fall through */ |
| case 595 : /* fall through */ |
| case 596 : /* fall through */ |
| case 597 : /* fall through */ |
| case 598 : /* fall through */ |
| case 599 : /* fall through */ |
| case 600 : /* fall through */ |
| case 601 : /* fall through */ |
| case 602 : /* fall through */ |
| case 603 : /* fall through */ |
| case 604 : /* fall through */ |
| case 605 : /* fall through */ |
| case 606 : /* fall through */ |
| case 607 : /* fall through */ |
| case 608 : /* fall through */ |
| case 609 : /* fall through */ |
| case 610 : /* fall through */ |
| case 611 : /* fall through */ |
| case 612 : /* fall through */ |
| case 613 : /* fall through */ |
| case 614 : /* fall through */ |
| case 615 : /* fall through */ |
| case 616 : /* fall through */ |
| case 617 : /* fall through */ |
| case 618 : /* fall through */ |
| case 619 : /* fall through */ |
| case 620 : /* fall through */ |
| case 621 : /* fall through */ |
| case 622 : /* fall through */ |
| case 623 : /* fall through */ |
| case 624 : /* fall through */ |
| case 625 : /* fall through */ |
| case 626 : /* fall through */ |
| case 627 : /* fall through */ |
| case 628 : /* fall through */ |
| case 629 : /* fall through */ |
| case 630 : /* fall through */ |
| case 631 : /* fall through */ |
| case 632 : /* fall through */ |
| case 633 : /* fall through */ |
| case 634 : /* fall through */ |
| case 635 : /* fall through */ |
| case 636 : /* fall through */ |
| case 637 : /* fall through */ |
| case 638 : /* fall through */ |
| case 639 : /* fall through */ |
| case 640 : /* fall through */ |
| case 641 : /* fall through */ |
| case 642 : /* fall through */ |
| case 643 : /* fall through */ |
| case 644 : /* fall through */ |
| case 645 : /* fall through */ |
| case 646 : /* fall through */ |
| case 647 : /* fall through */ |
| case 648 : /* fall through */ |
| case 649 : /* fall through */ |
| case 650 : /* fall through */ |
| case 651 : /* fall through */ |
| case 652 : /* fall through */ |
| case 653 : /* fall through */ |
| case 654 : /* fall through */ |
| case 655 : /* fall through */ |
| case 656 : /* fall through */ |
| case 657 : /* fall through */ |
| case 658 : /* fall through */ |
| case 659 : /* fall through */ |
| case 660 : /* fall through */ |
| case 661 : /* fall through */ |
| case 662 : /* fall through */ |
| case 663 : /* fall through */ |
| case 664 : /* fall through */ |
| case 665 : /* fall through */ |
| case 666 : /* fall through */ |
| case 667 : /* fall through */ |
| case 668 : /* fall through */ |
| case 669 : /* fall through */ |
| case 670 : /* fall through */ |
| case 671 : /* fall through */ |
| case 672 : /* fall through */ |
| case 673 : /* fall through */ |
| case 674 : /* fall through */ |
| case 675 : /* fall through */ |
| case 676 : /* fall through */ |
| case 677 : /* fall through */ |
| case 678 : /* fall through */ |
| case 679 : /* fall through */ |
| case 680 : /* fall through */ |
| case 681 : /* fall through */ |
| case 682 : /* fall through */ |
| case 683 : /* fall through */ |
| case 684 : /* fall through */ |
| case 685 : /* fall through */ |
| case 686 : /* fall through */ |
| case 687 : /* fall through */ |
| case 688 : /* fall through */ |
| case 689 : /* fall through */ |
| case 690 : /* fall through */ |
| case 691 : /* fall through */ |
| case 692 : /* fall through */ |
| case 693 : /* fall through */ |
| case 694 : /* fall through */ |
| case 695 : /* fall through */ |
| case 696 : /* fall through */ |
| case 697 : /* fall through */ |
| case 698 : /* fall through */ |
| case 699 : /* fall through */ |
| case 700 : /* fall through */ |
| case 701 : /* fall through */ |
| case 702 : /* fall through */ |
| case 703 : /* fall through */ |
| case 704 : /* fall through */ |
| case 705 : /* fall through */ |
| case 706 : /* fall through */ |
| case 707 : /* fall through */ |
| case 708 : /* fall through */ |
| case 709 : /* fall through */ |
| case 710 : /* fall through */ |
| case 711 : /* fall through */ |
| case 712 : /* fall through */ |
| case 713 : /* fall through */ |
| case 714 : /* fall through */ |
| case 715 : /* fall through */ |
| case 716 : /* fall through */ |
| case 717 : /* fall through */ |
| case 718 : /* fall through */ |
| case 719 : /* fall through */ |
| case 720 : /* fall through */ |
| case 721 : /* fall through */ |
| case 722 : /* fall through */ |
| case 723 : /* fall through */ |
| case 724 : /* fall through */ |
| case 725 : /* fall through */ |
| case 726 : /* fall through */ |
| case 727 : /* fall through */ |
| case 728 : /* fall through */ |
| case 729 : /* fall through */ |
| case 730 : /* fall through */ |
| case 731 : /* fall through */ |
| case 732 : /* fall through */ |
| case 733 : /* fall through */ |
| case 734 : /* fall through */ |
| case 735 : /* fall through */ |
| case 736 : /* fall through */ |
| case 737 : /* fall through */ |
| case 738 : /* fall through */ |
| case 739 : /* fall through */ |
| case 740 : /* fall through */ |
| case 741 : /* fall through */ |
| case 742 : /* fall through */ |
| case 743 : /* fall through */ |
| case 744 : /* fall through */ |
| case 745 : /* fall through */ |
| case 746 : /* fall through */ |
| case 747 : /* fall through */ |
| case 748 : /* fall through */ |
| case 749 : /* fall through */ |
| case 750 : /* fall through */ |
| case 751 : /* fall through */ |
| case 752 : /* fall through */ |
| case 753 : /* fall through */ |
| case 754 : /* fall through */ |
| case 755 : /* fall through */ |
| case 756 : /* fall through */ |
| case 757 : /* fall through */ |
| case 758 : /* fall through */ |
| case 759 : /* fall through */ |
| case 760 : /* fall through */ |
| case 761 : /* fall through */ |
| case 762 : /* fall through */ |
| case 763 : /* fall through */ |
| case 764 : /* fall through */ |
| case 765 : /* fall through */ |
| case 766 : /* fall through */ |
| case 767 : |
| { |
| unsigned int val = (((insn >> 25) & (1 << 6)) | ((insn >> 24) & (1 << 5)) | ((insn >> 6) & (31 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf80007c0) == 0x10000000) |
| { itype = ARC700F_INSN_LD_ABS; goto extract_sfmt_ld_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf80007c0) == 0x10000080) |
| { itype = ARC700F_INSN_LDB_ABS; goto extract_sfmt_ldb_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf80007c0) == 0x100000c0) |
| { itype = ARC700F_INSN_LDB_X_ABS; goto extract_sfmt_ldb_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : |
| if ((entire_insn & 0xf80007c0) == 0x10000100) |
| { itype = ARC700F_INSN_LDW_ABS; goto extract_sfmt_ldw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5 : |
| if ((entire_insn & 0xf80007c0) == 0x10000140) |
| { itype = ARC700F_INSN_LDW_X_ABS; goto extract_sfmt_ldw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : |
| if ((entire_insn & 0xf80007c0) == 0x10000200) |
| { itype = ARC700F_INSN_LD__AW_ABS; goto extract_sfmt_ld__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10 : |
| if ((entire_insn & 0xf80007c0) == 0x10000280) |
| { itype = ARC700F_INSN_LDB__AW_ABS; goto extract_sfmt_ldb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 11 : |
| if ((entire_insn & 0xf80007c0) == 0x100002c0) |
| { itype = ARC700F_INSN_LDB__AW_X_ABS; goto extract_sfmt_ldb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : |
| if ((entire_insn & 0xf80007c0) == 0x10000300) |
| { itype = ARC700F_INSN_LDW__AW_ABS; goto extract_sfmt_ldw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13 : |
| if ((entire_insn & 0xf80007c0) == 0x10000340) |
| { itype = ARC700F_INSN_LDW__AW_X_ABS; goto extract_sfmt_ldw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 16 : |
| if ((entire_insn & 0xf80007c0) == 0x10000400) |
| { itype = ARC700F_INSN_LD_AB_ABS; goto extract_sfmt_ld__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 18 : |
| if ((entire_insn & 0xf80007c0) == 0x10000480) |
| { itype = ARC700F_INSN_LDB_AB_ABS; goto extract_sfmt_ldb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 19 : |
| if ((entire_insn & 0xf80007c0) == 0x100004c0) |
| { itype = ARC700F_INSN_LDB_AB_X_ABS; goto extract_sfmt_ldb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 20 : |
| if ((entire_insn & 0xf80007c0) == 0x10000500) |
| { itype = ARC700F_INSN_LDW_AB_ABS; goto extract_sfmt_ldw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 21 : |
| if ((entire_insn & 0xf80007c0) == 0x10000540) |
| { itype = ARC700F_INSN_LDW_AB_X_ABS; goto extract_sfmt_ldw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 24 : |
| if ((entire_insn & 0xf80007c0) == 0x10000600) |
| { itype = ARC700F_INSN_LD_AS_ABS; goto extract_sfmt_ld_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 26 : |
| if ((entire_insn & 0xf80007c0) == 0x10000680) |
| { itype = ARC700F_INSN_LDB_AS_ABS; goto extract_sfmt_ldb_as_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 27 : |
| if ((entire_insn & 0xf80007c0) == 0x100006c0) |
| { itype = ARC700F_INSN_LDB_AS_X_ABS; goto extract_sfmt_ldb_as_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 28 : |
| if ((entire_insn & 0xf80007c0) == 0x10000700) |
| { itype = ARC700F_INSN_LDW_AS_ABS; goto extract_sfmt_ldw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 29 : |
| if ((entire_insn & 0xf80007c0) == 0x10000740) |
| { itype = ARC700F_INSN_LDW_AS_X_ABS; goto extract_sfmt_ldw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : /* fall through */ |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0x90000000) |
| { itype = ARC700F_INSN_LDW_S_ABU; goto extract_sfmt_ldw_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : /* fall through */ |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0xb0000000) |
| { itype = ARC700F_INSN_STW_S_ABU; goto extract_sfmt_stw_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 768 : /* fall through */ |
| case 769 : /* fall through */ |
| case 770 : /* fall through */ |
| case 771 : /* fall through */ |
| case 772 : /* fall through */ |
| case 773 : /* fall through */ |
| case 774 : /* fall through */ |
| case 775 : /* fall through */ |
| case 776 : /* fall through */ |
| case 777 : /* fall through */ |
| case 778 : /* fall through */ |
| case 779 : /* fall through */ |
| case 780 : /* fall through */ |
| case 781 : /* fall through */ |
| case 782 : /* fall through */ |
| case 783 : /* fall through */ |
| case 784 : /* fall through */ |
| case 785 : /* fall through */ |
| case 786 : /* fall through */ |
| case 787 : /* fall through */ |
| case 788 : /* fall through */ |
| case 789 : /* fall through */ |
| case 790 : /* fall through */ |
| case 791 : /* fall through */ |
| case 792 : /* fall through */ |
| case 793 : /* fall through */ |
| case 794 : /* fall through */ |
| case 795 : /* fall through */ |
| case 796 : /* fall through */ |
| case 797 : /* fall through */ |
| case 798 : /* fall through */ |
| case 799 : |
| { |
| unsigned int val = (((insn >> 26) & (1 << 5)) | ((insn >> 25) & (1 << 4)) | ((insn >> 1) & (15 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf800001f) == 0x18000000) |
| { itype = ARC700F_INSN_ST_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf800001f) == 0x18000002) |
| { itype = ARC700F_INSN_STB_ABS; goto extract_sfmt_stb_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf800001f) == 0x18000004) |
| { itype = ARC700F_INSN_STW_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : |
| if ((entire_insn & 0xf800001f) == 0x18000008) |
| { itype = ARC700F_INSN_ST__AW_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5 : |
| if ((entire_insn & 0xf800001f) == 0x1800000a) |
| { itype = ARC700F_INSN_STB__AW_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : |
| if ((entire_insn & 0xf800001f) == 0x1800000c) |
| { itype = ARC700F_INSN_STW__AW_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : |
| if ((entire_insn & 0xf800001f) == 0x18000010) |
| { itype = ARC700F_INSN_ST_AB_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9 : |
| if ((entire_insn & 0xf800001f) == 0x18000012) |
| { itype = ARC700F_INSN_STB_AB_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10 : |
| if ((entire_insn & 0xf800001f) == 0x18000014) |
| { itype = ARC700F_INSN_STW_AB_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : |
| if ((entire_insn & 0xf800001f) == 0x18000018) |
| { itype = ARC700F_INSN_ST_AS_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13 : |
| if ((entire_insn & 0xf800001f) == 0x1800001a) |
| { itype = ARC700F_INSN_STB_AS_ABS; goto extract_sfmt_stb_as_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 14 : |
| if ((entire_insn & 0xf800001f) == 0x1800001c) |
| { itype = ARC700F_INSN_STW_AS_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0x98000000) |
| { itype = ARC700F_INSN_LDW_S_X_ABU; goto extract_sfmt_ldw_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8e00000) == 0xb8000000) |
| { itype = ARC700F_INSN_ASL_S_SSB; goto extract_sfmt_sub_s_ssb; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 800 : /* fall through */ |
| case 801 : /* fall through */ |
| case 802 : /* fall through */ |
| case 803 : /* fall through */ |
| case 804 : /* fall through */ |
| case 805 : /* fall through */ |
| case 806 : /* fall through */ |
| case 807 : /* fall through */ |
| case 808 : /* fall through */ |
| case 809 : /* fall through */ |
| case 810 : /* fall through */ |
| case 811 : /* fall through */ |
| case 812 : /* fall through */ |
| case 813 : /* fall through */ |
| case 814 : /* fall through */ |
| case 815 : /* fall through */ |
| case 816 : /* fall through */ |
| case 817 : /* fall through */ |
| case 818 : /* fall through */ |
| case 819 : /* fall through */ |
| case 820 : /* fall through */ |
| case 821 : /* fall through */ |
| case 822 : /* fall through */ |
| case 823 : /* fall through */ |
| case 824 : /* fall through */ |
| case 825 : /* fall through */ |
| case 826 : /* fall through */ |
| case 827 : /* fall through */ |
| case 828 : /* fall through */ |
| case 829 : /* fall through */ |
| case 830 : /* fall through */ |
| case 831 : |
| { |
| unsigned int val = (((insn >> 26) & (1 << 5)) | ((insn >> 25) & (1 << 4)) | ((insn >> 1) & (15 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf800001f) == 0x18000000) |
| { itype = ARC700F_INSN_ST_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf800001f) == 0x18000002) |
| { itype = ARC700F_INSN_STB_ABS; goto extract_sfmt_stb_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf800001f) == 0x18000004) |
| { itype = ARC700F_INSN_STW_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : |
| if ((entire_insn & 0xf800001f) == 0x18000008) |
| { itype = ARC700F_INSN_ST__AW_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5 : |
| if ((entire_insn & 0xf800001f) == 0x1800000a) |
| { itype = ARC700F_INSN_STB__AW_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : |
| if ((entire_insn & 0xf800001f) == 0x1800000c) |
| { itype = ARC700F_INSN_STW__AW_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : |
| if ((entire_insn & 0xf800001f) == 0x18000010) |
| { itype = ARC700F_INSN_ST_AB_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9 : |
| if ((entire_insn & 0xf800001f) == 0x18000012) |
| { itype = ARC700F_INSN_STB_AB_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10 : |
| if ((entire_insn & 0xf800001f) == 0x18000014) |
| { itype = ARC700F_INSN_STW_AB_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : |
| if ((entire_insn & 0xf800001f) == 0x18000018) |
| { itype = ARC700F_INSN_ST_AS_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13 : |
| if ((entire_insn & 0xf800001f) == 0x1800001a) |
| { itype = ARC700F_INSN_STB_AS_ABS; goto extract_sfmt_stb_as_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 14 : |
| if ((entire_insn & 0xf800001f) == 0x1800001c) |
| { itype = ARC700F_INSN_STW_AS_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0x98000000) |
| { itype = ARC700F_INSN_LDW_S_X_ABU; goto extract_sfmt_ldw_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8e00000) == 0xb8200000) |
| { itype = ARC700F_INSN_LSR_S_SSB; goto extract_sfmt_sub_s_ssb; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 832 : /* fall through */ |
| case 833 : /* fall through */ |
| case 834 : /* fall through */ |
| case 835 : /* fall through */ |
| case 836 : /* fall through */ |
| case 837 : /* fall through */ |
| case 838 : /* fall through */ |
| case 839 : /* fall through */ |
| case 840 : /* fall through */ |
| case 841 : /* fall through */ |
| case 842 : /* fall through */ |
| case 843 : /* fall through */ |
| case 844 : /* fall through */ |
| case 845 : /* fall through */ |
| case 846 : /* fall through */ |
| case 847 : /* fall through */ |
| case 848 : /* fall through */ |
| case 849 : /* fall through */ |
| case 850 : /* fall through */ |
| case 851 : /* fall through */ |
| case 852 : /* fall through */ |
| case 853 : /* fall through */ |
| case 854 : /* fall through */ |
| case 855 : /* fall through */ |
| case 856 : /* fall through */ |
| case 857 : /* fall through */ |
| case 858 : /* fall through */ |
| case 859 : /* fall through */ |
| case 860 : /* fall through */ |
| case 861 : /* fall through */ |
| case 862 : /* fall through */ |
| case 863 : |
| { |
| unsigned int val = (((insn >> 26) & (1 << 5)) | ((insn >> 25) & (1 << 4)) | ((insn >> 1) & (15 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf800001f) == 0x18000000) |
| { itype = ARC700F_INSN_ST_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf800001f) == 0x18000002) |
| { itype = ARC700F_INSN_STB_ABS; goto extract_sfmt_stb_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf800001f) == 0x18000004) |
| { itype = ARC700F_INSN_STW_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : |
| if ((entire_insn & 0xf800001f) == 0x18000008) |
| { itype = ARC700F_INSN_ST__AW_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5 : |
| if ((entire_insn & 0xf800001f) == 0x1800000a) |
| { itype = ARC700F_INSN_STB__AW_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : |
| if ((entire_insn & 0xf800001f) == 0x1800000c) |
| { itype = ARC700F_INSN_STW__AW_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : |
| if ((entire_insn & 0xf800001f) == 0x18000010) |
| { itype = ARC700F_INSN_ST_AB_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9 : |
| if ((entire_insn & 0xf800001f) == 0x18000012) |
| { itype = ARC700F_INSN_STB_AB_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10 : |
| if ((entire_insn & 0xf800001f) == 0x18000014) |
| { itype = ARC700F_INSN_STW_AB_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : |
| if ((entire_insn & 0xf800001f) == 0x18000018) |
| { itype = ARC700F_INSN_ST_AS_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13 : |
| if ((entire_insn & 0xf800001f) == 0x1800001a) |
| { itype = ARC700F_INSN_STB_AS_ABS; goto extract_sfmt_stb_as_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 14 : |
| if ((entire_insn & 0xf800001f) == 0x1800001c) |
| { itype = ARC700F_INSN_STW_AS_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0x98000000) |
| { itype = ARC700F_INSN_LDW_S_X_ABU; goto extract_sfmt_ldw_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8e00000) == 0xb8400000) |
| { itype = ARC700F_INSN_ASR_S_SSB; goto extract_sfmt_sub_s_ssb; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 864 : /* fall through */ |
| case 865 : /* fall through */ |
| case 866 : /* fall through */ |
| case 867 : /* fall through */ |
| case 868 : /* fall through */ |
| case 869 : /* fall through */ |
| case 870 : /* fall through */ |
| case 871 : /* fall through */ |
| case 872 : /* fall through */ |
| case 873 : /* fall through */ |
| case 874 : /* fall through */ |
| case 875 : /* fall through */ |
| case 876 : /* fall through */ |
| case 877 : /* fall through */ |
| case 878 : /* fall through */ |
| case 879 : /* fall through */ |
| case 880 : /* fall through */ |
| case 881 : /* fall through */ |
| case 882 : /* fall through */ |
| case 883 : /* fall through */ |
| case 884 : /* fall through */ |
| case 885 : /* fall through */ |
| case 886 : /* fall through */ |
| case 887 : /* fall through */ |
| case 888 : /* fall through */ |
| case 889 : /* fall through */ |
| case 890 : /* fall through */ |
| case 891 : /* fall through */ |
| case 892 : /* fall through */ |
| case 893 : /* fall through */ |
| case 894 : /* fall through */ |
| case 895 : |
| { |
| unsigned int val = (((insn >> 26) & (1 << 5)) | ((insn >> 25) & (1 << 4)) | ((insn >> 1) & (15 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf800001f) == 0x18000000) |
| { itype = ARC700F_INSN_ST_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf800001f) == 0x18000002) |
| { itype = ARC700F_INSN_STB_ABS; goto extract_sfmt_stb_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf800001f) == 0x18000004) |
| { itype = ARC700F_INSN_STW_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : |
| if ((entire_insn & 0xf800001f) == 0x18000008) |
| { itype = ARC700F_INSN_ST__AW_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5 : |
| if ((entire_insn & 0xf800001f) == 0x1800000a) |
| { itype = ARC700F_INSN_STB__AW_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : |
| if ((entire_insn & 0xf800001f) == 0x1800000c) |
| { itype = ARC700F_INSN_STW__AW_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : |
| if ((entire_insn & 0xf800001f) == 0x18000010) |
| { itype = ARC700F_INSN_ST_AB_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9 : |
| if ((entire_insn & 0xf800001f) == 0x18000012) |
| { itype = ARC700F_INSN_STB_AB_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10 : |
| if ((entire_insn & 0xf800001f) == 0x18000014) |
| { itype = ARC700F_INSN_STW_AB_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : |
| if ((entire_insn & 0xf800001f) == 0x18000018) |
| { itype = ARC700F_INSN_ST_AS_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13 : |
| if ((entire_insn & 0xf800001f) == 0x1800001a) |
| { itype = ARC700F_INSN_STB_AS_ABS; goto extract_sfmt_stb_as_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 14 : |
| if ((entire_insn & 0xf800001f) == 0x1800001c) |
| { itype = ARC700F_INSN_STW_AS_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0x98000000) |
| { itype = ARC700F_INSN_LDW_S_X_ABU; goto extract_sfmt_ldw_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8e00000) == 0xb8600000) |
| { itype = ARC700F_INSN_SUB_S_SSB; goto extract_sfmt_sub_s_ssb; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 896 : /* fall through */ |
| case 897 : /* fall through */ |
| case 898 : /* fall through */ |
| case 899 : /* fall through */ |
| case 900 : /* fall through */ |
| case 901 : /* fall through */ |
| case 902 : /* fall through */ |
| case 903 : /* fall through */ |
| case 904 : /* fall through */ |
| case 905 : /* fall through */ |
| case 906 : /* fall through */ |
| case 907 : /* fall through */ |
| case 908 : /* fall through */ |
| case 909 : /* fall through */ |
| case 910 : /* fall through */ |
| case 911 : /* fall through */ |
| case 912 : /* fall through */ |
| case 913 : /* fall through */ |
| case 914 : /* fall through */ |
| case 915 : /* fall through */ |
| case 916 : /* fall through */ |
| case 917 : /* fall through */ |
| case 918 : /* fall through */ |
| case 919 : /* fall through */ |
| case 920 : /* fall through */ |
| case 921 : /* fall through */ |
| case 922 : /* fall through */ |
| case 923 : /* fall through */ |
| case 924 : /* fall through */ |
| case 925 : /* fall through */ |
| case 926 : /* fall through */ |
| case 927 : |
| { |
| unsigned int val = (((insn >> 26) & (1 << 5)) | ((insn >> 25) & (1 << 4)) | ((insn >> 1) & (15 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf800001f) == 0x18000000) |
| { itype = ARC700F_INSN_ST_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf800001f) == 0x18000002) |
| { itype = ARC700F_INSN_STB_ABS; goto extract_sfmt_stb_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf800001f) == 0x18000004) |
| { itype = ARC700F_INSN_STW_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : |
| if ((entire_insn & 0xf800001f) == 0x18000008) |
| { itype = ARC700F_INSN_ST__AW_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5 : |
| if ((entire_insn & 0xf800001f) == 0x1800000a) |
| { itype = ARC700F_INSN_STB__AW_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : |
| if ((entire_insn & 0xf800001f) == 0x1800000c) |
| { itype = ARC700F_INSN_STW__AW_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : |
| if ((entire_insn & 0xf800001f) == 0x18000010) |
| { itype = ARC700F_INSN_ST_AB_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9 : |
| if ((entire_insn & 0xf800001f) == 0x18000012) |
| { itype = ARC700F_INSN_STB_AB_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10 : |
| if ((entire_insn & 0xf800001f) == 0x18000014) |
| { itype = ARC700F_INSN_STW_AB_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : |
| if ((entire_insn & 0xf800001f) == 0x18000018) |
| { itype = ARC700F_INSN_ST_AS_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13 : |
| if ((entire_insn & 0xf800001f) == 0x1800001a) |
| { itype = ARC700F_INSN_STB_AS_ABS; goto extract_sfmt_stb_as_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 14 : |
| if ((entire_insn & 0xf800001f) == 0x1800001c) |
| { itype = ARC700F_INSN_STW_AS_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0x98000000) |
| { itype = ARC700F_INSN_LDW_S_X_ABU; goto extract_sfmt_ldw_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8e00000) == 0xb8800000) |
| { itype = ARC700F_INSN_BSET_S_SSB; goto extract_sfmt_sub_s_ssb; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 928 : /* fall through */ |
| case 929 : /* fall through */ |
| case 930 : /* fall through */ |
| case 931 : /* fall through */ |
| case 932 : /* fall through */ |
| case 933 : /* fall through */ |
| case 934 : /* fall through */ |
| case 935 : /* fall through */ |
| case 936 : /* fall through */ |
| case 937 : /* fall through */ |
| case 938 : /* fall through */ |
| case 939 : /* fall through */ |
| case 940 : /* fall through */ |
| case 941 : /* fall through */ |
| case 942 : /* fall through */ |
| case 943 : /* fall through */ |
| case 944 : /* fall through */ |
| case 945 : /* fall through */ |
| case 946 : /* fall through */ |
| case 947 : /* fall through */ |
| case 948 : /* fall through */ |
| case 949 : /* fall through */ |
| case 950 : /* fall through */ |
| case 951 : /* fall through */ |
| case 952 : /* fall through */ |
| case 953 : /* fall through */ |
| case 954 : /* fall through */ |
| case 955 : /* fall through */ |
| case 956 : /* fall through */ |
| case 957 : /* fall through */ |
| case 958 : /* fall through */ |
| case 959 : |
| { |
| unsigned int val = (((insn >> 26) & (1 << 5)) | ((insn >> 25) & (1 << 4)) | ((insn >> 1) & (15 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf800001f) == 0x18000000) |
| { itype = ARC700F_INSN_ST_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf800001f) == 0x18000002) |
| { itype = ARC700F_INSN_STB_ABS; goto extract_sfmt_stb_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf800001f) == 0x18000004) |
| { itype = ARC700F_INSN_STW_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : |
| if ((entire_insn & 0xf800001f) == 0x18000008) |
| { itype = ARC700F_INSN_ST__AW_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5 : |
| if ((entire_insn & 0xf800001f) == 0x1800000a) |
| { itype = ARC700F_INSN_STB__AW_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : |
| if ((entire_insn & 0xf800001f) == 0x1800000c) |
| { itype = ARC700F_INSN_STW__AW_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : |
| if ((entire_insn & 0xf800001f) == 0x18000010) |
| { itype = ARC700F_INSN_ST_AB_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9 : |
| if ((entire_insn & 0xf800001f) == 0x18000012) |
| { itype = ARC700F_INSN_STB_AB_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10 : |
| if ((entire_insn & 0xf800001f) == 0x18000014) |
| { itype = ARC700F_INSN_STW_AB_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : |
| if ((entire_insn & 0xf800001f) == 0x18000018) |
| { itype = ARC700F_INSN_ST_AS_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13 : |
| if ((entire_insn & 0xf800001f) == 0x1800001a) |
| { itype = ARC700F_INSN_STB_AS_ABS; goto extract_sfmt_stb_as_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 14 : |
| if ((entire_insn & 0xf800001f) == 0x1800001c) |
| { itype = ARC700F_INSN_STW_AS_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0x98000000) |
| { itype = ARC700F_INSN_LDW_S_X_ABU; goto extract_sfmt_ldw_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8e00000) == 0xb8a00000) |
| { itype = ARC700F_INSN_BCLR_S_SSB; goto extract_sfmt_sub_s_ssb; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 960 : /* fall through */ |
| case 961 : /* fall through */ |
| case 962 : /* fall through */ |
| case 963 : /* fall through */ |
| case 964 : /* fall through */ |
| case 965 : /* fall through */ |
| case 966 : /* fall through */ |
| case 967 : /* fall through */ |
| case 968 : /* fall through */ |
| case 969 : /* fall through */ |
| case 970 : /* fall through */ |
| case 971 : /* fall through */ |
| case 972 : /* fall through */ |
| case 973 : /* fall through */ |
| case 974 : /* fall through */ |
| case 975 : /* fall through */ |
| case 976 : /* fall through */ |
| case 977 : /* fall through */ |
| case 978 : /* fall through */ |
| case 979 : /* fall through */ |
| case 980 : /* fall through */ |
| case 981 : /* fall through */ |
| case 982 : /* fall through */ |
| case 983 : /* fall through */ |
| case 984 : /* fall through */ |
| case 985 : /* fall through */ |
| case 986 : /* fall through */ |
| case 987 : /* fall through */ |
| case 988 : /* fall through */ |
| case 989 : /* fall through */ |
| case 990 : /* fall through */ |
| case 991 : |
| { |
| unsigned int val = (((insn >> 26) & (1 << 5)) | ((insn >> 25) & (1 << 4)) | ((insn >> 1) & (15 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf800001f) == 0x18000000) |
| { itype = ARC700F_INSN_ST_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf800001f) == 0x18000002) |
| { itype = ARC700F_INSN_STB_ABS; goto extract_sfmt_stb_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf800001f) == 0x18000004) |
| { itype = ARC700F_INSN_STW_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : |
| if ((entire_insn & 0xf800001f) == 0x18000008) |
| { itype = ARC700F_INSN_ST__AW_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5 : |
| if ((entire_insn & 0xf800001f) == 0x1800000a) |
| { itype = ARC700F_INSN_STB__AW_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : |
| if ((entire_insn & 0xf800001f) == 0x1800000c) |
| { itype = ARC700F_INSN_STW__AW_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : |
| if ((entire_insn & 0xf800001f) == 0x18000010) |
| { itype = ARC700F_INSN_ST_AB_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9 : |
| if ((entire_insn & 0xf800001f) == 0x18000012) |
| { itype = ARC700F_INSN_STB_AB_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10 : |
| if ((entire_insn & 0xf800001f) == 0x18000014) |
| { itype = ARC700F_INSN_STW_AB_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : |
| if ((entire_insn & 0xf800001f) == 0x18000018) |
| { itype = ARC700F_INSN_ST_AS_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13 : |
| if ((entire_insn & 0xf800001f) == 0x1800001a) |
| { itype = ARC700F_INSN_STB_AS_ABS; goto extract_sfmt_stb_as_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 14 : |
| if ((entire_insn & 0xf800001f) == 0x1800001c) |
| { itype = ARC700F_INSN_STW_AS_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0x98000000) |
| { itype = ARC700F_INSN_LDW_S_X_ABU; goto extract_sfmt_ldw_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8e00000) == 0xb8c00000) |
| { itype = ARC700F_INSN_BMSK_S_SSB; goto extract_sfmt_sub_s_ssb; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 992 : /* fall through */ |
| case 993 : /* fall through */ |
| case 994 : /* fall through */ |
| case 995 : /* fall through */ |
| case 996 : /* fall through */ |
| case 997 : /* fall through */ |
| case 998 : /* fall through */ |
| case 999 : /* fall through */ |
| case 1000 : /* fall through */ |
| case 1001 : /* fall through */ |
| case 1002 : /* fall through */ |
| case 1003 : /* fall through */ |
| case 1004 : /* fall through */ |
| case 1005 : /* fall through */ |
| case 1006 : /* fall through */ |
| case 1007 : /* fall through */ |
| case 1008 : /* fall through */ |
| case 1009 : /* fall through */ |
| case 1010 : /* fall through */ |
| case 1011 : /* fall through */ |
| case 1012 : /* fall through */ |
| case 1013 : /* fall through */ |
| case 1014 : /* fall through */ |
| case 1015 : /* fall through */ |
| case 1016 : /* fall through */ |
| case 1017 : /* fall through */ |
| case 1018 : /* fall through */ |
| case 1019 : /* fall through */ |
| case 1020 : /* fall through */ |
| case 1021 : /* fall through */ |
| case 1022 : /* fall through */ |
| case 1023 : |
| { |
| unsigned int val = (((insn >> 26) & (1 << 5)) | ((insn >> 25) & (1 << 4)) | ((insn >> 1) & (15 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf800001f) == 0x18000000) |
| { itype = ARC700F_INSN_ST_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf800001f) == 0x18000002) |
| { itype = ARC700F_INSN_STB_ABS; goto extract_sfmt_stb_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf800001f) == 0x18000004) |
| { itype = ARC700F_INSN_STW_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : |
| if ((entire_insn & 0xf800001f) == 0x18000008) |
| { itype = ARC700F_INSN_ST__AW_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5 : |
| if ((entire_insn & 0xf800001f) == 0x1800000a) |
| { itype = ARC700F_INSN_STB__AW_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : |
| if ((entire_insn & 0xf800001f) == 0x1800000c) |
| { itype = ARC700F_INSN_STW__AW_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : |
| if ((entire_insn & 0xf800001f) == 0x18000010) |
| { itype = ARC700F_INSN_ST_AB_ABS; goto extract_sfmt_st__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9 : |
| if ((entire_insn & 0xf800001f) == 0x18000012) |
| { itype = ARC700F_INSN_STB_AB_ABS; goto extract_sfmt_stb__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10 : |
| if ((entire_insn & 0xf800001f) == 0x18000014) |
| { itype = ARC700F_INSN_STW_AB_ABS; goto extract_sfmt_stw__AW_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : |
| if ((entire_insn & 0xf800001f) == 0x18000018) |
| { itype = ARC700F_INSN_ST_AS_ABS; goto extract_sfmt_st_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13 : |
| if ((entire_insn & 0xf800001f) == 0x1800001a) |
| { itype = ARC700F_INSN_STB_AS_ABS; goto extract_sfmt_stb_as_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 14 : |
| if ((entire_insn & 0xf800001f) == 0x1800001c) |
| { itype = ARC700F_INSN_STW_AS_ABS; goto extract_sfmt_stw_abs; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8000000) == 0x98000000) |
| { itype = ARC700F_INSN_LDW_S_X_ABU; goto extract_sfmt_ldw_s_abu; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| 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 : |
| if ((entire_insn & 0xf8e00000) == 0xb8e00000) |
| { itype = ARC700F_INSN_BTST_S_SSB; goto extract_sfmt_btst_s_ssb; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1024 : /* fall through */ |
| case 1025 : /* fall through */ |
| case 1026 : /* fall through */ |
| case 1027 : /* fall through */ |
| case 1028 : /* fall through */ |
| case 1029 : /* fall through */ |
| case 1030 : /* fall through */ |
| case 1031 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60000000) |
| { itype = ARC700F_INSN_LD_S_ABC; goto extract_sfmt_ld_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0000000) |
| { itype = ARC700F_INSN_LD_S_ABSP; goto extract_sfmt_ld_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1032 : /* fall through */ |
| case 1033 : /* fall through */ |
| case 1034 : /* fall through */ |
| case 1035 : /* fall through */ |
| case 1036 : /* fall through */ |
| case 1037 : /* fall through */ |
| case 1038 : /* fall through */ |
| case 1039 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60080000) |
| { itype = ARC700F_INSN_LDB_S_ABC; goto extract_sfmt_ldb_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0000000) |
| { itype = ARC700F_INSN_LD_S_ABSP; goto extract_sfmt_ld_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1040 : /* fall through */ |
| case 1041 : /* fall through */ |
| case 1042 : /* fall through */ |
| case 1043 : /* fall through */ |
| case 1044 : /* fall through */ |
| case 1045 : /* fall through */ |
| case 1046 : /* fall through */ |
| case 1047 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60100000) |
| { itype = ARC700F_INSN_LDW_S_ABC; goto extract_sfmt_ldw_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0000000) |
| { itype = ARC700F_INSN_LD_S_ABSP; goto extract_sfmt_ld_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1048 : /* fall through */ |
| case 1049 : /* fall through */ |
| case 1050 : /* fall through */ |
| case 1051 : /* fall through */ |
| case 1052 : /* fall through */ |
| case 1053 : /* fall through */ |
| case 1054 : /* fall through */ |
| case 1055 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60180000) |
| { itype = ARC700F_INSN_ADD_S_ABC; goto extract_sfmt_add_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0000000) |
| { itype = ARC700F_INSN_LD_S_ABSP; goto extract_sfmt_ld_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1056 : /* fall through */ |
| case 1057 : /* fall through */ |
| case 1058 : /* fall through */ |
| case 1059 : /* fall through */ |
| case 1060 : /* fall through */ |
| case 1061 : /* fall through */ |
| case 1062 : /* fall through */ |
| case 1063 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60000000) |
| { itype = ARC700F_INSN_LD_S_ABC; goto extract_sfmt_ld_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0200000) |
| { itype = ARC700F_INSN_LDB_S_ABSP; goto extract_sfmt_ldb_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1064 : /* fall through */ |
| case 1065 : /* fall through */ |
| case 1066 : /* fall through */ |
| case 1067 : /* fall through */ |
| case 1068 : /* fall through */ |
| case 1069 : /* fall through */ |
| case 1070 : /* fall through */ |
| case 1071 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60080000) |
| { itype = ARC700F_INSN_LDB_S_ABC; goto extract_sfmt_ldb_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0200000) |
| { itype = ARC700F_INSN_LDB_S_ABSP; goto extract_sfmt_ldb_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1072 : /* fall through */ |
| case 1073 : /* fall through */ |
| case 1074 : /* fall through */ |
| case 1075 : /* fall through */ |
| case 1076 : /* fall through */ |
| case 1077 : /* fall through */ |
| case 1078 : /* fall through */ |
| case 1079 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60100000) |
| { itype = ARC700F_INSN_LDW_S_ABC; goto extract_sfmt_ldw_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0200000) |
| { itype = ARC700F_INSN_LDB_S_ABSP; goto extract_sfmt_ldb_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1080 : /* fall through */ |
| case 1081 : /* fall through */ |
| case 1082 : /* fall through */ |
| case 1083 : /* fall through */ |
| case 1084 : /* fall through */ |
| case 1085 : /* fall through */ |
| case 1086 : /* fall through */ |
| case 1087 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60180000) |
| { itype = ARC700F_INSN_ADD_S_ABC; goto extract_sfmt_add_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0200000) |
| { itype = ARC700F_INSN_LDB_S_ABSP; goto extract_sfmt_ldb_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1088 : /* fall through */ |
| case 1089 : /* fall through */ |
| case 1090 : /* fall through */ |
| case 1091 : /* fall through */ |
| case 1092 : /* fall through */ |
| case 1093 : /* fall through */ |
| case 1094 : /* fall through */ |
| case 1095 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60000000) |
| { itype = ARC700F_INSN_LD_S_ABC; goto extract_sfmt_ld_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0400000) |
| { itype = ARC700F_INSN_ST_S_ABSP; goto extract_sfmt_st_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1096 : /* fall through */ |
| case 1097 : /* fall through */ |
| case 1098 : /* fall through */ |
| case 1099 : /* fall through */ |
| case 1100 : /* fall through */ |
| case 1101 : /* fall through */ |
| case 1102 : /* fall through */ |
| case 1103 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60080000) |
| { itype = ARC700F_INSN_LDB_S_ABC; goto extract_sfmt_ldb_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0400000) |
| { itype = ARC700F_INSN_ST_S_ABSP; goto extract_sfmt_st_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1104 : /* fall through */ |
| case 1105 : /* fall through */ |
| case 1106 : /* fall through */ |
| case 1107 : /* fall through */ |
| case 1108 : /* fall through */ |
| case 1109 : /* fall through */ |
| case 1110 : /* fall through */ |
| case 1111 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60100000) |
| { itype = ARC700F_INSN_LDW_S_ABC; goto extract_sfmt_ldw_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0400000) |
| { itype = ARC700F_INSN_ST_S_ABSP; goto extract_sfmt_st_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1112 : /* fall through */ |
| case 1113 : /* fall through */ |
| case 1114 : /* fall through */ |
| case 1115 : /* fall through */ |
| case 1116 : /* fall through */ |
| case 1117 : /* fall through */ |
| case 1118 : /* fall through */ |
| case 1119 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60180000) |
| { itype = ARC700F_INSN_ADD_S_ABC; goto extract_sfmt_add_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0400000) |
| { itype = ARC700F_INSN_ST_S_ABSP; goto extract_sfmt_st_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1120 : /* fall through */ |
| case 1121 : /* fall through */ |
| case 1122 : /* fall through */ |
| case 1123 : /* fall through */ |
| case 1124 : /* fall through */ |
| case 1125 : /* fall through */ |
| case 1126 : /* fall through */ |
| case 1127 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60000000) |
| { itype = ARC700F_INSN_LD_S_ABC; goto extract_sfmt_ld_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0600000) |
| { itype = ARC700F_INSN_STB_S_ABSP; goto extract_sfmt_stb_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1128 : /* fall through */ |
| case 1129 : /* fall through */ |
| case 1130 : /* fall through */ |
| case 1131 : /* fall through */ |
| case 1132 : /* fall through */ |
| case 1133 : /* fall through */ |
| case 1134 : /* fall through */ |
| case 1135 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60080000) |
| { itype = ARC700F_INSN_LDB_S_ABC; goto extract_sfmt_ldb_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0600000) |
| { itype = ARC700F_INSN_STB_S_ABSP; goto extract_sfmt_stb_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1136 : /* fall through */ |
| case 1137 : /* fall through */ |
| case 1138 : /* fall through */ |
| case 1139 : /* fall through */ |
| case 1140 : /* fall through */ |
| case 1141 : /* fall through */ |
| case 1142 : /* fall through */ |
| case 1143 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60100000) |
| { itype = ARC700F_INSN_LDW_S_ABC; goto extract_sfmt_ldw_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0600000) |
| { itype = ARC700F_INSN_STB_S_ABSP; goto extract_sfmt_stb_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1144 : /* fall through */ |
| case 1145 : /* fall through */ |
| case 1146 : /* fall through */ |
| case 1147 : /* fall through */ |
| case 1148 : /* fall through */ |
| case 1149 : /* fall through */ |
| case 1150 : /* fall through */ |
| case 1151 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60180000) |
| { itype = ARC700F_INSN_ADD_S_ABC; goto extract_sfmt_add_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0600000) |
| { itype = ARC700F_INSN_STB_S_ABSP; goto extract_sfmt_stb_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0000000) |
| { itype = ARC700F_INSN_ADD_S_R_U7; goto extract_sfmt_add_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1152 : /* fall through */ |
| case 1153 : /* fall through */ |
| case 1154 : /* fall through */ |
| case 1155 : /* fall through */ |
| case 1156 : /* fall through */ |
| case 1157 : /* fall through */ |
| case 1158 : /* fall through */ |
| case 1159 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60000000) |
| { itype = ARC700F_INSN_LD_S_ABC; goto extract_sfmt_ld_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0800000) |
| { itype = ARC700F_INSN_ADD_S_ABSP; goto extract_sfmt_add_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1160 : /* fall through */ |
| case 1161 : /* fall through */ |
| case 1162 : /* fall through */ |
| case 1163 : /* fall through */ |
| case 1164 : /* fall through */ |
| case 1165 : /* fall through */ |
| case 1166 : /* fall through */ |
| case 1167 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60080000) |
| { itype = ARC700F_INSN_LDB_S_ABC; goto extract_sfmt_ldb_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0800000) |
| { itype = ARC700F_INSN_ADD_S_ABSP; goto extract_sfmt_add_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1168 : /* fall through */ |
| case 1169 : /* fall through */ |
| case 1170 : /* fall through */ |
| case 1171 : /* fall through */ |
| case 1172 : /* fall through */ |
| case 1173 : /* fall through */ |
| case 1174 : /* fall through */ |
| case 1175 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60100000) |
| { itype = ARC700F_INSN_LDW_S_ABC; goto extract_sfmt_ldw_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0800000) |
| { itype = ARC700F_INSN_ADD_S_ABSP; goto extract_sfmt_add_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1176 : /* fall through */ |
| case 1177 : /* fall through */ |
| case 1178 : /* fall through */ |
| case 1179 : /* fall through */ |
| case 1180 : /* fall through */ |
| case 1181 : /* fall through */ |
| case 1182 : /* fall through */ |
| case 1183 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60180000) |
| { itype = ARC700F_INSN_ADD_S_ABC; goto extract_sfmt_add_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8e00000) == 0xc0800000) |
| { itype = ARC700F_INSN_ADD_S_ABSP; goto extract_sfmt_add_s_absp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1184 : /* fall through */ |
| case 1185 : /* fall through */ |
| case 1186 : /* fall through */ |
| case 1187 : /* fall through */ |
| case 1188 : /* fall through */ |
| case 1189 : /* fall through */ |
| case 1190 : /* fall through */ |
| case 1191 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 24) & (1 << 0))); |
| switch (val) |
| { |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8180000) == 0x60000000) |
| { itype = ARC700F_INSN_LD_S_ABC; goto extract_sfmt_ld_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : |
| if ((entire_insn & 0xffe00000) == 0xc0a00000) |
| { itype = ARC700F_INSN_ADD_S_ASSPSP; goto extract_sfmt_add_s_asspsp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5 : |
| if ((entire_insn & 0xffe00000) == 0xc1a00000) |
| { itype = ARC700F_INSN_SUB_S_ASSPSP; goto extract_sfmt_add_s_asspsp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1192 : /* fall through */ |
| case 1193 : /* fall through */ |
| case 1194 : /* fall through */ |
| case 1195 : /* fall through */ |
| case 1196 : /* fall through */ |
| case 1197 : /* fall through */ |
| case 1198 : /* fall through */ |
| case 1199 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 24) & (1 << 0))); |
| switch (val) |
| { |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8180000) == 0x60080000) |
| { itype = ARC700F_INSN_LDB_S_ABC; goto extract_sfmt_ldb_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : |
| if ((entire_insn & 0xffe00000) == 0xc0a00000) |
| { itype = ARC700F_INSN_ADD_S_ASSPSP; goto extract_sfmt_add_s_asspsp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5 : |
| if ((entire_insn & 0xffe00000) == 0xc1a00000) |
| { itype = ARC700F_INSN_SUB_S_ASSPSP; goto extract_sfmt_add_s_asspsp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1200 : /* fall through */ |
| case 1201 : /* fall through */ |
| case 1202 : /* fall through */ |
| case 1203 : /* fall through */ |
| case 1204 : /* fall through */ |
| case 1205 : /* fall through */ |
| case 1206 : /* fall through */ |
| case 1207 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 24) & (1 << 0))); |
| switch (val) |
| { |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8180000) == 0x60100000) |
| { itype = ARC700F_INSN_LDW_S_ABC; goto extract_sfmt_ldw_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : |
| if ((entire_insn & 0xffe00000) == 0xc0a00000) |
| { itype = ARC700F_INSN_ADD_S_ASSPSP; goto extract_sfmt_add_s_asspsp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5 : |
| if ((entire_insn & 0xffe00000) == 0xc1a00000) |
| { itype = ARC700F_INSN_SUB_S_ASSPSP; goto extract_sfmt_add_s_asspsp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1208 : /* fall through */ |
| case 1209 : /* fall through */ |
| case 1210 : /* fall through */ |
| case 1211 : /* fall through */ |
| case 1212 : /* fall through */ |
| case 1213 : /* fall through */ |
| case 1214 : /* fall through */ |
| case 1215 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 2)) | ((insn >> 28) & (1 << 1)) | ((insn >> 24) & (1 << 0))); |
| switch (val) |
| { |
| case 2 : /* fall through */ |
| case 3 : |
| if ((entire_insn & 0xf8180000) == 0x60180000) |
| { itype = ARC700F_INSN_ADD_S_ABC; goto extract_sfmt_add_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4 : |
| if ((entire_insn & 0xffe00000) == 0xc0a00000) |
| { itype = ARC700F_INSN_ADD_S_ASSPSP; goto extract_sfmt_add_s_asspsp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5 : |
| if ((entire_insn & 0xffe00000) == 0xc1a00000) |
| { itype = ARC700F_INSN_SUB_S_ASSPSP; goto extract_sfmt_add_s_asspsp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1216 : /* fall through */ |
| case 1218 : /* fall through */ |
| case 1219 : /* fall through */ |
| case 1220 : /* fall through */ |
| case 1221 : /* fall through */ |
| case 1222 : /* fall through */ |
| case 1223 : /* fall through */ |
| case 1248 : /* fall through */ |
| case 1250 : /* fall through */ |
| case 1251 : /* fall through */ |
| case 1252 : /* fall through */ |
| case 1253 : /* fall through */ |
| case 1254 : /* fall through */ |
| case 1255 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8180000) == 0x60000000) |
| { itype = ARC700F_INSN_LD_S_ABC; goto extract_sfmt_ld_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1217 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60000000) |
| { itype = ARC700F_INSN_LD_S_ABC; goto extract_sfmt_ld_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0000) == 0xc0c10000) |
| { itype = ARC700F_INSN_POP_S_B; goto extract_sfmt_pop_s_b; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1224 : /* fall through */ |
| case 1225 : /* fall through */ |
| case 1226 : /* fall through */ |
| case 1227 : /* fall through */ |
| case 1228 : /* fall through */ |
| case 1229 : /* fall through */ |
| case 1230 : /* fall through */ |
| case 1231 : /* fall through */ |
| case 1256 : /* fall through */ |
| case 1257 : /* fall through */ |
| case 1258 : /* fall through */ |
| case 1259 : /* fall through */ |
| case 1260 : /* fall through */ |
| case 1261 : /* fall through */ |
| case 1262 : /* fall through */ |
| case 1263 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8180000) == 0x60080000) |
| { itype = ARC700F_INSN_LDB_S_ABC; goto extract_sfmt_ldb_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1232 : /* fall through */ |
| case 1234 : /* fall through */ |
| case 1235 : /* fall through */ |
| case 1236 : /* fall through */ |
| case 1237 : /* fall through */ |
| case 1238 : /* fall through */ |
| case 1239 : /* fall through */ |
| case 1264 : /* fall through */ |
| case 1266 : /* fall through */ |
| case 1267 : /* fall through */ |
| case 1268 : /* fall through */ |
| case 1269 : /* fall through */ |
| case 1270 : /* fall through */ |
| case 1271 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8180000) == 0x60100000) |
| { itype = ARC700F_INSN_LDW_S_ABC; goto extract_sfmt_ldw_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1233 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60100000) |
| { itype = ARC700F_INSN_LDW_S_ABC; goto extract_sfmt_ldw_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xffff0000) == 0xc0d10000) |
| { itype = ARC700F_INSN_POP_S_BLINK; goto extract_sfmt_pop_s_blink; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1240 : /* fall through */ |
| case 1241 : /* fall through */ |
| case 1242 : /* fall through */ |
| case 1243 : /* fall through */ |
| case 1244 : /* fall through */ |
| case 1245 : /* fall through */ |
| case 1246 : /* fall through */ |
| case 1247 : /* fall through */ |
| case 1272 : /* fall through */ |
| case 1273 : /* fall through */ |
| case 1274 : /* fall through */ |
| case 1275 : /* fall through */ |
| case 1276 : /* fall through */ |
| case 1277 : /* fall through */ |
| case 1278 : /* fall through */ |
| case 1279 : |
| { |
| unsigned int val = (((insn >> 31) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8180000) == 0x60180000) |
| { itype = ARC700F_INSN_ADD_S_ABC; goto extract_sfmt_add_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1249 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60000000) |
| { itype = ARC700F_INSN_LD_S_ABC; goto extract_sfmt_ld_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8ff0000) == 0xc0e10000) |
| { itype = ARC700F_INSN_PUSH_S_B; goto extract_sfmt_push_s_b; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1265 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x60100000) |
| { itype = ARC700F_INSN_LDW_S_ABC; goto extract_sfmt_ldw_s_abc; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xffff0000) == 0xc0f10000) |
| { itype = ARC700F_INSN_PUSH_S_BLINK; goto extract_sfmt_push_s_blink; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8800000) == 0xe0800000) |
| { itype = ARC700F_INSN_CMP_S_R_U7; goto extract_sfmt_cmp_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1280 : /* fall through */ |
| case 1281 : /* fall through */ |
| case 1282 : /* fall through */ |
| case 1283 : /* fall through */ |
| case 1284 : /* fall through */ |
| case 1285 : /* fall through */ |
| case 1286 : /* fall through */ |
| case 1287 : /* fall through */ |
| case 1312 : /* fall through */ |
| case 1313 : /* fall through */ |
| case 1314 : /* fall through */ |
| case 1315 : /* fall through */ |
| case 1316 : /* fall through */ |
| case 1317 : /* fall through */ |
| case 1318 : /* fall through */ |
| case 1319 : /* fall through */ |
| case 1344 : /* fall through */ |
| case 1345 : /* fall through */ |
| case 1346 : /* fall through */ |
| case 1347 : /* fall through */ |
| case 1348 : /* fall through */ |
| case 1349 : /* fall through */ |
| case 1350 : /* fall through */ |
| case 1351 : /* fall through */ |
| case 1376 : /* fall through */ |
| case 1377 : /* fall through */ |
| case 1378 : /* fall through */ |
| case 1379 : /* fall through */ |
| case 1380 : /* fall through */ |
| case 1381 : /* fall through */ |
| case 1382 : /* fall through */ |
| case 1383 : /* fall through */ |
| case 1408 : /* fall through */ |
| case 1409 : /* fall through */ |
| case 1410 : /* fall through */ |
| case 1411 : /* fall through */ |
| case 1412 : /* fall through */ |
| case 1413 : /* fall through */ |
| case 1414 : /* fall through */ |
| case 1415 : /* fall through */ |
| case 1440 : /* fall through */ |
| case 1441 : /* fall through */ |
| case 1442 : /* fall through */ |
| case 1443 : /* fall through */ |
| case 1444 : /* fall through */ |
| case 1445 : /* fall through */ |
| case 1446 : /* fall through */ |
| case 1447 : /* fall through */ |
| case 1472 : /* fall through */ |
| case 1473 : /* fall through */ |
| case 1474 : /* fall through */ |
| case 1475 : /* fall through */ |
| case 1476 : /* fall through */ |
| case 1477 : /* fall through */ |
| case 1478 : /* fall through */ |
| case 1479 : /* fall through */ |
| case 1504 : /* fall through */ |
| case 1505 : /* fall through */ |
| case 1506 : /* fall through */ |
| case 1507 : /* fall through */ |
| case 1508 : /* fall through */ |
| case 1509 : /* fall through */ |
| case 1510 : /* fall through */ |
| case 1511 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 25) & (3 << 0))); |
| switch (val) |
| { |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8180000) == 0x68000000) |
| { itype = ARC700F_INSN_ADD_S_CBU3; goto extract_sfmt_add_s_cbu3; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : |
| if ((entire_insn & 0xfe000000) == 0xc8000000) |
| { itype = ARC700F_INSN_LD_S_GPREL; goto extract_sfmt_ld_s_gprel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9 : |
| if ((entire_insn & 0xfe000000) == 0xca000000) |
| { itype = ARC700F_INSN_LDB_S_GPREL; goto extract_sfmt_ldb_s_gprel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10 : |
| if ((entire_insn & 0xfe000000) == 0xcc000000) |
| { itype = ARC700F_INSN_LDW_S_GPREL; goto extract_sfmt_ldw_s_gprel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 11 : |
| if ((entire_insn & 0xfe000000) == 0xce000000) |
| { itype = ARC700F_INSN_ADD_S_GP; goto extract_sfmt_add_s_gp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xe8000000) |
| { itype = ARC700F_INSN_BRCC_S; goto extract_sfmt_brcc_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1288 : /* fall through */ |
| case 1289 : /* fall through */ |
| case 1290 : /* fall through */ |
| case 1291 : /* fall through */ |
| case 1292 : /* fall through */ |
| case 1293 : /* fall through */ |
| case 1294 : /* fall through */ |
| case 1295 : /* fall through */ |
| case 1320 : /* fall through */ |
| case 1321 : /* fall through */ |
| case 1322 : /* fall through */ |
| case 1323 : /* fall through */ |
| case 1324 : /* fall through */ |
| case 1325 : /* fall through */ |
| case 1326 : /* fall through */ |
| case 1327 : /* fall through */ |
| case 1352 : /* fall through */ |
| case 1353 : /* fall through */ |
| case 1354 : /* fall through */ |
| case 1355 : /* fall through */ |
| case 1356 : /* fall through */ |
| case 1357 : /* fall through */ |
| case 1358 : /* fall through */ |
| case 1359 : /* fall through */ |
| case 1384 : /* fall through */ |
| case 1385 : /* fall through */ |
| case 1386 : /* fall through */ |
| case 1387 : /* fall through */ |
| case 1388 : /* fall through */ |
| case 1389 : /* fall through */ |
| case 1390 : /* fall through */ |
| case 1391 : /* fall through */ |
| case 1416 : /* fall through */ |
| case 1417 : /* fall through */ |
| case 1418 : /* fall through */ |
| case 1419 : /* fall through */ |
| case 1420 : /* fall through */ |
| case 1421 : /* fall through */ |
| case 1422 : /* fall through */ |
| case 1423 : /* fall through */ |
| case 1448 : /* fall through */ |
| case 1449 : /* fall through */ |
| case 1450 : /* fall through */ |
| case 1451 : /* fall through */ |
| case 1452 : /* fall through */ |
| case 1453 : /* fall through */ |
| case 1454 : /* fall through */ |
| case 1455 : /* fall through */ |
| case 1480 : /* fall through */ |
| case 1481 : /* fall through */ |
| case 1482 : /* fall through */ |
| case 1483 : /* fall through */ |
| case 1484 : /* fall through */ |
| case 1485 : /* fall through */ |
| case 1486 : /* fall through */ |
| case 1487 : /* fall through */ |
| case 1512 : /* fall through */ |
| case 1513 : /* fall through */ |
| case 1514 : /* fall through */ |
| case 1515 : /* fall through */ |
| case 1516 : /* fall through */ |
| case 1517 : /* fall through */ |
| case 1518 : /* fall through */ |
| case 1519 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 25) & (3 << 0))); |
| switch (val) |
| { |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8180000) == 0x68080000) |
| { itype = ARC700F_INSN_SUB_S_CBU3; goto extract_sfmt_add_s_cbu3; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : |
| if ((entire_insn & 0xfe000000) == 0xc8000000) |
| { itype = ARC700F_INSN_LD_S_GPREL; goto extract_sfmt_ld_s_gprel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9 : |
| if ((entire_insn & 0xfe000000) == 0xca000000) |
| { itype = ARC700F_INSN_LDB_S_GPREL; goto extract_sfmt_ldb_s_gprel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10 : |
| if ((entire_insn & 0xfe000000) == 0xcc000000) |
| { itype = ARC700F_INSN_LDW_S_GPREL; goto extract_sfmt_ldw_s_gprel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 11 : |
| if ((entire_insn & 0xfe000000) == 0xce000000) |
| { itype = ARC700F_INSN_ADD_S_GP; goto extract_sfmt_add_s_gp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xe8000000) |
| { itype = ARC700F_INSN_BRCC_S; goto extract_sfmt_brcc_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1296 : /* fall through */ |
| case 1297 : /* fall through */ |
| case 1298 : /* fall through */ |
| case 1299 : /* fall through */ |
| case 1300 : /* fall through */ |
| case 1301 : /* fall through */ |
| case 1302 : /* fall through */ |
| case 1303 : /* fall through */ |
| case 1328 : /* fall through */ |
| case 1329 : /* fall through */ |
| case 1330 : /* fall through */ |
| case 1331 : /* fall through */ |
| case 1332 : /* fall through */ |
| case 1333 : /* fall through */ |
| case 1334 : /* fall through */ |
| case 1335 : /* fall through */ |
| case 1360 : /* fall through */ |
| case 1361 : /* fall through */ |
| case 1362 : /* fall through */ |
| case 1363 : /* fall through */ |
| case 1364 : /* fall through */ |
| case 1365 : /* fall through */ |
| case 1366 : /* fall through */ |
| case 1367 : /* fall through */ |
| case 1392 : /* fall through */ |
| case 1393 : /* fall through */ |
| case 1394 : /* fall through */ |
| case 1395 : /* fall through */ |
| case 1396 : /* fall through */ |
| case 1397 : /* fall through */ |
| case 1398 : /* fall through */ |
| case 1399 : /* fall through */ |
| case 1424 : /* fall through */ |
| case 1425 : /* fall through */ |
| case 1426 : /* fall through */ |
| case 1427 : /* fall through */ |
| case 1428 : /* fall through */ |
| case 1429 : /* fall through */ |
| case 1430 : /* fall through */ |
| case 1431 : /* fall through */ |
| case 1456 : /* fall through */ |
| case 1457 : /* fall through */ |
| case 1458 : /* fall through */ |
| case 1459 : /* fall through */ |
| case 1460 : /* fall through */ |
| case 1461 : /* fall through */ |
| case 1462 : /* fall through */ |
| case 1463 : /* fall through */ |
| case 1488 : /* fall through */ |
| case 1489 : /* fall through */ |
| case 1490 : /* fall through */ |
| case 1491 : /* fall through */ |
| case 1492 : /* fall through */ |
| case 1493 : /* fall through */ |
| case 1494 : /* fall through */ |
| case 1495 : /* fall through */ |
| case 1520 : /* fall through */ |
| case 1521 : /* fall through */ |
| case 1522 : /* fall through */ |
| case 1523 : /* fall through */ |
| case 1524 : /* fall through */ |
| case 1525 : /* fall through */ |
| case 1526 : /* fall through */ |
| case 1527 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 25) & (3 << 0))); |
| switch (val) |
| { |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8180000) == 0x68100000) |
| { itype = ARC700F_INSN_ASL_S_CBU3; goto extract_sfmt_add_s_cbu3; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : |
| if ((entire_insn & 0xfe000000) == 0xc8000000) |
| { itype = ARC700F_INSN_LD_S_GPREL; goto extract_sfmt_ld_s_gprel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9 : |
| if ((entire_insn & 0xfe000000) == 0xca000000) |
| { itype = ARC700F_INSN_LDB_S_GPREL; goto extract_sfmt_ldb_s_gprel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10 : |
| if ((entire_insn & 0xfe000000) == 0xcc000000) |
| { itype = ARC700F_INSN_LDW_S_GPREL; goto extract_sfmt_ldw_s_gprel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 11 : |
| if ((entire_insn & 0xfe000000) == 0xce000000) |
| { itype = ARC700F_INSN_ADD_S_GP; goto extract_sfmt_add_s_gp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xe8000000) |
| { itype = ARC700F_INSN_BRCC_S; goto extract_sfmt_brcc_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1304 : /* fall through */ |
| case 1305 : /* fall through */ |
| case 1306 : /* fall through */ |
| case 1307 : /* fall through */ |
| case 1308 : /* fall through */ |
| case 1309 : /* fall through */ |
| case 1310 : /* fall through */ |
| case 1311 : /* fall through */ |
| case 1336 : /* fall through */ |
| case 1337 : /* fall through */ |
| case 1338 : /* fall through */ |
| case 1339 : /* fall through */ |
| case 1340 : /* fall through */ |
| case 1341 : /* fall through */ |
| case 1342 : /* fall through */ |
| case 1343 : /* fall through */ |
| case 1368 : /* fall through */ |
| case 1369 : /* fall through */ |
| case 1370 : /* fall through */ |
| case 1371 : /* fall through */ |
| case 1372 : /* fall through */ |
| case 1373 : /* fall through */ |
| case 1374 : /* fall through */ |
| case 1375 : /* fall through */ |
| case 1400 : /* fall through */ |
| case 1401 : /* fall through */ |
| case 1402 : /* fall through */ |
| case 1403 : /* fall through */ |
| case 1404 : /* fall through */ |
| case 1405 : /* fall through */ |
| case 1406 : /* fall through */ |
| case 1407 : /* fall through */ |
| case 1432 : /* fall through */ |
| case 1433 : /* fall through */ |
| case 1434 : /* fall through */ |
| case 1435 : /* fall through */ |
| case 1436 : /* fall through */ |
| case 1437 : /* fall through */ |
| case 1438 : /* fall through */ |
| case 1439 : /* fall through */ |
| case 1464 : /* fall through */ |
| case 1465 : /* fall through */ |
| case 1466 : /* fall through */ |
| case 1467 : /* fall through */ |
| case 1468 : /* fall through */ |
| case 1469 : /* fall through */ |
| case 1470 : /* fall through */ |
| case 1471 : /* fall through */ |
| case 1496 : /* fall through */ |
| case 1497 : /* fall through */ |
| case 1498 : /* fall through */ |
| case 1499 : /* fall through */ |
| case 1500 : /* fall through */ |
| case 1501 : /* fall through */ |
| case 1502 : /* fall through */ |
| case 1503 : /* fall through */ |
| case 1528 : /* fall through */ |
| case 1529 : /* fall through */ |
| case 1530 : /* fall through */ |
| case 1531 : /* fall through */ |
| case 1532 : /* fall through */ |
| case 1533 : /* fall through */ |
| case 1534 : /* fall through */ |
| case 1535 : |
| { |
| unsigned int val = (((insn >> 28) & (1 << 3)) | ((insn >> 27) & (1 << 2)) | ((insn >> 25) & (3 << 0))); |
| switch (val) |
| { |
| case 4 : /* fall through */ |
| case 5 : /* fall through */ |
| case 6 : /* fall through */ |
| case 7 : |
| if ((entire_insn & 0xf8180000) == 0x68180000) |
| { itype = ARC700F_INSN_ASR_S_CBU3; goto extract_sfmt_add_s_cbu3; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8 : |
| if ((entire_insn & 0xfe000000) == 0xc8000000) |
| { itype = ARC700F_INSN_LD_S_GPREL; goto extract_sfmt_ld_s_gprel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9 : |
| if ((entire_insn & 0xfe000000) == 0xca000000) |
| { itype = ARC700F_INSN_LDB_S_GPREL; goto extract_sfmt_ldb_s_gprel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10 : |
| if ((entire_insn & 0xfe000000) == 0xcc000000) |
| { itype = ARC700F_INSN_LDW_S_GPREL; goto extract_sfmt_ldw_s_gprel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 11 : |
| if ((entire_insn & 0xfe000000) == 0xce000000) |
| { itype = ARC700F_INSN_ADD_S_GP; goto extract_sfmt_add_s_gp; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : /* fall through */ |
| case 13 : /* fall through */ |
| case 14 : /* fall through */ |
| case 15 : |
| if ((entire_insn & 0xf8000000) == 0xe8000000) |
| { itype = ARC700F_INSN_BRCC_S; goto extract_sfmt_brcc_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1536 : /* fall through */ |
| case 1537 : /* fall through */ |
| case 1538 : /* fall through */ |
| case 1539 : /* fall through */ |
| case 1540 : /* fall through */ |
| case 1541 : /* fall through */ |
| case 1542 : /* fall through */ |
| case 1543 : /* fall through */ |
| case 1568 : /* fall through */ |
| case 1569 : /* fall through */ |
| case 1570 : /* fall through */ |
| case 1571 : /* fall through */ |
| case 1572 : /* fall through */ |
| case 1573 : /* fall through */ |
| case 1574 : /* fall through */ |
| case 1575 : /* fall through */ |
| case 1600 : /* fall through */ |
| case 1601 : /* fall through */ |
| case 1602 : /* fall through */ |
| case 1603 : /* fall through */ |
| case 1604 : /* fall through */ |
| case 1605 : /* fall through */ |
| case 1606 : /* fall through */ |
| case 1607 : /* fall through */ |
| case 1632 : /* fall through */ |
| case 1633 : /* fall through */ |
| case 1634 : /* fall through */ |
| case 1635 : /* fall through */ |
| case 1636 : /* fall through */ |
| case 1637 : /* fall through */ |
| case 1638 : /* fall through */ |
| case 1639 : /* fall through */ |
| case 1664 : /* fall through */ |
| case 1665 : /* fall through */ |
| case 1666 : /* fall through */ |
| case 1667 : /* fall through */ |
| case 1668 : /* fall through */ |
| case 1669 : /* fall through */ |
| case 1670 : /* fall through */ |
| case 1671 : /* fall through */ |
| case 1696 : /* fall through */ |
| case 1697 : /* fall through */ |
| case 1698 : /* fall through */ |
| case 1699 : /* fall through */ |
| case 1700 : /* fall through */ |
| case 1701 : /* fall through */ |
| case 1702 : /* fall through */ |
| case 1703 : /* fall through */ |
| case 1728 : /* fall through */ |
| case 1729 : /* fall through */ |
| case 1730 : /* fall through */ |
| case 1731 : /* fall through */ |
| case 1732 : /* fall through */ |
| case 1733 : /* fall through */ |
| case 1734 : /* fall through */ |
| case 1735 : /* fall through */ |
| case 1760 : /* fall through */ |
| case 1761 : /* fall through */ |
| case 1762 : /* fall through */ |
| case 1763 : /* fall through */ |
| case 1764 : /* fall through */ |
| case 1765 : /* fall through */ |
| case 1766 : /* fall through */ |
| case 1767 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x70000000) |
| { itype = ARC700F_INSN_ADD_S_MCAH; goto extract_sfmt_add_s_mcah; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd0000000) |
| { itype = ARC700F_INSN_LD_S_PCREL; goto extract_sfmt_ld_s_pcrel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| { |
| unsigned int val = (((insn >> 25) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : /* fall through */ |
| case 1 : /* fall through */ |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xf0000000) |
| { itype = ARC700F_INSN_B_S; goto extract_sfmt_b_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xfe000000) == 0xf6000000) |
| { itype = ARC700F_INSN_BCC_S; goto extract_sfmt_bcc_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1544 : /* fall through */ |
| case 1545 : /* fall through */ |
| case 1546 : /* fall through */ |
| case 1547 : /* fall through */ |
| case 1548 : /* fall through */ |
| case 1549 : /* fall through */ |
| case 1550 : /* fall through */ |
| case 1551 : /* fall through */ |
| case 1576 : /* fall through */ |
| case 1577 : /* fall through */ |
| case 1578 : /* fall through */ |
| case 1579 : /* fall through */ |
| case 1580 : /* fall through */ |
| case 1581 : /* fall through */ |
| case 1582 : /* fall through */ |
| case 1583 : /* fall through */ |
| case 1608 : /* fall through */ |
| case 1609 : /* fall through */ |
| case 1610 : /* fall through */ |
| case 1611 : /* fall through */ |
| case 1612 : /* fall through */ |
| case 1613 : /* fall through */ |
| case 1614 : /* fall through */ |
| case 1615 : /* fall through */ |
| case 1640 : /* fall through */ |
| case 1641 : /* fall through */ |
| case 1642 : /* fall through */ |
| case 1643 : /* fall through */ |
| case 1644 : /* fall through */ |
| case 1645 : /* fall through */ |
| case 1646 : /* fall through */ |
| case 1647 : /* fall through */ |
| case 1672 : /* fall through */ |
| case 1673 : /* fall through */ |
| case 1674 : /* fall through */ |
| case 1675 : /* fall through */ |
| case 1676 : /* fall through */ |
| case 1677 : /* fall through */ |
| case 1678 : /* fall through */ |
| case 1679 : /* fall through */ |
| case 1704 : /* fall through */ |
| case 1705 : /* fall through */ |
| case 1706 : /* fall through */ |
| case 1707 : /* fall through */ |
| case 1708 : /* fall through */ |
| case 1709 : /* fall through */ |
| case 1710 : /* fall through */ |
| case 1711 : /* fall through */ |
| case 1736 : /* fall through */ |
| case 1737 : /* fall through */ |
| case 1738 : /* fall through */ |
| case 1739 : /* fall through */ |
| case 1740 : /* fall through */ |
| case 1741 : /* fall through */ |
| case 1742 : /* fall through */ |
| case 1743 : /* fall through */ |
| case 1768 : /* fall through */ |
| case 1769 : /* fall through */ |
| case 1770 : /* fall through */ |
| case 1771 : /* fall through */ |
| case 1772 : /* fall through */ |
| case 1773 : /* fall through */ |
| case 1774 : /* fall through */ |
| case 1775 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x70080000) |
| { itype = ARC700F_INSN_MOV_S_MCAH; goto extract_sfmt_mov_s_mcah; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd0000000) |
| { itype = ARC700F_INSN_LD_S_PCREL; goto extract_sfmt_ld_s_pcrel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| { |
| unsigned int val = (((insn >> 25) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : /* fall through */ |
| case 1 : /* fall through */ |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xf0000000) |
| { itype = ARC700F_INSN_B_S; goto extract_sfmt_b_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xfe000000) == 0xf6000000) |
| { itype = ARC700F_INSN_BCC_S; goto extract_sfmt_bcc_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1552 : /* fall through */ |
| case 1553 : /* fall through */ |
| case 1554 : /* fall through */ |
| case 1555 : /* fall through */ |
| case 1556 : /* fall through */ |
| case 1557 : /* fall through */ |
| case 1558 : /* fall through */ |
| case 1559 : /* fall through */ |
| case 1584 : /* fall through */ |
| case 1585 : /* fall through */ |
| case 1586 : /* fall through */ |
| case 1587 : /* fall through */ |
| case 1588 : /* fall through */ |
| case 1589 : /* fall through */ |
| case 1590 : /* fall through */ |
| case 1591 : /* fall through */ |
| case 1616 : /* fall through */ |
| case 1617 : /* fall through */ |
| case 1618 : /* fall through */ |
| case 1619 : /* fall through */ |
| case 1620 : /* fall through */ |
| case 1621 : /* fall through */ |
| case 1622 : /* fall through */ |
| case 1623 : /* fall through */ |
| case 1648 : /* fall through */ |
| case 1649 : /* fall through */ |
| case 1650 : /* fall through */ |
| case 1651 : /* fall through */ |
| case 1652 : /* fall through */ |
| case 1653 : /* fall through */ |
| case 1654 : /* fall through */ |
| case 1655 : /* fall through */ |
| case 1680 : /* fall through */ |
| case 1681 : /* fall through */ |
| case 1682 : /* fall through */ |
| case 1683 : /* fall through */ |
| case 1684 : /* fall through */ |
| case 1685 : /* fall through */ |
| case 1686 : /* fall through */ |
| case 1687 : /* fall through */ |
| case 1712 : /* fall through */ |
| case 1713 : /* fall through */ |
| case 1714 : /* fall through */ |
| case 1715 : /* fall through */ |
| case 1716 : /* fall through */ |
| case 1717 : /* fall through */ |
| case 1718 : /* fall through */ |
| case 1719 : /* fall through */ |
| case 1744 : /* fall through */ |
| case 1745 : /* fall through */ |
| case 1746 : /* fall through */ |
| case 1747 : /* fall through */ |
| case 1748 : /* fall through */ |
| case 1749 : /* fall through */ |
| case 1750 : /* fall through */ |
| case 1751 : /* fall through */ |
| case 1776 : /* fall through */ |
| case 1777 : /* fall through */ |
| case 1778 : /* fall through */ |
| case 1779 : /* fall through */ |
| case 1780 : /* fall through */ |
| case 1781 : /* fall through */ |
| case 1782 : /* fall through */ |
| case 1783 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x70100000) |
| { itype = ARC700F_INSN_CMP_S_MCAH; goto extract_sfmt_cmp_s_mcah; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd0000000) |
| { itype = ARC700F_INSN_LD_S_PCREL; goto extract_sfmt_ld_s_pcrel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| { |
| unsigned int val = (((insn >> 25) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : /* fall through */ |
| case 1 : /* fall through */ |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xf0000000) |
| { itype = ARC700F_INSN_B_S; goto extract_sfmt_b_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xfe000000) == 0xf6000000) |
| { itype = ARC700F_INSN_BCC_S; goto extract_sfmt_bcc_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1560 : /* fall through */ |
| case 1561 : /* fall through */ |
| case 1562 : /* fall through */ |
| case 1563 : /* fall through */ |
| case 1564 : /* fall through */ |
| case 1565 : /* fall through */ |
| case 1566 : /* fall through */ |
| case 1567 : /* fall through */ |
| case 1592 : /* fall through */ |
| case 1593 : /* fall through */ |
| case 1594 : /* fall through */ |
| case 1595 : /* fall through */ |
| case 1596 : /* fall through */ |
| case 1597 : /* fall through */ |
| case 1598 : /* fall through */ |
| case 1599 : /* fall through */ |
| case 1624 : /* fall through */ |
| case 1625 : /* fall through */ |
| case 1626 : /* fall through */ |
| case 1627 : /* fall through */ |
| case 1628 : /* fall through */ |
| case 1629 : /* fall through */ |
| case 1630 : /* fall through */ |
| case 1631 : /* fall through */ |
| case 1656 : /* fall through */ |
| case 1657 : /* fall through */ |
| case 1658 : /* fall through */ |
| case 1659 : /* fall through */ |
| case 1660 : /* fall through */ |
| case 1661 : /* fall through */ |
| case 1662 : /* fall through */ |
| case 1663 : /* fall through */ |
| case 1688 : /* fall through */ |
| case 1689 : /* fall through */ |
| case 1690 : /* fall through */ |
| case 1691 : /* fall through */ |
| case 1692 : /* fall through */ |
| case 1693 : /* fall through */ |
| case 1694 : /* fall through */ |
| case 1695 : /* fall through */ |
| case 1720 : /* fall through */ |
| case 1721 : /* fall through */ |
| case 1722 : /* fall through */ |
| case 1723 : /* fall through */ |
| case 1724 : /* fall through */ |
| case 1725 : /* fall through */ |
| case 1726 : /* fall through */ |
| case 1727 : /* fall through */ |
| case 1752 : /* fall through */ |
| case 1753 : /* fall through */ |
| case 1754 : /* fall through */ |
| case 1755 : /* fall through */ |
| case 1756 : /* fall through */ |
| case 1757 : /* fall through */ |
| case 1758 : /* fall through */ |
| case 1759 : /* fall through */ |
| case 1784 : /* fall through */ |
| case 1785 : /* fall through */ |
| case 1786 : /* fall through */ |
| case 1787 : /* fall through */ |
| case 1788 : /* fall through */ |
| case 1789 : /* fall through */ |
| case 1790 : /* fall through */ |
| case 1791 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8180000) == 0x70180000) |
| { itype = ARC700F_INSN_MOV_S_MCAHB; goto extract_sfmt_mov_s_mcahb; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd0000000) |
| { itype = ARC700F_INSN_LD_S_PCREL; goto extract_sfmt_ld_s_pcrel; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| { |
| unsigned int val = (((insn >> 25) & (3 << 0))); |
| switch (val) |
| { |
| case 0 : /* fall through */ |
| case 1 : /* fall through */ |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xf0000000) |
| { itype = ARC700F_INSN_B_S; goto extract_sfmt_b_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xfe000000) == 0xf6000000) |
| { itype = ARC700F_INSN_BCC_S; goto extract_sfmt_bcc_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1792 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8ff0000) == 0x78000000) |
| { itype = ARC700F_INSN_J_S; goto extract_sfmt_j_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1793 : /* fall through */ |
| case 1795 : /* fall through */ |
| case 1800 : /* fall through */ |
| case 1801 : /* fall through */ |
| case 1802 : /* fall through */ |
| case 1815 : /* fall through */ |
| case 1823 : /* fall through */ |
| case 1825 : /* fall through */ |
| case 1827 : /* fall through */ |
| case 1832 : /* fall through */ |
| case 1833 : /* fall through */ |
| case 1834 : /* fall through */ |
| case 1847 : /* fall through */ |
| case 1855 : /* fall through */ |
| case 1857 : /* fall through */ |
| case 1859 : /* fall through */ |
| case 1864 : /* fall through */ |
| case 1865 : /* fall through */ |
| case 1866 : /* fall through */ |
| case 1879 : /* fall through */ |
| case 1887 : /* fall through */ |
| case 1889 : /* fall through */ |
| case 1891 : /* fall through */ |
| case 1896 : /* fall through */ |
| case 1897 : /* fall through */ |
| case 1898 : /* fall through */ |
| case 1911 : /* fall through */ |
| case 1919 : /* fall through */ |
| case 1920 : /* fall through */ |
| case 1921 : /* fall through */ |
| case 1923 : /* fall through */ |
| case 1928 : /* fall through */ |
| case 1929 : /* fall through */ |
| case 1930 : /* fall through */ |
| case 1943 : /* fall through */ |
| case 1951 : /* fall through */ |
| case 1952 : /* fall through */ |
| case 1953 : /* fall through */ |
| case 1955 : /* fall through */ |
| case 1960 : /* fall through */ |
| case 1961 : /* fall through */ |
| case 1962 : /* fall through */ |
| case 1975 : /* fall through */ |
| case 1983 : /* fall through */ |
| case 1985 : /* fall through */ |
| case 1987 : /* fall through */ |
| case 1992 : /* fall through */ |
| case 1993 : /* fall through */ |
| case 1994 : /* fall through */ |
| case 2007 : /* fall through */ |
| case 2015 : /* fall through */ |
| case 2017 : /* fall through */ |
| case 2019 : /* fall through */ |
| case 2024 : /* fall through */ |
| case 2025 : /* fall through */ |
| case 2026 : /* fall through */ |
| case 2039 : |
| { |
| unsigned int val = (((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 0 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1794 : /* fall through */ |
| case 1826 : /* fall through */ |
| case 1858 : /* fall through */ |
| case 1890 : /* fall through */ |
| case 1922 : /* fall through */ |
| case 1954 : /* fall through */ |
| case 1986 : /* fall through */ |
| case 2018 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x78020000) |
| { itype = ARC700F_INSN_I16_GO_SUB_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1796 : /* fall through */ |
| case 1828 : /* fall through */ |
| case 1860 : /* fall through */ |
| case 1892 : /* fall through */ |
| case 1924 : /* fall through */ |
| case 1956 : /* fall through */ |
| case 1988 : /* fall through */ |
| case 2020 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x78040000) |
| { itype = ARC700F_INSN_I16_GO_AND_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1797 : /* fall through */ |
| case 1829 : /* fall through */ |
| case 1861 : /* fall through */ |
| case 1893 : /* fall through */ |
| case 1925 : /* fall through */ |
| case 1957 : /* fall through */ |
| case 1989 : /* fall through */ |
| case 2021 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x78050000) |
| { itype = ARC700F_INSN_I16_GO_OR_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1798 : /* fall through */ |
| case 1830 : /* fall through */ |
| case 1862 : /* fall through */ |
| case 1894 : /* fall through */ |
| case 1926 : /* fall through */ |
| case 1958 : /* fall through */ |
| case 1990 : /* fall through */ |
| case 2022 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x78060000) |
| { itype = ARC700F_INSN_I16_GO_BIC_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1799 : /* fall through */ |
| case 1831 : /* fall through */ |
| case 1863 : /* fall through */ |
| case 1895 : /* fall through */ |
| case 1927 : /* fall through */ |
| case 1959 : /* fall through */ |
| case 1991 : /* fall through */ |
| case 2023 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x78070000) |
| { itype = ARC700F_INSN_I16_GO_XOR_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1803 : /* fall through */ |
| case 1835 : /* fall through */ |
| case 1867 : /* fall through */ |
| case 1899 : /* fall through */ |
| case 1931 : /* fall through */ |
| case 1963 : /* fall through */ |
| case 1995 : /* fall through */ |
| case 2027 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x780b0000) |
| { itype = ARC700F_INSN_TST_S_GO; goto extract_sfmt_tst_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1804 : /* fall through */ |
| case 1836 : /* fall through */ |
| case 1868 : /* fall through */ |
| case 1900 : /* fall through */ |
| case 1932 : /* fall through */ |
| case 1964 : /* fall through */ |
| case 1996 : /* fall through */ |
| case 2028 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x780c0000) |
| { itype = ARC700F_INSN_MUL64_S_GO; goto extract_sfmt_mul64_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1805 : /* fall through */ |
| case 1837 : /* fall through */ |
| case 1869 : /* fall through */ |
| case 1901 : /* fall through */ |
| case 1933 : /* fall through */ |
| case 1965 : /* fall through */ |
| case 1997 : /* fall through */ |
| case 2029 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x780d0000) |
| { itype = ARC700F_INSN_I16_GO_SEXB_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1806 : /* fall through */ |
| case 1838 : /* fall through */ |
| case 1870 : /* fall through */ |
| case 1902 : /* fall through */ |
| case 1934 : /* fall through */ |
| case 1966 : /* fall through */ |
| case 1998 : /* fall through */ |
| case 2030 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x780e0000) |
| { itype = ARC700F_INSN_I16_GO_SEXW_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1807 : /* fall through */ |
| case 1839 : /* fall through */ |
| case 1871 : /* fall through */ |
| case 1903 : /* fall through */ |
| case 1935 : /* fall through */ |
| case 1967 : /* fall through */ |
| case 1999 : /* fall through */ |
| case 2031 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x780f0000) |
| { itype = ARC700F_INSN_I16_GO_EXTB_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1808 : /* fall through */ |
| case 1840 : /* fall through */ |
| case 1872 : /* fall through */ |
| case 1904 : /* fall through */ |
| case 1936 : /* fall through */ |
| case 1968 : /* fall through */ |
| case 2000 : /* fall through */ |
| case 2032 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x78100000) |
| { itype = ARC700F_INSN_I16_GO_EXTW_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1809 : /* fall through */ |
| case 1841 : /* fall through */ |
| case 1873 : /* fall through */ |
| case 1905 : /* fall through */ |
| case 1937 : /* fall through */ |
| case 1969 : /* fall through */ |
| case 2001 : /* fall through */ |
| case 2033 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x78110000) |
| { itype = ARC700F_INSN_I16_GO_ABS_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1810 : /* fall through */ |
| case 1842 : /* fall through */ |
| case 1874 : /* fall through */ |
| case 1906 : /* fall through */ |
| case 1938 : /* fall through */ |
| case 1970 : /* fall through */ |
| case 2002 : /* fall through */ |
| case 2034 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x78120000) |
| { itype = ARC700F_INSN_I16_GO_NOT_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1811 : /* fall through */ |
| case 1843 : /* fall through */ |
| case 1875 : /* fall through */ |
| case 1907 : /* fall through */ |
| case 1939 : /* fall through */ |
| case 1971 : /* fall through */ |
| case 2003 : /* fall through */ |
| case 2035 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x78130000) |
| { itype = ARC700F_INSN_I16_GO_NEG_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1812 : /* fall through */ |
| case 1844 : /* fall through */ |
| case 1876 : /* fall through */ |
| case 1908 : /* fall through */ |
| case 1940 : /* fall through */ |
| case 1972 : /* fall through */ |
| case 2004 : /* fall through */ |
| case 2036 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x78140000) |
| { itype = ARC700F_INSN_I16_GO_ADD1_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1813 : /* fall through */ |
| case 1845 : /* fall through */ |
| case 1877 : /* fall through */ |
| case 1909 : /* fall through */ |
| case 1941 : /* fall through */ |
| case 1973 : /* fall through */ |
| case 2005 : /* fall through */ |
| case 2037 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x78150000) |
| { itype = ARC700F_INSN_I16_GO_ADD2_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1814 : /* fall through */ |
| case 1846 : /* fall through */ |
| case 1878 : /* fall through */ |
| case 1910 : /* fall through */ |
| case 1942 : /* fall through */ |
| case 1974 : /* fall through */ |
| case 2006 : /* fall through */ |
| case 2038 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x78160000) |
| { itype = ARC700F_INSN_I16_GO_ADD3_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1816 : /* fall through */ |
| case 1848 : /* fall through */ |
| case 1880 : /* fall through */ |
| case 1912 : /* fall through */ |
| case 1944 : /* fall through */ |
| case 1976 : /* fall through */ |
| case 2008 : /* fall through */ |
| case 2040 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x78180000) |
| { itype = ARC700F_INSN_I16_GO_ASLM_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1817 : /* fall through */ |
| case 1849 : /* fall through */ |
| case 1881 : /* fall through */ |
| case 1913 : /* fall through */ |
| case 1945 : /* fall through */ |
| case 1977 : /* fall through */ |
| case 2009 : /* fall through */ |
| case 2041 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x78190000) |
| { itype = ARC700F_INSN_I16_GO_LSRM_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1818 : /* fall through */ |
| case 1850 : /* fall through */ |
| case 1882 : /* fall through */ |
| case 1914 : /* fall through */ |
| case 1946 : /* fall through */ |
| case 1978 : /* fall through */ |
| case 2010 : /* fall through */ |
| case 2042 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x781a0000) |
| { itype = ARC700F_INSN_I16_GO_ASRM_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1819 : /* fall through */ |
| case 1851 : /* fall through */ |
| case 1883 : /* fall through */ |
| case 1915 : /* fall through */ |
| case 1947 : /* fall through */ |
| case 1979 : /* fall through */ |
| case 2011 : /* fall through */ |
| case 2043 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x781b0000) |
| { itype = ARC700F_INSN_I16_GO_ASL_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1820 : /* fall through */ |
| case 1852 : /* fall through */ |
| case 1884 : /* fall through */ |
| case 1916 : /* fall through */ |
| case 1948 : /* fall through */ |
| case 1980 : /* fall through */ |
| case 2012 : /* fall through */ |
| case 2044 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x781c0000) |
| { itype = ARC700F_INSN_I16_GO_ASR_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1821 : /* fall through */ |
| case 1853 : /* fall through */ |
| case 1885 : /* fall through */ |
| case 1917 : /* fall through */ |
| case 1949 : /* fall through */ |
| case 1981 : /* fall through */ |
| case 2013 : /* fall through */ |
| case 2045 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x781d0000) |
| { itype = ARC700F_INSN_I16_GO_LSR_S_GO; goto extract_sfmt_I16_GO_SUB_s_go; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1822 : /* fall through */ |
| case 1854 : /* fall through */ |
| case 1886 : /* fall through */ |
| case 1918 : /* fall through */ |
| case 1950 : /* fall through */ |
| case 1982 : /* fall through */ |
| case 2014 : /* fall through */ |
| case 2046 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf81f0000) == 0x781e0000) |
| { itype = ARC700F_INSN_TRAP_S; goto extract_sfmt_trap_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1824 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8ff0000) == 0x78200000) |
| { itype = ARC700F_INSN_J_S_D; goto extract_sfmt_j_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1856 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8ff0000) == 0x78400000) |
| { itype = ARC700F_INSN_JL_S; goto extract_sfmt_jl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1888 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8ff0000) == 0x78600000) |
| { itype = ARC700F_INSN_JL_S_D; goto extract_sfmt_jl_s_d; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1984 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xf8ff0000) == 0x78c00000) |
| { itype = ARC700F_INSN_SUB_S_GO_SUB_NE; goto extract_sfmt_sub_s_go_sub_ne; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 2016 : |
| { |
| unsigned int val = (((insn >> 27) & (1 << 4)) | ((insn >> 26) & (1 << 3)) | ((insn >> 24) & (7 << 0))); |
| switch (val) |
| { |
| case 8 : |
| if ((entire_insn & 0xffff0000) == 0x78e00000) |
| { itype = ARC700F_INSN_NOP_S; goto extract_sfmt_nop_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9 : |
| if ((entire_insn & 0xffff0000) == 0x79e00000) |
| { itype = ARC700F_INSN_UNIMP_S; goto extract_sfmt_nop_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12 : |
| if ((entire_insn & 0xffff0000) == 0x7ce00000) |
| { itype = ARC700F_INSN_J_SEQ__S; goto extract_sfmt_j_seq__S; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13 : |
| if ((entire_insn & 0xffff0000) == 0x7de00000) |
| { itype = ARC700F_INSN_J_SNE__S; goto extract_sfmt_j_seq__S; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 14 : |
| if ((entire_insn & 0xffff0000) == 0x7ee00000) |
| { itype = ARC700F_INSN_J_S__S; goto extract_sfmt_j_s__S; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 15 : |
| if ((entire_insn & 0xffff0000) == 0x7fe00000) |
| { itype = ARC700F_INSN_J_S__S_D; goto extract_sfmt_j_s__S; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 16 : /* fall through */ |
| case 17 : /* fall through */ |
| case 18 : /* fall through */ |
| case 19 : /* fall through */ |
| case 20 : /* fall through */ |
| case 21 : /* fall through */ |
| case 22 : /* fall through */ |
| case 23 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 24 : /* fall through */ |
| case 25 : /* fall through */ |
| case 26 : /* fall through */ |
| case 27 : /* fall through */ |
| case 28 : /* fall through */ |
| case 29 : /* fall through */ |
| case 30 : /* fall through */ |
| case 31 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 2047 : |
| { |
| unsigned int val = (((insn >> 30) & (1 << 1)) | ((insn >> 29) & (1 << 0))); |
| switch (val) |
| { |
| case 1 : |
| if ((entire_insn & 0xffff0000) == 0x7fff0000) |
| { itype = ARC700F_INSN_BRK_S; goto extract_sfmt_brk; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2 : |
| if ((entire_insn & 0xf8000000) == 0xd8000000) |
| { itype = ARC700F_INSN_MOV_S_R_U7; goto extract_sfmt_mov_s_r_u7; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3 : |
| if ((entire_insn & 0xf8000000) == 0xf8000000) |
| { itype = ARC700F_INSN_BL_S; goto extract_sfmt_bl_s; } |
| itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| default : itype = ARC700F_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| } |
| |
| /* The instruction has been decoded, now extract the fields. */ |
| |
| extract_sfmt_empty: |
| { |
| const IDESC *idesc = &arc700f_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_b_s: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_b_s.f |
| UINT f_cond_i2; |
| SI f_rel10; |
| |
| f_cond_i2 = EXTRACT_MSB0_UINT (insn, 32, 5, 2); |
| f_rel10 = ((((EXTRACT_MSB0_INT (insn, 32, 7, 9)) << (1))) + (((pc) & (-4)))); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_i2) = f_cond_i2; |
| FLD (i_label10) = f_rel10; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_b_s", "f_cond_i2 0x%x", 'x', f_cond_i2, "label10 0x%x", 'x', f_rel10, (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_bcc_s: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_bcc_s.f |
| UINT f_cond_i3; |
| SI f_rel7; |
| |
| f_cond_i3 = EXTRACT_MSB0_UINT (insn, 32, 7, 3); |
| f_rel7 = ((((EXTRACT_MSB0_INT (insn, 32, 10, 6)) << (1))) + (((pc) & (-4)))); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_i3) = f_cond_i3; |
| FLD (i_label7) = f_rel7; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_s", "f_cond_i3 0x%x", 'x', f_cond_i3, "label7 0x%x", 'x', f_rel7, (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_brcc_s: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_brcc_s.f |
| UINT f_op__b; |
| UINT f_brscond; |
| SI f_rel8; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_brscond = EXTRACT_MSB0_UINT (insn, 32, 8, 1); |
| f_rel8 = ((((EXTRACT_MSB0_INT (insn, 32, 9, 7)) << (1))) + (((pc) & (-4)))); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_brscond) = f_brscond; |
| FLD (i_label8) = f_rel8; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brcc_s", "f_op__b 0x%x", 'x', f_op__b, "f_brscond 0x%x", 'x', f_brscond, "label8 0x%x", 'x', f_rel8, (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_bcc_l: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_bcc_l.f |
| UINT f_d21l; |
| INT f_d21h; |
| UINT f_cond_Q; |
| INT f_rel21; |
| |
| f_d21l = EXTRACT_MSB0_UINT (insn, 32, 5, 10); |
| f_d21h = EXTRACT_MSB0_INT (insn, 32, 16, 10); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_rel21 = ((((((f_d21l) << (1))) | (((f_d21h) << (11))))) + (((pc) & (-4)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (i_label21) = f_rel21; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_l", "f_cond_Q 0x%x", 'x', f_cond_Q, "label21 0x%x", 'x', f_rel21, (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_b_l: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_b_l.f |
| UINT f_d21l; |
| UINT f_d25m; |
| INT f_d25h; |
| INT f_rel25; |
| |
| f_d21l = EXTRACT_MSB0_UINT (insn, 32, 5, 10); |
| f_d25m = EXTRACT_MSB0_UINT (insn, 32, 16, 10); |
| f_d25h = EXTRACT_MSB0_INT (insn, 32, 28, 4); |
| { |
| f_rel25 = ((((((((f_d21l) << (1))) | (((f_d25m) << (11))))) | (((f_d25h) << (21))))) + (((pc) & (-4)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (i_label25) = f_rel25; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_b_l", "label25 0x%x", 'x', f_rel25, (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_brcc_RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_brcc_RC.f |
| UINT f_op__b; |
| UINT f_d9l; |
| INT f_d9h; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_brcond; |
| UINT f_op_B; |
| INT f_rel9; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_d9l = EXTRACT_MSB0_UINT (insn, 32, 8, 7); |
| f_d9h = EXTRACT_MSB0_INT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_brcond = EXTRACT_MSB0_UINT (insn, 32, 28, 4); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_rel9 = ((((((f_d9l) << (1))) | (((f_d9h) << (8))))) + (((pc) & (-4)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_brcond) = f_brcond; |
| FLD (i_label9) = f_rel9; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brcc_RC", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_brcond 0x%x", 'x', f_brcond, "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_brcc_U6: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_brcc_U6.f |
| UINT f_op__b; |
| UINT f_d9l; |
| INT f_d9h; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_brcond; |
| UINT f_op_B; |
| INT f_rel9; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_d9l = EXTRACT_MSB0_UINT (insn, 32, 8, 7); |
| f_d9h = EXTRACT_MSB0_INT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_brcond = EXTRACT_MSB0_UINT (insn, 32, 28, 4); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_rel9 = ((((((f_d9l) << (1))) | (((f_d9h) << (8))))) + (((pc) & (-4)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_brcond) = f_brcond; |
| FLD (f_u6) = f_u6; |
| FLD (i_label9) = f_rel9; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brcc_U6", "f_op_B 0x%x", 'x', f_op_B, "f_brcond 0x%x", 'x', f_brcond, "f_u6 0x%x", 'x', f_u6, "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_bl_s: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_bl_s.f |
| SI f_rel13bl; |
| |
| f_rel13bl = ((((EXTRACT_MSB0_INT (insn, 32, 5, 11)) << (2))) + (((pc) & (-4)))); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (i_label13a) = f_rel13bl; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl_s", "label13a 0x%x", 'x', f_rel13bl, (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_blcc: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_blcc.f |
| UINT f_d21bl; |
| INT f_d21h; |
| UINT f_cond_Q; |
| INT f_rel21bl; |
| |
| f_d21bl = EXTRACT_MSB0_UINT (insn, 32, 5, 9); |
| f_d21h = EXTRACT_MSB0_INT (insn, 32, 16, 10); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_rel21bl = ((((((f_d21bl) << (2))) | (((f_d21h) << (11))))) + (((pc) & (-4)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (i_label21a) = f_rel21bl; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_blcc", "f_cond_Q 0x%x", 'x', f_cond_Q, "label21a 0x%x", 'x', f_rel21bl, (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_bl: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_bl.f |
| UINT f_d21bl; |
| UINT f_d25m; |
| INT f_d25h; |
| INT f_rel25bl; |
| |
| f_d21bl = EXTRACT_MSB0_UINT (insn, 32, 5, 9); |
| f_d25m = EXTRACT_MSB0_UINT (insn, 32, 16, 10); |
| f_d25h = EXTRACT_MSB0_INT (insn, 32, 28, 4); |
| { |
| f_rel25bl = ((((((((f_d21bl) << (2))) | (((f_d25m) << (11))))) | (((f_d25h) << (21))))) + (((pc) & (-4)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (i_label25a) = f_rel25bl; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl", "label25a 0x%x", 'x', f_rel25bl, (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_bl_d: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_bl.f |
| UINT f_d21bl; |
| UINT f_d25m; |
| INT f_d25h; |
| INT f_rel25bl; |
| |
| f_d21bl = EXTRACT_MSB0_UINT (insn, 32, 5, 9); |
| f_d25m = EXTRACT_MSB0_UINT (insn, 32, 16, 10); |
| f_d25h = EXTRACT_MSB0_INT (insn, 32, 28, 4); |
| { |
| f_rel25bl = ((((((((f_d21bl) << (2))) | (((f_d25m) << (11))))) | (((f_d25h) << (21))))) + (((pc) & (-4)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (i_label25a) = f_rel25bl; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl_d", "label25a 0x%x", 'x', f_rel25bl, (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_ld_abs: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_abs.f |
| UINT f_op__b; |
| UINT f_u8; |
| INT f_d9h; |
| UINT f_B_5_3; |
| UINT f_op_A; |
| UINT f_op_B; |
| INT f_s9; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8); |
| f_d9h = EXTRACT_MSB0_INT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s9 = ((f_u8) | (((f_d9h) << (8)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s9) = f_s9; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_abs", "f_op_B 0x%x", 'x', f_op_B, "f_s9 0x%x", 'x', f_s9, "f_op_A 0x%x", 'x', f_op_A, (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_ld__AW_abs: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_abs.f |
| UINT f_op__b; |
| UINT f_u8; |
| INT f_d9h; |
| UINT f_B_5_3; |
| UINT f_op_A; |
| UINT f_op_B; |
| INT f_s9; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8); |
| f_d9h = EXTRACT_MSB0_INT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s9 = ((f_u8) | (((f_d9h) << (8)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s9) = f_s9; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld__AW_abs", "f_op_B 0x%x", 'x', f_op_B, "f_s9 0x%x", 'x', f_s9, "f_op_A 0x%x", 'x', f_op_A, (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_ld_abc: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_abc", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_ld__AW_abc: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld__AW_abc", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_ld_s_abc: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_abc.f |
| UINT f_op__b; |
| UINT f_op__c; |
| UINT f_op__a; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_op__c = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_op__a = EXTRACT_MSB0_UINT (insn, 32, 13, 3); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_op__c) = f_op__c; |
| FLD (f_op__a) = f_op__a; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_s_abc", "f_op__b 0x%x", 'x', f_op__b, "f_op__c 0x%x", 'x', f_op__c, "f_op__a 0x%x", 'x', f_op__a, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_ld_s_abu: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_abu.f |
| UINT f_op__b; |
| UINT f_op__c; |
| SI f_u5x4; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_op__c = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_u5x4 = ((EXTRACT_MSB0_UINT (insn, 32, 11, 5)) << (2)); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_u5x4) = f_u5x4; |
| FLD (f_op__c) = f_op__c; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_s_abu", "f_op__b 0x%x", 'x', f_op__b, "f_u5x4 0x%x", 'x', f_u5x4, "f_op__c 0x%x", 'x', f_op__c, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_ld_s_absp: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_abu.f |
| UINT f_op__b; |
| SI f_u5x4; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u5x4 = ((EXTRACT_MSB0_UINT (insn, 32, 11, 5)) << (2)); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_u5x4) = f_u5x4; |
| FLD (f_op__b) = f_op__b; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_s_absp", "f_u5x4 0x%x", 'x', f_u5x4, "f_op__b 0x%x", 'x', f_op__b, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_ld_s_gprel: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_gprel.f |
| SI f_s9x4; |
| |
| f_s9x4 = ((EXTRACT_MSB0_INT (insn, 32, 7, 9)) << (2)); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_s9x4) = f_s9x4; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_s_gprel", "f_s9x4 0x%x", 'x', f_s9x4, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_ld_s_pcrel: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_pcrel.f |
| UINT f_op__b; |
| SI f_u8x4; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u8x4 = ((EXTRACT_MSB0_UINT (insn, 32, 8, 8)) << (2)); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_u8x4) = f_u8x4; |
| FLD (f_op__b) = f_op__b; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_s_pcrel", "f_u8x4 0x%x", 'x', f_u8x4, "f_op__b 0x%x", 'x', f_op__b, (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_ldb_abs: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_abs.f |
| UINT f_op__b; |
| UINT f_u8; |
| INT f_d9h; |
| UINT f_B_5_3; |
| UINT f_op_A; |
| UINT f_op_B; |
| INT f_s9; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8); |
| f_d9h = EXTRACT_MSB0_INT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s9 = ((f_u8) | (((f_d9h) << (8)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s9) = f_s9; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb_abs", "f_op_B 0x%x", 'x', f_op_B, "f_s9 0x%x", 'x', f_s9, "f_op_A 0x%x", 'x', f_op_A, (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_ldb__AW_abs: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_abs.f |
| UINT f_op__b; |
| UINT f_u8; |
| INT f_d9h; |
| UINT f_B_5_3; |
| UINT f_op_A; |
| UINT f_op_B; |
| INT f_s9; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8); |
| f_d9h = EXTRACT_MSB0_INT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s9 = ((f_u8) | (((f_d9h) << (8)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s9) = f_s9; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb__AW_abs", "f_op_B 0x%x", 'x', f_op_B, "f_s9 0x%x", 'x', f_s9, "f_op_A 0x%x", 'x', f_op_A, (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_ldb_as_abs: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_abs.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb_as_abs", "f_op_B 0x%x", 'x', f_op_B, "f_op_A 0x%x", 'x', f_op_A, (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_ldb_abc: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb_abc", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_ldb__AW_abc: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb__AW_abc", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_ldb_as_abc: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb_as_abc", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_ldb_s_abc: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_abc.f |
| UINT f_op__b; |
| UINT f_op__c; |
| UINT f_op__a; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_op__c = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_op__a = EXTRACT_MSB0_UINT (insn, 32, 13, 3); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_op__c) = f_op__c; |
| FLD (f_op__a) = f_op__a; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb_s_abc", "f_op__b 0x%x", 'x', f_op__b, "f_op__c 0x%x", 'x', f_op__c, "f_op__a 0x%x", 'x', f_op__a, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_ldb_s_abu: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ldb_s_abu.f |
| UINT f_op__b; |
| UINT f_op__c; |
| UINT f_u5; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_op__c = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_u5 = EXTRACT_MSB0_UINT (insn, 32, 11, 5); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_u5) = f_u5; |
| FLD (f_op__c) = f_op__c; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb_s_abu", "f_op__b 0x%x", 'x', f_op__b, "f_u5 0x%x", 'x', f_u5, "f_op__c 0x%x", 'x', f_op__c, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_ldb_s_absp: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_abu.f |
| UINT f_op__b; |
| SI f_u5x4; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u5x4 = ((EXTRACT_MSB0_UINT (insn, 32, 11, 5)) << (2)); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_u5x4) = f_u5x4; |
| FLD (f_op__b) = f_op__b; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb_s_absp", "f_u5x4 0x%x", 'x', f_u5x4, "f_op__b 0x%x", 'x', f_op__b, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_ldb_s_gprel: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ldb_s_gprel.f |
| INT f_s9x1; |
| |
| f_s9x1 = EXTRACT_MSB0_INT (insn, 32, 7, 9); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_s9x1) = f_s9x1; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb_s_gprel", "f_s9x1 0x%x", 'x', f_s9x1, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_ldw_abs: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_abs.f |
| UINT f_op__b; |
| UINT f_u8; |
| INT f_d9h; |
| UINT f_B_5_3; |
| UINT f_op_A; |
| UINT f_op_B; |
| INT f_s9; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8); |
| f_d9h = EXTRACT_MSB0_INT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s9 = ((f_u8) | (((f_d9h) << (8)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s9) = f_s9; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldw_abs", "f_op_B 0x%x", 'x', f_op_B, "f_s9 0x%x", 'x', f_s9, "f_op_A 0x%x", 'x', f_op_A, (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_ldw__AW_abs: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_abs.f |
| UINT f_op__b; |
| UINT f_u8; |
| INT f_d9h; |
| UINT f_B_5_3; |
| UINT f_op_A; |
| UINT f_op_B; |
| INT f_s9; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8); |
| f_d9h = EXTRACT_MSB0_INT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s9 = ((f_u8) | (((f_d9h) << (8)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s9) = f_s9; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldw__AW_abs", "f_op_B 0x%x", 'x', f_op_B, "f_s9 0x%x", 'x', f_s9, "f_op_A 0x%x", 'x', f_op_A, (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_ldw_abc: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldw_abc", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_ldw__AW_abc: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldw__AW_abc", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_ldw_s_abc: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_abc.f |
| UINT f_op__b; |
| UINT f_op__c; |
| UINT f_op__a; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_op__c = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_op__a = EXTRACT_MSB0_UINT (insn, 32, 13, 3); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_op__c) = f_op__c; |
| FLD (f_op__a) = f_op__a; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldw_s_abc", "f_op__b 0x%x", 'x', f_op__b, "f_op__c 0x%x", 'x', f_op__c, "f_op__a 0x%x", 'x', f_op__a, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_ldw_s_abu: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ldw_s_abu.f |
| UINT f_op__b; |
| UINT f_op__c; |
| SI f_u5x2; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_op__c = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_u5x2 = ((EXTRACT_MSB0_UINT (insn, 32, 11, 5)) << (1)); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_u5x2) = f_u5x2; |
| FLD (f_op__c) = f_op__c; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldw_s_abu", "f_op__b 0x%x", 'x', f_op__b, "f_u5x2 0x%x", 'x', f_u5x2, "f_op__c 0x%x", 'x', f_op__c, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_ldw_s_gprel: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ldw_s_gprel.f |
| SI f_s9x2; |
| |
| f_s9x2 = ((EXTRACT_MSB0_INT (insn, 32, 7, 9)) << (1)); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_s9x2) = f_s9x2; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldw_s_gprel", "f_s9x2 0x%x", 'x', f_s9x2, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_st_abs: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_u8; |
| INT f_d9h; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| INT f_s9; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8); |
| f_d9h = EXTRACT_MSB0_INT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s9 = ((f_u8) | (((f_d9h) << (8)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_s9) = f_s9; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_abs", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_s9 0x%x", 'x', f_s9, (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_st__AW_abs: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_u8; |
| INT f_d9h; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| INT f_s9; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8); |
| f_d9h = EXTRACT_MSB0_INT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s9 = ((f_u8) | (((f_d9h) << (8)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_s9) = f_s9; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st__AW_abs", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_s9 0x%x", 'x', f_s9, (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_st_s_abu: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_abu.f |
| UINT f_op__b; |
| UINT f_op__c; |
| SI f_u5x4; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_op__c = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_u5x4 = ((EXTRACT_MSB0_UINT (insn, 32, 11, 5)) << (2)); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_op__c) = f_op__c; |
| FLD (f_u5x4) = f_u5x4; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_s_abu", "f_op__b 0x%x", 'x', f_op__b, "f_op__c 0x%x", 'x', f_op__c, "f_u5x4 0x%x", 'x', f_u5x4, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_st_s_absp: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_abu.f |
| UINT f_op__b; |
| SI f_u5x4; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u5x4 = ((EXTRACT_MSB0_UINT (insn, 32, 11, 5)) << (2)); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_u5x4) = f_u5x4; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_s_absp", "f_op__b 0x%x", 'x', f_op__b, "f_u5x4 0x%x", 'x', f_u5x4, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_stb_abs: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_u8; |
| INT f_d9h; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| INT f_s9; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8); |
| f_d9h = EXTRACT_MSB0_INT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s9 = ((f_u8) | (((f_d9h) << (8)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_s9) = f_s9; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb_abs", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_s9 0x%x", 'x', f_s9, (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_stb__AW_abs: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_u8; |
| INT f_d9h; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| INT f_s9; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8); |
| f_d9h = EXTRACT_MSB0_INT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s9 = ((f_u8) | (((f_d9h) << (8)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_s9) = f_s9; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb__AW_abs", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_s9 0x%x", 'x', f_s9, (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_stb_as_abs: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb_as_abs", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_stb_s_abu: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ldb_s_abu.f |
| UINT f_op__b; |
| UINT f_op__c; |
| UINT f_u5; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_op__c = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_u5 = EXTRACT_MSB0_UINT (insn, 32, 11, 5); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_op__c) = f_op__c; |
| FLD (f_u5) = f_u5; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb_s_abu", "f_op__b 0x%x", 'x', f_op__b, "f_op__c 0x%x", 'x', f_op__c, "f_u5 0x%x", 'x', f_u5, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_stb_s_absp: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_abu.f |
| UINT f_op__b; |
| SI f_u5x4; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u5x4 = ((EXTRACT_MSB0_UINT (insn, 32, 11, 5)) << (2)); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_u5x4) = f_u5x4; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb_s_absp", "f_op__b 0x%x", 'x', f_op__b, "f_u5x4 0x%x", 'x', f_u5x4, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_stw_abs: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_u8; |
| INT f_d9h; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| INT f_s9; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8); |
| f_d9h = EXTRACT_MSB0_INT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s9 = ((f_u8) | (((f_d9h) << (8)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_s9) = f_s9; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stw_abs", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_s9 0x%x", 'x', f_s9, (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_stw__AW_abs: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_u8; |
| INT f_d9h; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| INT f_s9; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8); |
| f_d9h = EXTRACT_MSB0_INT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s9 = ((f_u8) | (((f_d9h) << (8)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_s9) = f_s9; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stw__AW_abs", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_s9 0x%x", 'x', f_s9, (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_stw_s_abu: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ldw_s_abu.f |
| UINT f_op__b; |
| UINT f_op__c; |
| SI f_u5x2; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_op__c = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_u5x2 = ((EXTRACT_MSB0_UINT (insn, 32, 11, 5)) << (1)); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_op__c) = f_op__c; |
| FLD (f_u5x2) = f_u5x2; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stw_s_abu", "f_op__b 0x%x", 'x', f_op__b, "f_op__c 0x%x", 'x', f_op__c, "f_u5x2 0x%x", 'x', f_u5x2, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_add_L_s12__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_L_s12__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_add_ccu6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_ccu6__RA_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_add_L_u6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_L_u6__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, "f_op_A 0x%x", 'x', f_op_A, (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_add_L_r_r__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_L_r_r__RA__RC", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_add_cc__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_cc__RA__RC", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_add_s_abc: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_abc.f |
| UINT f_op__b; |
| UINT f_op__c; |
| UINT f_op__a; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_op__c = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_op__a = EXTRACT_MSB0_UINT (insn, 32, 13, 3); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_op__c) = f_op__c; |
| FLD (f_op__a) = f_op__a; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_s_abc", "f_op__b 0x%x", 'x', f_op__b, "f_op__c 0x%x", 'x', f_op__c, "f_op__a 0x%x", 'x', f_op__a, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_add_s_cbu3: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_s_cbu3.f |
| UINT f_op__b; |
| UINT f_op__c; |
| UINT f_u3; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_op__c = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_u3 = EXTRACT_MSB0_UINT (insn, 32, 13, 3); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_u3) = f_u3; |
| FLD (f_op__c) = f_op__c; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_s_cbu3", "f_op__b 0x%x", 'x', f_op__b, "f_u3 0x%x", 'x', f_u3, "f_op__c 0x%x", 'x', f_op__c, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_add_s_mcah: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_s_mcah.f |
| UINT f_op__b; |
| UINT f_h_2_0; |
| UINT f_h_5_3; |
| UINT f_op_h; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_h_2_0 = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_h_5_3 = EXTRACT_MSB0_UINT (insn, 32, 13, 3); |
| { |
| f_op_h = ((f_h_2_0) | (((f_h_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_op_h) = f_op_h; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_s_mcah", "f_op__b 0x%x", 'x', f_op__b, "f_op_h 0x%x", 'x', f_op_h, (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_add_s_absp: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_abu.f |
| UINT f_op__b; |
| SI f_u5x4; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u5x4 = ((EXTRACT_MSB0_UINT (insn, 32, 11, 5)) << (2)); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_u5x4) = f_u5x4; |
| FLD (f_op__b) = f_op__b; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_s_absp", "f_u5x4 0x%x", 'x', f_u5x4, "f_op__b 0x%x", 'x', f_op__b, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_add_s_asspsp: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_abu.f |
| SI f_u5x4; |
| |
| f_u5x4 = ((EXTRACT_MSB0_UINT (insn, 32, 11, 5)) << (2)); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_u5x4) = f_u5x4; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_s_asspsp", "f_u5x4 0x%x", 'x', f_u5x4, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_add_s_gp: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ld_s_gprel.f |
| SI f_s9x4; |
| |
| f_s9x4 = ((EXTRACT_MSB0_INT (insn, 32, 7, 9)) << (2)); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_s9x4) = f_s9x4; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_s_gp", "f_s9x4 0x%x", 'x', f_s9x4, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_add_s_r_u7: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_s_r_u7.f |
| UINT f_op__b; |
| UINT f_u7; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u7 = EXTRACT_MSB0_UINT (insn, 32, 9, 7); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_u7) = f_u7; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_s_r_u7", "f_op__b 0x%x", 'x', f_op__b, "f_u7 0x%x", 'x', f_u7, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_adc_L_s12__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adc_L_s12__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_adc_ccu6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adc_ccu6__RA_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_adc_L_u6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adc_L_u6__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, "f_op_A 0x%x", 'x', f_op_A, (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_adc_L_r_r__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adc_L_r_r__RA__RC", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_adc_cc__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adc_cc__RA__RC", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_I16_GO_SUB_s_go: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_s_cbu3.f |
| UINT f_op__b; |
| UINT f_op__c; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_op__c = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_op__c) = f_op__c; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_I16_GO_SUB_s_go", "f_op__b 0x%x", 'x', f_op__b, "f_op__c 0x%x", 'x', f_op__c, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_sub_s_go_sub_ne: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_mov_s_r_u7.f |
| UINT f_op__b; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sub_s_go_sub_ne", "f_op__b 0x%x", 'x', f_op__b, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_sub_s_ssb: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ldb_s_abu.f |
| UINT f_op__b; |
| UINT f_u5; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u5 = EXTRACT_MSB0_UINT (insn, 32, 11, 5); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_u5) = f_u5; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sub_s_ssb", "f_op__b 0x%x", 'x', f_op__b, "f_u5 0x%x", 'x', f_u5, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_and_L_s12__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_L_s12__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_and_ccu6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_ccu6__RA_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_and_L_u6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_L_u6__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, "f_op_A 0x%x", 'x', f_op_A, (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_and_L_r_r__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_L_r_r__RA__RC", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_and_cc__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_cc__RA__RC", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_mov_L_s12_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_s12) = f_s12; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov_L_s12_", "f_F 0x%x", 'x', f_F, "f_s12 0x%x", 'x', f_s12, "f_op_B 0x%x", 'x', f_op_B, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_mov_ccu6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov_ccu6_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_mov_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov_L_u6_", "f_F 0x%x", 'x', f_F, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_mov_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov_L_r_r__RC", "f_F 0x%x", 'x', f_F, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_mov_cc__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov_cc__RC", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_mov_s_mcah: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_s_mcah.f |
| UINT f_op__b; |
| UINT f_h_2_0; |
| UINT f_h_5_3; |
| UINT f_op_h; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_h_2_0 = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_h_5_3 = EXTRACT_MSB0_UINT (insn, 32, 13, 3); |
| { |
| f_op_h = ((f_h_2_0) | (((f_h_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_h) = f_op_h; |
| FLD (f_op__b) = f_op__b; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov_s_mcah", "f_op_h 0x%x", 'x', f_op_h, "f_op__b 0x%x", 'x', f_op__b, (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_mov_s_mcahb: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_s_mcah.f |
| UINT f_op__b; |
| UINT f_h_2_0; |
| UINT f_h_5_3; |
| UINT f_op_h; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_h_2_0 = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_h_5_3 = EXTRACT_MSB0_UINT (insn, 32, 13, 3); |
| { |
| f_op_h = ((f_h_2_0) | (((f_h_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_op_h) = f_op_h; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov_s_mcahb", "f_op__b 0x%x", 'x', f_op__b, "f_op_h 0x%x", 'x', f_op_h, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_mov_s_r_u7: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_mov_s_r_u7.f |
| UINT f_op__b; |
| UINT f_u8; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_u8) = f_u8; |
| FLD (f_op__b) = f_op__b; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov_s_r_u7", "f_u8 0x%x", 'x', f_u8, "f_op__b 0x%x", 'x', f_op__b, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_tst_L_s12_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tst_L_s12_", "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_tst_ccu6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tst_ccu6_", "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_tst_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tst_L_u6_", "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_tst_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tst_L_r_r__RC", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_tst_cc__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tst_cc__RC", "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_tst_s_go: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_s_cbu3.f |
| UINT f_op__b; |
| UINT f_op__c; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_op__c = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_op__c) = f_op__c; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tst_s_go", "f_op__b 0x%x", 'x', f_op__b, "f_op__c 0x%x", 'x', f_op__c, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_cmp_L_s12_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_L_s12_", "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_cmp_ccu6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_ccu6_", "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_cmp_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_L_u6_", "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_cmp_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_L_r_r__RC", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_cmp_cc__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_cc__RC", "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_cmp_s_mcah: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_s_mcah.f |
| UINT f_op__b; |
| UINT f_h_2_0; |
| UINT f_h_5_3; |
| UINT f_op_h; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_h_2_0 = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| f_h_5_3 = EXTRACT_MSB0_UINT (insn, 32, 13, 3); |
| { |
| f_op_h = ((f_h_2_0) | (((f_h_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_op_h) = f_op_h; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_s_mcah", "f_op__b 0x%x", 'x', f_op__b, "f_op_h 0x%x", 'x', f_op_h, (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_cmp_s_r_u7: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_s_r_u7.f |
| UINT f_op__b; |
| UINT f_u7; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u7 = EXTRACT_MSB0_UINT (insn, 32, 9, 7); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_u7) = f_u7; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_s_r_u7", "f_op__b 0x%x", 'x', f_op__b, "f_u7 0x%x", 'x', f_u7, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_btst_s_ssb: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_ldb_s_abu.f |
| UINT f_op__b; |
| UINT f_u5; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_u5 = EXTRACT_MSB0_UINT (insn, 32, 11, 5); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_u5) = f_u5; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst_s_ssb", "f_op__b 0x%x", 'x', f_op__b, "f_u5 0x%x", 'x', f_u5, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_mpy_L_s12__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mpy_L_s12__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_mpy_ccu6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mpy_ccu6__RA_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_mpy_L_u6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mpy_L_u6__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, "f_op_A 0x%x", 'x', f_op_A, (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_mpy_L_r_r__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mpy_L_r_r__RA__RC", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_mpy_cc__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mpy_cc__RA__RC", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_j_L_r_r___RC_noilink_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_Cj; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_Cj = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_Cj) = f_op_Cj; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j_L_r_r___RC_noilink_", "f_F 0x%x", 'x', f_F, "f_op_Cj 0x%x", 'x', f_op_Cj, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_j_cc___RC_noilink_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_Cj; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_Cj = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_Cj) = f_op_Cj; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j_cc___RC_noilink_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_Cj 0x%x", 'x', f_op_Cj, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_j_L_r_r___RC_ilink_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_Cj; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_Cj = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_Cj) = f_op_Cj; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j_L_r_r___RC_ilink_", "f_F 0x%x", 'x', f_F, "f_op_Cj 0x%x", 'x', f_op_Cj, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_j_cc___RC_ilink_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_Cj; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_Cj = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_Cj) = f_op_Cj; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j_cc___RC_ilink_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_Cj 0x%x", 'x', f_op_Cj, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_j_L_s12_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j_L_s12_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_j_ccu6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j_ccu6_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_j_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j_L_u6_", "f_F 0x%x", 'x', f_F, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_j_s: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_mov_s_r_u7.f |
| UINT f_op__b; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j_s", "f_op__b 0x%x", 'x', f_op__b, (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_j_s__S: |
| { |
| const IDESC *idesc = &arc700f_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_j_s__S", (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_j_seq__S: |
| { |
| const IDESC *idesc = &arc700f_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_j_seq__S", (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_j_L_s12_d_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j_L_s12_d_", "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_j_ccu6_d_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j_ccu6_d_", "f_cond_Q 0x%x", 'x', f_cond_Q, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_j_L_u6_d_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j_L_u6_d_", "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_j_L_r_r_d___RC_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j_L_r_r_d___RC_", "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_j_cc_d___RC_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j_cc_d___RC_", "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_jl_L_s12_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl_L_s12_", "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_jl_ccu6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl_ccu6_", "f_cond_Q 0x%x", 'x', f_cond_Q, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_jl_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl_L_u6_", "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_jl_s: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_mov_s_r_u7.f |
| UINT f_op__b; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl_s", "f_op__b 0x%x", 'x', f_op__b, (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_jl_L_r_r___RC_noilink_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_Cj; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_Cj = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_Cj) = f_op_Cj; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl_L_r_r___RC_noilink_", "f_op_Cj 0x%x", 'x', f_op_Cj, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_jl_cc___RC_noilink_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_Cj; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_Cj = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_Cj) = f_op_Cj; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl_cc___RC_noilink_", "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_Cj 0x%x", 'x', f_op_Cj, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_jl_L_r_r_d___RC_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl_L_r_r_d___RC_", "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_jl_cc_d___RC_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl_cc_d___RC_", "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_jl_s_d: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_mov_s_r_u7.f |
| UINT f_op__b; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl_s_d", "f_op__b 0x%x", 'x', f_op__b, (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_lp_L_s12_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_lp_L_s12_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12x2; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12x2 = ((((f_u6) << (1))) | (((f_s12h) << (7)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12x2) = f_s12x2; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lp_L_s12_", "f_op_B 0x%x", 'x', f_op_B, "f_s12x2 0x%x", 'x', f_s12x2, (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_lpcc_ccu6: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_lpcc_ccu6.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| SI f_u6x2; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6x2 = ((EXTRACT_MSB0_UINT (insn, 32, 20, 6)) << (1)); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_u6x2) = f_u6x2; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lpcc_ccu6", "f_cond_Q 0x%x", 'x', f_cond_Q, "f_u6x2 0x%x", 'x', f_u6x2, "f_op_B 0x%x", 'x', f_op_B, (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_flag_L_s12_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_flag_L_s12_", "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_flag_ccu6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_flag_ccu6_", "f_cond_Q 0x%x", 'x', f_cond_Q, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_flag_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_flag_L_u6_", "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_flag_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_flag_L_r_r__RC", "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_flag_cc__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_flag_cc__RC", "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_lr_L_r_r___RC_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lr_L_r_r___RC_", "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_lr_L_s12_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lr_L_s12_", "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_lr_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lr_L_u6_", "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_sr_L_r_r___RC_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sr_L_r_r___RC_", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_sr_L_s12_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sr_L_s12_", "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_sr_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sr_L_u6_", "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_asl_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asl_L_r_r__RC", "f_F 0x%x", 'x', f_F, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_asl_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asl_L_u6_", "f_F 0x%x", 'x', f_F, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_asr_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asr_L_r_r__RC", "f_F 0x%x", 'x', f_F, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_asr_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asr_L_u6_", "f_F 0x%x", 'x', f_F, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_rrc_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rrc_L_r_r__RC", "f_F 0x%x", 'x', f_F, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_rrc_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rrc_L_u6_", "f_F 0x%x", 'x', f_F, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_sexb_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sexb_L_r_r__RC", "f_F 0x%x", 'x', f_F, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_sexb_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sexb_L_u6_", "f_F 0x%x", 'x', f_F, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_sexw_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sexw_L_r_r__RC", "f_F 0x%x", 'x', f_F, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_sexw_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sexw_L_u6_", "f_F 0x%x", 'x', f_F, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_abs_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_abs_L_r_r__RC", "f_F 0x%x", 'x', f_F, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_abs_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_abs_L_u6_", "f_F 0x%x", 'x', f_F, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_not_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_not_L_r_r__RC", "f_F 0x%x", 'x', f_F, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_not_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_not_L_u6_", "f_F 0x%x", 'x', f_F, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_ex_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ex_L_r_r__RC", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_ex_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ex_L_u6_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_swi: |
| { |
| const IDESC *idesc = &arc700f_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_swi", (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_trap_s: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_trap_s.f |
| UINT f_trapnum; |
| |
| f_trapnum = EXTRACT_MSB0_UINT (insn, 32, 5, 6); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_trapnum) = f_trapnum; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trap_s", "f_trapnum 0x%x", 'x', f_trapnum, (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_brk: |
| { |
| const IDESC *idesc = &arc700f_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_brk", (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_asl_L_s12__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asl_L_s12__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_asl_ccu6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asl_ccu6__RA_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_asl_L_u6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asl_L_u6__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, "f_op_A 0x%x", 'x', f_op_A, (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_asl_L_r_r__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asl_L_r_r__RA__RC", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_asl_cc__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asl_cc__RA__RC", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_mul64_L_s12_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mul64_L_s12_", "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_mul64_ccu6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mul64_ccu6_", "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_mul64_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mul64_L_u6_", "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_mul64_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_st_abs.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mul64_L_r_r__RC", "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_mul64_cc__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mul64_cc__RC", "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_mul64_s_go: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_s_cbu3.f |
| UINT f_op__b; |
| UINT f_op__c; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_op__c = EXTRACT_MSB0_UINT (insn, 32, 8, 3); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| FLD (f_op__c) = f_op__c; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mul64_s_go", "f_op__b 0x%x", 'x', f_op__b, "f_op__c 0x%x", 'x', f_op__c, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_adds_L_s12__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_L_s12__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_adds_ccu6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_ccu6__RA_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_adds_L_u6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_L_u6__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, "f_op_A 0x%x", 'x', f_op_A, (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_adds_L_r_r__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_L_r_r__RA__RC", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_adds_cc__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_cc__RA__RC", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_divaw_L_s12__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_divaw_L_s12__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_divaw_ccu6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_divaw_ccu6__RA_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_divaw_L_u6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_divaw_L_u6__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, "f_op_A 0x%x", 'x', f_op_A, (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_divaw_L_r_r__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_divaw_L_r_r__RA__RC", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_divaw_cc__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_divaw_cc__RA__RC", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_asls_L_s12__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asls_L_s12__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_asls_ccu6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asls_ccu6__RA_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_asls_L_u6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asls_L_u6__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, "f_op_A 0x%x", 'x', f_op_A, (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_asls_L_r_r__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asls_L_r_r__RA__RC", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_asls_cc__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asls_cc__RA__RC", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_swap_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swap_L_r_r__RC", "f_F 0x%x", 'x', f_F, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_swap_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swap_L_u6_", "f_F 0x%x", 'x', f_F, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_norm_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_norm_L_u6_", "f_F 0x%x", 'x', f_F, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_rnd16_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rnd16_L_r_r__RC", "f_F 0x%x", 'x', f_F, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_rnd16_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rnd16_L_u6_", "f_F 0x%x", 'x', f_F, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_abssw_L_r_r__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_abssw_L_r_r__RC", "f_F 0x%x", 'x', f_F, "f_op_C 0x%x", 'x', f_op_C, "f_op_B 0x%x", 'x', f_op_B, (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_abssw_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_abssw_L_u6_", "f_F 0x%x", 'x', f_F, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_abss_L_u6_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_B) = f_op_B; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_abss_L_u6_", "f_F 0x%x", 'x', f_F, "f_u6 0x%x", 'x', f_u6, "f_op_B 0x%x", 'x', f_op_B, (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_nop_s: |
| { |
| const IDESC *idesc = &arc700f_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_nop_s", (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_pop_s_b: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_mov_s_r_u7.f |
| UINT f_op__b; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_pop_s_b", "f_op__b 0x%x", 'x', f_op__b, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_pop_s_blink: |
| { |
| const IDESC *idesc = &arc700f_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_pop_s_blink", (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_push_s_b: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_mov_s_r_u7.f |
| UINT f_op__b; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_op__b) = f_op__b; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_push_s_b", "f_op__b 0x%x", 'x', f_op__b, (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_push_s_blink: |
| { |
| const IDESC *idesc = &arc700f_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_push_s_blink", (char *) 0)); |
| |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_mullw_L_s12__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mullw_L_s12__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_mullw_ccu6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mullw_ccu6__RA_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_mullw_L_u6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mullw_L_u6__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, "f_op_A 0x%x", 'x', f_op_A, (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_mullw_L_r_r__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mullw_L_r_r__RA__RC", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_mullw_cc__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mullw_cc__RA__RC", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_maclw_L_s12__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_maclw_L_s12__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_maclw_ccu6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_maclw_ccu6__RA_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_maclw_L_u6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_maclw_L_u6__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, "f_op_A 0x%x", 'x', f_op_A, (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_maclw_L_r_r__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_maclw_L_r_r__RA__RC", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_maclw_cc__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_maclw_cc__RA__RC", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_machulw_L_s12__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_s12__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| INT f_s12h; |
| UINT f_op_B; |
| INT f_s12; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_s12h = EXTRACT_MSB0_INT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| { |
| f_s12 = ((f_u6) | (((f_s12h) << (6)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_s12) = f_s12; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_machulw_L_s12__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_s12 0x%x", 'x', f_s12, (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_machulw_ccu6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_ccu6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_machulw_ccu6__RA_", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| extract_sfmt_machulw_L_u6__RA_: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_u6__RA_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_u6; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_u6 = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_u6) = f_u6; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_machulw_L_u6__RA_", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_u6 0x%x", 'x', f_u6, "f_op_A 0x%x", 'x', f_op_A, (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_machulw_L_r_r__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_add_L_r_r__RA__RC.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_op_A; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_op_A = EXTRACT_MSB0_UINT (insn, 32, 26, 6); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| FLD (f_op_A) = f_op_A; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_machulw_L_r_r__RA__RC", "f_F 0x%x", 'x', f_F, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, "f_op_A 0x%x", 'x', f_op_A, (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_machulw_cc__RA__RC: |
| { |
| const IDESC *idesc = &arc700f_insn_data[itype]; |
| CGEN_INSN_INT insn = entire_insn; |
| #define FLD(f) abuf->fields.sfmt_j_cc___RC_noilink_.f |
| UINT f_op__b; |
| UINT f_F; |
| UINT f_B_5_3; |
| UINT f_op_C; |
| UINT f_cond_Q; |
| UINT f_op_B; |
| |
| f_op__b = EXTRACT_MSB0_UINT (insn, 32, 5, 3); |
| f_F = EXTRACT_MSB0_UINT (insn, 32, 16, 1); |
| f_B_5_3 = EXTRACT_MSB0_UINT (insn, 32, 17, 3); |
| f_op_C = EXTRACT_MSB0_UINT (insn, 32, 20, 6); |
| f_cond_Q = EXTRACT_MSB0_UINT (insn, 32, 27, 5); |
| { |
| f_op_B = ((f_op__b) | (((f_B_5_3) << (3)))); |
| } |
| |
| /* Record the fields for the semantic handler. */ |
| FLD (f_F) = f_F; |
| FLD (f_cond_Q) = f_cond_Q; |
| FLD (f_op_B) = f_op_B; |
| FLD (f_op_C) = f_op_C; |
| TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_machulw_cc__RA__RC", "f_F 0x%x", 'x', f_F, "f_cond_Q 0x%x", 'x', f_cond_Q, "f_op_B 0x%x", 'x', f_op_B, "f_op_C 0x%x", 'x', f_op_C, (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_current_loop_end: |
| { |
| const IDESC *idesc = &arc700f_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_current_loop_end", (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_current_loop_end_after_branch: |
| { |
| const IDESC *idesc = &arc700f_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_current_loop_end_after_branch", (char *) 0)); |
| |
| #if WITH_PROFILE_MODEL_P |
| /* Record the fields for profiling. */ |
| if (PROFILE_MODEL_P (current_cpu)) |
| { |
| } |
| #endif |
| #undef FLD |
| return idesc; |
| } |
| |
| } |