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

--- Comment #3 from Robin Dapp <rdapp at gcc dot gnu.org> ---
I manage to have a quick look at the code now.  It looks like we force live
every induction and build slp instances for the IV increments.

I don't think adjusting the actual IV creation in vectorizable_induction would
be too involved, at least for the length-controlled case, but I wonder what to
do with the increment.

Right now we just vectorize it with the fitting vector type (this limits VF for
some of the examples I'm looking at BTW where we could vectorize at a higher VF
without the vectorized int induction).

Is there precedent of how to handle such a situation?  I.e. can we keep track
of the affected stmts in the slp isntance and then "vectorize" with a scalar
type?  Or would we need to circumvent that altogether and adjust the existing
scalar IV?  Or rather create a new scalar IV and re-wire the uses?

Reply via email to