m68k-elf build fails building libiberty/regex.c. Reduced testcase below:
void foo(void); void bar (unsigned char *p) { int j; j = *(p) ; j += ((signed char) (*p) ) << 8; if (j) foo(); } Compiled with m68-elf-gcc -O2 gives test.c:10: error: insn does not satisfy its constraints: (insn 40 16 41 0 (set (reg:SI 2 %d2) (sign_extend:SI (reg:HI 0 %d0 [34]))) 65 {*68k_extendhisi2} (nil) (nil)) test.c:10: internal compiler error: in reload_cse_simplify_operands, at postreload.c:393 Appears to have been caused by r106804 (reverting this patch allows the build to succeed): 2005-11-12 Hans-Peter Nilsson <[EMAIL PROTECTED]> PR middle-end/24750 * reload.c (find_reloads_address_1) <case TRUNCATE, SIGN_EXTEND, ZERO_EXTEND>: New cases. -- Summary: m68k build failure: ICE: in reload_cse_simplify_operands Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: hp at gcc dot gnu dot org ReportedBy: pbrook at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: m68k-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24912