https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70023
Bug ID: 70023 Summary: [4.9/5/6 Regression] ICE: in assign_by_spills, at lra-assigns.c:1417 with -fno-sched-critical-path-heuristic -fschedule-insns -m8bit-idiv 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 Created attachment 37828 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37828&action=edit reduced testcase Compiler output: $ gcc -O -fno-sched-critical-path-heuristic -fschedule-insns -m8bit-idiv testcase2.c testcase2.c: In function 'foo': testcase2.c:5:1: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6 foo(int u16_0, int u64_0, i128 u128_0, i128 u128_1, v8si v32u32_0, v8si v32u32_1, v8si v32u64_1) ^~~ testcase2.c:5:1: warning: AVX vector argument without AVX enabled changes the ABI [-Wpsabi] testcase2.c:12:1: error: unable to find a register to spill } ^ testcase2.c:12:1: error: this is the insn: (insn 10 96 94 2 (parallel [ (set (mem/j/c:SI (plus:DI (reg/f:DI 16 argp) (const_int 32 [0x20])) [1 v32u32_0+24 S4 A64]) (ashift:SI (mem/j/c:SI (plus:DI (reg/f:DI 16 argp) (const_int 32 [0x20])) [1 v32u32_0+24 S4 A64]) (subreg:QI (and:SI (reg:SI 154) (const_int 31 [0x1f])) 0))) (clobber (reg:CC 17 flags)) ]) testcase2.c:7 525 {*ashlsi3_mask} (expr_list:REG_DEAD (reg:SI 154) (expr_list:REG_UNUSED (reg:CC 17 flags) (nil)))) testcase2.c:12:1: internal compiler error: in assign_by_spills, at lra-assigns.c:1417 0xb395b8 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /repo/gcc-trunk/gcc/rtl-error.c:108 0xa04e96 assign_by_spills /repo/gcc-trunk/gcc/lra-assigns.c:1417 0xa055a3 lra_assign() /repo/gcc-trunk/gcc/lra-assigns.c:1590 0xa0096f lra(_IO_FILE*) /repo/gcc-trunk/gcc/lra.c:2331 0x9a7189 do_reload /repo/gcc-trunk/gcc/ira.c:5396 0x9a7189 execute /repo/gcc-trunk/gcc/ira.c:5567 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. Tested revisions: Tested revisions: trunk r233801 - FAIL 5-branch r233800 - FAIL 4_9-branch r233802 - FAIL 4_8-branch r224828 - FAIL 4_7-branch r211571 - OK