https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61422
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- You still have: tree shadow_ptr_type = shadow_ptr_types[ real_size_in_bytes == 16 ? 1 : 0]; instead of: tree shadow_ptr_type = shadow_ptr_types[real_size_in_bytes == 16 ? 1 : 0]; And, I can't really reproduce using your testcase, so either you have local patches other than this (I think Yuri Gribov has been working on something in this area), or it really would be better to use a testcase with explicit 16 byte unaligned access (or both). Still no point to use * 1, or "\n" in the asm pattern ("" is good enough). That said, patches should be posted to gcc-patches mailing list.