This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fixes for powerpc-linux param passing


> 5) Passing vectors when -maltivec and -mabi=no-altivec was broken for
>    reasons detailed in http://gcc.gnu.org/ml/gcc/2004-04/msg01316.html
>    Vectors need to be aligned.  Also, -maltivec shouldn't change the
>    function passing mechanism, which means both
>    "-mabi=no-altivec -mno-altivec" and "-mabi=no-altivec -maltivec" need
>    to change.  In this patch, I've chosen to pass altivec vectors by
>    reference.  If passing by value, alignment constraints allow only one
>    vector to be passed in regs, in r5,r6,r7,r8.
> 
> My fix for (5) does mean an ABI change, unfortunately.  I'm not sure how

I don't have a problem with changing the ABI for -mabi=no-altivec.
There is no library code that is currently depending on it, and it
isn't documented in any of the altivec or ppc-linux/sysv/whatever
documents.  I say we come up with a sane solution, break it once and
for all, and try to document this in the ABI standard for PPC32/64.

Geoff, David, do you agree?

Aldy


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]