https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125365

Drea Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2026-05-18

--- Comment #3 from Drea Pinski <pinskia at gcc dot gnu.org> ---
There is a write to tmp inbetween the calls:
  # VUSE <.MEM_1(D)>
  _5 = FOO::operator[] (_12, 1);
  _27 = _5 << 16;
  _28 = _9 | _27;
  # .MEM_30 = VDEF <.MEM_1(D)>
  MEM <struct array> [(value_type &)&D.53705]._M_elems[0] = _28;
  # VUSE <.MEM_30>
  _35 = FOO::operator[] (_12, 1);

But it seems like we don't realize that write does not interfer.
I have not looked into what changed between GCC 15.1.0 and 15.2.0 though ...

Reply via email to