1 /* { dg-do run } */
2 /* { dg-require-effective-target avx } */
3 /* { dg-options "-O2 -mavx" } */
4
5 #include "avx-check.h"
6
7 __m256
8 __attribute__((noinline))
foo(float x1,float x2,float x3,float x4,float x5,float x6,float x7,float x8)9 foo (float x1, float x2, float x3, float x4,
10 float x5, float x6, float x7, float x8)
11 {
12 return _mm256_set_ps (x1, x2, x3, x4, x5, x6, x7, x8);
13 }
14
15 void
avx_test(void)16 avx_test (void)
17 {
18 float v[8] = { -3, 2, 1, 9, 23, -173, -13, 69 };
19 union256 u;
20
21 u.x = foo (v[7], v[6], v[5], v[4], v[3], v[2], v[1], v[0]);
22
23 if (check_union256 (u, v))
24 abort ();
25 }
26