(mem (plus (mem (plus ...

Greg McGary greg@mcgary.org
Wed Apr 25 10:23:00 GMT 2001


I'm writing a new port to a MIPS-like RISC target.

Things are mostly working, but I get a number of compile failures with
-O0 wherein reload replaces a base register with a stack slot,
yielding this sort of nonsense:

gcc.c-torture/compile/20010102-1.c:101: Insn does not satisfy its constraints:
(insn 93 360 96 (set (mem/s:SI (plus:SI (mem:SI (plus:SI (reg/f:SI 29 $fp)
                        (const_int 28 [0x1c])) 0)
                (const_int 4 [0x4])) 0)
        (reg:SI 2 $v0)) 8 {*movsi} (nil)
    (nil))

My eyes are starting to glaze over when I try to debug it in gdb.  If
someone has tripped over this before, please give me a hint on where I
might look for the trouble.

(I'm hoping it's a simple, stupid error in the md file.  A couple days
ago, I had an abort in mark_referenced_resources that turned out to be
caused by a missing '=' in the destination constraint of an insn
pattern.)

Thanks,
Greg



More information about the Gcc mailing list