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.

Reply via email to