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

--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <[email protected]>:

https://gcc.gnu.org/g:b4a5597ccd6a38f5598c4c190f34162031ad6700

commit r17-4645-gb4a5597ccd6a38f5598c4c190f34162031ad6700
Author: Richard Biener <[email protected]>
Date:   Fri Sep 25 10:45:00 2026 +0200

    tree-optimization/127601 - negative step SLP vectorization with gap

    The following disables negative step SLP (with a group size bigger
    than one) vectorization with gaps since the VMAT_STRIDED_SLP path
    does not implement using smaller vectors to avoid touching the gap
    nor can we use peeling for gaps to deal with a gap that would be
    touched with the first vector load.

            PR tree-optimization/127601
            * tree-vect-stmts.cc (get_load_store_type): Move overrun
            flags and final handling to the relevant section, after
            determining the step direction and the memory access type.
            Only elide overrun with half-vector accesses for the
            memory access types supporting that.  Do not claim
            VMAT_STRIDED_SLP can handle overruns when the step is
            negative.
            (vectorizable_load): For the last memory access type group
            analysis/transform assert what memory access type that covers.

            * gcc.dg/vect/vect-pr127601.c: New testcase.

Reply via email to