diff options
-rw-r--r-- | opcodes/ChangeLog | 5 | ||||
-rw-r--r-- | opcodes/mips-dis.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 2832beb..db9f65e 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,10 @@ 2010-07-06 Maciej W. Rozycki <macro@codesourcery.com> + * mips-dis.c (print_insn_mips): Correct branch instruction type + determination. + +2010-07-06 Maciej W. Rozycki <macro@codesourcery.com> + * mips-dis.c (print_mips16_insn_arg): Remove branch instruction type and delay slot determination. (print_insn_mips16): Extend branch instruction type and delay 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; |