[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