https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57955
--- Comment #25 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > Before the gimplification change the initializer {1,....} was promoted to a > static const and given an alignment of 128; due to this part of the code: > > if (align > DECL_ALIGN (new_tree)) > { > DECL_ALIGN (new_tree) = align; > DECL_USER_ALIGN (new_tree) = 1; > } > > But now it just uses DATA_ALIGNMENT (the code should be using > TARGET_CONSTANT_ALIGNMENT but does not right now, that was a proposal). Yes, exactly. The initializer is put into the "tree" constant pool, where its alignment is uniformly set to DATA_ALIGNMENT.