OSDN Git Service

opcodes: blackfin: ignore (M) on MAC0-only dsp mac funcs
authorvapier <vapier>
Thu, 24 Mar 2011 05:27:38 +0000 (05:27 +0000)
committervapier <vapier>
Thu, 24 Mar 2011 05:27:38 +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 6ef4525..734f824 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 2357a2a..130dfc7 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));