1 /* PR target/25199 */
2 /* { dg-do compile } */
3 /* { dg-options "-Os -mtune=pentium4" } */
4 /* { dg-require-effective-target ia32 } */
5 
6 struct S
7 {
8   void *p[30];
9   unsigned char c[4];
10 };
11 
12 unsigned char d;
13 
14 void
foo(struct S * x)15 foo (struct S *x)
16 {
17   register unsigned char e __asm ("esi");
18   e = x->c[3];
19   __asm __volatile ("" : : "r" (e));
20   e = x->c[0];
21   __asm __volatile ("" : : "r" (e));
22 }
23 
24 /* { dg-final { scan-assembler-not "movl\[ \t\]*123" } } */
25 /* { dg-final { scan-assembler "movzbl\[ \t\]*123" } } */
26 /* { dg-final { scan-assembler "mov(zb)?l\[ \t\]*120" } } */
27