[Bug target/49206] New: RA failure in spill_failure, at reload1.c:2113
arthur.j.odwyer at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sat May 28 00:55:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49206
Summary: RA failure in spill_failure, at reload1.c:2113
Product: gcc
Version: 4.5.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: arthur.j.odwyer@gmail.com
Created attachment 24383
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24383
Output of "ajo-gcc -O2 -w -c test.c -v"
This register-allocator failure reproduces for me with svn revision 173843
(2011-05-17), and also with gcc 4.5.1. It doesn't reproduce with gcc 4.4.5. I'm
on Ubuntu 10.10, x86-64.
cat >test.c <<EOF
struct S1 { short f0; };
extern volatile struct S1 g_5;
extern int g_120, i;
extern short g_339;
int func_72(int x, int y, struct S1 z) {
for (z.f0 = -3; z.f0 > 16; z.f0 += 1)
foo();
return g_120;
}
int main() {
while (g_339 % 0x200003) continue;
if (i)
func_72(0, 0, g_5);
foo(&g_339);
return 0;
}
EOF
gcc -O2 -w -c test.c
test.c: In function ‘main’:
test.c:17:1: error: unable to find a register to spill in class ‘DREG’
test.c:17:1: error: this is the insn:
(insn 7 6 8 2 (parallel [
(set (reg:SI 2 cx [64])
(truncate:SI (lshiftrt:DI (mult:DI (sign_extend:DI (reg:SI 4 si
[orig:61 pretmp.11 ] [61]))
(sign_extend:DI (reg:SI 2 cx [66])))
(const_int 32 [0x20]))))
(clobber (scratch:SI))
(clobber (reg:CC 17 flags))
]) test.c:12 343 {*smulsi3_highpart_1}
(expr_list:REG_DEAD (reg:SI 2 cx [66])
(expr_list:REG_UNUSED (reg:CC 17 flags)
(expr_list:REG_EQUAL (truncate:SI (lshiftrt:DI (mult:DI
(sign_extend:DI (reg:SI 4 si [orig:61 pretmp.11 ] [61]))
(const_int 2147480577 [0x7ffff401]))
(const_int 32 [0x20])))
(nil)))))
test.c:17:1: internal compiler error: in spill_failure, at reload1.c:2113
This test case is reduced from the output of Csmith 2.1.0 (git hash 01aa8b04,
https://github.com/Quuxplusone/csmith/), using the following command line:
csmith --paranoid --longlong --no-pointers --no-arrays --jumps --consts
--volatiles --checksum --no-divs --muls --no-bitfields --no-packed-struct -s
855007444
More information about the Gcc-bugs
mailing list