diff options
author | Richard Biener <rguenther@suse.de> | 2024-10-25 13:42:08 +0200 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2024-10-26 14:15:23 +0200 |
commit | 5203deaf526b7119b456c0ac568851957640c078 (patch) | |
tree | 4dd785f7f590df172db90f953595bb80fac679bd | |
parent | 40fedaf35fa99a9728d5b84d47035f4c92e1ba90 (diff) | |
download | gcc-5203deaf526b7119b456c0ac568851957640c078.zip gcc-5203deaf526b7119b456c0ac568851957640c078.tar.gz gcc-5203deaf526b7119b456c0ac568851957640c078.tar.bz2 |
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.
-rw-r--r-- | gcc/tree-vect-patterns.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/tree-vect-patterns.cc b/gcc/tree-vect-patterns.cc index d4c7793..d9fe493 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) { |