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: [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.

David


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