On Tue, 7 Dec 2021, Richard Sandiford wrote:

> Richard Biener <rguent...@suse.de> writes:
> > On Tue, 7 Dec 2021, Andre Vieira (lists) wrote:
> >
> >> Hi,
> >> 
> >> Rebased on top of the epilogue mode patch.
> >> 
> >> OK for trunk?
> >
> > @@ -7242,7 +7315,8 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
> >     participating.  */
> >    if (ncopies > 1
> >        && (STMT_VINFO_RELEVANT (stmt_info) <= vect_used_only_live)
> > -      && reduc_chain_length == 1)
> > +      && reduc_chain_length == 1
> > +      && loop_vinfo->suggested_unroll_factor == 1)
> >      single_defuse_cycle = true;
> >  
> >    if (single_defuse_cycle || lane_reduc_code_p)
> >
> > It seems to me that 'ncopies' should include 
> > loop_vinfo->suggested_unroll_factor already so the check shouldn't be
> > necessary.
> 
> Yeah, ncopies will be >1 for the unroll case.  But the point is that
> for unrolling, we want each unrolled loop to have its own reduction
> accumulator, since reducing the aggregate loop-carried latency is one
> of the main benefits of unrolling a reduction.

Ah, I see.  Please add a comment above this check then.

Richard.

Reply via email to