From: Richard Biener Date: Fri, 25 Oct 2024 11:42:08 +0000 (+0200) Subject: Finish vectorizer pattern proper COND_EXPR transition X-Git-Tag: basepoints/gcc-16~4860 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5203deaf526b7119b456c0ac568851957640c078;p=thirdparty%2Fgcc.git Finish vectorizer pattern proper COND_EXPR transition The following tries to finish building proper GIMPLE COND_EXPRs in vectorizer pattern recognition. * tree-vect-patterns.cc (vect_recog_divmod_pattern): Build separate comparion pattern for the condition of a COND_EXPR pattern. --- diff --git a/gcc/tree-vect-patterns.cc b/gcc/tree-vect-patterns.cc index d4c7793bb5aa..d9fe49378583 100644 --- a/gcc/tree-vect-patterns.cc +++ b/gcc/tree-vect-patterns.cc @@ -4933,8 +4933,11 @@ vect_recog_divmod_pattern (vec_info *vinfo, return pattern_stmt; } - cond = build2 (LT_EXPR, boolean_type_node, oprnd0, - build_int_cst (itype, 0)); + cond = vect_recog_temp_ssa_var (boolean_type_node, NULL); + def_stmt = gimple_build_assign (cond, LT_EXPR, oprnd0, + build_int_cst (itype, 0)); + append_pattern_def_seq (vinfo, stmt_vinfo, def_stmt, + truth_type_for (vectype), itype); if (rhs_code == TRUNC_DIV_EXPR || rhs_code == EXACT_DIV_EXPR) {