public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
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



             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).