[Bug target/30315] optimize unsigned-add overflow test on x86 to use cpu flags from addl

rask at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue Aug 14 14:39:00 GMT 2007



------- Comment #10 from rask at gcc dot gnu dot org  2007-08-14 14:39 -------
Subject: Bug 30315

Author: rask
Date: Tue Aug 14 14:39:24 2007
New Revision: 127481

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=127481
Log:
        PR target/30315
        * config/i386/i386.h (CANONICALIZE_COMPARISON): New.
        * config/i386/i386.md (plusminus)(addsub)(SWI): New.
        (*<addsub><mode>3_cc_overflow): New.
        (*add<mode>3_cconly_overflow): New.
        (*sub<mode>3_cconly_overflow): New.
        (*<addsub>si3_zext_cc_overflow): New.
        * config/i386/predicates.md (fcmov_comparison_operator): Accept
        CCCmode for LTU, GTU, LEU and GEU.
        (ix86_comparison_operator): Likewise.
        (ix86_carry_flag_operator): Carry flag is set if LTU or GTU in CCCmode.
        * gcc/config/i386/i386.c (put_condition_code): Support CCCmode.
        (ix86_cc_mode): Use CCCmode when testing for overflow of PLUS
        or MINUS expressions.

testsuite/
        PR target/30315
        * gcc.target/i386/pr30315.c: New.

Added:
    trunk/gcc/testsuite/gcc.target/i386/pr30315.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/i386.h
    trunk/gcc/config/i386/i386.md
    trunk/gcc/config/i386/predicates.md
    trunk/gcc/testsuite/ChangeLog


-- 


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



More information about the Gcc-bugs mailing list