aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2004-06-24 20:38:59 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2004-06-24 20:38:59 +0000
commit79066482014cb25e9743b44622fb304b6633b24b (patch)
tree828057c4687d4f96aef70cc16e0b9d50417bc785
parent3db4a9b428b760809fdff522272b95c378949e9b (diff)
downloadgcc-79066482014cb25e9743b44622fb304b6633b24b.zip
gcc-79066482014cb25e9743b44622fb304b6633b24b.tar.gz
gcc-79066482014cb25e9743b44622fb304b6633b24b.tar.bz2
re PR middle-end/15239 (suboptimal mult-by-const expansion cost limit)
PR middle-end/15239 * expmed.c (expand_mult): Remove artificial restriction on the maximum cost of a synthetic multiplication sequence. From-SVN: r83610
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/expmed.c1
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a08ab3f..d0c4473 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-06-24 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/15239
+ * expmed.c (expand_mult): Remove artificial restriction on the
+ maximum cost of a synthetic multiplication sequence.
+
2004-06-24 Eric Christopher <echristo@redhat.com>
* combine.c (distribute_notes): Don't delete sets to
diff --git a/gcc/expmed.c b/gcc/expmed.c
index ae76695..c862503 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -2664,7 +2664,6 @@ expand_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target,
&& (unsignedp || !flag_trapv))
{
int mult_cost = rtx_cost (gen_rtx_MULT (mode, op0, op1), SET);
- mult_cost = MIN (12 * add_cost[mode], mult_cost);
if (choose_mult_variant (mode, INTVAL (const_op1), &algorithm, &variant,
mult_cost))