https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98526
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |missed-optimization
Status|UNCONFIRMED |NEW
Target Milestone|--- |11.0
Last reconfirmed| |2021-01-05
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Yeah, the body cost handling should be removed from vect_model_reduction_cost
and instead handled only for the cases using vect_transform_reduction
/* All but single defuse-cycle optimized, lane-reducing and fold-left
reductions go through their own vectorizable_* routines. */
if (!single_defuse_cycle
&& code != DOT_PROD_EXPR
&& code != WIDEN_SUM_EXPR
&& code != SAD_EXPR
&& reduction_type != FOLD_LEFT_REDUCTION)
{
...