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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|unknown                     |16.0
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2025-04-21
                 CC|                            |rguenth at gcc dot gnu.org

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
See the RFC patch series I posted 1 1/2 years ago to rework how we iterate over
vector modes towards iterating over VFs.  The series was named to relax the
vector size restriction for loop vect.

So yes.

I'd like to see us walk towards not fixing the vector type early but only
later.  IMO vectorizable_* should determine the vector type to use based
on the vector types of the operands (like SLP does for externs/invariants
already).  Ideally vectorizable_* would compute a set of possible vector
types from that of the operands and then after analysis we'd pick the
best possible (otherwise cycles are difficult to handle this way we'd have
to "fix" at least the vector types of those).

Biggest blockers: scalar patterns, gather/scatter

Incrementally we might be able to fix less of the vector types and handle
the remaining ones in vectorizable_ in a similar way we handle invariants
externs (if not fixed, choose appropriately according to VF).  To make
a difference we'd have to "fix" the VF from outside without knowing all
vector types, thus in practice iterate over VFs in some way.

Reply via email to