summaryrefslogtreecommitdiff
path: root/opcodes/mips-dis.c
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2010-07-06 00:06:03 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2010-07-06 00:06:03 +0000
commit9cf030d8ebdd5abea4a1b2862c34e8ad4f2c27f9 (patch)
tree04413d922644714dcd5199f82145f12a56b051d0 /opcodes/mips-dis.c
parent385884ae41a427a74f720d8ab6f1d8c18733e2e5 (diff)
downloadgdb-9cf030d8ebdd5abea4a1b2862c34e8ad4f2c27f9.tar.gz
* mips-dis.c (print_insn_mips): Correct branch instruction type
determination.
Diffstat (limited to 'opcodes/mips-dis.c')
-rw-r--r--opcodes/mips-dis.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c
index 01e446c56aa..c0cfed671ed 100644
--- a/opcodes/mips-dis.c
+++ b/opcodes/mips-dis.c
@@ -1404,7 +1404,8 @@ print_insn_mips (bfd_vma memaddr,
/* Figure out instruction type and branch delay information. */
if ((op->pinfo & INSN_UNCOND_BRANCH_DELAY) != 0)
{
- if ((info->insn_type & INSN_WRITE_GPR_31) != 0)
+ if ((op->pinfo & (INSN_WRITE_GPR_31
+ | INSN_WRITE_GPR_D)) != 0)
info->insn_type = dis_jsr;
else
info->insn_type = dis_branch;
@@ -1413,7 +1414,7 @@ print_insn_mips (bfd_vma memaddr,
else if ((op->pinfo & (INSN_COND_BRANCH_DELAY
| INSN_COND_BRANCH_LIKELY)) != 0)
{
- if ((info->insn_type & INSN_WRITE_GPR_31) != 0)
+ if ((op->pinfo & INSN_WRITE_GPR_31) != 0)
info->insn_type = dis_condjsr;
else
info->insn_type = dis_condbranch;