* config/tc-d30v.c (write_2_short): Don't group repeat instructions
authorJoern Rennecke <joern.rennecke@embecosm.com>
Mon, 9 Aug 1999 19:04:27 +0000 (19:04 +0000)
committerJoern Rennecke <joern.rennecke@embecosm.com>
Mon, 9 Aug 1999 19:04:27 +0000 (19:04 +0000)
with the following instruction unless this was specified.

gas/ChangeLog
gas/config/tc-d30v.c

index 43ee309b05f98eee8b958afafac6441139dbf7d3..1eee5ce7302017b572ae22116116ea801009d679 100644 (file)
@@ -1,3 +1,8 @@
+Mon Aug  9 20:02:22 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * config/tc-d30v.c (write_2_short): Don't group repeat instructions
+       with the following instruction unless this was specified.
+
 1999-08-09  Ian Lance Taylor  <ian@zembu.com>
 
        * config/tc-i386.h (SUB_SEGMENT_ALIGN): If TE_GO32, return 4 for
index 0682a57ee8aab335a93ac6a955c58577573db219..04ceebe872c1106b574519d4dd01eefbf5cafcd9 100644 (file)
@@ -799,12 +799,16 @@ write_2_short (opcode1, insn1, opcode2, insn2, exec_type, fx)
              fx = fx->next;
            }
        }
-      else if (opcode1->op->flags_used & (FLAG_JMP | FLAG_JSR)
-              && ((opcode1->op->flags_used & FLAG_DELAY) == 0)
-              && ((opcode1->ecc == ECC_AL) || ! Optimizing))
+      else if ((opcode1->op->flags_used & (FLAG_JMP | FLAG_JSR)
+               && ((opcode1->op->flags_used & FLAG_DELAY) == 0)
+               && ((opcode1->ecc == ECC_AL) || ! Optimizing))
+              || opcode1->op->flags_used & FLAG_RP)
        {
          /* We must emit (non-delayed) branch type instructions
             on their own with nothing in the right container.  */
+         /* We must treat repeat instructions likewise, since the
+            following instruction has to be separate from the repeat
+            in order to be repeated.  */
          write_1_short (opcode1, insn1, fx->next, false);
          return 1;
        }