This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: RS6000 call pattern clobbers
- From: Joern Rennecke <joernr at arc dot com>
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Cc: dje at watson dot ibm dot com, gcc at gcc dot gnu dot org
- Date: Mon, 26 Feb 2007 18:40:44 +0000
- Subject: Re: RS6000 call pattern clobbers
> > Do you remember why you wrote the call patterns this way? Was
> > there a problem with reload and clobbers of hard registers in a register
> > class containing a single register or some other historical quirk?
>
> I think the former. I no longer remember the details, but if you had
> a clobber of a hard reg, there were a number of things that such a hard
> reg couldn't be used for (this is where the details are murky) and in order
> to avoid that problem a match_scratch was used to delay the explicit hard
> register usage as long as possible.
Actually, this depended on SMALL_REGISTER_CLASSES. If the target was not
marked has having SMALL_REGISTER_CLASSES, any explicitly used hard register
would not be used for register and/or spill allocations anywhere in the
function.