https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90328
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P2 Known to work| |4.8.5, 5.5.0 Target Milestone|--- |7.5 Summary|Wrong loop distribution |[7/8/9/10 Regression] Wrong |with aliasing |loop distribution with | |aliasing Known to fail| |6.5.0, 8.3.0 --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Note vectorization also "breaks" it at -O2 -ftree-vectorize. void g(int*__restrict x, int*y){*x=*y;} void __attribute__((noipa)) f(int* a,int* b) { for(int i=0;i<1024;++i) g(a+i,b+i); } int main() { int x[1025]; for (int i = 0; i < 1025; ++i) x[i] = i+1; f(x+1, x); for (int i = 0; i < 1025; ++i) if (x[i] != 1) __builtin_abort (); return 0; }