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.

Reply via email to