https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104209
Bug ID: 104209 Summary: ICE in lra_split_hard_reg_for, at lra-assigns.cc:1837 Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- With file gcc.dg/torture/pr20314-2.c, affects versions down to at least r5 : $ gcc-12-20220123 -c pr20314-2.c -m32 -fPIC pr20314-2.c: In function 'f1': pr20314-2.c:5:3: error: 'asm' operand has impossible constraints 5 | __asm__ volatile ("" | ^~~~~~~ pr20314-2.c:9:1: error: unable to find a register to spill 9 | } | ^ pr20314-2.c:9:1: error: this is the insn: (insn 96 94 98 2 (set (reg:SI 151 [123]) (reg:SI 123)) "pr20314-2.c":5:3 81 {*movsi_internal} (expr_list:REG_DEAD (reg:SI 123) (nil))) during RTL pass: reload pr20314-2.c:9:1: internal compiler error: in lra_split_hard_reg_for, at lra-assigns.cc:1837 0x685898 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../gcc/rtl-error.cc:108 0xc1f9e1 lra_split_hard_reg_for() ../../gcc/lra-assigns.cc:1837 0xc19c5b lra(_IO_FILE*) ../../gcc/lra.cc:2420 0xbc7b39 do_reload ../../gcc/ira.cc:5940 0xbc7b39 execute ../../gcc/ira.cc:6126