https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70021
--- Comment #5 from Ilya Enkovich <ienkovich at gcc dot gnu.org> --- Testing this fix: diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index 95ce38d..1812742 100644 --- a/gcc/tree-vect-patterns.c +++ b/gcc/tree-vect-patterns.c @@ -2084,6 +2084,10 @@ vect_recog_vector_vector_shift_pattern (vec<gimple *> *stmts, if (dt != vect_internal_def) return NULL; + stmt_vec_info def_vinfo = vinfo_for_stmt (def_stmt); + if (STMT_VINFO_IN_PATTERN_P (def_vinfo)) + return NULL; + *type_in = get_vectype_for_scalar_type (TREE_TYPE (oprnd0)); *type_out = *type_in; if (*type_in == NULL_TREE)