I can reliably produce an ICE with a source file with gcc 3.4.4 on m68k-elf. I
have stripped down the preprocessed source file considerably from the original,
and pretty much as far as I can go.  My investigation appears to show it is
dependent on -funit-at-a-time which is why it is not constrained to a single
function.

It can be reproduced when compiled with:
m68k-elf-gcc -c -m5200 -O1 -funit-at-a-time parse.c
which outputs:
parse.c: In function `read_module':
parse.c:149: error: insn does not satisfy its constraints:
(insn 361 630 362 36 parse.c:37 (set (mem/s/j:SI (plus:SI (reg:SI 8 %a0)
                (const_int 8 [0x8])) [0 <variable>.hint+0 S4 A16])
        (mem:SI (plus:SI (reg/f:SI 14 %a6)
                (reg:SI 0 %d0)) [0 hint+0 S4 A16])) 26 {*m68k.md:760} (nil)
    (nil))
parse.c:149: internal compiler error: in reload_cse_simplify_operands, at
postreload.c:391

An earlier version of the sources could reproduce it at -O2, but this stripped
one only now does it with -O1 -funit-at-a-time.

It is highly dependent on just about every line of the input file. I would not
be at all surprised if it was not reproduceable on a heavily modified 3.4.4 or
on 4.0.0, which doesn't mean the problem is necessarily fixed.

I have tried the patch from bug 18421 without effect.

-- 
           Summary: M68K Coldfire: ICE in reload_cse_simplify_operands
           Product: gcc
           Version: 3.4.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jifl-bugzilla at jifvik dot org
                CC: gcc-bugs 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=22049

Reply via email to