1 /* { dg-do run { target { { *-*-linux* && ilp32 } && powerpc_fprs } } } */
2 /* { dg-options -O2 } */
3
4 extern void exit (int);
5 extern void abort (void);
6
7 double dval = 0;
8
9 void splat (double d);
10
11 int main(void)
12 {
13 splat(0);
14 if (dval == 0)
15 abort();
16 exit (0);
17 }
18
19 void 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 }