diff options
author | DJ Delorie <dj@redhat.com> | 2009-04-18 02:56:43 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2009-04-18 02:56:43 +0000 |
commit | 45be3704c822b201bb2ec4734a550237f3aa2f74 (patch) | |
tree | 8899641d60f4371ea7b966cae75f3594c88324c5 /opcodes/mep-opc.c | |
parent | 52de720d5d653198146681e75d14f4d31b3dd6eb (diff) | |
download | gdb-45be3704c822b201bb2ec4734a550237f3aa2f74.zip gdb-45be3704c822b201bb2ec4734a550237f3aa2f74.tar.gz gdb-45be3704c822b201bb2ec4734a550237f3aa2f74.tar.bz2 |
[cgen]
* cpu/mep-c5.cpu (f-12s20): Change to signed.
(lhucpm1): Limit to C5 mach.
(dsp0,dsp1): Rewrite as aliases so that intrinsics are generated.
* cpu/mep-core.cpu (extend-cdisp10): New.
(f-cdisp10): Change to signed, use extend-cdisp10 to sign extend.
[opcodes]
* mep-desc.c: Regenerate.
* mep-ibld.c: Regenerate.
* mep-opc.c: Regenerate.
* mep-opc.h: Regenerate.
[sid/component/cgen-cpu/mep]
* mep-core1-decode.cxx: Regenerate.
* mep-core1-decode.h: Regenerate.
* mep-decode.cxx: Regenerate.
* mep-decode.h: Regenerate.
Diffstat (limited to 'opcodes/mep-opc.c')
-rw-r--r-- | opcodes/mep-opc.c | 50 |
1 files changed, 20 insertions, 30 deletions
diff --git a/opcodes/mep-opc.c b/opcodes/mep-opc.c index bd298cb..e2711e7 100644 --- a/opcodes/mep-opc.c +++ b/opcodes/mep-opc.c @@ -212,6 +212,14 @@ static const CGEN_IFMT ifmt_dsp ATTRIBUTE_UNUSED = { 32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16U16) }, { 0 } } }; +static const CGEN_IFMT ifmt_dsp0 ATTRIBUTE_UNUSED = { + 32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_C5_RNMUIMM24) }, { F (F_SUB4) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_dsp1 ATTRIBUTE_UNUSED = { + 32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_C5_RMUIMM20) }, { F (F_SUB4) }, { 0 } } +}; + static const CGEN_IFMT ifmt_sb ATTRIBUTE_UNUSED = { 16, 16, 0xf00f, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } } }; @@ -569,6 +577,18 @@ static const CGEN_OPCODE mep_cgen_insn_opcode_table[MAX_INSNS] = { { MNEM, ' ', OP (RN), ',', OP (RM), ',', OP (UIMM16), 0 } }, & ifmt_dsp, { 0xf0000000 } }, +/* dsp0 $c5rnmuimm24 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (C5RNMUIMM24), 0 } }, + & ifmt_dsp0, { 0xf0000000 } + }, +/* dsp1 $rn,$c5rmuimm20 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (RN), ',', OP (C5RMUIMM20), 0 } }, + & ifmt_dsp1, { 0xf0000000 } + }, /* sb $rnc,($rma) */ { { 0, 0, 0, 0 }, @@ -1795,14 +1815,6 @@ static const CGEN_OPCODE mep_cgen_insn_opcode_table[MAX_INSNS] = #else #define F(f) & mep_cgen_ifld_table[MEP_/**/f] #endif -static const CGEN_IFMT ifmt_dsp0 ATTRIBUTE_UNUSED = { - 32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16U16) }, { 0 } } -}; - -static const CGEN_IFMT ifmt_dsp1 ATTRIBUTE_UNUSED = { - 32, 32, 0xf00f0000, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_16U16) }, { 0 } } -}; - static const CGEN_IFMT ifmt_nop ATTRIBUTE_UNUSED = { 16, 16, 0xffff, { { F (F_MAJOR) }, { F (F_RN) }, { F (F_RM) }, { F (F_SUB4) }, { 0 } } }; @@ -1876,16 +1888,6 @@ static const CGEN_IFMT ifmt_lmcp16_0 ATTRIBUTE_UNUSED = { static const CGEN_IBASE mep_cgen_macro_insn_table[] = { -/* dsp0 $c5rnmuimm24 */ - { - -1, "dsp0", "dsp0", 32, - { 0|A(VOLATILE)|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_C5), 0 } }, { { 1, "\xc0" } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } } } } - }, -/* dsp1 $rn,$c5rmuimm20 */ - { - -1, "dsp1", "dsp1", 32, - { 0|A(VOLATILE)|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_C5), 0 } }, { { 1, "\xc0" } }, { { 0, 0 } }, { { CONFIG_NONE, 0 } } } } - }, /* nop */ { -1, "nop", "nop", 16, @@ -1957,18 +1959,6 @@ static const CGEN_IBASE mep_cgen_macro_insn_table[] = static const CGEN_OPCODE mep_cgen_macro_insn_opcode_table[] = { -/* dsp0 $c5rnmuimm24 */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (C5RNMUIMM24), 0 } }, - & ifmt_dsp0, { 0xf0000000 } - }, -/* dsp1 $rn,$c5rmuimm20 */ - { - { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (RN), ',', OP (C5RMUIMM20), 0 } }, - & ifmt_dsp1, { 0xf0000000 } - }, /* nop */ { { 0, 0, 0, 0 }, |