From 3b63eac49f5f48cfb39de9a79b60754f4a41d659 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Thu, 23 Aug 2001 19:27:54 +0000 Subject: [PATCH] When moving asms out of the way, don't move all of them to the same place From-SVN: r45138 --- gcc/ChangeLog | 3 +++ gcc/config/ia64/ia64.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a38da71..f58f86e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 * function.c (thread_prologue_and_epilogue_insns): Avoid diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index fa73e55..ea1cf10 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -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++; } -- 2.7.4