https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96427
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to zhongyu...@tom.com from comment #2) > should the data alignment honor the user specified ? Technically the user requested alignment for the variable and GCC chose to elide that with the constant pool entry for the initializer which does not have any alignment specified (it could be shared amongst different variables). > Now, it seems compiler _do_ align the initializer according align load. > so even if the local array doesn't specify the __attribute__((aligned(64))), > it still align to 64 bytes. Yes, if GCC can then it will align data if it thinks that's beneficial.