[PATCH] S/390: Allow to use r1 to r4 as literal pool base.
Dominik Vogt
vogt@linux.vnet.ibm.com
Wed Dec 16 13:51:00 GMT 2015
On Wed, Dec 16, 2015 at 01:51:45PM +0100, Ulrich Weigand wrote:
> Dominik Vogt wrote:
> > > r2 through r4 should be fine. [ Not sure if there will be many (any?) cases
> > > where one of those is unused but r5 isn't, however. ]
> >
> > This can happen if the function only uses register pairs
> > (__int128). Actually I'm not sure whether r2 and r4 are valid
> > candidates.
>
> Huh? Why not?
Because I'm not sure it is possible to write code where r2 (r4) is
free but r3 (r5) is not - at least when s390_emit_prologue is
called. Writing code that uses r4 and r5 but not r3 was diffucult
enough:
__int128 gi;
const int c = 0x12345678u;
int foo(void)
{
gi += c;
return c;
}
Ciao
Dominik ^_^ ^_^
--
Dominik Vogt
IBM Germany
More information about the Gcc-patches
mailing list