diff options
author | Jakub Jelinek <jakub@redhat.com> | 2016-01-23 10:54:53 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-01-23 10:54:53 +0100 |
commit | 5958f9e24850b9f8dc76d102ca3c7fe25b18fefc (patch) | |
tree | cf20c11044e5648d8397bd4be5eaad361f5c56a3 /gcc | |
parent | bc0cbd52afc64bf9eedb238da196961987970d31 (diff) | |
download | gcc-5958f9e24850b9f8dc76d102ca3c7fe25b18fefc.zip gcc-5958f9e24850b9f8dc76d102ca3c7fe25b18fefc.tar.gz gcc-5958f9e24850b9f8dc76d102ca3c7fe25b18fefc.tar.bz2 |
tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR directly instead of building a temporary tree.
* tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
directly instead of building a temporary tree.
From-SVN: r232764
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/tree-vect-stmts.c | 12 |
2 files changed, 8 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5841c09..e84d60a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2016-01-23 Jakub Jelinek <jakub@redhat.com> + * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR + directly instead of building a temporary tree. + PR bootstrap/69434 * genrecog.c: Define INCLUDE_ALGORITHM before including system.h, remove <algorithm> include. diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index 1d2246d..c986a002 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -7478,7 +7478,7 @@ vectorizable_condition (gimple *stmt, gimple_stmt_iterator *gsi, tree comp_vectype = NULL_TREE; tree vec_cond_lhs = NULL_TREE, vec_cond_rhs = NULL_TREE; tree vec_then_clause = NULL_TREE, vec_else_clause = NULL_TREE; - tree vec_compare, vec_cond_expr; + tree vec_compare; tree new_temp; loop_vec_info loop_vinfo = STMT_VINFO_LOOP_VINFO (stmt_info); enum vect_def_type dt, dts[4]; @@ -7691,12 +7691,10 @@ vectorizable_condition (gimple *stmt, gimple_stmt_iterator *gsi, vec_compare = build2 (TREE_CODE (cond_expr), vec_cmp_type, vec_cond_lhs, vec_cond_rhs); } - vec_cond_expr = build3 (VEC_COND_EXPR, vectype, - vec_compare, vec_then_clause, vec_else_clause); - - new_stmt = gimple_build_assign (vec_dest, vec_cond_expr); - new_temp = make_ssa_name (vec_dest, new_stmt); - gimple_assign_set_lhs (new_stmt, new_temp); + new_temp = make_ssa_name (vec_dest); + new_stmt = gimple_build_assign (new_temp, VEC_COND_EXPR, + vec_compare, vec_then_clause, + vec_else_clause); vect_finish_stmt_generation (stmt, new_stmt, gsi); if (slp_node) SLP_TREE_VEC_STMTS (slp_node).quick_push (new_stmt); |