This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: How to deal with unrecognizable RTL code
- From: Paolo Bonzini <bonzini at gnu dot org>
- To: 田晓南 <daniel dot tian at mavrixtech dot com dot cn>
- Cc: gcc at gcc dot gnu dot org, "'Peng Zheng'" <peng dot zheng at mavrixtech dot com>, thomas dot liau at mavrixtech dot com, "'Ian Lance Taylor'" <iant at google dot com>, "'Michael Hope'" <michael dot hope at gmail dot com>
- Date: Fri, 19 Jun 2009 13:56:09 +0200
- Subject: Re: How to deal with unrecognizable RTL code
- References: <20090619080614.207B750C9BEB@mail.mavrixtech.com.cn>
田晓南 wrote:
> Hello, guys:
> The porting is really a difficult and huge job. So many things I
> don't know or miss result in countless bugs.
It should not be hard. You have to tell us however why this is
unrecognizable, that is, what would be the "closest" recognizable insn
supported by your port.
> (insn 264 191 193 15 (set (reg:HI 5 R5)
> (subreg:HI (mem:SI (plus:SI (reg/f:SI 14 R14)
> (const_int 12 [0xc])) [0 crc+0 S4 A32]) 0)) -1 (nil)
> (nil))
>
> (insn 261 197 200 14 (set (reg:HI 5 R5)
> (subreg:HI (mem:SI (reg/f:SI 14 R14) [7 crc.16+0 S4 A32]) 0)) -1
> (nil)
> (nil))
Also:
1) does your machine use cc0?
2) what pass is producing those subregs?
3) what is your definition of GO_IF_LEGITIMATE_ADDRESS?
[I trimmed a bit the list of recipients, sending to the mailing list is
usually enough.]
Paolo