diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2013-07-07 09:41:04 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2013-07-07 09:41:04 +0000 |
commit | e76ff5abe375e1e7535f7827db01bce70bc9710d (patch) | |
tree | 258d8a6afed199e45671cb834a96d2c28f66af79 /opcodes/mips-dis.c | |
parent | fa7616a4c7661cf786f3eaa9282072ca5dd8099c (diff) | |
download | gdb-e76ff5abe375e1e7535f7827db01bce70bc9710d.zip gdb-e76ff5abe375e1e7535f7827db01bce70bc9710d.tar.gz gdb-e76ff5abe375e1e7535f7827db01bce70bc9710d.tar.bz2 |
include/opcode/
* mips.h: Remove "mi" documentation. Update "mh" documentation.
(OP_MASK_MI, OP_SH_MI, MICROMIPSOP_MASK_MI, MICROMIPSOP_MASK_MI):
Delete.
(INSN2_WRITE_GPR_MHI): Rename to...
(INSN2_WRITE_GPR_MH): ...this.
opcodes/
* micromips-opc.c (WR_mhi): Rename to..
(WR_mh): ...this.
(micromips_opcodes): Update "movep" entry accordingly. Replace
"mh,mi" with "mh".
* mips-dis.c (micromips_to_32_reg_h_map): Rename to...
(micromips_to_32_reg_h_map1): ...this.
(micromips_to_32_reg_i_map): Rename to...
(micromips_to_32_reg_h_map2): ...this.
(print_micromips_insn): Remove "mi" case. Print both registers
in the pair for "mh".
gas/
* config/tc-mips.c (mips32_to_micromips_reg_h_map): Delete.
(micromips_to_32_reg_h_map): Rename to...
(micromips_to_32_reg_h_map1): ...this.
(micromips_to_32_reg_i_map): Rename to...
(micromips_to_32_reg_h_map2): ...this.
(mips_lookup_reg_pair): New function.
(gpr_write_mask, macro): Adjust after above renaming.
(validate_micromips_insn): Remove "mi" handling.
(mips_ip): Likewise. Parse both registers in a pair for "mh".
Diffstat (limited to 'opcodes/mips-dis.c')
-rw-r--r-- | opcodes/mips-dis.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c index 333d4fe..4d89220 100644 --- a/opcodes/mips-dis.c +++ b/opcodes/mips-dis.c @@ -76,13 +76,11 @@ static const unsigned int mips16_to_32_reg_map[] = #define micromips_to_32_reg_g_map mips16_to_32_reg_map /* The microMIPS registers with type h. */ -static const unsigned int micromips_to_32_reg_h_map[] = +static const unsigned int micromips_to_32_reg_h_map1[] = { 5, 5, 6, 4, 4, 4, 4, 4 }; - -/* The microMIPS registers with type i. */ -static const unsigned int micromips_to_32_reg_i_map[] = +static const unsigned int micromips_to_32_reg_h_map2[] = { 6, 7, 7, 21, 22, 5, 6, 7 }; @@ -2716,13 +2714,10 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info) break; case 'h': - regno = micromips_to_32_reg_h_map[GET_OP (insn, MH)]; - infprintf (is, "%s", mips_gpr_names[regno]); - break; - - case 'i': - regno = micromips_to_32_reg_i_map[GET_OP (insn, MI)]; + regno = micromips_to_32_reg_h_map1[GET_OP (insn, MH)]; infprintf (is, "%s", mips_gpr_names[regno]); + regno = micromips_to_32_reg_h_map2[GET_OP (insn, MH)]; + infprintf (is, ",%s", mips_gpr_names[regno]); break; case 'j': |