https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69244
Bug ID: 69244 Summary: [6 Regression] ICE in plus_constant, at explow.c:87 on i686-linux-gnu Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: doko at gcc dot gnu.org Target Milestone: --- r232188, i686-linux-gnu, works with -O0 reduced test case: typedef union { float f; int i; } ls_pcast32; float a, b; void fn1(); void fn2() { int c; float d, e = a; fn1(); d = e; ls_pcast32 p; p.f = d += 2; c = p.i - 4; b = c; } $ gcc -c -g -O1 plugin.i plugin.i: In function 'fn2': plugin.i:16:1: internal compiler error: in plus_constant, at explow.c:87 } ^ 0x835faff plus_constant(machine_mode, rtx_def*, long long, bool) ../../src/gcc/explow.c:87 0x835fb39 plus_constant(machine_mode, rtx_def*, long long, bool) ../../src/gcc/explow.c:143 0x84a4c51 form_sum ../../src/gcc/lra-eliminations.c:213 0x84a5a42 lra_eliminate_regs_1(rtx_insn*, rtx_def*, machine_mode, bool, bool, long long, bool) ../../src/gcc/lra-eliminations.c:436 0x84a611e eliminate_regs_in_insn(rtx_insn*, bool, bool, long long) ../../src/gcc/lra-eliminations.c:1116 0x84a687e process_insn_for_elimination ../../src/gcc/lra-eliminations.c:1408 0x84a687e lra_eliminate(bool, bool) ../../src/gcc/lra-eliminations.c:1472 0x8492724 lra(_IO_FILE*) ../../src/gcc/lra.c:2370 0x8453477 do_reload ../../src/gcc/ira.c:5385 0x8453477 execute ../../src/gcc/ira.c:5556 Please submit a full bug report, with preprocessed source if appropriate.