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

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
For the trunk for _2, if_to_switch can convert that one to:

;; Canonical GIMPLE case clusters: 9-10 13 32 
;; BT can be built: BT:9-32 
Removing basic block 3
Expanded into a new gimple STMT: switch (c_6(D)) <default: <L6> [INV], case 9
... 10: <L5> [INV], case 13: <L5> [INV], case 32: <L5> [INV]>

For _1, we get the following IR (because fold-const decided to convert the ||
to | in some cases already):
  _1 = c_8(D) == 32;
  _2 = c_8(D) == 10;
  _3 = _1 | _2;
  if (_3 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 3>; [INV]

  <bb 3> :
  _4 = c_8(D) == 13;
  _5 = c_8(D) == 9;
  _6 = _4 | _5;

Reply via email to