diff options
author | Jan Hubicka <hubicka@freesoft.cz> | 1999-04-17 21:23:54 +0200 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-04-17 12:23:54 -0700 |
commit | 73fe76e49623a713bdf92a7c009cbf6e5227871e (patch) | |
tree | cb527cb2987c98a40fe1a1dcc4360f193c44634d | |
parent | d119f84ce709de6c2027065de97d2dd13ca57444 (diff) | |
download | gcc-73fe76e49623a713bdf92a7c009cbf6e5227871e.zip gcc-73fe76e49623a713bdf92a7c009cbf6e5227871e.tar.gz gcc-73fe76e49623a713bdf92a7c009cbf6e5227871e.tar.bz2 |
* i386.c (k6_cost): Take into account the decoding time.
From-SVN: r26526
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 9 |
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 84223a7..0201f21 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Sat Apr 17 19:22:38 1999 Jan Hubicka <hubicka@freesoft.cz> + + * i386.c (k6_cost): Take into account the decoding time. + Sat Apr 17 19:13:22 1999 Donn Terry <donn@interix.com> * i386.h (PRINT_OPERAND_PUNCT_VALID_P): Allow _. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 2ac0767..b5173d6 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -100,14 +100,19 @@ struct processor_costs pentiumpro_cost = { 17 /* cost of a divide/mod */ }; +/* We use decoding time together with execution time. + To get correct vale add 1 for short decodable, 2 for long decodable + and 4 for vector decodable instruction to execution time and divide + by two (because CPU is able to do two insns at a time). */ + struct processor_costs k6_cost = { 1, /* cost of an add instruction */ 1, /* cost of a lea instruction */ 1, /* variable shift costs */ 1, /* constant shift costs */ - 2, /* cost of starting a multiply */ + 3, /* cost of starting a multiply */ 0, /* cost of multiply per each bit set */ - 18 /* cost of a divide/mod */ + 20 /* cost of a divide/mod */ }; struct processor_costs *ix86_cost = &pentium_cost; |