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.