Implementing TI mode (128-bit) and the 2nd pipeline for the MIPS R5900
Richard Henderson
rth@redhat.com
Wed Mar 9 16:56:00 GMT 2016
On 03/09/2016 08:45 AM, Woon yung Liu wrote:
> 3. due to the current register size (UNITS_PER_WORD) definition, allocating
> a TI mode register will cause two consecutive registers to be allocated instead
> (like the HILO pseudo register) of one (other than just being wrong, it is
> probably wasteful).
>
> Due to number 3, that also means that I cannot actually properly implement
> support for any vector mode because they're all 128-bit vectors. :(
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.
> The LQ/SQ instructions, if not used with the other MMI instructions, could
> also be used to speed up memory copying. But they operate on the full
> 128-bit GPRs, and are hence unusable without a 128-bit mode.
But you'll have at least one 128-bit mode (and maybe 3).
The memcpy expander will simply have to be taught to use them.
r~
More information about the Gcc
mailing list