1 struct A { unsigned long buf[100]; };
foo(unsigned int * x)2 int foo(unsigned int *x)
3 {
4   unsigned int a;
5 
6   if (!x)
7     return -22;
8 
9 #ifdef __ia64__
10   if (({
11     register long b asm ("r8") = 0;
12     register long c asm ("r9") = 0;
13     asm ("" : "=r"(c), "=r"(b) : "m"(*(struct A *)x), "1"(b));
14     a = (unsigned int) c;
15     b; }))
16     return -14;
17 #endif
18 
19   return 0;
20 }
21