Rebase.
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / avx-vpermilpd-1.c
blob6379cdb4a12af1629890f76956830c2bc7892287
1 /* { dg-do run } */
2 /* { dg-require-effective-target avx } */
3 /* { dg-options "-O2 -mavx" } */
5 #include "avx-check.h"
7 #ifndef CTRL
8 #define CTRL 1
9 #endif
11 void static
12 avx_test ()
14 union128d u, src;
15 double s[2] = {9674.67456, 13543.9788};
16 double e[2];
18 src.x=_mm_loadu_pd(s);
19 u.x=_mm_permute_pd(src.x, CTRL);
21 e[0] = s[ (CTRL & 0x01)];
22 e[1] = s[((CTRL & 0x02) >> 1)];
24 if (check_union128d (u, e))
25 abort ();