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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #9 from Martin Liška <marxin at gcc dot gnu.org> ---
(In reply to Martin Liška from comment #8)
> The test-case is still valid.

Sorry, no, the issue is already solved with GCC 9.2:

crud (unsigned char c)
{
  _Bool _11;
  int iftmp.0_14;
  int _16;
  long unsigned int _24;
  _Bool _26;
  int _30;
  long unsigned int _32;

  <bb 2> [local count: 1073741823]:
  if (c_15(D) > 62)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870911]:
  _16 = (int) c_15(D);
  _24 = 6629387187945209855 >> _16;
  _32 = ~_24;
  _26 = (_Bool) _32;
  if (_26 != 0)
    goto <bb 4>; [20.00%]
  else
    goto <bb 5>; [80.00%]

  <bb 4> [local count: 536870911]:
  _11 = c_15(D) == 92;
  _30 = (int) _11;

  <bb 5> [local count: 1073741824]:
  # iftmp.0_14 = PHI <_30(4), 1(3)>
  return iftmp.0_14;

}

Reply via email to