diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 825d6ff..21b0b5c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Apr 14 09:19:39 1999 Jan Hubicka <hubicka@freesoft.cz> + + * i386.c (x86_adjust_cost): Agi stall takes 1 cycle on Pentium, fst + requires value to be ready one extra cycle. + Wed Apr 14 11:28:34 1999 Dave Brolley <brolley@cygnus.com> * config/i386/i386.c (memory_address_length): Add missing parenthesis. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 425da93..3da661a 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -5424,7 +5424,7 @@ x86_adjust_cost (insn, link, dep_insn, cost) return 0; if (agi_dependent (insn, dep_insn)) - return 3; + return cost ? cost + 1 : 2; if (GET_CODE (insn) == INSN && GET_CODE (PATTERN (insn)) == SET @@ -5435,6 +5435,10 @@ x86_adjust_cost (insn, link, dep_insn, cost) return 0; break; + /* Stores stalls one cycle longer than other insns. */ + if (is_fp_insn (insn) && cost && is_fp_store (dep_insn)) + cost++; + case PROCESSOR_K6: default: if (!is_fp_dest (dep_insn)) |