1/* { dg-do run { target { { *-*-linux* && ilp32 } && powerpc_fprs } } } */
2/* { dg-options -O2 } */
3
4extern void exit (int);
5extern void abort (void);
6
7double dval = 0;
8
9void splat (double d);
10
11int main(void)
12{
13  splat(0);
14  if (dval == 0)
15    abort();
16  exit (0);
17}
18
19void splat (double d)
20{
21  union {
22    double f;
23    unsigned int l[2];
24  } u;
25
26  u.f = d + d;
27  u.l[1] |= 1;
28  asm volatile ("stfd %0,dval@sdarel(13)" : : "f" (u.f));
29}
30