re PR tree-optimization/69207 (gcc.target/aarch64/vldN_1.c ICEs at -O3)

PR tree-optimization/69207
	* tree-vect-slp.c (vect_get_constant_vectors): For
	VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
	fold_convertible_p to vector_type's element type, and always
	use VCE for non-VECTOR_BOOLEAN_TYPE_P.

From-SVN: r232233
This commit is contained in:
Jakub Jelinek 2016-01-11 18:55:38 +01:00 committed by Jakub Jelinek
parent 1517bc3008
commit 7c285ab9ae
2 changed files with 9 additions and 4 deletions

View File

@ -1,3 +1,11 @@
2016-01-11 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/69207
* tree-vect-slp.c (vect_get_constant_vectors): For
VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
fold_convertible_p to vector_type's element type, and always
use VCE for non-VECTOR_BOOLEAN_TYPE_P.
2016-01-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/69173

View File

@ -2999,12 +2999,9 @@ vect_get_constant_vectors (tree op, slp_tree slp_node,
gimple *init_stmt;
if (VECTOR_BOOLEAN_TYPE_P (vector_type))
{
gcc_assert (fold_convertible_p (TREE_TYPE (vector_type),
op));
gcc_assert (INTEGRAL_TYPE_P (TREE_TYPE (op)));
init_stmt = gimple_build_assign (new_temp, NOP_EXPR, op);
}
else if (fold_convertible_p (TREE_TYPE (vector_type), op))
init_stmt = gimple_build_assign (new_temp, NOP_EXPR, op);
else
{
op = build1 (VIEW_CONVERT_EXPR, TREE_TYPE (vector_type),