2 /* { dg-require-effective-target avx } */
3 /* { dg-options "-O2 -mavx" } */
11 #define mask_v(pos) (((MASK >> (pos)) & 1ULL) << 63)
17 union256d u
, mask
, s1
, s2
;
18 long long m
[4]={mask_v(0), mask_v(1), mask_v(2), mask_v(3)};
21 s1
.x
= _mm256_set_pd (34545, 95567, 23443, 5675);
22 s2
.x
= _mm256_set_pd (674, 57897, 93459, 45624);
23 mask
.x
= _mm256_set_pd (m
[0], m
[1], m
[2], m
[3]);
25 u
.x
= _mm256_blendv_pd (s1
.x
, s2
.x
, mask
.x
);
27 for (i
= 0; i
< 4; i
++)
28 e
[i
] = (m
[i
] & (1ULL << 63)) ? s2
.a
[i
] : s1
.a
[i
];
30 if (check_union256d (u
, e
))