https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123343

--- Comment #6 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #5)
> (In reply to Zhongyao Chen from comment #4)
> > Yes. Without unrolling, inner loop vectorization produces better asm. Could
> > .cunrolli be made vectorization-aware to avoid unrolling when beneficial? 
> > Once unrolled, SLP has no way to recover the loop; what we want is inner
> > loop vectorization only, not SLP.
> 
> cunrolli first and foremost job is to remove abstraction, it's difficult to
> anticipate further optimization on the unrolled body, so - not easily I'd
> say.
> 
> BB SLP should work on this though (but as you said we first vectorize the
> loop containing the code in an awkward way).

Part of the reason I'm working on PR119187 is to hopefully be able to recover
such cases like this where the pass ordering makes things awkward, so you'll
end up with an SLP tree which contains both vector and scalar statements.

But in this case I do think the dataref analysis could be improved to help?

Reply via email to