https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66569
Bug ID: 66569 Summary: [CHKP] Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: ienkovich at gcc dot gnu.org Target Milestone: --- >cat test.i struct s1 { int *p; int i; }; struct s2 { struct s1 s; int i; }; int test (struct s2 s, ...) { } >gcc -fcheck-pointer-bounds -mmpx test.i test.i: In function 'test.chkp': test.i:14:18: error: unable to find a register to spill int test (struct s2 s, ...) { } ^ test.i:14:18: error: this is the insn: (insn 20 19 42 4 (parallel [ (set (reg:BND64 92 [orig:88 __chkp_bounds_of_s ] [88]) (unspec:BND64 [ (mem:DI (unspec:DI [ (plus:DI (reg/f:DI 16 argp) (const_int 16 [0x10])) (reg:DI 89) ] UNSPEC_BNDLDX_ADDR) [0 S8 A8]) ] UNSPEC_BNDLDX)) (use (mem:BLK (plus:DI (reg/f:DI 16 argp) (const_int 16 [0x10])) [0 A8])) ]) test.i:14 1062 {*bnd64_ldx} (expr_list:REG_DEAD (reg:DI 89) (nil))) test.i:14:18: internal compiler error: in assign_by_spills, at lra-assigns.c:1418 0xd3badb _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /gnumnt/msticlxl7_users/ienkovic/issues/mpx/gcc/gcc/rtl-error.c:110 0xc0462b assign_by_spills /gnumnt/msticlxl7_users/ienkovic/issues/mpx/gcc/gcc/lra-assigns.c:1418 0xc04f82 lra_assign() /gnumnt/msticlxl7_users/ienkovic/issues/mpx/gcc/gcc/lra-assigns.c:1593 0xbfdf80 lra(_IO_FILE*) /gnumnt/msticlxl7_users/ienkovic/issues/mpx/gcc/gcc/lra.c:2331 0xba9512 do_reload /gnumnt/msticlxl7_users/ienkovic/issues/mpx/gcc/gcc/ira.c:5401 0xba98c0 execute /gnumnt/msticlxl7_users/ienkovic/issues/mpx/gcc/gcc/ira.c:5572 Fails on GCC 6 and GCC 5.1