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] Fix PR53708


On 19 Jun 2012, at 22:41, Mike Stump wrote:

> On Jun 19, 2012, at 12:22 PM, Iain Sandoe <iain@codesourcery.com> wrote:
>> On 19 Jun 2012, at 13:53, Dominique Dhumieres wrote:
>> 
>>> On Tue, 19 Jun 2012, Richard Guenther wrote:
>>>> 
>>>>> Richard Guenther <rguenther@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".




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