Merge from mainline (165734:167278).
[official-gcc/graphite-test-results.git] / gcc / testsuite / gcc.target / i386 / avx-vrcpps-256-1.c
blob16b3051b0ad2ecd56cabd287fde36c0cae36ae3a
1 /* { dg-do run } */
2 /* { dg-require-effective-target avx } */
3 /* { dg-options "-O2 -mfpmath=sse -mavx" } */
5 #include "avx-check.h"
7 static void
8 avx_test ()
10 int i;
11 union256 u, s1;
12 float e[8] = {0.0};
14 s1.x = _mm256_set_ps (1.0, 2.0, 13.0, 14.0, 56.89, 73.3, 4.78, 45.64);
15 u.x = _mm256_rcp_ps (s1.x);
17 for (i = 0; i < 8; i++) {
18 __m128 tmp = _mm_load_ss (&s1.a[i]);
19 tmp = _mm_rcp_ss (tmp);
20 _mm_store_ss (&e[i], tmp);
23 if (check_union256 (u, e))
24 abort ();