[Bug target/48774] [4.6/4.7 Regression] gcc-4.6.0 optimization regression on x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48774 --- Comment #15 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-04 09:21:15 UTC --- Author: jakub Date: Wed May 4 09:21:09 2011 New Revision: 173359 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=173359 Log: Backported from mainline 2011-05-03 Uros Bizjak ubiz...@gmail.com Jakub Jelinek ja...@redhat.com PR target/48774 * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode only succeed if req_mode is the same as set_mode. * gcc.dg/pr48774.c: New test. Added: branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr48774.c Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/config/i386/i386.c branches/gcc-4_4-branch/gcc/testsuite/ChangeLog
[Bug target/48774] [4.6/4.7 Regression] gcc-4.6.0 optimization regression on x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48774 --- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-03 13:01:17 UTC --- Author: jakub Date: Tue May 3 13:01:12 2011 New Revision: 173301 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=173301 Log: PR target/48774 * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode only succeed if req_mode is the same as set_mode. * gcc.dg/pr48774.c: New test. Added: trunk/gcc/testsuite/gcc.dg/pr48774.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/testsuite/ChangeLog
[Bug target/48774] [4.6/4.7 Regression] gcc-4.6.0 optimization regression on x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48774 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #13 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-03 13:07:20 UTC --- Fixed.
[Bug target/48774] [4.6/4.7 Regression] gcc-4.6.0 optimization regression on x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48774 --- Comment #12 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-03 13:06:14 UTC --- Author: jakub Date: Tue May 3 13:06:06 2011 New Revision: 173302 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=173302 Log: PR target/48774 * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode only succeed if req_mode is the same as set_mode. * gcc.dg/pr48774.c: New test. Added: branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr48774.c Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/config/i386/i386.c branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
[Bug target/48774] [4.6/4.7 Regression] gcc-4.6.0 optimization regression on x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48774 --- Comment #14 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-03 16:38:34 UTC --- Author: jakub Date: Tue May 3 16:38:25 2011 New Revision: 173329 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=173329 Log: PR target/48774 * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode only succeed if req_mode is the same as set_mode. * gcc.dg/pr48774.c: New test. Added: branches/gcc-4_5-branch/gcc/testsuite/gcc.dg/pr48774.c Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/config/i386/i386.c branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
[Bug target/48774] [4.6/4.7 Regression] gcc-4.6.0 optimization regression on x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48774 --- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-02 17:31:17 UTC --- Created attachment 24169 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24169 gcc47-pr48774.patch Untested fix. The additional condition could be changed to just CCCmode check, or on the other side have: || !(TARGET_USE_BT || optimize_function_for_size_p (cfun)) in as well. Or *btmode would need to be represented in RTL in some different way, where the setting of Carry is natural to the operation and couldn't be confused with testqi.