https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67246
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This testcase does not test what you think it tests. Since t is on the stack, the alignment can (and most likely will be) aligned to a 4 byte boundary. Also the struct tester has an alignment of 2 bytes so using lh is fine. We need a full testcase because your reduced one is fine.