https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88398
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The loop in itself, without knowing the buffer comes from malloc and has certain size (and at that point it would figure probably out the testsuite is UB) can't be vectorized. You have two different pointers, both potentially with different alignment and no assurance that bytes from 0 to max - 1 are actually accessible after the one that differs.