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    union256d u, s1, s2;
      12    long long source1[4]={34545, 95567, 23443, 5675};
      13    long long source2[4]={674, 57897, 93459, 45624};
      14    long long d[4];
      15    long long e[4];
      16  
      17    s1.x = _mm256_loadu_pd ((double *)source1);
      18    s2.x = _mm256_loadu_pd ((double *)source2);
      19    u.x = _mm256_andnot_pd (s1.x, s2.x);
      20  
      21    _mm256_storeu_pd ((double *)d, u.x);
      22  
      23    for (i = 0; i < 4; i++)
      24      e[i] = (~source1[i]) & source2[i];
      25  
      26    if (checkVl (d, e, 4))
      27      abort ();
      28  }