From 3526b6802eb19481fc9143f53246640e77e3198a Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Thu, 30 Apr 2009 21:23:30 +0000 Subject: Index: 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. Index: gas * config/tc-mep.c (md_begin): Check coprocessor type. (md_check_parallel64_scheduling): Use memset to initialize the buffer. (md_check_parallel32_scheduling): Likewise. (slot_ok): New. (mep_check_ivc2_scheduling): New. (mep_check_parallel_scheduling): Call it. (mep_process_saved_insns): Add IVC2 slot support. (md_assemble): Likewise. --- opcodes/mep-desc.c | 4584 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 4164 insertions(+), 420 deletions(-) (limited to 'opcodes/mep-desc.c') diff --git a/opcodes/mep-desc.c b/opcodes/mep-desc.c index 9225cad3483..dc64c7a93a4 100644 --- a/opcodes/mep-desc.c +++ b/opcodes/mep-desc.c @@ -57,6 +57,10 @@ static const CGEN_ATTR_ENTRY ISA_attr[] ATTRIBUTE_UNUSED = { { "mep", ISA_MEP }, { "ext_core1", ISA_EXT_CORE1 }, + { "ext_cop1_16", ISA_EXT_COP1_16 }, + { "ext_cop1_32", ISA_EXT_COP1_32 }, + { "ext_cop1_48", ISA_EXT_COP1_48 }, + { "ext_cop1_64", ISA_EXT_COP1_64 }, { "max", ISA_MAX }, { 0, 0 } }; @@ -97,6 +101,16 @@ static const CGEN_ATTR_ENTRY CONFIG_attr[] ATTRIBUTE_UNUSED = { 0, 0 } }; +static const CGEN_ATTR_ENTRY SLOTS_attr[] ATTRIBUTE_UNUSED = +{ + { "core", SLOTS_CORE }, + { "c3", SLOTS_C3 }, + { "p0s", SLOTS_P0S }, + { "p0", SLOTS_P0 }, + { "p1", SLOTS_P1 }, + { 0, 0 } +}; + const CGEN_ATTR_TABLE mep_cgen_ifield_attr_table[] = { { "MACH", & MACH_attr[0], & MACH_attr[0] }, @@ -146,6 +160,7 @@ const CGEN_ATTR_TABLE mep_cgen_insn_attr_table[] = { "ISA", & ISA_attr[0], & ISA_attr[0] }, { "LATENCY", & LATENCY_attr[0], & LATENCY_attr[0] }, { "CONFIG", & CONFIG_attr[0], & CONFIG_attr[0] }, + { "SLOTS", & SLOTS_attr[0], & SLOTS_attr[0] }, { "ALIAS", &bool_attr[0], &bool_attr[0] }, { "VIRTUAL", &bool_attr[0], &bool_attr[0] }, { "UNCOND-CTI", &bool_attr[0], &bool_attr[0] }, @@ -186,6 +201,10 @@ const CGEN_ATTR_TABLE mep_cgen_insn_attr_table[] = static const CGEN_ISA mep_cgen_isa_table[] = { { "mep", 32, 32, 16, 32 }, { "ext_core1", 32, 32, 16, 32 }, + { "ext_cop1_16", 32, 32, 32, 32 }, + { "ext_cop1_32", 32, 32, 32, 32 }, + { "ext_cop1_48", 32, 32, 32, 32 }, + { "ext_cop1_64", 32, 32, 32, 32 }, { 0, 0, 0, 0, 0 } }; @@ -426,6 +445,64 @@ CGEN_KEYWORD mep_cgen_opval_h_ccr = 0, 0, 0, 0, "" }; +static CGEN_KEYWORD_ENTRY mep_cgen_opval_h_cr_ivc2_entries[] = +{ + { "$c0", 0, {0, {{{0, 0}}}}, 0, 0 }, + { "$c1", 1, {0, {{{0, 0}}}}, 0, 0 }, + { "$c2", 2, {0, {{{0, 0}}}}, 0, 0 }, + { "$c3", 3, {0, {{{0, 0}}}}, 0, 0 }, + { "$c4", 4, {0, {{{0, 0}}}}, 0, 0 }, + { "$c5", 5, {0, {{{0, 0}}}}, 0, 0 }, + { "$c6", 6, {0, {{{0, 0}}}}, 0, 0 }, + { "$c7", 7, {0, {{{0, 0}}}}, 0, 0 } +}; + +CGEN_KEYWORD mep_cgen_opval_h_cr_ivc2 = +{ + & mep_cgen_opval_h_cr_ivc2_entries[0], + 8, + 0, 0, 0, 0, "" +}; + +static CGEN_KEYWORD_ENTRY mep_cgen_opval_h_ccr_ivc2_entries[] = +{ + { "$ivc2_acc0_0", 16, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc0_1", 17, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc0_2", 18, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc0_3", 19, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc0_4", 20, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc0_5", 21, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc0_6", 22, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc0_7", 23, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_0", 24, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_1", 25, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_2", 26, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_3", 27, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_4", 28, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_5", 29, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_6", 30, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_7", 31, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_csar0", 0, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_csar1", 15, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_cc", 1, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_cofr0", 4, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_cofr1", 5, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_cofa0", 6, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_cofa1", 7, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_ccr2", 2, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_ccr3", 3, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_ccr12", 12, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_ccr13", 13, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_ccr14", 14, {0, {{{0, 0}}}}, 0, 0 } +}; + +CGEN_KEYWORD mep_cgen_opval_h_ccr_ivc2 = +{ + & mep_cgen_opval_h_ccr_ivc2_entries[0], + 28, + 0, 0, 0, 0, "" +}; + /* The hardware table. */ @@ -437,17 +514,21 @@ CGEN_KEYWORD mep_cgen_opval_h_ccr = const CGEN_HW_ENTRY mep_cgen_hw_table[] = { - { "h-memory", HW_H_MEMORY, CGEN_ASM_NONE, 0, { 0, { { { (1<