https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103095

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
   AMD x86-64 psABI says that variables with array type larger than 15 bytes
   must be aligned to 16 byte boundaries.


There is already an option:
https://gcc.gnu.org/onlinedocs/gcc-11.2.0/gcc/x86-Options.html#index-malign-data-1
-malign-data=type
Control how GCC aligns variables. Supported values for type are ‘compat’ uses
increased alignment value compatible uses GCC 4.8 and earlier, ‘abi’ uses
alignment value as specified by the psABI, and ‘cacheline’ uses increased
alignment value to match the cache line size. ‘compat’ is the default.


You just need to supply -mabi-data=abi in this case if you want to disable over
aligning of things.

Other than that there is nothing to be done in GCC; it is up to the linker and
assembler to do the layout really.

The option was added in GCC 5 by r5-5887.

Reply via email to