https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65710
Bug ID: 65710 Summary: [5 Regression] Thumb1 ICE caused by no register to spill Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: terry.guo at arm dot com Created attachment 35268 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35268&action=edit test case Revision 221867 is the fix to PR65647. But it causes another ICE for thumb1 target as below: $./install/bin/arm-none-eabi-gcc -mthumb -O2 -S regex.i regex.i: In function ‘byte_re_match_2_internal’: regex.i:10121:1: error: unable to find a register to spill } ^ regex.i:10121:1: error: this is the insn: (insn 12390 15093 12392 2 (set (reg:SI 8731 [8730]) (plus:SI (reg:SI 8731 [8730]) (reg:SI 10838))) regex.i:8483 718 {*thumb1_addsi3} (expr_list:REG_DEAD (reg:SI 10838) (nil))) regex.i:10121:1: internal compiler error: in assign_by_spills, at lra-assigns.c:1419 0xa36eea _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../src/gcc/gcc/rtl-error.c:110 0x9521e7 assign_by_spills ../../src/gcc/gcc/lra-assigns.c:1419 0x952bd3 lra_assign() ../../src/gcc/gcc/lra-assigns.c:1594 0x94e919 lra(_IO_FILE*) ../../src/gcc/gcc/lra.c:2360 0x90cc09 do_reload ../../src/gcc/gcc/ira.c:5418 0x90cc09 execute ../../src/gcc/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. This issue still happens to the latest trunk.