| /* { dg-do run } */ | |
| /* { dg-require-effective-target avx } */ | |
| /* { dg-options "-O2 -mavx" } */ | |
| #include "avx-check.h" | |
| static __m256i | |
| __attribute__((noinline)) | |
| foo (short *v) | |
| { | |
| return _mm256_set_epi16 (v[15], v[14], v[13], v[12], | |
| v[11], v[10], v[9], v[8], | |
| v[7], v[6], v[5], v[4], | |
| v[3], v[2], v[1], v[0]); | |
| } | |
| static void | |
| avx_test (void) | |
| { | |
| short v[16] = | |
| { | |
| -3, 60, 48, 104, -90, 37, -48, 78, | |
| 4, 33, 81, 4, -89, 17, 8, 68 | |
| }; | |
| union256i_w u; | |
| u.x = foo (v); | |
| if (check_union256i_w (u, v)) | |
| abort (); | |
| } |