http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59594
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- You're right, r206180 fixed this (i.e. that it FAILs at runtime even for -mtune=generic). In any case, sounds like this is a problem in determination of the aliasing, we should have refused to vectorize this (of course unless we are smart enough to find out all the b[a] = 1; stores but the b[0] = 1; is redundant, but I suppose the vectorizer isn't the right place to do that optimization.