target/10282: [3.3/3.4 regression] ICE: unable to find a register to spill in class `Q_REGS'
bangerth@dealii.org
bangerth@dealii.org
Tue Apr 1 00:07:00 GMT 2003
Old Synopsis: ICE: unable to find a register to spill in class `Q_REGS'
New Synopsis: [3.3/3.4 regression] ICE: unable to find a register to spill in class `Q_REGS'
State-Changed-From-To: open->analyzed
State-Changed-By: bangerth
State-Changed-When: Tue Apr 1 00:07:24 2003
State-Changed-Why:
Confirmed. This is as short as I could get it:
------------------------
typedef struct X {
char * p;
long l;
} X_t;
void foo(X_t * A_buf , X_t * A_next) {
int Li;
long Ll;
X_t Ld1;
X_t Ld2;
Li = undeclared1(Ll);
Ld1 = *A_next;
Ld2 = *A_buf;
(*(Ld2.p + Ld1.l)) = Ll;
undeclared2(Ld2);
}
-------------------------
g/x> /home/bangerth/bin/gcc-3.4-pre/bin/gcc -O -c x.c
x.c: In function `foo':
x.c:17: error: unable to find a register to spill in class `Q_REGS'
x.c:17: error: this is the insn:
(insn 22 20 24 0 0x40153268 (set (mem:QI (plus:SI (subreg:SI (reg/v:DI 63 [ Ld2 ]) 0)
(subreg:SI (reg/v:DI 62 [ Ld1 ]) 4)) [0 S1 A8])
(subreg:QI (reg/v:SI 4 esi [orig:61 Ll ] [61]) 0)) 48 {*movqi_1} (insn_list 18 (insn_list 20 (nil)))
(expr_list:REG_DEAD (reg/v:SI 4 esi [orig:61 Ll ] [61])
(expr_list:REG_DEAD (reg/v:DI 62 [ Ld1 ])
(nil))))
x.c:17: internal compiler error: in spill_failure, at reload1.c:1917
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
This is a regression on 3.3 and mainline w.r.t. 3.4.
W.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10282
More information about the Gcc-bugs
mailing list