https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61296
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kirill.yukhin at intel dot com --- Comment #14 from H.J. Lu <hjl.tools at gmail dot com> --- I got [hjl@gnu-6 pr61296]$ cat a.c struct foo { char i[128]; }; struct foo x = { 1 }; [hjl@gnu-6 pr61296]$ make a.s /export/build/gnu/gcc-misc/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc-misc/build-x86_64-linux/gcc/ -O3 -mavx2 -S a.c [hjl@gnu-6 pr61296]$ cat a.s .file "a.c" .globl x .data .align 64 .type x, @object .size x, 128 x: .byte 1 .zero 127 .ident "GCC: (GNU) 5.0.0 20141216 (experimental)" .section .note.GNU-stack,"",@progbits [hjl@gnu-6 pr61296]$ Which older GCC expects 64-byte alignment here? We should limit DATA_ALIGNMENT to the maximum alignment actually expected by the older GCC, which I believe is 32 byte, and have an option to limit DATA_ALIGNMENT to MAX (ABI alignment, natural alignment).