1/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ 2/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ 3/* { dg-require-effective-target powerpc_p8vector_ok } */ 4/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ 5/* { dg-options "-mcpu=power8 -O3" } */ 6 7union u_ld { long double ld; double d[2]; }; 8 9long double 10pack (double a, double aa) 11{ 12 union u_ld u; 13 u.d[0] = a; 14 u.d[1] = aa; 15 return u.ld; 16} 17 18double 19unpack_0 (long double x) 20{ 21 union u_ld u; 22 u.ld = x; 23 return u.d[0]; 24} 25 26double 27unpack_1 (long double x) 28{ 29 union u_ld u; 30 u.ld = x; 31 return u.d[1]; 32} 33 34/* { dg-final { scan-assembler-not "stfd" } } */ 35/* { dg-final { scan-assembler-not "lfd" } } */ 36/* { dg-final { scan-assembler-not "lxsdx" } } */ 37/* { dg-final { scan-assembler-not "stxsdx" } } */ 38/* { dg-final { scan-assembler-not "mfvsrd" } } */ 39/* { dg-final { scan-assembler-not "mtvsrd" } } */ 40 41 42