[Bug tree-optimization/56365] Missed opportunities for smin/smax standard name patterns

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Feb 18 10:58:00 GMT 2013


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;



More information about the Gcc-bugs mailing list