1 /* { dg-do compile } */
2 /* { dg-require-effective-target int128 } */
3 /* { dg-require-effective-target float128 } */
4 /* { dg-options "-O2 -mdejagnu-cpu=power8" } */
5
6 typedef __vector unsigned __int128 vui128_t;
7
8 typedef union
9 {
10 __float128 vf1;
11 vui128_t vx1;
12 } __VF_128;
13
14 vui128_t
15 vec_xfer_bin128_2_vui128t (__float128 f128)
16 {
17 __VF_128 vunion;
18 vunion.vf1 = f128;
19 return (vunion.vx1);
20 }
21
22 /* { dg-final { scan-assembler-not {\mxxpermdi\M} } } */
23 /* { dg-final { scan-assembler-not {\mstxvd2x\M} } } */
24 /* { dg-final { scan-assembler-not {\mlxvd2x\M} } } */
25