aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/980827-1.c
blob: 0de02ccc58f03f28d9550546b31a4bbdb168a533 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* { dg-do run { target rs6000-*-linux* powerpc-*-linux*} } */
/* { dg-options -O2 } */

double dval = 0;

void splat (double d);

int main(void)
{
  splat(0);
  if (dval == 0)
    abort();
  exit (0);
}

void splat (double d)
{
  union {
    double f;
    unsigned int l[2];
  } u;
  
  u.f = d + d;
  u.l[1] |= 1;
  asm volatile ("stfd %0,dval@sdarel(13)" : : "f" (u.f));
}