https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66207
--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> --- The patched gcc (the patch from Comment #1) bootstrap went all the way to stage 2, where it crashed on attached source when building libcpp with: /space/homedirs/uros/gcc-svn/trunk/libcpp/macro.c: In function ‘const cpp_token* cpp_get_token_1(cpp_reader*, source_location*)’: /space/homedirs/uros/gcc-svn/trunk/libcpp/macro.c:2568:1: internal compiler error: Max. number of generated reload insns per insn is achieved (90) } ^ 0x120cfd257 lra_constraints(bool) /space/homedirs/uros/gcc-svn/trunk/gcc/lra-constraints.c:4379 0x120cdd6fb lra(_IO_FILE*) /space/homedirs/uros/gcc-svn/trunk/gcc/lra.c:2320 0x120c62b77 do_reload /space/homedirs/uros/gcc-svn/trunk/gcc/ira.c:5418 0x120c632af execute /space/homedirs/uros/gcc-svn/trunk/gcc/ira.c:5589 Please submit a full bug report, The crash can be reproduced with a crosscompiler from x86_64-linux-gnu, configured with "--target=alpha-linux-gnu --enable-languages=c,c++" $ cc1plus -O2 -fpreprocessed -o macro.o macro.ii /space/homedirs/uros/gcc-svn/trunk/libcpp/macro.c: In function ‘const cpp_token* cpp_get_token_1(cpp_reader*, source_location*)’: /space/homedirs/uros/gcc-svn/trunk/libcpp/macro.c:2568:1: internal compiler error: Max. number of generated reload insns per insn is achieved (90) 0xa9b474 lra_constraints(bool) /home/uros/gcc-svn/trunk/gcc/lra-constraints.c:4379 0xa87e4c lra(_IO_FILE*) /home/uros/gcc-svn/trunk/gcc/lra.c:2320 0xa49929 do_reload /home/uros/gcc-svn/trunk/gcc/ira.c:5418 0xa49929 execute /home/uros/gcc-svn/trunk/gcc/ira.c:5589 Please submit a full bug report, (gdb) up #1 0x0000000000a9b475 in lra_constraints (first_p=true) at /home/uros/gcc-svn/trunk/gcc/lra-constraints.c:4379 4379 MAX_RELOAD_INSNS_NUMBER); (gdb) p curr_insn $1 = (rtx_insn *) 0x7ffff13d5fc0 (gdb) p debug_rtx (curr_insn) (insn 973 639 972 89 (set (reg:QI 539 [183]) (reg:QI 183)) /space/homedirs/uros/gcc-svn/trunk/libcpp/macro.c:2566 229 {*movqi} (nil)) The end of reload dump shows this sequence: Choosing alt 0 in insn 643: (0) =r (1) r {zero_extendqidi2} Creating newreg=449 from oldreg=183, assigning class GENERAL_REGS to r449 643: r427:SI#0=zero_extend(r449:QI) REG_DEAD r183:QI Inserting insn reload before: 883: r449:QI=r183:QI 0 Non pseudo reload: reject++ alt=0,overall=607,losers=1,rld_nregs=1 0 Non pseudo reload: reject++ alt=1: Bad operand -- refuse Choosing alt 0 in insn 883: (0) =r (1) rJ {*movqi} Creating newreg=450 from oldreg=183, assigning class GENERAL_REGS to r450 883: r449:QI=r450:QI Inserting insn reload before: 884: r450:QI=r183:QI