1  /* { dg-do run } */
       2  /* { dg-require-effective-target avx } */
       3  /* { dg-options "-O2 -mfpmath=sse -mavx" } */
       4  
       5  #include "avx-check.h"
       6  
       7  static void
       8  avx_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