From 40493983ad5cdac9625b3f2a1f92e41e094fde4c Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Wed, 8 Apr 2009 20:39:35 +0000 Subject: [cgen] * cpu/mep-c5.cpu: New. * cpu/mep-core.cpu: Add C5 support. * cpu/mep.opc: Likewise. [opcodes] * mep-asm.c: Regenerate. * mep-desc.c: Regenerate. * mep-desc.h: Regenerate. * mep-dis.c: Regenerate. * mep-ibld.c: Regenerate. * mep-opc.c: Regenerate. * mep-opc.h: Regenerate. [sid] * component/cache/cache.cxx (cache_component::cache_component): Add write_hint_pin(). Attach it to write-hint. (cache_component::write_hint): New. * component/cache/cache.h (write_hint_pin): New. (write_hint): New. * component/cgen-cpu/mep/Makefile.am: Regenerate. * component/cgen-cpu/mep/Makefile.in: Regenerate. * component/cgen-cpu/mep/mep-core1-decode.cxx: Regenerate. * component/cgen-cpu/mep/mep-core1-decode.h: Regenerate. * component/cgen-cpu/mep/mep-core1-defs.h: Regenerate. * component/cgen-cpu/mep/mep-core1-model.cxx: Regenerate. * component/cgen-cpu/mep/mep-core1-model.h: Regenerate. * component/cgen-cpu/mep/mep-core1-sem.cxx: Regenerate. * component/cgen-cpu/mep/mep-decode.cxx: Regenerate. * component/cgen-cpu/mep/mep-decode.h: Regenerate. * component/cgen-cpu/mep/mep-defs.h: Regenerate. * component/cgen-cpu/mep/mep-desc.h: Regenerate. * component/cgen-cpu/mep/mep-model.cxx: Regenerate. * component/cgen-cpu/mep/mep-model.h: Regenerate. * component/cgen-cpu/mep/mep-sem.cxx: Regenerate. * component/cgen-cpu/mep/mep.cxx (mep_cpu): Connect write-hint pin. (do_cache): Add C5 support. (do_cache_prefetch): Likewise. (do_casb3, do_cash3, do_casw3): New. * component/cgen-cpu/mep/mep.h: Add C5 support and write-hint pin. (do_casb3, do_cash3, do_casw3): New. * component/families/mep/Makefile.in: Regenerate. * component/families/mep/dsu.in: Add C5 support. * main/dynamic/mainDynamic.cxx: Add C5 support. * main/dynamic/mepCfg.cxx: Connect write-hint pin. * main/dynamic/mepCfg.h: Add C5 support. --- opcodes/mep-desc.h | 57 +++++++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 26 deletions(-) (limited to 'opcodes/mep-desc.h') diff --git a/opcodes/mep-desc.h b/opcodes/mep-desc.h index 0664064..b4de4d5 100644 --- a/opcodes/mep-desc.h +++ b/opcodes/mep-desc.h @@ -51,7 +51,7 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger. #define CGEN_INT_INSN_P 1 /* Maximum number of syntax elements in an instruction. */ -#define CGEN_ACTUAL_MAX_SYNTAX_ELEMENTS 17 +#define CGEN_ACTUAL_MAX_SYNTAX_ELEMENTS 18 /* CGEN_MNEMONIC_OPERANDS is defined if mnemonics have operands. e.g. In "b,a foo" the ",a" is an operand. If mnemonics have operands @@ -75,7 +75,8 @@ typedef enum major { /* Enum declaration for machine type selection. */ typedef enum mach_attr { - MACH_BASE, MACH_MEP, MACH_H1, MACH_MAX + MACH_BASE, MACH_MEP, MACH_H1, MACH_C5 + , MACH_MAX } MACH_ATTR; /* Enum declaration for instruction set selection. */ @@ -127,27 +128,30 @@ typedef enum cgen_ifld_attr { typedef enum ifield_type { MEP_F_NIL, MEP_F_ANYOF, MEP_F_MAJOR, MEP_F_RN , MEP_F_RN3, MEP_F_RM, MEP_F_RL, MEP_F_SUB2 - , MEP_F_SUB3, MEP_F_SUB4, MEP_F_EXT, MEP_F_CRN - , MEP_F_CSRN_HI, MEP_F_CSRN_LO, MEP_F_CSRN, MEP_F_CRNX_HI - , MEP_F_CRNX_LO, MEP_F_CRNX, MEP_F_0, MEP_F_1 - , MEP_F_2, MEP_F_3, MEP_F_4, MEP_F_5 - , MEP_F_6, MEP_F_7, MEP_F_8, MEP_F_9 - , MEP_F_10, MEP_F_11, MEP_F_12, MEP_F_13 - , MEP_F_14, MEP_F_15, MEP_F_16, MEP_F_17 - , MEP_F_18, MEP_F_19, MEP_F_20, MEP_F_21 - , MEP_F_22, MEP_F_23, MEP_F_24, MEP_F_25 - , MEP_F_26, MEP_F_27, MEP_F_28, MEP_F_29 - , MEP_F_30, MEP_F_31, MEP_F_8S8A2, MEP_F_12S4A2 - , MEP_F_17S16A2, MEP_F_24S5A2N_HI, MEP_F_24S5A2N_LO, MEP_F_24S5A2N - , MEP_F_24U5A2N_HI, MEP_F_24U5A2N_LO, MEP_F_24U5A2N, MEP_F_2U6 - , MEP_F_7U9, MEP_F_7U9A2, MEP_F_7U9A4, MEP_F_16S16 - , MEP_F_2U10, MEP_F_3U5, MEP_F_4U8, MEP_F_5U8 - , MEP_F_5U24, MEP_F_6S8, MEP_F_8S8, MEP_F_16U16 - , MEP_F_12U16, MEP_F_3U29, MEP_F_8S24, MEP_F_8S24A2 - , MEP_F_8S24A4, MEP_F_8S24A8, MEP_F_24U8A4N_HI, MEP_F_24U8A4N_LO - , MEP_F_24U8A4N, MEP_F_24U8N_HI, MEP_F_24U8N_LO, MEP_F_24U8N - , MEP_F_24U4N_HI, MEP_F_24U4N_LO, MEP_F_24U4N, MEP_F_CALLNUM - , MEP_F_CCRN_HI, MEP_F_CCRN_LO, MEP_F_CCRN, MEP_F_MAX + , MEP_F_SUB3, MEP_F_SUB4, MEP_F_EXT, MEP_F_EXT4 + , MEP_F_EXT62, MEP_F_CRN, MEP_F_CSRN_HI, MEP_F_CSRN_LO + , MEP_F_CSRN, MEP_F_CRNX_HI, MEP_F_CRNX_LO, MEP_F_CRNX + , MEP_F_0, MEP_F_1, MEP_F_2, MEP_F_3 + , MEP_F_4, MEP_F_5, MEP_F_6, MEP_F_7 + , MEP_F_8, MEP_F_9, MEP_F_10, MEP_F_11 + , MEP_F_12, MEP_F_13, MEP_F_14, MEP_F_15 + , MEP_F_16, MEP_F_17, MEP_F_18, MEP_F_19 + , MEP_F_20, MEP_F_21, MEP_F_22, MEP_F_23 + , MEP_F_24, MEP_F_25, MEP_F_26, MEP_F_27 + , MEP_F_28, MEP_F_29, MEP_F_30, MEP_F_31 + , MEP_F_8S8A2, MEP_F_12S4A2, MEP_F_17S16A2, MEP_F_24S5A2N_HI + , MEP_F_24S5A2N_LO, MEP_F_24S5A2N, MEP_F_24U5A2N_HI, MEP_F_24U5A2N_LO + , MEP_F_24U5A2N, MEP_F_2U6, MEP_F_7U9, MEP_F_7U9A2 + , MEP_F_7U9A4, MEP_F_16S16, MEP_F_2U10, MEP_F_3U5 + , MEP_F_4U8, MEP_F_5U8, MEP_F_5U24, MEP_F_6S8 + , MEP_F_8S8, MEP_F_16U16, MEP_F_12U16, MEP_F_3U29 + , MEP_F_CDISP10, MEP_F_24U8A4N_HI, MEP_F_24U8A4N_LO, MEP_F_24U8A4N + , MEP_F_24U8N_HI, MEP_F_24U8N_LO, MEP_F_24U8N, MEP_F_24U4N_HI + , MEP_F_24U4N_LO, MEP_F_24U4N, MEP_F_CALLNUM, MEP_F_CCRN_HI + , MEP_F_CCRN_LO, MEP_F_CCRN, MEP_F_C5N4, MEP_F_C5N5 + , MEP_F_C5N6, MEP_F_C5N7, MEP_F_RL5, MEP_F_12S20 + , MEP_F_C5_RNM, MEP_F_C5_RM, MEP_F_C5_16U16, MEP_F_C5_RMUIMM20 + , MEP_F_C5_RNMUIMM24, MEP_F_MAX } IFIELD_TYPE; #define MAX_IFLD ((int) MEP_F_MAX) @@ -230,12 +234,13 @@ typedef enum cgen_operand_type { , MEP_OPERAND_ADDR24A4, MEP_OPERAND_CODE24, MEP_OPERAND_CALLNUM, MEP_OPERAND_UIMM3 , MEP_OPERAND_UIMM4, MEP_OPERAND_UIMM5, MEP_OPERAND_UDISP7, MEP_OPERAND_UDISP7A2 , MEP_OPERAND_UDISP7A4, MEP_OPERAND_UIMM7A4, MEP_OPERAND_UIMM24, MEP_OPERAND_CIMM4 - , MEP_OPERAND_CIMM5, MEP_OPERAND_CDISP8, MEP_OPERAND_CDISP8A2, MEP_OPERAND_CDISP8A4 - , MEP_OPERAND_CDISP8A8, MEP_OPERAND_ZERO, MEP_OPERAND_CP_FLAG, MEP_OPERAND_MAX + , MEP_OPERAND_CIMM5, MEP_OPERAND_CDISP10, MEP_OPERAND_CDISP10A2, MEP_OPERAND_CDISP10A4 + , MEP_OPERAND_CDISP10A8, MEP_OPERAND_ZERO, MEP_OPERAND_RL5, MEP_OPERAND_CDISP12 + , MEP_OPERAND_C5RMUIMM20, MEP_OPERAND_C5RNMUIMM24, MEP_OPERAND_CP_FLAG, MEP_OPERAND_MAX } CGEN_OPERAND_TYPE; /* Number of operands types. */ -#define MAX_OPERANDS 79 +#define MAX_OPERANDS 83 /* Maximum number of operands referenced by any insn. */ #define MAX_OPERAND_INSTANCES 8 -- cgit v1.1