GCC 4.3.0 Status Report (2008-02-14)

Mark Mitchell mark@codesourcery.com
Mon Feb 18 23:26:00 GMT 2008


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.

What does the AltiVec ABI itself actually cover?  Does it say which 
registers are saved by callers vs. callees, or does it just say how to 
pass values in AltiVec registers?

I assume we want to maintain backwards compatibility with existing 
AltiVec-unaware code (i.e., code compiled with -mno-altivec 
-mabi=no-altivec) compiled for Power GNU/Linux?

If so, then we have to use those conventions for which of the base 
registers to save in callers vs. callees.  But, with -maltivec 
-mabi=no-altivec, then we have to save/restore the AltiVec registers. 
If nothing else, why not have the caller assume they are clobbered by 
calls, and, therefore save whatever AltiVec registers its using?  Is 
that what you're suggesting?

Daniel, perhaps you can put a full proposal on the table so that we can 
try to get consensus on thsi?

Thanks,

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713



More information about the Gcc mailing list