2 /* { dg-require-effective-target avx } */
3 /* { dg-options "-O2 -mavx" } */
11 #if OFFSET < 0 || OFFSET > 1
12 #error OFFSET must be within [0..1]
19 union256 u
, u2
, u3
, s1
;
23 s1
.x
= _mm256_set_ps (39.467, 45.789, 78.342, 67.892, 76.678, 12.963, 29.746, 24.753);
24 s2
.x
= _mm_set_ps (57.493, 38.395, 22.479, 31.614);
25 u
.x
= _mm256_insertf128_ps (s1
.x
, s2
.x
, OFFSET
);
27 for (i
= 0; i
< 8; i
++)
31 e
[i
+ (OFFSET
* 4)] = s2
.a
[i
];
33 if (check_union256 (u
, e
))
36 s3
.x
= _mm_set_ps (435.435, 25.35, 324.76, 32.11);
37 u2
.x
= _mm256_set_m128(s3
.x
, s2
.x
);
38 u3
.x
= _mm256_setr_m128(s2
.x
, s3
.x
);
40 for (i
= 0; i
< 4; i
++)
43 for (i
= 0; i
< 4; i
++)
46 if (check_union256 (u2
, e
))
49 if (check_union256 (u3
, e
))