/* PR target/25199 */ /* { dg-do compile } */ /* { dg-options "-Os -mtune=pentium4" } */ /* { dg-require-effective-target ia32 } */ struct S { void *p[30]; unsigned char c[4]; }; unsigned char d; void foo (struct S *x) { register unsigned char e __asm ("esi"); e = x->c[3]; __asm __volatile ("" : : "r" (e)); e = x->c[0]; __asm __volatile ("" : : "r" (e)); } /* { dg-final { scan-assembler-not "movl\[ \t\]*123" } } */ /* { dg-final { scan-assembler "movzbl\[ \t\]*123" } } */ /* { dg-final { scan-assembler "mov(zb)?l\[ \t\]*120" } } */