[Bug rtl-optimization/33552] [4.3 Regression] wrong code for multiple output asm, wrong df?

2007-09-28 Thread matz at gcc dot gnu dot org
--- Comment #23 from matz at gcc dot gnu dot org 2007-09-28 13:32 --- Subject: Bug 33552 Author: matz Date: Fri Sep 28 13:31:50 2007 New Revision: 128864 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=128864 Log: PR rtl-optimization/33552 * function.c

[Bug rtl-optimization/33552] [4.3 Regression] wrong code for multiple output asm, wrong df?

2007-09-28 Thread matz at gcc dot gnu dot org
--- Comment #24 from matz at gcc dot gnu dot org 2007-09-28 13:33 --- Subject: Bug 33552 Author: matz Date: Fri Sep 28 13:33:09 2007 New Revision: 128865 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=128865 Log: PR rtl-optimization/33552 *

[Bug rtl-optimization/33552] [4.3 Regression] wrong code for multiple output asm, wrong df?

2007-09-28 Thread bonzini at gnu dot org
--- Comment #22 from bonzini at gnu dot org 2007-09-28 10:04 --- I don't think so, as you don't know which input will match the output (i.e. whether the two inputs will be swapped) if you have a % constraint in the asm. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33552

[Bug rtl-optimization/33552] [4.3 Regression] wrong code for multiple output asm, wrong df?

2007-09-28 Thread matz at gcc dot gnu dot org
--- Comment #25 from matz at gcc dot gnu dot org 2007-09-28 14:45 --- Fixed now. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|NEW

[Bug rtl-optimization/33552] [4.3 Regression] wrong code for multiple output asm, wrong df?

2007-09-27 Thread bonzini at gnu dot org
--- Comment #16 from bonzini at gnu dot org 2007-09-27 06:28 --- I will implement something along the lines that Jakub discussed. In the meanwhile, could anybody figure a self-contained execution testcase based on comment #14? Thanks! -- bonzini at gnu dot org changed:

[Bug rtl-optimization/33552] [4.3 Regression] wrong code for multiple output asm, wrong df?

2007-09-27 Thread belyshev at depni dot sinp dot msu dot ru
--- Comment #17 from belyshev at depni dot sinp dot msu dot ru 2007-09-27 08:01 --- (In reply to comment #16) something like this (for gcc.target/i386): /* { dg-do run } */ /* { dg-require-effective-target lp64 } */ /* { dg-options -O2} */ unsigned long a [100]; int main (void) {

[Bug rtl-optimization/33552] [4.3 Regression] wrong code for multiple output asm, wrong df?

2007-09-27 Thread jakub at gcc dot gnu dot org
--- Comment #18 from jakub at gcc dot gnu dot org 2007-09-27 08:12 --- Sure, no problem. /* PR rtl-optimization/33552 */ /* { dg-do run } */ /* { dg-options -O2 } */ extern void abort (void); void __attribute__((noinline)) foo (unsigned long *wp, unsigned long *up, long un, unsigned

[Bug rtl-optimization/33552] [4.3 Regression] wrong code for multiple output asm, wrong df?

2007-09-27 Thread matz at gcc dot gnu dot org
--- Comment #19 from matz at gcc dot gnu dot org 2007-09-27 14:52 --- Have a patch on http://gcc.gnu.org/ml/gcc-patches/2007-09/msg01968.html . Fixes also the reload failure on x86 -O2 -fPIC on this testcase (which hits glibc): /* { dg-do compile } */ /* { dg-options -O2 -fPIC } */

[Bug rtl-optimization/33552] [4.3 Regression] wrong code for multiple output asm, wrong df?

2007-09-27 Thread bonzini at gnu dot org
--- Comment #20 from bonzini at gnu dot org 2007-09-27 15:01 --- Thanks. -- bonzini at gnu dot org changed: What|Removed |Added AssignedTo|bonzini at gnu dot org

[Bug rtl-optimization/33552] [4.3 Regression] wrong code for multiple output asm, wrong df?

2007-09-27 Thread ubizjak at gmail dot com
--- Comment #21 from ubizjak at gmail dot com 2007-09-27 19:59 --- (In reply to comment #19) Have a patch on http://gcc.gnu.org/ml/gcc-patches/2007-09/msg01968.html . Fixes also the reload failure on x86 -O2 -fPIC on this testcase (which hits glibc): Do we need a solution for %.

[Bug rtl-optimization/33552] [4.3 Regression] wrong code for multiple output asm, wrong df?

2007-09-26 Thread jakub at gcc dot gnu dot org
--- Comment #14 from jakub at gcc dot gnu dot org 2007-09-26 21:19 --- This isn't related to commutative constraints, can be reproduced with: void mul_basecase (unsigned long *wp, unsigned long *up, long un, unsigned long *vp, long vn) { long j; unsigned long prod_low,

[Bug rtl-optimization/33552] [4.3 Regression] wrong code for multiple output asm, wrong df?

2007-09-26 Thread jakub at gcc dot gnu dot org
--- Comment #15 from jakub at gcc dot gnu dot org 2007-09-26 21:24 --- The restriction at least not to allow MEM_Ps was posted in: http://gcc.gnu.org/ml/gcc-patches/2007-07/msg01329.html but never applied to the trunk. But I believe it should instead check just for REG_P, instead of

[Bug rtl-optimization/33552] [4.3 Regression] wrong code for multiple output asm, wrong df?

2007-09-25 Thread ubizjak at gmail dot com
--- Comment #12 from ubizjak at gmail dot com 2007-09-25 18:57 --- (In reply to comment #1) marking %0 early-clobbered fixes the problem. Please look at comment #7. Confirmed as a 4.3 regression, something is wrong in match_asm_constraints_1. -- ubizjak at gmail dot com

[Bug rtl-optimization/33552] [4.3 Regression] wrong code for multiple output asm, wrong df?

2007-09-25 Thread ubizjak at gmail dot com
--- Comment #13 from ubizjak at gmail dot com 2007-09-25 19:29 --- (In reply to comment #12) marking %0 early-clobbered fixes the problem. Please look at comment #7. I think I need some sleep. I was thinking of comment #11. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33552