1  /* { dg-do run } */
       2  /* { dg-require-effective-target avx } */
       3  /* { dg-options "-O2 -mavx" } */
       4  
       5  #include "avx-check.h"
       6  
       7  void static
       8  avx_test (void)
       9  {
      10    int i;
      11  
      12    union256 u, s1, s2;
      13  
      14    union
      15    {
      16      float f[8];
      17      int   i[8];
      18    }source1, source2, e;
      19  
      20    s1.x = _mm256_set_ps (34545, 95567, 23443, 5675, 2323, 67, 2345, 45667);
      21    s2.x = _mm256_set_ps (674, 57897, 93459, 45624, 54674, 1237, 67436, 79608);
      22  
      23    _mm256_storeu_ps (source1.f, s1.x);
      24    _mm256_storeu_ps (source2.f, s2.x);
      25  
      26    u.x = _mm256_or_ps (s1.x, s2.x);
      27  
      28    for (i = 0; i < 8; i++)
      29      e.i[i] = source1.i[i] | source2.i[i];
      30  
      31    if (check_union256 (u, e.f))
      32      abort ();
      33  }