From: Richard Biener Date: Fri, 18 Jun 2021 10:20:22 +0000 (+0200) Subject: tree-optimization/101112 - fix pattern stmt def lookup in SLP reassoc X-Git-Tag: basepoints/gcc-13~6671 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=17a4bee01c3b29c5ccdd39f34384521e5d44135b;p=thirdparty%2Fgcc.git tree-optimization/101112 - fix pattern stmt def lookup in SLP reassoc This fixes the lookup of a pattern stmt def operand. 2021-06-18 Richard Biener PR tree-optimization/101112 * tree-vect-slp.c (vect_slp_linearize_chain): Fix condition to lookup a pattern stmt def. --- diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c index 0c1f85beeb2e..f9c33c0bb141 100644 --- a/gcc/tree-vect-slp.c +++ b/gcc/tree-vect-slp.c @@ -1482,13 +1482,9 @@ vect_slp_linearize_chain (vec_info *vinfo, stmt_vec_info def_stmt_info; bool res = vect_is_simple_use (op, vinfo, &dt, &def_stmt_info); gcc_assert (res); - if (dt == vect_internal_def) - { - stmt_vec_info orig_def_stmt_info = def_stmt_info; - def_stmt_info = vect_stmt_to_vectorize (def_stmt_info); - if (def_stmt_info != orig_def_stmt_info) - op = gimple_get_lhs (def_stmt_info->stmt); - } + if (dt == vect_internal_def + && is_pattern_stmt_p (def_stmt_info)) + op = gimple_get_lhs (def_stmt_info->stmt); gimple *use_stmt; use_operand_p use_p; if (dt == vect_internal_def