This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/71763] New: powerpc64: ICE due to need for output reload on jump
- From: "anton at samba dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 05 Jul 2016 01:20:00 +0000
- Subject: [Bug target/71763] New: powerpc64: ICE due to need for output reload on jump
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71763
Bug ID: 71763
Summary: powerpc64: ICE due to need for output reload on jump
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: anton at samba dot org
Target Milestone: ---
The following test case:
int a, b;
float c;
void fn2(void);
void fn1(void)
{
long d;
for (d = 3; d; d--) {
for (a = 0; a <= 1; a++) {
b &= 1;
if (b) {
for (;;) {
fn2();
c = d;
}
}
}
}
}
built with -O1 hits an ICE:
crash1b.c:21:1: error: unable to generate reloads for:
}
^
(jump_insn 43 42 62 7 (parallel [
(set (pc)
(if_then_else (ne (reg/v:DI 108 31 [orig:157 d ] [157])
(const_int 1 [0x1]))
(label_ref:DI 41)
(pc)))
(set (reg/v:DI 108 31 [orig:157 d ] [157])
(plus:DI (reg/v:DI 108 31 [orig:157 d ] [157])
(const_int -1 [0xffffffffffffffff])))
(clobber (scratch:CC))
(clobber (scratch:DI))
]) crash1b.c:10 797 {*ctrdi_internal1}
(int_list:REG_BR_PROB 7500 (nil))
-> 41)
crash1b.c:21:1: internal compiler error: in find_reloads, at reload.c:3830
0x10836413 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
../../gcc/gcc/rtl-error.c:108
0x1081c173 find_reloads(rtx_insn*, int, int, int, short*)
../../gcc/gcc/reload.c:3830
0x1083178f calculate_needs_all_insns
../../gcc/gcc/reload1.c:1483
0x1083178f reload(rtx_insn*, int)
../../gcc/gcc/reload1.c:995
0x1068c84b do_reload
../../gcc/gcc/ira.c:5396
0x1068c84b execute
../../gcc/gcc/ira.c:5568