This is the mail archive of the
mailing list for the GCC project.
Re: Implementing TI mode (128-bit) and the 2nd pipeline for the MIPS R5900
- From: Woon yung Liu <ysai187 at yahoo dot com>
- To: Jeff Law <law at redhat dot com>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Tue, 19 Jan 2016 16:30:16 +0000 (UTC)
- Subject: Re: Implementing TI mode (128-bit) and the 2nd pipeline for the MIPS R5900
- Authentication-results: sourceware.org; auth=none
- References: <569E4B61 dot 7020101 at redhat dot com>
- Reply-to: Woon yung Liu <ysai187 at yahoo dot com>
>You'll have to adjust FUNCTION_ARG and its counterpart for return values
>to describe how to pass these 128 bit values around.
>Changing the word size to 128 bit should not be necessary.
I think that it would make things really non-standard anyway.
>Many ports define patterns for operations on data types that are larger
>than their native word mode.
>You really need to add the new patterns for operating on 128bit values
>to the machine description and adjust the parameter passing routines .
I added some patterns, and will be adding more.
I'll adjust the parameter passing routine and ask here again if I encounter further problems.
> You define the registers & constraints normally. However, you make the
> registers conditional on the target in use. ie, if you're not on an
> r5900 target, then mark those registers as fixed. That will prevent the
> compiler from trying to use them on things other than the r5900.
> Again, you may want to find the old cygnus releases of the r5900
> toolchain. It had functional access to the second hi/lo register pair.
Thanks for your input. I'll try to find the way to set those registers as fixed.