On Tue, 19 Jun 2012, Iain Sandoe wrote: > > On 19 Jun 2012, at 22:41, Mike Stump wrote: > > > On Jun 19, 2012, at 12:22 PM, Iain Sandoe <i...@codesourcery.com> wrote: > >> On 19 Jun 2012, at 13:53, Dominique Dhumieres wrote: > >> > >>> On Tue, 19 Jun 2012, Richard Guenther wrote: > >>>> > >>>>> Richard Guenther <rguent...@suse.de> writes: > >>>>>> We are too eager to bump alignment of some decls when vectorizing. > >>>>>> The fix is to not bump alignment of decls the user explicitely > >>>>>> aligned or that are used in an unknown way. > >>>>> > >>>>> I thought attribute((__aligned__)) only set a minimum alignment for > >>>>> variables? Most usees I've seen have been trying to get better > >>>>> performance from higher alignment, so it might not go down well if the > >>>>> attribute stopped the vectoriser from increasing the alignment still > >>>>> further. > >>>> > >>>> That's what the documentation says indeed. I'm not sure which part of > >>>> the patch fixes the ObjC failures where the alignment is part of the ABI > >>>> (and I suppose ObjC then mis-uses the aligned attribute?). > >>> > >>> A quick test shows that > >>> > >>> if (DECL_PRESERVE_P (decl)) > >>> > >>> alone is enough to fix the objc failures, while they are still there if > >>> one uses only > >>> > >>> if (DECL_USER_ALIGN (decl)) > >> > >> That makes sense, I had a quick look at the ObjC code, and it appears that > >> the explicit ALIGNs were never committed to trunk. > >> > >> Thus, the question becomes; what should ObjC (or any other) FE do to > >> ensure that specific ABI (upper) alignment constraints are met? > > > > Hum, upper is easy... I thought the issue was that extra alignment would > > kill it? I know that extra alignment does kill some of the objc metadata. > > clearly, ambiguous phrasing on my part. > I mean when we want to say "no more than this much".
I think the only way would be to lay out things inside a structure. Otherwise if extra alignment can break things cannot re-ordering of symbols break, too? Or can you elaborate on how extra alignment breaks stuff here? Thanks, Richard.