FW: [PATCH] [MIPS] microMIPS gcc support

Moore, Catherine Catherine_Moore@mentor.com
Wed Mar 13 20:30:00 GMT 2013


> -----Original Message-----
> From: Richard Sandiford [mailto:rdsandiford@googlemail.com]
> Sent: Tuesday, March 05, 2013 4:06 PM
> To: Moore, Catherine
> Cc: gcc-patches@gcc.gnu.org; Rozycki, Maciej
> Subject: Re: FW: [PATCH] [MIPS] microMIPS gcc support:
> 
> We have a few internal-only undocumented constraints that aren't used
> much, so we should be able to move them to the "Y" space instead.  The
> patch below does this for "T" and "U".  Then we could use "U" for new,
> longer constraints.
> 
> 
> U<type><factor><bits>
> 
> where <type> is:
> 
>   s for signed
>   u for unsigned
>   d for decremented unsigned (-1 ... N)
>   i for incremented unsigned (1 ... N)
> 
> where <factor> is:
> 
>   b for "byte" (*1)
>   h for "halfwords" (*2)
>   w for "words" (*4)
>   d for "doublewords" (*8) -- useful for 64-bit MIPS16 but probably not
>       needed for 32-bit microMIPS
> 
> and where <bits> is the number of bits.  <type> and <factor> could be
> replaced with an ad-hoc two-letter combination for special cases.
> E.g. "Uas9" ("add stack") for ADDISUP.
> 
> Just a suggestion though.  I'm not saying these names are totally intuitive or
> anything, but they should at least be better than arbitrary letters.
> 
> Also, <bits> could be two digits if necessary, or we could just use hex digits.

I extended this proposal a bit by:
1.  Adding a <type> e for encoded.  The constraint will start with Ue, when the operand is an encoded value.
2. I decided to use two digits for <bits>.
3. The ad-hoc combination is used for anything else.

Patch is attached.  WDYT?
I'm still testing, but results so far look really good.
Catherine

-------------- next part --------------
A non-text attachment was scrubbed...
Name: short-delay.cl
Type: application/octet-stream
Size: 1238 bytes
Desc: short-delay.cl
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20130313/e60f0f28/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: short-delay.patch
Type: application/octet-stream
Size: 17830 bytes
Desc: short-delay.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20130313/e60f0f28/attachment-0001.obj>


More information about the Gcc-patches mailing list