The following refactors the check with the last remaininig expand_vec_cond_expr_p call with a comparison code to make it obvious we are not relying on those anymore.
Bootstrapped and tested on x86_64-unknown-linux-gnu. * tree-vect-stmts.cc (vectorizable_condition): Refactor target support check. --- gcc/tree-vect-stmts.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index f77a223b0c4..e10660521d4 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -12459,9 +12459,9 @@ vectorizable_condition (vec_info *vinfo, if (reduction_type == EXTRACT_LAST_REDUCTION) /* Count one reduction-like operation per vector. */ kind = vec_to_scalar; - else if (!expand_vec_cond_expr_p (vectype, comp_vectype, cond_code) - && (masked - || (!expand_vec_cmp_expr_p (comp_vectype, vec_cmp_type, + else if ((masked && !expand_vec_cond_expr_p (vectype, comp_vectype)) + || (!masked + && (!expand_vec_cmp_expr_p (comp_vectype, vec_cmp_type, cond_code) || !expand_vec_cond_expr_p (vectype, vec_cmp_type)))) return false; -- 2.43.0