[Bug rtl-optimization/45695] [4.5/4.6 Regression] -O1 wrong-code by cmove

2010-09-20 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2010-09-20 13:24 ---
Subject: Bug 45695

Author: jakub
Date: Mon Sep 20 13:24:23 2010
New Revision: 164431

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164431
Log:
PR rtl-optimization/45695
* combine.c (try_combine): When splitting a two set pattern,
make sure the pattern which will be put into i2 doesn't use REGs
or MEMs set by insns in between i2 and i3.

* gcc.c-torture/execute/pr45695.c: New test.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr45695.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/combine.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug rtl-optimization/45695] [4.5/4.6 Regression] -O1 wrong-code by cmove

2010-09-20 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2010-09-20 22:37 ---
Subject: Bug 45695

Author: jakub
Date: Mon Sep 20 22:37:32 2010
New Revision: 164467

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164467
Log:
PR rtl-optimization/45695
* combine.c (try_combine): Don't try to swap the two patterns, if the
chosen order is not possible, just give up.  For HAVE_cc0 targets,
check if XVECEXP (newpat, 0, 0) doesn't use REGs or MEMs set by insns
in between i2 and i3.

* gcc.c-torture/execute/pr45695.c: New test.

Added:
branches/gcc-4_5-branch/gcc/testsuite/gcc.c-torture/execute/pr45695.c
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/combine.c
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug rtl-optimization/45695] [4.5/4.6 Regression] -O1 wrong-code by cmove

2010-09-20 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2010-09-20 22:39 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/45695] [4.5/4.6 Regression] -O1 wrong-code by cmove

2010-09-17 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |rtl-optimization
  Known to work||4.5.1
   Priority|P3  |P1
Summary|-O1 wrong-code by cmove |[4.5/4.6 Regression] -O1
   ||wrong-code by cmove
   Target Milestone|--- |4.5.2


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



[Bug rtl-optimization/45695] [4.5/4.6 Regression] -O1 wrong-code by cmove

2010-09-17 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2010-09-17 12:05 ---
Created an attachment (id=21817)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21817action=view)
gcc46-pr45695.patch

Untested fix.


-- 


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