diff options
Diffstat (limited to 'gcc/tree-vect-patterns.c')
-rw-r--r-- | gcc/tree-vect-patterns.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index 95ce38d..4b3065e 100644 --- a/gcc/tree-vect-patterns.c +++ b/gcc/tree-vect-patterns.c @@ -2090,7 +2090,8 @@ vect_recog_vector_vector_shift_pattern (vec<gimple *> *stmts, return NULL; tree def = NULL_TREE; - if (gimple_assign_cast_p (def_stmt)) + stmt_vec_info def_vinfo = vinfo_for_stmt (def_stmt); + if (!STMT_VINFO_IN_PATTERN_P (def_vinfo) && gimple_assign_cast_p (def_stmt)) { tree rhs1 = gimple_assign_rhs1 (def_stmt); if (TYPE_MODE (TREE_TYPE (rhs1)) == TYPE_MODE (TREE_TYPE (oprnd0)) |