diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0ab88fa1198ffa5f01e6fd773517c87a9a293067..c8a71dbd53aba46c4af908be6224dc16c0c47426 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2011-12-01 Jakub Jelinek <jakub@redhat.com> + PR tree-optimization/51356 + * tree-vect-patterns.c (vect_recog_bool_pattern): Give up if + vectype doesn't have VECTOR_MODE_P. + PR debug/50317 * tree-ssa-dce.c (remove_dead_stmt): Add a debug stmt when removing as unnecessary a store to a variable with gimple reg type. diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index 22414475f6f8695762f57e1cfa1a548c9eeadd5b..306bac28c18fef74540b95d06ab47e0057db506c 100644 --- a/gcc/tree-vect-patterns.c +++ b/gcc/tree-vect-patterns.c @@ -2074,6 +2074,8 @@ vect_recog_bool_pattern (VEC (gimple, heap) **stmts, tree *type_in, stmt_vec_info pattern_stmt_info; vectype = STMT_VINFO_VECTYPE (stmt_vinfo); gcc_assert (vectype != NULL_TREE); + if (!VECTOR_MODE_P (TYPE_MODE (vectype))) + return NULL; if (!check_bool_pattern (var, loop_vinfo)) return NULL;