Paolo Bonzini <[EMAIL PROTECTED]> writes:

> >  In the response of Paolo I also don't understand how the DI pseudo could be
> >  mapped on two consecutive SI regs. I think gcc always  will map a multiword
> > pseudo on consecutive word-size regs. Am I wrong here ?
> 
> Oops, I forgot a part.  In the RTL description don't write
> 
>    [(set (match_operand:DI 0 "register_operand")
>          (unspec [...] SUPER_LD32))]
> 
> but
> 
>    [(set (subreg:SI (match_operand:DI 0 "register_operand") 0)
>          (unspec [...] SUPER_LD32_LO))
>     (set (subreg:SI (match_operand:DI 0 "register_operand") 4)
>          (unspec [...] SUPER_LD32_HI))]

And you have to be working with mainline gcc--the lower-subreg pass is
new with gcc 4.3.

Ian

Reply via email to