https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67507
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unknown |4.9.4 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- IIRC even though the C standard says the access has to be aligned according to int when GCC knows better (you access char aligned global_data_unaligned) it will use the smaller alignment. This is done to be friendlier to "legacy" code.