https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127601
--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-16 branch has been updated by Richard Biener <[email protected]>: https://gcc.gnu.org/g:e47c84926bfd72fbd8b680b3b6663913e083ed8a commit r16-9858-ge47c84926bfd72fbd8b680b3b6663913e083ed8a 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. (cherry picked from commit b4a5597ccd6a38f5598c4c190f34162031ad6700)
