This is the mail archive of the gcc@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: Options of fixing biggest alignment in PR target/38736


"Ye, Joey" <joey.ye@intel.com> writes:

> From: Ian Lance Taylor [mailto:iant@google.com]:
>> Therefore, I propose that we do the following:
>> 
>> 1) Introduce __attribute__ ((aligned (scalar))).  This will be
>>    documented as having a fixed value for each ABI.  The value will be
>>    guaranteed to be sufficient to hold any ordinary non-vector type.
>>    The default will be BIGGEST_ALIGNMENT.  The value for the
>>    x86/x86_64 will be 128.
>> 
>> 2) Introduce __attribute__ ((aligned (max))).  This will be documented
>>    as having the largest value available for any version of the
>>    architecture, and thus in particular it may change if new versions
>>    of the architecture are released.  The value will not change based
>>    on command line options which do not change the ABI; that is, if it
>>    is possible to link together two files compiled with different set
>>    of command line options and expect the result to work, then those
>>    command line options must not change the value of this attribute.
>>    The value will be guaranteed to be sufficient to hold any type,
>>    including any vector type.  The default will be BIGGEST_ALIGNMENT.
>>    The value for the x86/x86_64 will (presumably) be 256.
> To me "new version of x86 architecture are released" usually means 
> "change based on command line option". How about the default value
> grow to 512 or even higher in future?

There is a command line option change, sure, but in general, as far as
I know, files compiled with -march=NEW can be linked with files
compiled with -march=OLD, and the result is expected to work.

If that is not the case--if files compiled with -march=avx and
-march=i386 (or -march=nocona) can not be linked together and
work--then there is no problem here.

Ian


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