On Wed, Jan 7, 2009 at 5:27 PM, Ian Lance Taylor <i...@google.com> wrote: > "Richard Guenther" <richard.guent...@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.