> I tried -mmax-vectorization as suggested,
> but it still affects VF selection for ordered FP reductions. For
> example, _Float16 size-8 picks VF=4 with UF=2 instead of VF=8,
> changing the vfredosum/vfwredosum counts. Could you advise
> whether we should accept the changed instruction counts with
> -mmax-vectorization, or keep -mrvv-vector-bits=zvl -fno-vect-cost-model
> as in v2 to preserve the original expectations?
Hmm. Can you check a small before after example with costs?
The behavior seems a bit surprising without more context.
> +/* Return true if STMT_INFO or NODE represents a reduction operation. */
> +
> +static bool
> +is_reduction (stmt_vec_info stmt_info, slp_tree node)
> +{
> + return (stmt_info && vect_is_reduction (stmt_info))
> + || (node && vect_is_reduction (node));
> +}
I think just node should be sufficient nowadays. Is there a case where we have
a stmt_info but no node?
The rest looks good to me.
--
Regards
Robin