* config/tc-mips.c (append_insn): Don't move INSN_SYNC
authorDoug Evans <dje@google.com>
Thu, 10 Dec 1998 04:19:50 +0000 (04:19 +0000)
committerDoug Evans <dje@google.com>
Thu, 10 Dec 1998 04:19:50 +0000 (04:19 +0000)
instructions into delay slot.
Bring over from sky-980617-branch.

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

index 4e1570688a45439f96f6a2d32217b6274070be53..66dcf6a6aaa349d58d1b38d0e4d77b5f4d465964 100644 (file)
@@ -1,6 +1,11 @@
 start-sanitize-sky
 Wed Dec  9 17:06:48 1998  Doug Evans  <devans@canuck.cygnus.com>
 
+       Thu Nov 19 16:57:01 EST 1998  Frank Ch. Eigler <fche@cygnus.com>
+
+       * config/tc-mips.c (append_insn): Don't move INSN_SYNC
+       instructions into delay slot.
+
        Tue Oct 13 14:06:18 1998  Doug Evans  <devans@canuck.cygnus.com>
 
        * config/tc-dvp.h (md_end): Define.
index bfb58df0af1d3980e2721e92f4b554297c68b2c0..ea96c845c00772f948e2ecf897c61ca207d3d530 100644 (file)
@@ -2224,7 +2224,10 @@ append_insn (place, ip, address_expr, reloc_type, unmatched_hi)
              /* If the previous instruction had a fixup in mips16
                  mode, we can not swap.  This normally means that the
                  previous instruction was a 4 byte branch anyhow.  */
-             || (mips_opts.mips16 && prev_insn_fixp))
+             || (mips_opts.mips16 && prev_insn_fixp)
+             /* If the previous instruction is a sync, sync.l, or 
+                sync.p, we can not swap. */
+             || (prev_pinfo && INSN_SYNC))
            {
              /* We could do even better for unconditional branches to
                 portions of this object file; we could pick up the