https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78883
Bug ID: 78883 Summary: [avr] ICE triggered by change to combine.c (r243578) Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: gjl at gcc dot gnu.org Target Milestone: --- r243578 triggers several ICEs in avr-gcc test suite; amongst them: $ avr-gcc /gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr26833.c -S -O1 -mmcu=avr4 -S -da /gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr26833.c: In function 'yasm_lc3b__parse_insn': /gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr26833.c:19:1: error: insn does not satisfy its constraints: } ^ (jump_insn 58 98 59 9 (set (pc) (if_then_else (eq (and:HI (reg:HI 31 r31) (const_int 1 [0x1])) (const_int 0 [0])) (label_ref 70) (pc))) "/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr26833.c":11 415 {*sbrx_and_branchhi} (int_list:REG_BR_PROB 375 (nil)) -> 70) /gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr26833.c:19:1: internal compiler error: in extract_constrain_insn, at recog.c:2213 0x9840e3 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../../gcc.gnu.org/trunk/gcc/rtl-error.c:108 0x98410f _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) ../../../gcc.gnu.org/trunk/gcc/rtl-error.c:119 0x95b61d extract_constrain_insn(rtx_insn*) ../../../gcc.gnu.org/trunk/gcc/recog.c:2213 0x939b45 reload_cse_simplify_operands ../../../gcc.gnu.org/trunk/gcc/postreload.c:391 0x93a725 reload_cse_simplify ../../../gcc.gnu.org/trunk/gcc/postreload.c:179 0x93a725 reload_cse_regs_1 ../../../gcc.gnu.org/trunk/gcc/postreload.c:218 0x93c3ab reload_cse_regs ../../../gcc.gnu.org/trunk/gcc/postreload.c:64 0x93c3ab execute ../../../gcc.gnu.org/trunk/gcc/postreload.c:2342 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. georg@pandora:~/test> R31 is the last hard reg (8-bit) and must never be allocated to HImode. GCC configured as: $ ../../gcc.gnu.org/trunk/configure --target=avr --prefix=/local/gnu/install/gcc-7 --disable-shared --disable-nls --with-dwarf2 --enable-target-optspace=yes --with-gnu-as --with-gnu-ld --enable-checking=release --enable-languages=c,c++