* mips-dis.c (print_insn_mips): Correct branch instruction type
authorMaciej W. Rozycki <macro@linux-mips.org>
Tue, 6 Jul 2010 00:06:04 +0000 (00:06 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Tue, 6 Jul 2010 00:06:04 +0000 (00:06 +0000)
determination.

opcodes/ChangeLog
opcodes/mips-dis.c

index 2832bebe9ad6b96fc927adb9416bc7524743d914..db9f65e8e7a387143528e109fd95dc1626e5e87b 100644 (file)
@@ -1,3 +1,8 @@
+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
index 01e446c56aa507f0bb3cf0f73f4d8fbb4f2a1155..c0cfed671ed8422d48dbfe0ae0c1e02d2f25a8e7 100644 (file)
@@ -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;