https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101009
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |needs-bisection, wrong-code Target Milestone|--- |12.0 Summary|wrong code with "-O3 |[12 Regression] wrong code |-fno-tree-sra" |with "-O3 -fno-tree-sra" Status|UNCONFIRMED |NEW Last reconfirmed| |2021-06-10 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. loop distribution distributes <bb 3> [local count: 955630225]: # d.2_15 = PHI <_2(6), d.2_14(5)> g[1].b = 2; g[1].c = 1; f.0_1 = f; *f.0_1 = g[1]; g ={v} {CLOBBER}; _2 = d.2_15 + -1; d = _2; if (_2 != 0) to <bb 10> [local count: 955630225]: # d.2_17 = PHI <_22(11), d.2_14(5)> g[1].b = 2; f.0_19 = f; *f.0_19 = g[1]; _22 = d.2_17 + -1; d = _22; if (_22 != 0) and <bb 3> [local count: 955630225]: # d.2_15 = PHI <_2(6), d.2_14(8)> g[1].c = 1; _2 = d.2_15 + -1; if (_2 != 0) doesn't seem to happen with the GCC 11 copy I have around.