]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR target/58779 (wrong code at -O1 on x86_64-linux-gnu)
authorUros Bizjak <uros@gcc.gnu.org>
Tue, 22 Oct 2013 18:35:53 +0000 (20:35 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 22 Oct 2013 18:35:53 +0000 (20:35 +0200)
commit9ae93484ede1edb8ade7d16d8ac95fda8944aae4
tree5ba440cd2b2d392980dee160ec036167afb2b1c4
parentfb61ee69c3540ec12d874e436c5ae96a46cb14df
re PR target/58779 (wrong code at -O1 on x86_64-linux-gnu)

PR target/58779
* config/i386/i386.c (put_condition_code) <case GTU, case LEU>:
Remove CCCmode handling.
<case LTU>: Return 'c' suffix for CCCmode.
<case GEU>: Return 'nc' suffix for CCCmode.
(ix86_cc_mode) <case GTU, case LEU>: Do not generate overflow checks.
* config/i386/i386.md (*sub<mode>3_cconly_overflow): Remove.
(*sub<mode>3_cc_overflow): Ditto.
(*subsi3_zext_cc_overflow): Ditto.

testsuite/ChangeLog:

PR target/58779
* gcc.target/i386/pr30315.c: Remove MINUSCC, DECCC, MINUSCCONLY
and MINUSCCZEXT defines. Update scan-assembler dg directive.
* gcc.dg/torture/pr58779.c: New test.

From-SVN: r203935
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr58779.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr30315.c