1/* Verify that that Thumb-1 epilogue size optimization does not clobber the
2   return value.  */
3
4long long v = 0x123456789abc;
5
6__attribute__((noinline)) void bar (int *x)
7{
8  asm volatile ("" : "=m" (x) ::);
9}
10
11__attribute__((noinline)) long long foo()
12{
13  int x;
14  bar(&x);
15  return v;
16}
17
18int main ()
19{
20  if (foo () != v)
21    abort ();
22  exit (0);
23}
24