1/* { dg-do compile { target ia64-*-* } } */
2/* { dg-options "-O2" } */
3
4int __sync_fetch_and_add_si (int *, int);
5
6inline unsigned int
7bar (volatile unsigned int *mem, unsigned int val)
8{
9  return __sync_fetch_and_add_si((int *)mem, (int)val);
10}
11
12volatile unsigned int x;
13
14void foo (unsigned short *a)
15{
16  *a = bar (&x, 1) + 1;
17}
18