1/* { dg-do compile } */
2/* { dg-options "-O2 -fcompare-debug" } */
3
4struct S { int a; };
5struct T { int b, c; } a;
6long b;
7int c, d;
8void bar (int, int);
9void baz (void *, int);
10
11void
12foo (struct S *x, int y, int z, void *f, int *p, struct T *e)
13{
14  while (x)
15    {
16      baz (f, &d > p);
17      if (z & 1)
18        bar (f > (void *) &f, z);
19    }
20  if (c)
21    {
22      asm ("" : "+m" (a) : "i" (0));
23      y--;
24    }
25  if (e->b == e->c)
26    c = y;
27  y--;
28}
29