1 struct A {
2   long a;
3 };
4 
foo(struct A * x)5 static inline void foo(struct A *x)
6 {
7   __asm__ __volatile__("" : "+m"(x->a) : "r"(x) : "memory", "cc");
8 }
9 
bar(struct A * x)10 static inline void bar(struct A *x)
11 {
12   foo(x);
13 }
14 
15 struct B { char buf[640]; struct A a; };
16 struct B b[32];
17 
baz(void)18 int baz(void)
19 {
20   int i;
21   struct B *j;
22   for (i = 1; i < 32; i++)
23     {
24       j = &b[i];
25       bar(&j->a);
26     }
27   return 0;
28 }
29