On Mon, 2008-02-18 at 16:12 -0500, Jakub Jelinek wrote:
> On Mon, Feb 18, 2008 at 03:57:10PM -0500, Daniel Jacobowitz wrote:
> > On Mon, Feb 18, 2008 at 03:25:03PM -0500, Jakub Jelinek wrote:
> > > What would break if in non-altivec ABI all Altivec registers are either
> > > fixed (-mno-altivec) or call-used (-maltivec)?
> > 
> > I still suggest that the correct choice is to use the same set of
> > call-used and call-saved registers without the AltiVec ABI as we do
> > with it.  Which has no affect with -mno-altivec, but requires some
> > prologue work with -maltivec -mabi=no-altivec.  After that, whether
> > the default ABI is AltiVec or not does not much matter to GCC.
> 
> That can work too, assuming on ppc-linux we can rely the kernel and libc
> handle saving/restoring the altivec regs (guess we can rely on it these
> days).  All I'm trying to say is that having an option combination where
> some registers are neither fixed, nor call-used, nor call-saved
> is a bug (in the current -m32 -maltivec case I think they are officially
> call-saved, but nothing saves/restores them).

I have a patch, written since this thread started, that saves and
restores AltiVec registers based on TARGET_ALTIVEC instead of
TARGET_ALTIVEC_ABI.  It passes gcc.target/powerpc tests and 176.gcc
with "-O3 -maltivec -mabi=no-altivec".  I'll post that soon and do
full bootstrap/regtest.

Janis

Reply via email to