How to implement efficiently builtins for dual-result instructions ?

Paolo Bonzini bonzini@gnu.org
Thu Feb 7 12:38:00 GMT 2008


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

Paolo



More information about the Gcc mailing list