diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a409367d22..0a030ffeeb 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2009-02-02 DJ Delorie + + * elf32-mep.c (config_names): Regenerate configuration. + 2009-02-02 Alan Modra * elf-bfd.h (bfd_elf_get_str_section): Don't declare. diff --git a/bfd/elf32-mep.c b/bfd/elf32-mep.c index fb2bed3abe..4e96a788c1 100644 --- a/bfd/elf32-mep.c +++ b/bfd/elf32-mep.c @@ -684,8 +684,7 @@ static const char * config_names[] = { "basic" /* start-mepcfgtool */ - ,"simple" - ,"fmax" + ,"default" /* end-mepcfgtool */ }; diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 7466da19ab..483617e5a7 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,13 @@ +2009-02-02 DJ Delorie + + * 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. + 2009-01-29 Mark Mitchell * arm-dis.c (thumb32_opcodes): Correct decoding for qadd, qdadd, diff --git a/opcodes/mep-asm.c b/opcodes/mep-asm.c index 20f51a8b8f..43ca942fc1 100644 --- a/opcodes/mep-asm.c +++ b/opcodes/mep-asm.c @@ -83,22 +83,6 @@ parse_csrn (CGEN_CPU_DESC cd, const char **strp, } /* begin-cop-ip-parse-handlers */ -static const char * -parse_fmax_cr (CGEN_CPU_DESC cd, - const char **strp, - CGEN_KEYWORD *keyword_table ATTRIBUTE_UNUSED, - long *field) -{ - return cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr_fmax, field); -} -static const char * -parse_fmax_ccr (CGEN_CPU_DESC cd, - const char **strp, - CGEN_KEYWORD *keyword_table ATTRIBUTE_UNUSED, - long *field) -{ - return cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr_fmax, field); -} /* end-cop-ip-parse-handlers */ const char * @@ -809,27 +793,6 @@ mep_cgen_parse_operand (CGEN_CPU_DESC cd, case MEP_OPERAND_EXC : errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_csr, & junk); break; - case MEP_OPERAND_FMAX_CCRN : - errmsg = parse_fmax_ccr (cd, strp, & mep_cgen_opval_h_ccr, & fields->f_fmax_4_4); - break; - case MEP_OPERAND_FMAX_FRD : - errmsg = parse_fmax_cr (cd, strp, & mep_cgen_opval_h_cr, & fields->f_fmax_frd); - break; - case MEP_OPERAND_FMAX_FRD_INT : - errmsg = parse_fmax_cr (cd, strp, & mep_cgen_opval_h_cr, & fields->f_fmax_frd); - break; - case MEP_OPERAND_FMAX_FRM : - errmsg = parse_fmax_cr (cd, strp, & mep_cgen_opval_h_cr, & fields->f_fmax_frm); - break; - case MEP_OPERAND_FMAX_FRN : - errmsg = parse_fmax_cr (cd, strp, & mep_cgen_opval_h_cr, & fields->f_fmax_frn); - break; - case MEP_OPERAND_FMAX_FRN_INT : - errmsg = parse_fmax_cr (cd, strp, & mep_cgen_opval_h_cr, & fields->f_fmax_frn); - break; - case MEP_OPERAND_FMAX_RM : - errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & fields->f_fmax_rm); - break; case MEP_OPERAND_HI : errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_csr, & junk); break; diff --git a/opcodes/mep-desc.c b/opcodes/mep-desc.c index 6411a9cc22..88f958c3ad 100644 --- a/opcodes/mep-desc.c +++ b/opcodes/mep-desc.c @@ -56,11 +56,6 @@ static const CGEN_ATTR_ENTRY ISA_attr[] ATTRIBUTE_UNUSED = { { "mep", ISA_MEP }, { "ext_core1", ISA_EXT_CORE1 }, - { "ext_core2", ISA_EXT_CORE2 }, - { "ext_cop2_16", ISA_EXT_COP2_16 }, - { "ext_cop2_32", ISA_EXT_COP2_32 }, - { "ext_cop2_48", ISA_EXT_COP2_48 }, - { "ext_cop2_64", ISA_EXT_COP2_64 }, { "max", ISA_MAX }, { 0, 0 } }; @@ -97,8 +92,7 @@ static const CGEN_ATTR_ENTRY LATENCY_attr [] ATTRIBUTE_UNUSED = static const CGEN_ATTR_ENTRY CONFIG_attr[] ATTRIBUTE_UNUSED = { { "NONE", CONFIG_NONE }, - { "simple", CONFIG_SIMPLE }, - { "fmax", CONFIG_FMAX }, + { "default", CONFIG_DEFAULT }, { 0, 0 } }; @@ -191,11 +185,6 @@ 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_core2", 32, 32, 16, 32 }, - { "ext_cop2_16", 32, 32, 65535, 0 }, - { "ext_cop2_32", 32, 32, 65535, 0 }, - { "ext_cop2_48", 32, 32, 65535, 0 }, - { "ext_cop2_64", 32, 32, 65535, 0 }, { 0, 0, 0, 0, 0 } }; @@ -263,13 +252,14 @@ static CGEN_KEYWORD_ENTRY mep_cgen_opval_h_csr_entries[] = { "$depc", 25, {0, {{{0, 0}}}}, 0, 0 }, { "$opt", 26, {0, {{{0, 0}}}}, 0, 0 }, { "$rcfg", 27, {0, {{{0, 0}}}}, 0, 0 }, - { "$ccfg", 28, {0, {{{0, 0}}}}, 0, 0 } + { "$ccfg", 28, {0, {{{0, 0}}}}, 0, 0 }, + { "$vid", 22, {0, {{{0, 0}}}}, 0, 0 } }; CGEN_KEYWORD mep_cgen_opval_h_csr = { & mep_cgen_opval_h_csr_entries[0], - 24, + 25, 0, 0, 0, 0, "" }; @@ -434,101 +424,6 @@ CGEN_KEYWORD mep_cgen_opval_h_ccr = 0, 0, 0, 0, "" }; -static CGEN_KEYWORD_ENTRY mep_cgen_opval_h_cr_fmax_entries[] = -{ - { "$fr0", 0, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr1", 1, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr2", 2, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr3", 3, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr4", 4, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr5", 5, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr6", 6, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr7", 7, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr8", 8, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr9", 9, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr10", 10, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr11", 11, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr12", 12, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr13", 13, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr14", 14, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr15", 15, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr16", 16, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr17", 17, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr18", 18, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr19", 19, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr20", 20, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr21", 21, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr22", 22, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr23", 23, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr24", 24, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr25", 25, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr26", 26, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr27", 27, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr28", 28, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr29", 29, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr30", 30, {0, {{{0, 0}}}}, 0, 0 }, - { "$fr31", 31, {0, {{{0, 0}}}}, 0, 0 }, - { "$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 }, - { "$c8", 8, {0, {{{0, 0}}}}, 0, 0 }, - { "$c9", 9, {0, {{{0, 0}}}}, 0, 0 }, - { "$c10", 10, {0, {{{0, 0}}}}, 0, 0 }, - { "$c11", 11, {0, {{{0, 0}}}}, 0, 0 }, - { "$c12", 12, {0, {{{0, 0}}}}, 0, 0 }, - { "$c13", 13, {0, {{{0, 0}}}}, 0, 0 }, - { "$c14", 14, {0, {{{0, 0}}}}, 0, 0 }, - { "$c15", 15, {0, {{{0, 0}}}}, 0, 0 }, - { "$c16", 16, {0, {{{0, 0}}}}, 0, 0 }, - { "$c17", 17, {0, {{{0, 0}}}}, 0, 0 }, - { "$c18", 18, {0, {{{0, 0}}}}, 0, 0 }, - { "$c19", 19, {0, {{{0, 0}}}}, 0, 0 }, - { "$c20", 20, {0, {{{0, 0}}}}, 0, 0 }, - { "$c21", 21, {0, {{{0, 0}}}}, 0, 0 }, - { "$c22", 22, {0, {{{0, 0}}}}, 0, 0 }, - { "$c23", 23, {0, {{{0, 0}}}}, 0, 0 }, - { "$c24", 24, {0, {{{0, 0}}}}, 0, 0 }, - { "$c25", 25, {0, {{{0, 0}}}}, 0, 0 }, - { "$c26", 26, {0, {{{0, 0}}}}, 0, 0 }, - { "$c27", 27, {0, {{{0, 0}}}}, 0, 0 }, - { "$c28", 28, {0, {{{0, 0}}}}, 0, 0 }, - { "$c29", 29, {0, {{{0, 0}}}}, 0, 0 }, - { "$c30", 30, {0, {{{0, 0}}}}, 0, 0 }, - { "$c31", 31, {0, {{{0, 0}}}}, 0, 0 } -}; - -CGEN_KEYWORD mep_cgen_opval_h_cr_fmax = -{ - & mep_cgen_opval_h_cr_fmax_entries[0], - 64, - 0, 0, 0, 0, "" -}; - -static CGEN_KEYWORD_ENTRY mep_cgen_opval_h_ccr_fmax_entries[] = -{ - { "$cirr", 0, {0, {{{0, 0}}}}, 0, 0 }, - { "$fcr0", 0, {0, {{{0, 0}}}}, 0, 0 }, - { "$ccr0", 0, {0, {{{0, 0}}}}, 0, 0 }, - { "$cbcr", 1, {0, {{{0, 0}}}}, 0, 0 }, - { "$fcr1", 1, {0, {{{0, 0}}}}, 0, 0 }, - { "$ccr1", 1, {0, {{{0, 0}}}}, 0, 0 }, - { "$cerr", 15, {0, {{{0, 0}}}}, 0, 0 }, - { "$fcr15", 15, {0, {{{0, 0}}}}, 0, 0 }, - { "$ccr15", 15, {0, {{{0, 0}}}}, 0, 0 } -}; - -CGEN_KEYWORD mep_cgen_opval_h_ccr_fmax = -{ - & mep_cgen_opval_h_ccr_fmax_entries[0], - 9, - 0, 0, 0, 0, "" -}; - /* The hardware table. */ @@ -540,20 +435,17 @@ CGEN_KEYWORD mep_cgen_opval_h_ccr_fmax = const CGEN_HW_ENTRY mep_cgen_hw_table[] = { - { "h-memory", HW_H_MEMORY, CGEN_ASM_NONE, 0, { 0, { { { (1<f_fmax_4_4, 0); - break; - case MEP_OPERAND_FMAX_FRD : - print_fmax_cr (cd, info, & mep_cgen_opval_h_cr, fields->f_fmax_frd, 0|(1<f_fmax_frd, 0|(1<f_fmax_frm, 0|(1<f_fmax_frn, 0|(1<f_fmax_frn, 0|(1<f_fmax_rm, 0); - break; case MEP_OPERAND_HI : print_keyword (cd, info, & mep_cgen_opval_h_csr, 0, 0); break; diff --git a/opcodes/mep-ibld.c b/opcodes/mep-ibld.c index 3b63c037c2..ac44ee2535 100644 --- a/opcodes/mep-ibld.c +++ b/opcodes/mep-ibld.c @@ -737,82 +737,6 @@ mep_cgen_insert_operand (CGEN_CPU_DESC cd, break; case MEP_OPERAND_EXC : break; - case MEP_OPERAND_FMAX_CCRN : - errmsg = insert_normal (cd, fields->f_fmax_4_4, 0, 0, 4, 4, 32, total_length, buffer); - break; - case MEP_OPERAND_FMAX_FRD : - { -{ - FLD (f_fmax_4_4) = ((FLD (f_fmax_frd)) & (15)); - FLD (f_fmax_28_1) = ((unsigned int) (FLD (f_fmax_frd)) >> (4)); -} - errmsg = insert_normal (cd, fields->f_fmax_28_1, 0, 0, 28, 1, 32, total_length, buffer); - if (errmsg) - break; - errmsg = insert_normal (cd, fields->f_fmax_4_4, 0, 0, 4, 4, 32, total_length, buffer); - if (errmsg) - break; - } - break; - case MEP_OPERAND_FMAX_FRD_INT : - { -{ - FLD (f_fmax_4_4) = ((FLD (f_fmax_frd)) & (15)); - FLD (f_fmax_28_1) = ((unsigned int) (FLD (f_fmax_frd)) >> (4)); -} - errmsg = insert_normal (cd, fields->f_fmax_28_1, 0, 0, 28, 1, 32, total_length, buffer); - if (errmsg) - break; - errmsg = insert_normal (cd, fields->f_fmax_4_4, 0, 0, 4, 4, 32, total_length, buffer); - if (errmsg) - break; - } - break; - case MEP_OPERAND_FMAX_FRM : - { -{ - FLD (f_fmax_24_4) = ((FLD (f_fmax_frm)) & (15)); - FLD (f_fmax_30_1) = ((unsigned int) (FLD (f_fmax_frm)) >> (4)); -} - errmsg = insert_normal (cd, fields->f_fmax_30_1, 0, 0, 30, 1, 32, total_length, buffer); - if (errmsg) - break; - errmsg = insert_normal (cd, fields->f_fmax_24_4, 0, 0, 24, 4, 32, total_length, buffer); - if (errmsg) - break; - } - break; - case MEP_OPERAND_FMAX_FRN : - { -{ - FLD (f_fmax_20_4) = ((FLD (f_fmax_frn)) & (15)); - FLD (f_fmax_29_1) = ((unsigned int) (FLD (f_fmax_frn)) >> (4)); -} - errmsg = insert_normal (cd, fields->f_fmax_29_1, 0, 0, 29, 1, 32, total_length, buffer); - if (errmsg) - break; - errmsg = insert_normal (cd, fields->f_fmax_20_4, 0, 0, 20, 4, 32, total_length, buffer); - if (errmsg) - break; - } - break; - case MEP_OPERAND_FMAX_FRN_INT : - { -{ - FLD (f_fmax_20_4) = ((FLD (f_fmax_frn)) & (15)); - FLD (f_fmax_29_1) = ((unsigned int) (FLD (f_fmax_frn)) >> (4)); -} - errmsg = insert_normal (cd, fields->f_fmax_29_1, 0, 0, 29, 1, 32, total_length, buffer); - if (errmsg) - break; - errmsg = insert_normal (cd, fields->f_fmax_20_4, 0, 0, 20, 4, 32, total_length, buffer); - if (errmsg) - break; - } - break; - case MEP_OPERAND_FMAX_RM : - errmsg = insert_normal (cd, fields->f_fmax_rm, 0, 0, 8, 4, 32, total_length, buffer); - break; case MEP_OPERAND_HI : break; case MEP_OPERAND_LO : @@ -1192,57 +1116,6 @@ mep_cgen_extract_operand (CGEN_CPU_DESC cd, break; case MEP_OPERAND_EXC : break; - case MEP_OPERAND_FMAX_CCRN : - length = extract_normal (cd, ex_info, insn_value, 0, 0, 4, 4, 32, total_length, pc, & fields->f_fmax_4_4); - break; - case MEP_OPERAND_FMAX_FRD : - { - length = extract_normal (cd, ex_info, insn_value, 0, 0, 28, 1, 32, total_length, pc, & fields->f_fmax_28_1); - if (length <= 0) break; - length = extract_normal (cd, ex_info, insn_value, 0, 0, 4, 4, 32, total_length, pc, & fields->f_fmax_4_4); - if (length <= 0) break; - FLD (f_fmax_frd) = ((((FLD (f_fmax_28_1)) << (4))) | (FLD (f_fmax_4_4))); - } - break; - case MEP_OPERAND_FMAX_FRD_INT : - { - length = extract_normal (cd, ex_info, insn_value, 0, 0, 28, 1, 32, total_length, pc, & fields->f_fmax_28_1); - if (length <= 0) break; - length = extract_normal (cd, ex_info, insn_value, 0, 0, 4, 4, 32, total_length, pc, & fields->f_fmax_4_4); - if (length <= 0) break; - FLD (f_fmax_frd) = ((((FLD (f_fmax_28_1)) << (4))) | (FLD (f_fmax_4_4))); - } - break; - case MEP_OPERAND_FMAX_FRM : - { - length = extract_normal (cd, ex_info, insn_value, 0, 0, 30, 1, 32, total_length, pc, & fields->f_fmax_30_1); - if (length <= 0) break; - length = extract_normal (cd, ex_info, insn_value, 0, 0, 24, 4, 32, total_length, pc, & fields->f_fmax_24_4); - if (length <= 0) break; - FLD (f_fmax_frm) = ((((FLD (f_fmax_30_1)) << (4))) | (FLD (f_fmax_24_4))); - } - break; - case MEP_OPERAND_FMAX_FRN : - { - length = extract_normal (cd, ex_info, insn_value, 0, 0, 29, 1, 32, total_length, pc, & fields->f_fmax_29_1); - if (length <= 0) break; - length = extract_normal (cd, ex_info, insn_value, 0, 0, 20, 4, 32, total_length, pc, & fields->f_fmax_20_4); - if (length <= 0) break; - FLD (f_fmax_frn) = ((((FLD (f_fmax_29_1)) << (4))) | (FLD (f_fmax_20_4))); - } - break; - case MEP_OPERAND_FMAX_FRN_INT : - { - length = extract_normal (cd, ex_info, insn_value, 0, 0, 29, 1, 32, total_length, pc, & fields->f_fmax_29_1); - if (length <= 0) break; - length = extract_normal (cd, ex_info, insn_value, 0, 0, 20, 4, 32, total_length, pc, & fields->f_fmax_20_4); - if (length <= 0) break; - FLD (f_fmax_frn) = ((((FLD (f_fmax_29_1)) << (4))) | (FLD (f_fmax_20_4))); - } - break; - case MEP_OPERAND_FMAX_RM : - length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 4, 32, total_length, pc, & fields->f_fmax_rm); - break; case MEP_OPERAND_HI : break; case MEP_OPERAND_LO : @@ -1545,27 +1418,6 @@ mep_cgen_get_int_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, case MEP_OPERAND_EXC : value = 0; break; - case MEP_OPERAND_FMAX_CCRN : - value = fields->f_fmax_4_4; - break; - case MEP_OPERAND_FMAX_FRD : - value = fields->f_fmax_frd; - break; - case MEP_OPERAND_FMAX_FRD_INT : - value = fields->f_fmax_frd; - break; - case MEP_OPERAND_FMAX_FRM : - value = fields->f_fmax_frm; - break; - case MEP_OPERAND_FMAX_FRN : - value = fields->f_fmax_frn; - break; - case MEP_OPERAND_FMAX_FRN_INT : - value = fields->f_fmax_frn; - break; - case MEP_OPERAND_FMAX_RM : - value = fields->f_fmax_rm; - break; case MEP_OPERAND_HI : value = 0; break; @@ -1820,27 +1672,6 @@ mep_cgen_get_vma_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, case MEP_OPERAND_EXC : value = 0; break; - case MEP_OPERAND_FMAX_CCRN : - value = fields->f_fmax_4_4; - break; - case MEP_OPERAND_FMAX_FRD : - value = fields->f_fmax_frd; - break; - case MEP_OPERAND_FMAX_FRD_INT : - value = fields->f_fmax_frd; - break; - case MEP_OPERAND_FMAX_FRM : - value = fields->f_fmax_frm; - break; - case MEP_OPERAND_FMAX_FRN : - value = fields->f_fmax_frn; - break; - case MEP_OPERAND_FMAX_FRN_INT : - value = fields->f_fmax_frn; - break; - case MEP_OPERAND_FMAX_RM : - value = fields->f_fmax_rm; - break; case MEP_OPERAND_HI : value = 0; break; @@ -2097,27 +1928,6 @@ mep_cgen_set_int_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, break; case MEP_OPERAND_EXC : break; - case MEP_OPERAND_FMAX_CCRN : - fields->f_fmax_4_4 = value; - break; - case MEP_OPERAND_FMAX_FRD : - fields->f_fmax_frd = value; - break; - case MEP_OPERAND_FMAX_FRD_INT : - fields->f_fmax_frd = value; - break; - case MEP_OPERAND_FMAX_FRM : - fields->f_fmax_frm = value; - break; - case MEP_OPERAND_FMAX_FRN : - fields->f_fmax_frn = value; - break; - case MEP_OPERAND_FMAX_FRN_INT : - fields->f_fmax_frn = value; - break; - case MEP_OPERAND_FMAX_RM : - fields->f_fmax_rm = value; - break; case MEP_OPERAND_HI : break; case MEP_OPERAND_LO : @@ -2346,27 +2156,6 @@ mep_cgen_set_vma_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, break; case MEP_OPERAND_EXC : break; - case MEP_OPERAND_FMAX_CCRN : - fields->f_fmax_4_4 = value; - break; - case MEP_OPERAND_FMAX_FRD : - fields->f_fmax_frd = value; - break; - case MEP_OPERAND_FMAX_FRD_INT : - fields->f_fmax_frd = value; - break; - case MEP_OPERAND_FMAX_FRM : - fields->f_fmax_frm = value; - break; - case MEP_OPERAND_FMAX_FRN : - fields->f_fmax_frn = value; - break; - case MEP_OPERAND_FMAX_FRN_INT : - fields->f_fmax_frn = value; - break; - case MEP_OPERAND_FMAX_RM : - fields->f_fmax_rm = value; - break; case MEP_OPERAND_HI : break; case MEP_OPERAND_LO : diff --git a/opcodes/mep-opc.c b/opcodes/mep-opc.c index 330e286d45..fd832b09d2 100644 --- a/opcodes/mep-opc.c +++ b/opcodes/mep-opc.c @@ -45,7 +45,6 @@ init_mep_all_core_isas_mask (void) cgen_bitset_set (& mep_all_core_isas_mask, ISA_MEP); /* begin-all-core-isas */ cgen_bitset_add (& mep_all_core_isas_mask, ISA_EXT_CORE1); - cgen_bitset_add (& mep_all_core_isas_mask, ISA_EXT_CORE2); /* end-all-core-isas */ } @@ -58,10 +57,6 @@ init_mep_all_cop_isas_mask (void) return; cgen_bitset_init (& mep_all_cop_isas_mask, ISA_MAX); /* begin-all-cop-isas */ - cgen_bitset_add (& mep_all_cop_isas_mask, ISA_EXT_COP2_16); - cgen_bitset_add (& mep_all_cop_isas_mask, ISA_EXT_COP2_32); - cgen_bitset_add (& mep_all_cop_isas_mask, ISA_EXT_COP2_48); - cgen_bitset_add (& mep_all_cop_isas_mask, ISA_EXT_COP2_64); /* end-all-cop-isas */ } @@ -93,12 +88,9 @@ mep_config_map_struct mep_config_map[] = { /* config-map-start */ /* Default entry: mep core only, all options enabled. */ - { "", 0, EF_MEP_CPU_C2, 1, 0, {1,"\x0"}, {1,"\x0"}, {1,"\x0"}, {1,"\x0"}, {1,"\x0"}, {1,"\x80"}, OPTION_MASK }, - { "simple", CONFIG_SIMPLE, EF_MEP_CPU_C2, 1, 0, { 1, "\x0" }, { 1, "\x0" }, { 1, "\x0" }, { 1, "\x0" }, { 1, "\x0" }, { 1, "\xc0" }, - 0 }, - { "fmax", CONFIG_FMAX, EF_MEP_CPU_C2, 1, 0, { 1, "\x10" }, { 1, "\x8" }, { 1, "\x4" }, { 1, "\x2" }, { 1, "\x1e" }, { 1, "\xa0" }, + { "", 0, EF_MEP_CPU_C4, 1, 0, {1,"\x0"}, {1,"\x0"}, {1,"\x0"}, {1,"\x0"}, {1,"\x0"}, {1,"\x80"}, OPTION_MASK }, + { "default", CONFIG_DEFAULT, EF_MEP_CPU_C4, 0, 0, { 1, "\x0" }, { 1, "\x0" }, { 1, "\x0" }, { 1, "\x0" }, { 1, "\x0" }, { 1, "\xc0" }, 0 - | (1 << CGEN_INSN_OPTIONAL_CP_INSN) | (1 << CGEN_INSN_OPTIONAL_MUL_INSN) | (1 << CGEN_INSN_OPTIONAL_DIV_INSN) | (1 << CGEN_INSN_OPTIONAL_BIT_INSN) @@ -412,34 +404,6 @@ static const CGEN_IFMT ifmt_sim_syscall ATTRIBUTE_UNUSED = { 16, 16, 0xf8ef, { { F (F_MAJOR) }, { F (F_4) }, { F (F_CALLNUM) }, { F (F_8) }, { F (F_9) }, { F (F_10) }, { F (F_SUB4) }, { 0 } } }; -static const CGEN_IFMT ifmt_fadds ATTRIBUTE_UNUSED = { - 32, 32, 0xf0fff001, { { F (F_FMAX_0_4) }, { F (F_FMAX_FRD) }, { F (F_FMAX_8_4) }, { F (F_FMAX_12_4) }, { F (F_FMAX_16_4) }, { F (F_FMAX_FRN) }, { F (F_FMAX_FRM) }, { F (F_FMAX_31_1) }, { 0 } } -}; - -static const CGEN_IFMT ifmt_fsqrts ATTRIBUTE_UNUSED = { - 32, 32, 0xf0fff0f3, { { F (F_FMAX_0_4) }, { F (F_FMAX_FRD) }, { F (F_FMAX_8_4) }, { F (F_FMAX_12_4) }, { F (F_FMAX_16_4) }, { F (F_FMAX_FRN) }, { F (F_FMAX_24_4) }, { F (F_FMAX_30_1) }, { F (F_FMAX_31_1) }, { 0 } } -}; - -static const CGEN_IFMT ifmt_froundws ATTRIBUTE_UNUSED = { - 32, 32, 0xf0fff0f3, { { F (F_FMAX_0_4) }, { F (F_FMAX_FRD) }, { F (F_FMAX_8_4) }, { F (F_FMAX_12_4) }, { F (F_FMAX_16_4) }, { F (F_FMAX_FRN) }, { F (F_FMAX_24_4) }, { F (F_FMAX_30_1) }, { F (F_FMAX_31_1) }, { 0 } } -}; - -static const CGEN_IFMT ifmt_fcvtsw ATTRIBUTE_UNUSED = { - 32, 32, 0xf0fff0f3, { { F (F_FMAX_0_4) }, { F (F_FMAX_FRD) }, { F (F_FMAX_8_4) }, { F (F_FMAX_12_4) }, { F (F_FMAX_16_4) }, { F (F_FMAX_FRN) }, { F (F_FMAX_24_4) }, { F (F_FMAX_30_1) }, { F (F_FMAX_31_1) }, { 0 } } -}; - -static const CGEN_IFMT ifmt_fcmpfs ATTRIBUTE_UNUSED = { - 32, 32, 0xfffff009, { { F (F_FMAX_0_4) }, { F (F_FMAX_4_4) }, { F (F_FMAX_8_4) }, { F (F_FMAX_12_4) }, { F (F_FMAX_16_4) }, { F (F_FMAX_FRN) }, { F (F_FMAX_FRM) }, { F (F_FMAX_28_1) }, { F (F_FMAX_31_1) }, { 0 } } -}; - -static const CGEN_IFMT ifmt_cmov_frn_rm ATTRIBUTE_UNUSED = { - 32, 32, 0xf00ffff7, { { F (F_FMAX_0_4) }, { F (F_FMAX_FRD) }, { F (F_FMAX_RM) }, { F (F_FMAX_12_4) }, { F (F_FMAX_16_4) }, { F (F_FMAX_20_4) }, { F (F_FMAX_24_4) }, { F (F_FMAX_29_1) }, { F (F_FMAX_30_1) }, { F (F_FMAX_31_1) }, { 0 } } -}; - -static const CGEN_IFMT ifmt_cmovc_ccrn_rm ATTRIBUTE_UNUSED = { - 32, 32, 0xf00fffff, { { F (F_FMAX_0_4) }, { F (F_FMAX_4_4) }, { F (F_FMAX_RM) }, { F (F_FMAX_12_4) }, { F (F_FMAX_16_4) }, { F (F_FMAX_20_4) }, { F (F_FMAX_24_4) }, { F (F_FMAX_28_1) }, { F (F_FMAX_29_1) }, { F (F_FMAX_30_1) }, { F (F_FMAX_31_1) }, { 0 } } -}; - #undef F #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) @@ -1705,210 +1669,6 @@ static const CGEN_OPCODE mep_cgen_insn_opcode_table[MAX_INSNS] = { { MNEM, 0 } }, & ifmt_mov, { 0x700d } }, -/* fadds ${fmax-FRd},${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD), ',', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fadds, { 0xf0070000 } - }, -/* fsubs ${fmax-FRd},${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD), ',', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fadds, { 0xf0170000 } - }, -/* fmuls ${fmax-FRd},${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD), ',', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fadds, { 0xf0270000 } - }, -/* fdivs ${fmax-FRd},${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD), ',', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fadds, { 0xf0370000 } - }, -/* fsqrts ${fmax-FRd},${fmax-FRn} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD), ',', OP (FMAX_FRN), 0 } }, - & ifmt_fsqrts, { 0xf0470000 } - }, -/* fabss ${fmax-FRd},${fmax-FRn} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD), ',', OP (FMAX_FRN), 0 } }, - & ifmt_fsqrts, { 0xf0570000 } - }, -/* fnegs ${fmax-FRd},${fmax-FRn} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD), ',', OP (FMAX_FRN), 0 } }, - & ifmt_fsqrts, { 0xf0770000 } - }, -/* fmovs ${fmax-FRd},${fmax-FRn} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD), ',', OP (FMAX_FRN), 0 } }, - & ifmt_fsqrts, { 0xf0670000 } - }, -/* froundws ${fmax-FRd-int},${fmax-FRn} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD_INT), ',', OP (FMAX_FRN), 0 } }, - & ifmt_froundws, { 0xf0c70000 } - }, -/* ftruncws ${fmax-FRd-int},${fmax-FRn} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD_INT), ',', OP (FMAX_FRN), 0 } }, - & ifmt_froundws, { 0xf0d70000 } - }, -/* fceilws ${fmax-FRd-int},${fmax-FRn} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD_INT), ',', OP (FMAX_FRN), 0 } }, - & ifmt_froundws, { 0xf0e70000 } - }, -/* ffloorws ${fmax-FRd-int},${fmax-FRn} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD_INT), ',', OP (FMAX_FRN), 0 } }, - & ifmt_froundws, { 0xf0f70000 } - }, -/* fcvtws ${fmax-FRd-int},${fmax-FRn} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD_INT), ',', OP (FMAX_FRN), 0 } }, - & ifmt_froundws, { 0xf0471000 } - }, -/* fcvtsw ${fmax-FRd},${fmax-FRn-int} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD), ',', OP (FMAX_FRN_INT), 0 } }, - & ifmt_fcvtsw, { 0xf0079000 } - }, -/* fcmpfs ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0072000 } - }, -/* fcmpus ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0172000 } - }, -/* fcmpes ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0272000 } - }, -/* fcmpues ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0372000 } - }, -/* fcmpls ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0472000 } - }, -/* fcmpuls ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0572000 } - }, -/* fcmples ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0672000 } - }, -/* fcmpules ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0772000 } - }, -/* fcmpfis ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0872000 } - }, -/* fcmpuis ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0972000 } - }, -/* fcmpeis ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0a72000 } - }, -/* fcmpueis ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0b72000 } - }, -/* fcmplis ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0c72000 } - }, -/* fcmpulis ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0d72000 } - }, -/* fcmpleis ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0e72000 } - }, -/* fcmpuleis ${fmax-FRn},${fmax-FRm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRN), ',', OP (FMAX_FRM), 0 } }, - & ifmt_fcmpfs, { 0xf0f72000 } - }, -/* cmov ${fmax-FRd-int},${fmax-Rm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_FRD_INT), ',', OP (FMAX_RM), 0 } }, - & ifmt_cmov_frn_rm, { 0xf007f000 } - }, -/* cmov ${fmax-Rm},${fmax-FRd-int} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_RM), ',', OP (FMAX_FRD_INT), 0 } }, - & ifmt_cmov_frn_rm, { 0xf007f001 } - }, -/* cmovc ${fmax-CCRn},${fmax-Rm} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_CCRN), ',', OP (FMAX_RM), 0 } }, - & ifmt_cmovc_ccrn_rm, { 0xf007f002 } - }, -/* cmovc ${fmax-Rm},${fmax-CCRn} */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (FMAX_RM), ',', OP (FMAX_CCRN), 0 } }, - & ifmt_cmovc_ccrn_rm, { 0xf007f003 } - }, }; #undef A @@ -2004,62 +1764,62 @@ static const CGEN_IBASE mep_cgen_macro_insn_table[] = /* sb $rnc,$zero($rma) */ { -1, "sb16-0", "sb", 16, - { 0|A(NO_DIS)|A(ALIAS), { { { (1<