1/* { dg-options "-O2" } */
2void
3f1 (int *p, int x)
4{
5  asm ("asm1 %0" : "=es" (p[x]));
6}
7
8void
9f2 (int *p)
10{
11  while (1)
12    {
13      p += 4;
14      asm ("asm2%U0 %0" : "=m" (*p));
15    }
16}
17
18void
19f3 (int *p)
20{
21  while (1)
22    {
23      p += 4;
24      asm ("asm3%U0 %0" : "=es" (*p));
25    }
26}
27
28void
29f4 (int *p)
30{
31  asm ("asm4 %0" : "=es" (p[100]));
32}
33
34/* { dg-final { scan-assembler "asm1 3,4" } } */
35/* { dg-final { scan-assembler "asm2u 16\\(3\\)" } } */
36/* { dg-final { scan-assembler "asm3 0\\(3\\)" } } */
37/* { dg-final { scan-assembler "asm4 400\\(3\\)" } } */
38