opcodes: blackfin: ignore (M) on MAC0-only dsp mac funcs
authorMike Frysinger <vapier@gentoo.org>
Thu, 24 Mar 2011 05:27:39 +0000 (05:27 +0000)
committerMike Frysinger <vapier@gentoo.org>
Thu, 24 Mar 2011 05:27:39 +0000 (05:27 +0000)
If the MAC1 part of the insn is disabled, then the (M) flag is ignored.
Rather than include it in the decode, move the MM clearing to the MAC0
portion of the code.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
opcodes/ChangeLog
opcodes/bfin-dis.c

index 6ef45255f025005dd5136fc6dac915b58411056a..734f824cd4129e9073dc3f1fff2314752b92d45d 100644 (file)
@@ -1,3 +1,7 @@
+2011-03-24  Mike Frysinger  <vapier@gentoo.org>
+
+       * bfin-dis.c (decode_dsp32mac_0): Move MM zeroing down to MAC0 logic.
+
 2011-03-22  Eric B. Weddington  <eric.weddington@atmel.com>
 
        * avr-dis.c (avr_operand): Add opcode_str parameter. Check for
index 2357a2a45de1561bec48673429eb5c97dc4531d5..130dfc7719e5b4bc42517eea0a76445992ce59ba 100644 (file)
@@ -3010,13 +3010,16 @@ decode_dsp32mac_0 (TIword iw0, TIword iw1, disassemble_info *outf)
        {
          if (MM)
            OUTS (outf, " (M)");
-         MM = 0;
          OUTS (outf, ", ");
        }
     }
 
   if (w0 == 1 || op0 != 3)
     {
+      /* Clear MM option since it only matters for MAC1, and if we made
+         it this far, we've already shown it or we want to ignore it.  */
+      MM = 0;
+
       if (w0)
        OUTS (outf, P ? dregs (dst) : dregs_lo (dst));