3 /* { dg-options "-g" } */
5 extern void abort (void);
7 static void __attribute__ ((noinline
))
8 foo (const char *x
, long long y
, int z
)
10 asm volatile ("" : : "r" (x
), "r" ((int) y
), "r" (z
) : "memory");
21 struct S
* __attribute__ ((noinline
))
22 bar (struct S
*c
, int v
, struct S
*e
)
25 register int si
asm ("esi"), di
asm ("edi"), bx
26 # if !defined (__pic__) && !defined (__APPLE__)
30 asm volatile ("" : "=r" (si
), "=r" (di
), "=r" (bx
));
34 foo ("c", (__UINTPTR_TYPE__
) c
, 0); /* { dg-final { gdb-test 34 "c" "\&a\[0\]" } } */
35 foo ("v", v
, 1); /* { dg-final { gdb-test 35 "v" "1" } } */
36 foo ("e", (__UINTPTR_TYPE__
) e
, 2); /* { dg-final { gdb-test 36 "e" "\&a\[1\]" } } */
39 foo ("c", (__UINTPTR_TYPE__
) c
, 3); /* { dg-final { gdb-test 39 "c" "\&a\[0\]" } } */
40 foo ("v", v
, 4); /* { dg-final { gdb-test 40 "v" "1" } } */
41 foo ("e", (__UINTPTR_TYPE__
) e
, 5); /* { dg-final { gdb-test 41 "e" "\&a\[1\]" } } */
45 asm volatile ("" : : "r" (si
), "r" (di
), "r" (bx
));
53 asm volatile ("" : : "r" (&a
[0]) : "memory");
54 if (bar (&a
[a
[0].v
], a
[0].v
+ 1, &a
[a
[0].v
+ 1]))