https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79636
Vittorio Zecca <zeccav at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |zeccav at gmail dot com --- Comment #3 from Vittorio Zecca <zeccav at gmail dot com> --- Still in trunk 249883: /* from pr65693.c */ /* in trunk 249883 */ /* internal compiler error: in assign_by_spills, at lra-assigns.c */ void foo (int (*fn) (int, int, int), unsigned int b) { unsigned long *c = (unsigned long *) __builtin_alloca (b); register int d asm ("edx") = fn (0, 0, d); } /* * p.c: In function ‘foo’: error: unable to find a register to spill } ^ error: this is the insn: (insn 11 31 12 2 (parallel [ (set (reg:DI 94) (udiv:DI (reg:DI 92) (reg:DI 103))) (set (reg:DI 104 [95]) (umod:DI (reg:DI 92) (reg:DI 103))) (clobber (reg:CC 17 flags)) ]) "p.c":7 370 {*udivmoddi4} (expr_list:REG_UNUSED (reg:DI 104 [95]) (expr_list:REG_DEAD (reg:DI 103) (expr_list:REG_DEAD (reg:DI 92) (expr_list:REG_UNUSED (reg:CC 17 flags) (nil)))))) during RTL pass: reload internal compiler error: in assign_by_spills, at lra-assigns.c:1476 0x6216cc _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../gcc-249883/gcc/rtl-error.c:108 0xaf2f5e assign_by_spills ../../gcc-249883/gcc/lra-assigns.c:1476 0xaf4276 lra_assign() ../../gcc-249883/gcc/lra-assigns.c:1670 0xaef29c lra(_IO_FILE*) ../../gcc-249883/gcc/lra.c:2451 0xaa7281 do_reload ../../gcc-249883/gcc/ira.c:5440 0xaa7281 execute ../../gcc-249883/gcc/ira.c:5624 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. */