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.

Reply via email to