aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/tree-ssa-loop-im.c14
2 files changed, 5 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 660e339..c2b0142 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
+ * tree-ssa-loop-im.c (rewrite_reciprocal): Use build_one_cst.
+
+2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
+
* fold-const.c (build_zero_vector): Use build_vector_from_val.
* tree-vect-loop.c (get_initial_def_for_induction): Likewise.
(get_initial_def_for_reduction): Likewise.
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index 1894572..45902e5 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -910,19 +910,7 @@ rewrite_reciprocal (gimple_stmt_iterator *bsi)
add_referenced_var (var);
DECL_GIMPLE_REG_P (var) = 1;
- /* For vectors, create a VECTOR_CST full of 1's. */
- if (TREE_CODE (type) == VECTOR_TYPE)
- {
- int i, len;
- tree list = NULL_TREE;
- real_one = build_real (TREE_TYPE (type), dconst1);
- len = TYPE_VECTOR_SUBPARTS (type);
- for (i = 0; i < len; i++)
- list = tree_cons (NULL, real_one, list);
- real_one = build_vector (type, list);
- }
- else
- real_one = build_real (type, dconst1);
+ real_one = build_one_cst (type);
stmt1 = gimple_build_assign_with_ops (RDIV_EXPR,
var, real_one, gimple_assign_rhs2 (stmt));