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)

Reply via email to