https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65167
Bug ID: 65167 Summary: ICE: in assign_by_spills, at lra-assigns.c:1383 (unable to find a register to spill) with -O -fschedule-insns -fcheck-pointer-bounds -mmpx Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: zsojka at seznam dot cz Created attachment 34837 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34837&action=edit reduced testcase Compiler output: $ gcc -O -fschedule-insns -fcheck-pointer-bounds -mmpx testcase.c testcase.c: In function 'foo.chkp': testcase.c:7:1: error: unable to find a register to spill } ^ testcase.c:7:1: error: this is the insn: (insn 21 49 32 2 (parallel [ (unspec [ (mem:DI (unspec:DI [ (plus:DI (reg/f:DI 7 sp) (const_int -8 [0xfffffffffffffff8])) (subreg:DI (reg/v/f:DI 94 [ e ]) 0) ] UNSPEC_BNDLDX_ADDR) [0 S8 A8]) (reg:BND64 111 [orig:101 __chkp_bounds_of_e ] [101]) ] UNSPEC_BNDSTX) (set (mem/v:BLK (plus:DI (reg/f:DI 7 sp) (const_int -8 [0xfffffffffffffff8])) [0 A8]) (unspec:BLK [ (mem/v:BLK (plus:DI (reg/f:DI 7 sp) (const_int -8 [0xfffffffffffffff8])) [0 A8]) ] UNSPEC_MPX_FENCE)) ]) testcase.c:5 1067 {*bnd64_stx} (expr_list:REG_DEAD (reg:BND64 111 [orig:101 __chkp_bounds_of_e ] [101]) (expr_list:REG_DEAD (reg/v/f:DI 94 [ e ]) (nil)))) testcase.c:7:1: internal compiler error: in assign_by_spills, at lra-assigns.c:1383 0xbcd308 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /mnt/svn/gcc-trunk/gcc/rtl-error.c:110 0xac5ef6 assign_by_spills /mnt/svn/gcc-trunk/gcc/lra-assigns.c:1383 0xac6723 lra_assign() /mnt/svn/gcc-trunk/gcc/lra-assigns.c:1558 0xac2042 lra(_IO_FILE*) /mnt/svn/gcc-trunk/gcc/lra.c:2337 0xa705e1 do_reload /mnt/svn/gcc-trunk/gcc/ira.c:5418 0xa705e1 execute /mnt/svn/gcc-trunk/gcc/ira.c:5589 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: r220888 - fail