When moving asms out of the way, don't move all of them to the same place
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 Aug 2001 19:27:54 +0000 (19:27 +0000)
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 Aug 2001 19:27:54 +0000 (19:27 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45138 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/ia64/ia64.c

index a38da71..f58f86e 100644 (file)
@@ -3,6 +3,9 @@
        * config/ia64/ia64.c (rws_update): If !pred, set write_count
        instead of incrementing it.
 
+       * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
+       asm ready, don't try to move them all into the same array element.
+
 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
        * function.c (thread_prologue_and_epilogue_insns): Avoid
index fa73e55..ea1cf10 100644 (file)
@@ -6153,8 +6153,8 @@ ia64_internal_sched_reorder (dump, sched_verbose, ready, pn_ready,
            if (GET_CODE (PATTERN (insn)) == ASM_INPUT
                || asm_noperands (PATTERN (insn)) >= 0)
              {
-               rtx lowest = ready[0];
-               ready[0] = insn;
+               rtx lowest = ready[n_asms];
+               ready[n_asms] = insn;
                *insnp = lowest;
                n_asms++;
              }