Implementing TI mode (128-bit) and the 2nd pipeline for the MIPS R5900
Liu Woon Yung
ysai187@yahoo.com
Sun Mar 27 13:09:00 GMT 2016
Hi Richard,
On 10/3/2016 12:56 AM, Richard Henderson wrote:
> Why do you believe that not using TImode precludes you implementing
> any vector support? I don't think you need to touch TImode at all.
> Just implement V16QImode, V8HImode and maybe V4SImode.
>
> These modes can be special cased within mips_hard_regno_nregs and
> mips_class_max_nregs to only consume one register.
>
Indeed, you are right! My original statements were the result of mixing
TI mode with the vector modes, which prevented me from indicating
support for 128-bit storage within mips_hard_regno_nregs and
mips_hard_regno_ok.
When I totally stripped off the broken support for TI mode, and made the
recommended changes to mips_hard_regno_nregs and mips_hard_regno_ok,
everything seems to be working fine now. Even argument passing and
return values.
I even got the inline memcpy to work with 16-byte copies by changing the
word type to vector integer for the the R5900.
Thank you!
Now, the only feature left unimplemented is support for the COP0 (FPU)
instructions (i.e. madda.s). I can't get GCC to emit them, but I'll
start another discussion in a different thread at a later time; I would
like to first get my facts right because I am not sure if it was even
supported by the SONY GCC releases.
More information about the Gcc
mailing list