[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-28 Thread pinskia at gcc dot gnu dot org
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33181

[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread ubizjak at gmail dot com
--- Comment #4 from ubizjak at gmail dot com 2007-08-26 10:56 --- C testcase: --cut here-- extern void abort (void); enum Status { P_ON_LOWER = -4, P_ON_UPPER = -2, P_FREE = -1 }; void foo (enum Status *stat, double newUpper, double lower, double max) { if (newUpper = max)

[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread ubizjak at gmail dot com
--- Comment #5 from ubizjak at gmail dot com 2007-08-26 12:55 --- The problem is in the way ifcvt handles IFs without ELSE blocks. Compiling c testcase with -O2 -ffast-math (on x86_64 target), we hit check for else_bb in noce_process_if_block(). We continue into line 2196 of ifcvt.c,

[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread hjl at lucon dot org
--- Comment #6 from hjl at lucon dot org 2007-08-26 14:42 --- This patch 2007-08-26 H.J. Lu [EMAIL PROTECTED] PR middle-end/33181 * ifcvt.c (noce_process_if_block): Don't move insn across basic block. --- gcc/ifcvt.c.cmov2007-08-24 06:02:57.0

[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread rguenther at suse dot de
--- Comment #7 from rguenther at suse dot de 2007-08-26 14:43 --- Subject: Re: [4.3 Regression] Revision 127766 generates bad cmov On Sun, 26 Aug 2007, ubizjak at gmail dot com wrote: So, previous non-note insn from (insn 33) is (insn 28)(!!) in a totally unrelated BB, leading to

[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread rguenther at suse dot de
--- Comment #8 from rguenther at suse dot de 2007-08-26 14:46 --- Subject: Re: [4.3 Regression] Revision 127766 generates bad cmov On Sun, 26 Aug 2007, hjl at lucon dot org wrote: This patch 2007-08-26 H.J. Lu [EMAIL PROTECTED] PR middle-end/33181 *

[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread hjl at lucon dot org
--- Comment #9 from hjl at lucon dot org 2007-08-26 15:01 --- (In reply to comment #8) 2007-08-26 H.J. Lu [EMAIL PROTECTED] PR middle-end/33181 * ifcvt.c (noce_process_if_block): Don't move insn across basic block. ... Yes. Or if we have

[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread hjl at gcc dot gnu dot org
--- Comment #10 from hjl at gcc dot gnu dot org 2007-08-26 18:24 --- Subject: Bug 33181 Author: hjl Date: Sun Aug 26 18:24:19 2007 New Revision: 127810 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127810 Log: gcc/ 2007-08-26 H.J. Lu [EMAIL PROTECTED] PR

[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread hjl at lucon dot org
--- Comment #11 from hjl at lucon dot org 2007-08-26 19:31 --- Fixed. -- hjl at lucon dot org changed: What|Removed |Added Status|NEW

[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-25 Thread hjl at lucon dot org
--- Comment #2 from hjl at lucon dot org 2007-08-25 20:38 --- [EMAIL PROTECTED] rrs]$ cat cmov.cc #include stdlib.h const double infinity = 1e100; enum Status { P_ON_LOWER = -4, P_ON_UPPER = -2, P_FREE = -1, P_FIXED = P_ON_UPPER + P_ON_LOWER }; void foo (enum Status stat,

[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-25 Thread hjl at lucon dot org
--- Comment #3 from hjl at lucon dot org 2007-08-25 23:29 --- A smaller testcase: [EMAIL PROTECTED] cmov-1]$ cat cmov.cc extern C void abort (void); enum Status { P_ON_LOWER = -4, P_ON_UPPER = -2, P_FREE = -1, }; void foo (enum Status stat, double newUpper, double lower,