diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b6b7c78..4f75a0a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-05-21 Jeffrey A Law <law@redhat.com> + + * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko. + (ix86_sched_reorder): Make sure to initialize scheduling + data even when there's only one insn in the ready queue. + 2002-05-21 Vladimir Makarov <vmakarov@redhat.com> * genautomata.c (reserv_sets_hash_value): Fix a typo. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index b76d524..1b8c9b8 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -10404,7 +10404,7 @@ ix86_sched_reorder_ppro (ready, e_ready) for (i = 1; i < 3; ++i) if (decode[i] == NULL) { - if (ready >= e_ready) + if (ready > e_ready) goto ppro_done; insnp = e_ready; @@ -10448,8 +10448,14 @@ ix86_sched_reorder (dump, sched_verbose, ready, n_readyp, clock_var) int n_ready = *n_readyp; rtx *e_ready = ready + n_ready - 1; + /* Make sure to go ahead and initialize key items in + ix86_sched_data if we are not going to bother trying to + reorder the ready queue. */ if (n_ready < 2) - goto out; + { + ix86_sched_data.ppro.issued_this_cycle = 1; + goto out; + } switch (ix86_cpu) { |