https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83723
Bug ID: 83723
Summary: [8 Regression] ICE: in gen_rtx_SUBREG, at
emit-rtl.c:1010
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: doko at gcc dot gnu.org
Target Milestone: ---
seen with r256272 on i686-linux-gnu, worked around with -O1
$ cat debris.ii
int a();
void b();
void c(float);
float d();
int *e;
void f() {
float g = d();
c(g);
if (e)
b();
if (g < 1.0)
g = a() / g;
}
$ g++ -c -g -O2 -mfpmath=sse -msse -msse2 -ansi -funroll-loops -fsigned-char
debris.ii
during RTL pass: reload
debris.ii: In function 'void f()':
debris.ii:13:1: internal compiler error: in gen_rtx_SUBREG, at emit-rtl.c:1010
}
^
0x81c19b8 gen_rtx_SUBREG(machine_mode, rtx_def*, poly_int<1u, unsigned long
long>)
../../src/gcc/emit-rtl.c:1010
0x86d8a89 lra_substitute_pseudo(rtx_def**, int, rtx_def*, bool)
../../src/gcc/lra.c:1936
0x86d8b45 lra_substitute_pseudo(rtx_def**, int, rtx_def*, bool)
../../src/gcc/lra.c:1950
0x86d8b45 lra_substitute_pseudo(rtx_def**, int, rtx_def*, bool)
../../src/gcc/lra.c:1950
0x86d8c02 lra_substitute_pseudo_within_insn(rtx_insn*, int, rtx_def*, bool)
../../src/gcc/lra.c:1973
0x86ec39e remove_inheritance_pseudos
../../src/gcc/lra-constraints.c:6769
0x86ec39e lra_undo_inheritance()
../../src/gcc/lra-constraints.c:6970
0x86d954b lra(_IO_FILE*)
../../src/gcc/lra.c:2471
0x8698747 do_reload
../../src/gcc/ira.c:5462
0x8698747 execute
../../src/gcc/ira.c:5646
Please submit a full bug report,
with preprocessed source if appropriate.