1/* PR target/25199 */
2/* { dg-do compile } */
3/* { dg-options "-Os -mtune=pentium4" } */
4/* { dg-require-effective-target ilp32 } */
5
6struct S
7{
8  void *p[30];
9  unsigned char c[4];
10};
11
12unsigned char d;
13
14void
15foo (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