http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56365



Richard Biener <rguenth at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

             Status|UNCONFIRMED                 |NEW

   Last reconfirmed|                            |2013-02-18

     Ever Confirmed|0                           |1



--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-18 
10:58:13 UTC ---

I see, at -O2, on x86_64 in 070t.phiopt:



test_04 (int a, int b)

{

  int D.1744;

  int D.1741;

  int _3;

  int _4;



  <bb 2>:

  _3 = MIN_EXPR <a_1(D), 127>;

  _4 = MAX_EXPR <_3, -128>;

  return _4;



}



for the other cases you run into the issue that the tree-level phiopt

can be confused by phi-merging:



test_05 (int a)

{

  <bb 2>:

  if (a_2(D) > 126)

    goto <bb 5>;

  else

    goto <bb 3>;



  <bb 3>:

  if (a_2(D) < -127)

    goto <bb 5>;

  else

    goto <bb 4>;



  <bb 4>:



  <bb 5>:

  # a_1 = PHI <127(2), a_2(D)(4), -128(3)>

  return a_1;

Reply via email to