OSDN Git Service

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