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


On Sat, May 08, 2004 at 09:59:15AM -0400, Aldy Hernandez wrote:
> > 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.

Note that this patch just fixes the ABI_V4 case.  We have exactly the
same problem on every other rs6000 ABI in that -mabi=no-altivec doesn't
align vector params.  I'm happy to fix the other ABIs too if everyone
is agrees.  Pass vectors by value in gprs for 64-bit, and by reference
for 32-bit?  Does that sound reasonable?

On powerpc-linux, there are some other ABI changes just crying out to be
done too.  For example, we currently pass _Complex double in gprs.
Perhaps this change needs to be accompanied with a means to generate
code compatible with the current broken ABI.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


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