1/* { dg-do run } */
2/* { dg-require-effective-target avx } */
3/* { dg-options "-O2 -mfpmath=sse -mavx" } */
4
5#include "avx-check.h"
6
7static void
8avx_test ()
9{
10    int i;
11    union256 u, s1;
12    float e[8] = {0.0};
13
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);
16
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);
21    }
22
23    if (check_union256 (u, e))
24      abort ();
25}
26
27