Options of fixing biggest alignment in PR target/38736
Ian Lance Taylor
iant@google.com
Wed Jan 7 16:27:00 GMT 2009
"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?
Ian
More information about the Gcc
mailing list