https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70374
Bug ID: 70374 Summary: [5/6 Regression] ICE: in assign_by_spills, at lra-assigns.c:1428 (unable to find a register to spill) with -march=core2 -fno-split-wide-types -mavx512f Product: gcc Version: 6.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: zsojka at seznam dot cz Target Milestone: --- Target: x86_64-pc-linux-gnu Compiler output: $ gcc -O -march=core2 -fschedule-insns -fno-split-wide-types -mavx512f testcase.c testcase.c: In function 'foo': testcase.c:11:1: error: unable to find a register to spill } ^ testcase.c:11:1: error: this is the insn: (insn 22 64 65 2 (parallel [ (set (reg:TI 138) (mult:TI (zero_extend:TI (subreg/j:DI (reg:TI 138) 0)) (zero_extend:TI (subreg:DI (reg:TI 105 [ b ]) 0)))) (clobber (reg:CC 17 flags)) ]) testcase.c:8 334 {*umulditi3_1} (expr_list:REG_DEAD (reg:TI 105 [ b ]) (expr_list:REG_UNUSED (reg:CC 17 flags) (nil)))) testcase.c:11:1: internal compiler error: in assign_by_spills, at lra-assigns.c:1417 0xb37008 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /repo/gcc-trunk/gcc/rtl-error.c:108 0xa03077 assign_by_spills /repo/gcc-trunk/gcc/lra-assigns.c:1417 0xa040a3 lra_assign() /repo/gcc-trunk/gcc/lra-assigns.c:1590 0x9ff504 lra(_IO_FILE*) /repo/gcc-trunk/gcc/lra.c:2335 0x9a5c19 do_reload /repo/gcc-trunk/gcc/ira.c:5425 0x9a5c19 execute /repo/gcc-trunk/gcc/ira.c:5609 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. $ gcc -v Using built-in specs. COLLECT_GCC=/repo/gcc-trunk/binary-latest/bin/x86_64-pc-linux-gnu-gcc COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-234405-checking-yes-rtl-df-nographite/bin/../libexec/gcc/x86_64-pc-linux-gnu/6.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++ --enable-checking=yes,rtl,df --without-cloog --without-ppl --without-isl --disable-libstdcxx-pch --prefix=/repo/gcc-trunk//binary-trunk-234405-checking-yes-rtl-df-nographite Thread model: posix gcc version 6.0.0 20160322 (experimental) (GCC) Tested revisions: trunk r234405 - FAIL trunk r234373 - FAIL 5-branch r234375 - FAIL 4_9-branch r234366 - OK