summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-reassoc.c
diff options
context:
space:
mode:
authorMichael Matz <matz@gcc.gnu.org>2010-05-10 14:31:37 +0000
committerMichael Matz <matz@gcc.gnu.org>2010-05-10 14:31:37 +0000
commit8a9ecffd3f68eca6ff3031afb7edc79988773896 (patch)
tree23003a727a703aa73b4c09b5ba60eb77c600ebdf /gcc/tree-ssa-reassoc.c
parent46044dd988812b122ba11b1d517f936eaeec4a52 (diff)
downloadgcc-8a9ecffd3f68eca6ff3031afb7edc79988773896.tar.gz
tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
* tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg. (can_reassociate_p): Use FLOAT_TYPE_P. * tree-vectorizer.h (vect_is_simple_reduction): Rename to ... (vect_force_simple_reduction): ... this. * tree-parloops.c (gather_scalar_reductions): Use vect_force_simple_reduction. * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from vect_is_simple_reduction, add modify argument, if true rewrite "a-b" into "a+(-b)". (vect_is_simple_reduction, vect_force_simple_reduction): New functions. (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction. testsuite/ * gcc.dg/vect/fast-math-vect-reduc-8.c: New test. From-SVN: r159226
Diffstat (limited to 'gcc/tree-ssa-reassoc.c')
-rw-r--r--gcc/tree-ssa-reassoc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index 6bdb57ec2b2..ae630e55fdb 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -1165,7 +1165,7 @@ undistribute_ops_list (enum tree_code opcode,
fprintf (dump_file, "Building (");
print_generic_expr (dump_file, oe1->op, 0);
}
- tmpvar = create_tmp_var (TREE_TYPE (oe1->op), NULL);
+ tmpvar = create_tmp_reg (TREE_TYPE (oe1->op), NULL);
add_referenced_var (tmpvar);
zero_one_operation (&oe1->op, c->oecode, c->op);
EXECUTE_IF_SET_IN_SBITMAP (candidates2, first+1, i, sbi0)
@@ -1948,7 +1948,7 @@ can_reassociate_p (tree op)
tree type = TREE_TYPE (op);
if (INTEGRAL_TYPE_P (type)
|| NON_SAT_FIXED_POINT_TYPE_P (type)
- || (flag_associative_math && SCALAR_FLOAT_TYPE_P (type)))
+ || (flag_associative_math && FLOAT_TYPE_P (type)))
return true;
return false;
}