Re: Issue with subregs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Richard,

On Mon, Feb 03, 2020 at 11:04:39AM +0000, Richard Sandiford wrote:
> Another unfortunate assumption from the old days is:
> 
>     case MODE_CC:
>       /* Again, nothing more need be said.  For historical reasons,
> 	 the size of a CC mode is four units.  */
>       validate_mode (m, UNSET, UNSET, UNSET, UNSET, UNSET);
> 
>       m->bytesize = 4;
>       m->ncomponents = 1;
>       m->component = 0;
>       break;
> 
> (genmodes.c).  Nothing much should depend on this behaviour though.

Wow.  Yeah, I don't remember ever seeing this, is size of CC ever used
at all?

> So one option might be to:
> 
> - Add a new genmodes.c macro (e.g. CC_MODE_WITH_SIZE) that creates a CC
>   mode with a specific byte size.

But Henri needs CC regs that are three bits.  The hardware reg is 12 bits,
four times three bits, packed, so subregs can still not work after your
extra macro.

And you can describe the groups of three bits as CC regs already.  rs6000
has done similar since forever; there probably are other examples as well.


Segher



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux