> From: Ulrich Weigand <uweig...@de.ibm.com> > Date: Tue, 24 Jul 2012 19:38:15 +0200
> > > I've implemented this as a separate hook, rather than using the existing > > > hooks because there's a strong likelihood of breaking some existing ABIs > > > if I did it another way. > > > > > > There are a couple of tests that will need some re-working before this > > > can be committed to deal with the fall-out of making this change; I'll > > > prepare those changes if this patch is deemed generally acceptable. > > That hook changes the alignment requirement for vector types. However, > those will still be *increased* in finalize_type_size to the alignment > of an underlying vector mode (if any), if that is greater. > > Fortunately, this does not occur in the ARM case since vector mode > alignment is bounded by BIGGEST_ALIGNMENT, and the ARM implementation > of the new hook never returns anything smaller. However, for the > general case this would re-introduce the possibility that vector > type alignment differs based on the presence or absence of vector > modes. I don't follow all your arguments right now; I'll have to revisit this in abut three weeks, but what's true for ARM should be true for MIPS in my case (32-bit o32 with vendor-specific 16-byte vectors): BIGGEST_ALIGNMENT is the same 64 bits (non-aligned for 16-byte vectors) AFAICS. Nice to know they have the same issue and I have something to compare. :) brgds, H-P