Commit 512854fe by Alan Hayward Committed by Alan Hayward

tree-vect-loop.c (vect_create_epilog_for_reduction): Fix VEC_COND_EXPR types.

2015-10-26  Alan Hayward <alan.hayward@arm.com>

	* tree-vect-loop.c (vect_create_epilog_for_reduction): Fix
	VEC_COND_EXPR types.

From-SVN: r229346
parent aafc151a
2015-10-26 Alan Hayward <alan.hayward@arm.com>
* tree-vect-loop.c (vect_create_epilog_for_reduction): Fix
VEC_COND_EXPR types.
2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* auto-inc-dec.c (insert_move_insn_before): Delete. * auto-inc-dec.c (insert_move_insn_before): Delete.
...@@ -4290,8 +4290,9 @@ vect_create_epilog_for_reduction (vec<tree> vect_defs, gimple *stmt, ...@@ -4290,8 +4290,9 @@ vect_create_epilog_for_reduction (vec<tree> vect_defs, gimple *stmt,
/* Get various versions of the type of the vector of indexes. */ /* Get various versions of the type of the vector of indexes. */
tree index_vec_type = TREE_TYPE (induction_index); tree index_vec_type = TREE_TYPE (induction_index);
gcc_checking_assert (TYPE_UNSIGNED (index_vec_type)); gcc_checking_assert (TYPE_UNSIGNED (index_vec_type));
tree index_vec_type_signed = signed_type_for (index_vec_type);
tree index_scalar_type = TREE_TYPE (index_vec_type); tree index_scalar_type = TREE_TYPE (index_vec_type);
tree index_vec_cmp_type = build_same_sized_truth_vector_type
(index_vec_type);
/* Get an unsigned integer version of the type of the data vector. */ /* Get an unsigned integer version of the type of the data vector. */
int scalar_precision = GET_MODE_PRECISION (TYPE_MODE (scalar_type)); int scalar_precision = GET_MODE_PRECISION (TYPE_MODE (scalar_type));
...@@ -4336,7 +4337,7 @@ vect_create_epilog_for_reduction (vec<tree> vect_defs, gimple *stmt, ...@@ -4336,7 +4337,7 @@ vect_create_epilog_for_reduction (vec<tree> vect_defs, gimple *stmt,
/* Compare the max index vector to the vector of found indexes to find /* Compare the max index vector to the vector of found indexes to find
the position of the max value. */ the position of the max value. */
tree vec_compare = make_ssa_name (index_vec_type_signed); tree vec_compare = make_ssa_name (index_vec_cmp_type);
gimple *vec_compare_stmt = gimple_build_assign (vec_compare, EQ_EXPR, gimple *vec_compare_stmt = gimple_build_assign (vec_compare, EQ_EXPR,
induction_index, induction_index,
max_index_vec); max_index_vec);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment