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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |needs-bisection
      Known to work|                            |13.1.0

--- Comment #21 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Looks like this was fixed in GCC 13.

IR in GCC 13:
```
  pretmp_55 = *_54;
  _33 = _3 != 0;
  _35 = pretmp_55 != 0;
  _42 = (long int) _35;
  _40 = pretmp_55 == 0;
  _39 = _33 & _40;
  _ifc__11 = _39 ? 1 : 0;
  _26 = ntf_29 + _ifc__11;
  _ifc__12 = _33 ? 0 : _42;
```

IR in GCC 12:
```
  pretmp_55 = *_54;
  _35 = pretmp_55 != 0;
  _42 = (long int) _35;
  _32 = _3 != 0;
  _41 = pretmp_55 == 0;
  _40 = _32 & _41;
  _ifc__11 = _40 ? 1 : 0;
  _26 = ntf_33 + _ifc__11;
  _ifc__12 = _3 != 0 ? 0 : _42;
```

I don't know if the changing of `_3 != 0` into `_33` fixed the issue or
something else.

Reply via email to