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.
