Options of fixing biggest alignment in PR target/38736
Richard Guenther
richard.guenther@gmail.com
Wed Jan 7 16:30:00 GMT 2009
On Wed, Jan 7, 2009 at 5:27 PM, Ian Lance Taylor <iant@google.com> wrote:
> "Richard Guenther" <richard.guenther@gmail.com> writes:
>
>> As there is no hardware implementation of AVX available I think
>> we definitely should stay with 16 for 4.4.
>
> That makes sense.
>
>> And IMNSHO also for
>> all future - __attribute__((aligned)) is part of the ABI, and if it is
>> not the only user of BIGGEST_ALIGNMENT then BIGGEST_ALIGNMENT
>> should be properly split between an ABI part and an optimization
>> related part.
>
> I certainly agree that they should be split. However, I don't agree
> that the value should be fixed for the future, if that is indeed what
> you are saying. __attribute__ ((aligned)) is very useful for use with
> portable code. It should correctly reflect the requirements of the
> processor.
>
> That is, there are two conflicting requirements: maintaining a stable
> ABI on a single platform, and supporting a cross-platform API. I
> would argue that code which runs on a single platform and needs a
> stable ABI should avoid __attribute__ ((aligned)). That leaves us
> with the case of a cross-platform API which wants to present a stable
> ABI on each platform. (gcc's unwind code could fall into this
> category, although it's not clear to me that the alignment is actually
> exposed in a way that it matters.) Is there a way that we can handle
> that case that is better than simply documenting changes?
I agree with you if I interpret "cross-platform" as for example
ppc vs. x86. But certainly not if it is x86_64 vs. x86_64 -mavx.
Richard.
More information about the Gcc
mailing list