1 /* { dg-do run } */
2 
3 typedef __INT32_TYPE__ int32_t;
4 typedef __INT64_TYPE__ int64_t;
5 struct X { int32_t i; int32_t j; };
foo(int64_t * z)6 void foo (int64_t *z)
7 {
8   ((struct X *)z)->i = 0x05060708;
9   ((struct X *)z)->j = 0x01020304;
10   *z = 0x0102030405060708;
11 }
12 
main()13 int main()
14 {
15   int64_t l = 0;
16   int64_t *p;
17   asm ("" : "=r" (p) : "0" (&l));
18   foo (p);
19   if (l != 0x0102030405060708)
20     __builtin_abort ();
21   return 0;
22 }
23