| struct A { unsigned long buf[100]; }; | |
| int foo(unsigned int *x) | |
| { | |
| unsigned int a; | |
| if (!x) | |
| return -22; | |
| #ifdef __ia64__ | |
| if (({ | |
| register long b asm ("r8") = 0; | |
| register long c asm ("r9") = 0; | |
| asm ("" : "=r"(c), "=r"(b) : "m"(*(struct A *)x), "1"(b)); | |
| a = (unsigned int) c; | |
| b; })) | |
| return -14; | |
| #endif | |
| return 0; | |
| } |