http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46637
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-11-24 12:38:20 UTC --- Reduced testcase, fails on x86_64-linux with -m32 and -O{2,s} {,-fno-strict-aliasing}. Looking into it... struct S { unsigned s[5]; } *p; void foo (int x) { int a = x == 1 ? 4 : 1; asm ("" : "+m" (p->s[a])); *(unsigned *) p += 1; }