aboutsummaryrefslogtreecommitdiff
path: root/opcodes/mips-dis.c
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2010-07-06 00:06:04 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2010-07-06 00:06:04 +0000
commitc680e7f672a30b81ccffb8e2d1bcd01bca659c55 (patch)
treead1e93da2757bb095578edcbd23dd9130ced36db /opcodes/mips-dis.c
parent9a2c7088871654be1a94ea4d721fb9c76b4a3162 (diff)
downloadgdb-c680e7f672a30b81ccffb8e2d1bcd01bca659c55.zip
gdb-c680e7f672a30b81ccffb8e2d1bcd01bca659c55.tar.gz
gdb-c680e7f672a30b81ccffb8e2d1bcd01bca659c55.tar.bz2
* 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 01e446c..c0cfed6 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;