1struct A { unsigned long buf[100]; };
2int 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