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.t...@mavrixtech.com.cn
www.mavrixtech.com



Reply via email to