diff options
Diffstat (limited to 'opcodes/or1k-opc.c')
-rw-r--r-- | opcodes/or1k-opc.c | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/opcodes/or1k-opc.c b/opcodes/or1k-opc.c index ba820a4..337dda5 100644 --- a/opcodes/or1k-opc.c +++ b/opcodes/or1k-opc.c @@ -116,6 +116,10 @@ static const CGEN_IFMT ifmt_l_and ATTRIBUTE_UNUSED = { 32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_R1) }, { F (F_R2) }, { F (F_R3) }, { F (F_RESV_10_7) }, { F (F_OP_3_4) }, { 0 } } }; +static const CGEN_IFMT ifmt_l_muld ATTRIBUTE_UNUSED = { + 32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RESV_25_5) }, { F (F_R2) }, { F (F_R3) }, { F (F_RESV_10_7) }, { F (F_OP_3_4) }, { 0 } } +}; + static const CGEN_IFMT ifmt_l_exths ATTRIBUTE_UNUSED = { 32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_R1) }, { F (F_R2) }, { F (F_RESV_15_6) }, { F (F_OP_9_4) }, { F (F_RESV_5_2) }, { F (F_OP_3_4) }, { 0 } } }; @@ -457,12 +461,24 @@ static const CGEN_OPCODE or1k_cgen_insn_opcode_table[MAX_INSNS] = { { MNEM, ' ', OP (RD), ',', OP (RA), ',', OP (RB), 0 } }, & ifmt_l_and, { 0xe0000306 } }, +/* l.muld $rA,$rB */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (RA), ',', OP (RB), 0 } }, + & ifmt_l_muld, { 0xe0000307 } + }, /* l.mulu $rD,$rA,$rB */ { { 0, 0, 0, 0 }, { { MNEM, ' ', OP (RD), ',', OP (RA), ',', OP (RB), 0 } }, & ifmt_l_and, { 0xe000030b } }, +/* l.muldu $rA,$rB */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (RA), ',', OP (RB), 0 } }, + & ifmt_l_muld, { 0xe000030d } + }, /* l.div $rD,$rA,$rB */ { { 0, 0, 0, 0 }, @@ -691,17 +707,29 @@ static const CGEN_OPCODE or1k_cgen_insn_opcode_table[MAX_INSNS] = { { MNEM, ' ', OP (RA), ',', OP (RB), 0 } }, & ifmt_l_mac, { 0xc4000001 } }, +/* l.maci $rA,${simm16} */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (RA), ',', OP (SIMM16), 0 } }, + & ifmt_l_maci, { 0x4c000000 } + }, +/* l.macu $rA,$rB */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (RA), ',', OP (RB), 0 } }, + & ifmt_l_mac, { 0xc4000003 } + }, /* l.msb $rA,$rB */ { { 0, 0, 0, 0 }, { { MNEM, ' ', OP (RA), ',', OP (RB), 0 } }, & ifmt_l_mac, { 0xc4000002 } }, -/* l.maci $rA,${simm16} */ +/* l.msbu $rA,$rB */ { { 0, 0, 0, 0 }, - { { MNEM, ' ', OP (RA), ',', OP (SIMM16), 0 } }, - & ifmt_l_maci, { 0x4c000000 } + { { MNEM, ' ', OP (RA), ',', OP (RB), 0 } }, + & ifmt_l_mac, { 0xc4000004 } }, /* l.cust1 */ { |