https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93767
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P2 Status|UNCONFIRMED |NEW Last reconfirmed| |2020-02-17 CC| |jakub at gcc dot gnu.org, | |rsandifo at gcc dot gnu.org Version|unknown |10.0 Target Milestone|--- |8.4 Summary|wrong code at -O3 on |[8/9/10 Regression] wrong |x86_64-linux-gnu |code at -O3 on | |x86_64-linux-gnu since | |r8-6064 Ever confirmed|0 |1 --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Slightly tweaked, still -O3: int main () { int a[10], b; for (b = 6; b >= 3; b--) { a[b] = 1; a[b + 2] = a[3]; } if (a[5] != 1) __builtin_abort (); return 0; } And I can confirm it started with r8-6064-ga57776a11369621f9e9e8a8a3db6cb406c8bf27b