* [Bug target/42536] [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
@ 2009-12-29 12:41 ` debian-gcc at lists dot debian dot org
2009-12-31 16:56 ` rguenth at gcc dot gnu dot org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: debian-gcc at lists dot debian dot org @ 2009-12-29 12:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from debian-gcc at lists dot debian dot org 2009-12-29 12:41 -------
Created an attachment (id=19411)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19411&action=view)
preprocessed source
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42536
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/42536] [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
2009-12-29 12:41 ` [Bug target/42536] " debian-gcc at lists dot debian dot org
@ 2009-12-31 16:56 ` rguenth at gcc dot gnu dot org
2010-01-02 14:30 ` jakub at gcc dot gnu dot org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-12-31 16:56 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ra
Target Milestone|--- |4.4.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42536
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/42536] [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
2009-12-29 12:41 ` [Bug target/42536] " debian-gcc at lists dot debian dot org
2009-12-31 16:56 ` rguenth at gcc dot gnu dot org
@ 2010-01-02 14:30 ` jakub at gcc dot gnu dot org
2010-01-02 16:44 ` jakub at gcc dot gnu dot org
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-01-02 14:30 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from jakub at gcc dot gnu dot org 2010-01-02 14:30 -------
With 3 register vars in the function (ebx, edi, esi) on the register starved
ix86 the error is tollerable. From the 8 registers the programmer takes 3,
%esp is fixed, without -fomit-frame-pointer %ebp is fixed too, which leaves
just %eax, %edx and %ecx for register allocation. Even if this happens to
compile, the result can't work fast, as almost all insns need to have
temporaries spilled and reread back.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42536
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/42536] [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
` (2 preceding siblings ...)
2010-01-02 14:30 ` jakub at gcc dot gnu dot org
@ 2010-01-02 16:44 ` jakub at gcc dot gnu dot org
2010-01-07 14:45 ` rguenth at gcc dot gnu dot org
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-01-02 16:44 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from jakub at gcc dot gnu dot org 2010-01-02 16:44 -------
Reduced testcase:
/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
/* { dg-options "-O2 -fno-gcse" } */
struct C;
struct B { struct C *b; };
struct C { void (*baz) (struct B *, void *, int); };
typedef union { int f; void *e; } D;
struct E { struct B *e; };
struct A { struct E *a1; D *a2; D *a3; };
void
foo (long *x, long y)
{
*(long long *) x = y;
}
extern long fn1 (D);
extern void fn2 (void);
void
_bar (struct A *x)
{
register int a asm ("esi");
register D *volatile b asm ("edi");
register int c asm ("ebx");
void *d;
asm volatile ("" : "=r" (a), "=r" (b), "=r" (c) : : "memory");
if ((d = b[-2].e) != 0 && b [-2].e < d)
{
foo (&(((long *) d) + 1) [b[0].f], fn1 (b[-1]));
x->a2 = (D *) c;
x->a3 = b;
fn2 ();
}
x->a1->e->b->baz (x->a1->e, (void *) (long) a, 1);
}
Wonder why RA doesn't try to force the memory address into register, that would
free up one register from the 4 otherwise needed (2 for the address, 2 for
DImode value being stored into the memory).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42536
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/42536] [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
` (3 preceding siblings ...)
2010-01-02 16:44 ` jakub at gcc dot gnu dot org
@ 2010-01-07 14:45 ` rguenth at gcc dot gnu dot org
2010-01-21 13:15 ` jakub at gcc dot gnu dot org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-01-07 14:45 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42536
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/42536] [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
` (4 preceding siblings ...)
2010-01-07 14:45 ` rguenth at gcc dot gnu dot org
@ 2010-01-21 13:15 ` jakub at gcc dot gnu dot org
2010-03-20 13:04 ` steven at gcc dot gnu dot org
2010-04-30 8:58 ` [Bug target/42536] [4.4/4.5/4.6 " jakub at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-01-21 13:15 UTC (permalink / raw)
To: gcc-bugs
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.4.3 |4.4.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42536
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/42536] [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
` (5 preceding siblings ...)
2010-01-21 13:15 ` jakub at gcc dot gnu dot org
@ 2010-03-20 13:04 ` steven at gcc dot gnu dot org
2010-04-30 8:58 ` [Bug target/42536] [4.4/4.5/4.6 " jakub at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-03-20 13:04 UTC (permalink / raw)
To: gcc-bugs
--
steven at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2010-03-20 13:03:43
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42536
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/42536] [4.4/4.5/4.6 regression] ICE in spill_failure, at reload1.c:2141
2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
` (6 preceding siblings ...)
2010-03-20 13:04 ` steven at gcc dot gnu dot org
@ 2010-04-30 8:58 ` jakub at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-04-30 8:58 UTC (permalink / raw)
To: gcc-bugs
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.4.4 |4.4.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42536
^ permalink raw reply [flat|nested] 9+ messages in thread