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.

Reply via email to