This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] PR/17836 (was Re: [RFA/RFT] Tree-level lowering of generic vectors, part 4)
>>>>> Paolo Bonzini writes:
Paolo> The non-Altivec ABI has special alignment requirements for vectors
Paolo> passed by value. Try compiling darwin-abi-2.c:
Paolo> - with the patch, with -maltivec
Paolo> - with the patch, without -maltivec (*)
Paolo> - without the patch, with -maltivec
Paolo> - without the patch, without -maltivec
Paolo> The one with the (*) is ABI-incompatible with the others, because it
Paolo> does not enforce the alignment.
I understand the alignment change. Sorry for not making that
clear. What I do not understand is the need for the alternate way for
testing how to pass parameters. It seems most safe, clean, and clear to
use the existing implementation: explicitly specify modes that correspond
to Altivec vector registers, as opposed to testing for types that have the
right size and number of elements.