aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssa-loop-im.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1da3491..9ef7e64 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-10-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-loop-im.c (stmt_cost): Add WIDEN_*, FMA_EXPR
+ and rotates to the set of expensive operations.
+
2011-10-19 David S. Miller <davem@davemloft.net>
* config/sparc/sparc.c (sparc_expand_move): Use
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index cb52791..4bc9ffd 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -549,6 +549,11 @@ stmt_cost (gimple stmt)
switch (gimple_assign_rhs_code (stmt))
{
case MULT_EXPR:
+ case WIDEN_MULT_EXPR:
+ case WIDEN_MULT_PLUS_EXPR:
+ case WIDEN_MULT_MINUS_EXPR:
+ case DOT_PROD_EXPR:
+ case FMA_EXPR:
case TRUNC_DIV_EXPR:
case CEIL_DIV_EXPR:
case FLOOR_DIV_EXPR:
@@ -565,6 +570,9 @@ stmt_cost (gimple stmt)
case LSHIFT_EXPR:
case RSHIFT_EXPR:
+ case WIDEN_LSHIFT_EXPR:
+ case LROTATE_EXPR:
+ case RROTATE_EXPR:
cost += 20;
break;