I recently ran across an ICE building a target libiberty for one of the multilibs of the mips64vrel-elf toolchain:
.../libiberty/regex.c: In function 'byte_re_match_2_internal': .../libiberty/regex.c:7481: error: insn does not satisfy its constraints: (insn 5211 1697 1699 173 .../libiberty/regex.c:6589 (set (reg:SI 5 $5) (lo_sum:SI (reg/f:SI 1104) (symbol_ref:SI ("byte_reg_unset_dummy") [flags 0x6] <var_decl 0x2a9860bc60 byte_reg_unset_dummy>))) 204 {*lowsi_mips16} (nil) (expr_list:REG_EQUAL (symbol_ref:SI ("byte_reg_unset_dummy") [flags 0x6] <var_decl 0x2a9860bc60 byte_reg_unset_dummy>) (nil))) .../libiberty/regex.c:7481: internal compiler error: in reload_cse_simplify_operands, at postreload.c:393 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. make[3]: *** [regex.o] Error 1 make[3]: Leaving directory .../mips64vrel-elf/mips64vrel-elf/mips16/libiberty' -- Summary: ICE building libiberty multilib for mips16 multilibs Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: nickc at redhat dot com GCC host triplet: x86_64-pc-linux-gnulibc2.3 GCC target triplet: mips64vrel-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31388