From: 田晓南 <daniel.tian@mavrixtech.com.cn>
To: <gcc@gcc.gnu.org>
Cc: "'Peng Zheng'" <peng.zheng@mavrixtech.com>,
<thomas.liau@mavrixtech.com>,
"'Ian Lance Taylor'" <iant@google.com>,
"'Jeff Law'" <law@redhat.com>,
"'Michael Hope'" <michael.hope@gmail.com>,
"'Joern Rennecke'" <amylaar@spamcop.net>
Subject: How to deal with unrecognizable RTL code
Date: Fri, 19 Jun 2009 08:08:00 -0000 [thread overview]
Message-ID: <20090619080614.207B750C9BEB@mail.mavrixtech.com.cn> (raw)
Hello, guys:
The porting is really a difficult and huge job. So many things I
don't know or miss result in countless bugs.
I'd like to thank you for your guys in maillist helping so much,
especially, Ian Lance Taylor.
Here I encounter some unrecognizable RTL (R0 to R15 are registers. I
hate the unrecognizable RTL insns always coming about, and I wanna end it.):
(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))
PROMOTE_MODE, stolen from mips, is defined in my port:
#define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \
if (GET_MODE_CLASS (MODE) == MODE_INT \
&& GET_MODE_SIZE (MODE) < UNITS_PER_WORD) \
{ \
(MODE) = Pmode; \
}
I don't know whether those RTL related with this macro. Yeah, there is a
solution to fix them -- updated the LOAD/STORE constraint. But I don't think
it's a good point.
My RISC chip only accepts the specified RTL which I have already defined
them with insn and expand patterns. So I think there must be a way which
legitimizes RTL code.
(insn:HI 17 13 14 0 (set (mem/s:SI (plus:SI (mem/f:SI (reg/f:SI 14 R14) [15
header+0 S4 A32])
(const_int 32 [0x20])) [10 <variable>.private_bits+0 S4
A32])
(reg:SI 4 R4 [56])) 8 {store_si} (insn_list:REG_DEP_TRUE 13
(insn_list:REG_DEP_TRUE 6 (nil)))
(expr_list:REG_EQUAL (const_int 0 [0x0])
(nil)))
If I have to fix those RTL one by one, that would be so tough! So did there
are some macros or TARGET HOOKs, which retrieve those unknown RTL, then, I
can write code there to force them into specified way.
Any suggestion is appreciated!
Thank you very much!
Daniel.Tian
_______________________________________________
Best Regards
Daniel Tian
Tel:86(21)51095958 - 8125
Fax:86(21)50277658
Email:daniel.tian@mavrixtech.com.cn
www.mavrixtech.com
next reply other threads:[~2009-06-19 8:08 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-19 8:08 田晓南 [this message]
2009-06-19 11:56 ` Paolo Bonzini
2009-06-24 9:35 ` daniel.tian
2009-06-24 9:36 ` Dave Korn
2009-06-24 9:37 ` Paolo Bonzini
2009-06-24 10:16 ` Dave Korn
2009-06-25 18:43 ` Jeff Law
2009-06-29 10:40 ` 答复: " daniel.tian
2009-07-01 1:57 ` Jeff Law
2009-06-29 10:52 ` daniel.tian
2009-06-29 21:11 ` How " Ian Lance Taylor
2009-06-30 6:20 ` Jim Wilson
2009-06-30 14:22 ` daniel.tian
2009-07-01 2:05 ` Jeff Law
[not found] <5885251a0906190727p301b9122k7dcd235dcdd082a4@mail.gmail.com>
2009-06-22 1:56 ` daniel.tian
2009-06-22 11:21 ` Dave Korn
2009-06-24 12:42 daniel tian
2009-06-25 19:18 ` Jeff Law
2009-07-01 3:02 daniel.tian
2009-07-01 6:14 ` Jeff Law
2009-07-02 3:06 ` daniel.tian
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090619080614.207B750C9BEB@mail.mavrixtech.com.cn \
--to=daniel.tian@mavrixtech.com.cn \
--cc=amylaar@spamcop.net \
--cc=gcc@gcc.gnu.org \
--cc=iant@google.com \
--cc=law@redhat.com \
--cc=michael.hope@gmail.com \
--cc=peng.zheng@mavrixtech.com \
--cc=thomas.liau@mavrixtech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).