This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: FW: [PATCH] [MIPS] microMIPS gcc support


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

Attachment: short-delay.cl
Description: short-delay.cl

Attachment: short-delay.patch
Description: short-delay.patch


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]