This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH, moxie] Add mul.x and umul.x instruction support
- From: Anthony Green <green at moxielogic dot com>
- To: binutils at sourceware dot org
- Date: Wed, 24 Dec 2014 08:32:41 -0500
- Subject: [PATCH, moxie] Add mul.x and umul.x instruction support
- Authentication-results: sourceware.org; auth=none
I'm committing the attached patch, which adds support for the new mul.x
and umul.x instructions to the moxie port. It also adjusts the port for
some new instruction names as below. GCC has already been updated.
Thanks,
AG
2014-12-24 Anthony Green <green@moxielogic.com>
* moxie-opc: Define mul.x and umul.x instructions. Remove
trailing .l from add, sub, mul, div and udiv instructions.
diff --git a/opcodes/moxie-opc.c b/opcodes/moxie-opc.c
index ea3be80..a858088 100644
--- a/opcodes/moxie-opc.c
+++ b/opcodes/moxie-opc.c
@@ -57,7 +57,7 @@ const moxie_opc_info_t moxie_form1_opc_info[128] =
{ 0x02, MOXIE_F1_AB, "mov" },
{ 0x03, MOXIE_F1_M, "jsra" },
{ 0x04, MOXIE_F1_NARG, "ret" },
- { 0x05, MOXIE_F1_AB, "add.l" },
+ { 0x05, MOXIE_F1_AB, "add" },
{ 0x06, MOXIE_F1_AB, "push" },
{ 0x07, MOXIE_F1_AB, "pop" },
{ 0x08, MOXIE_F1_A4, "lda.l" },
@@ -72,8 +72,8 @@ const moxie_opc_info_t moxie_form1_opc_info[128] =
{ 0x11, MOXIE_F1_AB, "sex.s" },
{ 0x12, MOXIE_F1_AB, "zex.b" },
{ 0x13, MOXIE_F1_AB, "zex.s" },
- { 0x14, MOXIE_BAD, "bad" },
- { 0x15, MOXIE_BAD, "bad" },
+ { 0x14, MOXIE_F1_AB, "umul.x" },
+ { 0x15, MOXIE_F1_AB, "mul.x" },
{ 0x16, MOXIE_BAD, "bad" },
{ 0x17, MOXIE_BAD, "bad" },
{ 0x18, MOXIE_BAD, "bad" },
@@ -93,18 +93,18 @@ const moxie_opc_info_t moxie_form1_opc_info[128] =
{ 0x26, MOXIE_F1_AB, "and" },
{ 0x27, MOXIE_F1_AB, "lshr" },
{ 0x28, MOXIE_F1_AB, "ashl" },
- { 0x29, MOXIE_F1_AB, "sub.l" },
+ { 0x29, MOXIE_F1_AB, "sub" },
{ 0x2a, MOXIE_F1_AB, "neg" },
{ 0x2b, MOXIE_F1_AB, "or" },
{ 0x2c, MOXIE_F1_AB, "not" },
{ 0x2d, MOXIE_F1_AB, "ashr" },
{ 0x2e, MOXIE_F1_AB, "xor" },
- { 0x2f, MOXIE_F1_AB, "mul.l" },
+ { 0x2f, MOXIE_F1_AB, "mul" },
{ 0x30, MOXIE_F1_4, "swi" },
- { 0x31, MOXIE_F1_AB, "div.l" },
- { 0x32, MOXIE_F1_AB, "udiv.l" },
- { 0x33, MOXIE_F1_AB, "mod.l" },
- { 0x34, MOXIE_F1_AB, "umod.l" },
+ { 0x31, MOXIE_F1_AB, "div" },
+ { 0x32, MOXIE_F1_AB, "udiv" },
+ { 0x33, MOXIE_F1_AB, "mod" },
+ { 0x34, MOXIE_F1_AB, "umod" },
{ 0x35, MOXIE_F1_NARG, "brk" },
{ 0x36, MOXIE_F1_ABi4, "ldo.b" },
{ 0x37, MOXIE_F1_AiB4, "sto.b" },