https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70130
--- Comment #5 from Bill Schmidt <wschmidt at gcc dot gnu.org> --- We also verified that the vectorized version of the loop is never entered during the application, since the output array is never properly aligned. Other experiments also point to a linker issue. When compiling everything with -O1 except for the file containing this code, and that file at -O3, the problem disappears. Also as noted, the original code works fine with an older linker. It looks like a linker corner case that's sensitive to code or data positioning.