https://gcc.gnu.org/g:5203deaf526b7119b456c0ac568851957640c078
commit r15-4693-g5203deaf526b7119b456c0ac568851957640c078 Author: Richard Biener <rguent...@suse.de> Date: Fri Oct 25 13:42:08 2024 +0200 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: --- gcc/tree-vect-patterns.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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) {