------- Comment #2 from pinskia at gcc dot gnu dot org  2008-09-28 18:37 -------
Reduced testcase:
static int
func_18 (void)
{
  return 1;
}
int func_37 (int p_38)
{
   return (func_18 () >= 1 ^ (div_rhs (1) || 0) || 0);
}

--- CUT ---
Before VRP we have:
  D.1584_5 = 1 ^ D.1583_4;

which is wrong, it should have been
D.1583_4 ^ 1;

I don't know why ccp did not create 
D.1581_4 ^ 1 but it created 1 ^ D.1581_4;


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
          Component|c                           |tree-optimization
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2008-09-28 18:37:03
               date|                            |
   Target Milestone|---                         |4.4.0


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

Reply via email to