http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56564
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-03-08 11:35:36 UTC --- Guess we'd need to split DATA_ALIGNMENT into two different macros (or one with an extra argument), so that align_variable would know what alignment is part of ABI and what is just an optimization above that, then align_variable could call targetm.binds_local_p to see if DECL_ALIGN can be increased to the optimization level or needs to stay at the ABI guaranteed level. And then when assembling vars, we'd increase the emitted alignment to the optimization level.