optimization/3995: i386 optimisation: joining tests

sayle@gcc.gnu.org sayle@gcc.gnu.org
Mon May 6 20:40:00 GMT 2002


Synopsis: i386 optimisation: joining tests

State-Changed-From-To: analyzed->closed
State-Changed-By: sayle
State-Changed-When: Mon May  6 20:40:16 2002
State-Changed-Why:
    This problem has been fixed on mainline by the recent patch:
    
    2002-05-06  Roger Sayle  <roger@eyesopen.com>
    
            * fold-const.c (sign_bit_p): New function.
            (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
            (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
            Reapply fold when converting (A & C) == C into (A & C) != 0.
    
    We now join the two tests together and generate better code.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=3995



More information about the Gcc-bugs mailing list