diff options
author | Jakub Jelinek <jakub@redhat.com> | 2016-01-11 18:55:38 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-01-11 18:55:38 +0100 |
commit | 7c285ab9ae4726b4821379c82d16d2373cd46f8f (patch) | |
tree | a76792bf45fbd964aeee2212d32c5491f000d45d | |
parent | 1517bc3008cf520c08760a8dba884237104e9d1a (diff) | |
download | gcc-7c285ab9ae4726b4821379c82d16d2373cd46f8f.zip gcc-7c285ab9ae4726b4821379c82d16d2373cd46f8f.tar.gz gcc-7c285ab9ae4726b4821379c82d16d2373cd46f8f.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/tree-vect-slp.c | 5 |
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a256b34..6ae3248 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c index 0aac2e2..d185838 100644 --- a/gcc/tree-vect-slp.c +++ b/gcc/tree-vect-slp.c @@ -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), |