[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gcc-bugs
Subject:    [Bug middle-end/30322] ((-i-1) + i) +1) is turned into ~i + (i+1) and never into 0 on the tree level
From:       "sayle at gcc dot gnu dot org" <gcc-bugzilla () gcc ! gnu ! org>
Date:       2006-12-31 16:17:59
Message-ID: 20061231161759.22183.qmail () sourceware ! org
[Download RAW message or body]



------- Comment #2 from sayle at gcc dot gnu dot org  2006-12-31 16:17 -------
Subject: Bug 30322

Author: sayle
Date: Sun Dec 31 16:17:49 2006
New Revision: 120300

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=120300
Log:

        PR middle-end/30322
        * fold-const.c (fold_binary): Fold X + ~X and ~X + X into -1 when
        we don't care about trapping overflow.  Only convert -A - 1 into ~A
        when we don't care about trapping overflow.

        * gcc.dg/fold-plusnot-1.c: New test case.


Added:
    trunk/gcc/testsuite/gcc.dg/fold-plusnot-1.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/fold-const.c
    trunk/gcc/testsuite/ChangeLog


-- 


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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic