[Bug target/35135] unable to find a register to spill in class �GENERAL_REGS� with global registers

2009-03-12 Thread ubizjak at gmail dot com
--- Comment #10 from ubizjak at gmail dot com 2009-03-12 17:48 --- *** This bug has been marked as a duplicate of 16185 *** -- ubizjak at gmail dot com changed: What|Removed |Added -

[Bug target/35135] unable to find a register to spill in class �GENERAL_REGS� with global registers

2009-01-31 Thread rob1weld at aol dot com
--- Comment #9 from rob1weld at aol dot com 2009-02-01 00:49 --- It can be compiled with ONE earlier version of gcc but not another - so this is a regression. Works on 4.0.2: # /opt/csw/gcc4/bin/gcc -v Reading specs from /opt/csw/gcc4/lib/gcc/i386-pc-solaris2.8/4.0.2/specs Target: i38

[Bug target/35135] unable to find a register to spill in class �GENERAL_REGS� with global registers

2009-01-31 Thread rob1weld at aol dot com
--- Comment #8 from rob1weld at aol dot com 2009-01-31 21:01 --- Sometimes you can skirt around the "GENERAL_REGS" error with other options. When I use "-O0", "-O1", "-O2", "-O3", "-Os" I get different results. Using "-O0" produces no screen output _or_ compiled file (thus it 'looks' a

[Bug target/35135] unable to find a register to spill in class �GENERAL_REGS� with global registers

2009-01-31 Thread rob1weld at aol dot com
--- Comment #7 from rob1weld at aol dot com 2009-01-31 20:25 --- Here is a "GENERAL_REGS" error for the Trunk. # gcc -v Using built-in specs. Target: i386-pc-solaris2.11 Configured with: ../gcc_trunk/configure --enable-languages=ada,c,c++,fortran,java,objc,obj-c++ --enable-shared --disa

[Bug target/35135] unable to find a register to spill in class �GENERAL_REGS� with global registers

2008-02-12 Thread rguenth at gcc dot gnu dot org
--- Comment #6 from rguenth at gcc dot gnu dot org 2008-02-12 18:48 --- The new testcase works for me with older releases (-O2 is enough), but 2.95.4 fails as well. The difference from 4.2 to 4.3 is that 4.2 uses two induction variables, while 4.3 uses one. After lreg 4.2 has (insn 21

[Bug target/35135] unable to find a register to spill in class �GENERAL_REGS� with global registers

2008-02-12 Thread jakub at gcc dot gnu dot org
--- Comment #5 from jakub at gcc dot gnu dot org 2008-02-12 17:27 --- That's still twice as many global regs as register starved i386 can realistically handle. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35135

[Bug target/35135] unable to find a register to spill in class �GENERAL_REGS� with global registers

2008-02-12 Thread mueller at gcc dot gnu dot org
--- Comment #4 from mueller at gcc dot gnu dot org 2008-02-12 17:18 --- new testcase: -O2 -fno-gcse -fomit-frame-pointer === Cut === __extension__ typedef unsigned long long int uint64_t; typedef unsigned int target_ulong; register struct CPUX86State *env asm ("ebp"); register target_u

[Bug target/35135] unable to find a register to spill in class �GENERAL_REGS� with global registers

2008-02-12 Thread mueller at gcc dot gnu dot org
--- Comment #3 from mueller at gcc dot gnu dot org 2008-02-12 16:31 --- the original code uses -fomit-frame-pointer -fno-gcse -O2. I can verify that -O3 fixes the issue. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35135

[Bug target/35135] unable to find a register to spill in class �GENERAL_REGS� with global registers

2008-02-08 Thread rguenth at gcc dot gnu dot org
--- Comment #2 from rguenth at gcc dot gnu dot org 2008-02-08 11:24 --- works with -O3 (unrolled loop) on trunk, fails with 2.95, 3.3, 4.1 and 4.2 as well. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added -

[Bug target/35135] unable to find a register to spill in class �GENERAL_REGS� with global registers

2008-02-07 Thread pinskia at gcc dot gnu dot org
--- Comment #1 from pinskia at gcc dot gnu dot org 2008-02-08 00:32 --- I don't think we can consider this a regression, the global registers just makes an already register starved target even more register starved. We go from having 6 registers down to 3 in this case. -- pinskia at