public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* SUBREG Unrecognizable RTL
@ 2009-09-30  8:41 daniel tian
  2009-09-30  8:49 ` daniel tian
  0 siblings, 1 reply; 4+ messages in thread
From: daniel tian @ 2009-09-30  8:41 UTC (permalink / raw)
  To: gcc; +Cc: Ian Lance Taylor, Dave Korn, peng.zheng

Hi:

Yeah. You are right. Here is another RTL unrecognized.  It happened
after reload.

(insn 749 156 147 22 (set (reg:HI 5 R5)
        (subreg:HI (mem/c:SI (plus:SI (reg/f:SI 15 R15)
                    (const_int 108 [0x6c])) [19 d0+0 S4 A32]) 0)) -1 (nil))

I traced the lots of functions like: reload, reload_as_needed,
emit_reload_insn, do_input_reload, emit_input_reload_insn in reload1.c
file. But I couldn't get any clue.
the gcc clashed in function: cleanup_subreg_operands. Because you can
see the RTL seems move reg to reg,  actually it load data from memory.
My target didn't accept this kind of RTL. The memory area is the
pseduo register.94. But the reg_renumber[i] < 0 &&
reg_equiv_memory_loc[i], then the pseduo register.94 was replaced with
memory location.

But I 've no idea about why it generates this kind of unrecognized RTL.
I have been hampered this problem for a while.

Any suggestion is appreciated.
Thanks very much.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-10-01  6:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-30  8:41 SUBREG Unrecognizable RTL daniel tian
2009-09-30  8:49 ` daniel tian
2009-09-30 14:41   ` Dave Korn
2009-10-01  6:00     ` daniel tian

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