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

Reply via email to