summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordavidu <davidu@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-15 13:21:54 +0000
committerdavidu <davidu@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-15 13:21:54 +0000
commit1fae0ef9866747fb71493a141a14c35a104f9fd6 (patch)
tree1be339db8b5d6ba66d6893d1a6a82315c9d556cd
parentab08261f4decee3181e948c615632b2a9cfe8672 (diff)
downloadppe42-gcc-1fae0ef9866747fb71493a141a14c35a104f9fd6.tar.gz
ppe42-gcc-1fae0ef9866747fb71493a141a14c35a104f9fd6.zip
* config/mips/mips.c (mips_rtx_cost_data): Add cost for 4kc, 4kp,
24k and 24kx. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100982 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mips/mips.c40
2 files changed, 41 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e8aba50d7d8..03e034fb578 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-06-15 David Ung <davidu@mips.com>
+
+ * config/mips/mips.c (mips_rtx_cost_data): Add cost for 4kc, 4kp,
+ 24k and 24kx.
+
2005-06-15 Richard Sandiford <richard@codesourcery.com>
* doc/invoke.texi (-mips16): Fix typo.
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 8680fa7eb33..45490fd970e 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -755,10 +755,22 @@ static struct mips_rtx_cost_data const mips_rtx_cost_data[PROCESSOR_MAX] =
},
{ /* 4KC */
- DEFAULT_COSTS
+ SOFT_FP_COSTS,
+ COSTS_N_INSNS (6), /* int_mult_si */
+ COSTS_N_INSNS (6), /* int_mult_di */
+ COSTS_N_INSNS (36), /* int_div_si */
+ COSTS_N_INSNS (36), /* int_div_di */
+ 1, /* branch_cost */
+ 4 /* memory_latency */
},
{ /* 4KP */
- DEFAULT_COSTS
+ SOFT_FP_COSTS,
+ COSTS_N_INSNS (36), /* int_mult_si */
+ COSTS_N_INSNS (36), /* int_mult_di */
+ COSTS_N_INSNS (37), /* int_div_si */
+ COSTS_N_INSNS (37), /* int_div_di */
+ 1, /* branch_cost */
+ 4 /* memory_latency */
},
{ /* 5KC */
DEFAULT_COSTS
@@ -767,10 +779,30 @@ static struct mips_rtx_cost_data const mips_rtx_cost_data[PROCESSOR_MAX] =
DEFAULT_COSTS
},
{ /* 24k */
- DEFAULT_COSTS
+ COSTS_N_INSNS (8), /* fp_add */
+ COSTS_N_INSNS (8), /* fp_mult_sf */
+ COSTS_N_INSNS (10), /* fp_mult_df */
+ COSTS_N_INSNS (34), /* fp_div_sf */
+ COSTS_N_INSNS (64), /* fp_div_df */
+ COSTS_N_INSNS (5), /* int_mult_si */
+ COSTS_N_INSNS (5), /* int_mult_di */
+ COSTS_N_INSNS (41), /* int_div_si */
+ COSTS_N_INSNS (41), /* int_div_di */
+ 1, /* branch_cost */
+ 4 /* memory_latency */
},
{ /* 24kx */
- DEFAULT_COSTS
+ COSTS_N_INSNS (4), /* fp_add */
+ COSTS_N_INSNS (4), /* fp_mult_sf */
+ COSTS_N_INSNS (5), /* fp_mult_df */
+ COSTS_N_INSNS (17), /* fp_div_sf */
+ COSTS_N_INSNS (32), /* fp_div_df */
+ COSTS_N_INSNS (5), /* int_mult_si */
+ COSTS_N_INSNS (5), /* int_mult_di */
+ COSTS_N_INSNS (41), /* int_div_si */
+ COSTS_N_INSNS (41), /* int_div_di */
+ 1, /* branch_cost */
+ 4 /* memory_latency */
},
{ /* M4k */
DEFAULT_COSTS
OpenPOWER on IntegriCloud