/* { dg-do run } */
/* { dg-require-effective-target avx } */
/* { dg-options "-O2 -mavx -DNEED_IEEE754_DOUBLE" } */

#include "avx-check.h"

static void
avx_test ()
{
    int i;
    union128d source1, source2;

    double s1[2] = {0, -5463};
    double s2[2] = {0, -1223};
    int    d[1];
    int    e[1];
  
    source1.x = _mm_loadu_pd(s1);
    source2.x = _mm_loadu_pd(s2);

    d[0] = _mm_testc_pd(source1.x, source2.x);
    
    e[0] = 1;
    for (i = 0; i < 2; i++) {
	union ieee754_double u1, u2;
	u1.d = s1[i];
	u2.d = s2[i];
        if (!u1.bits.sign && u2.bits.sign)
            e[0] = 0;
    }

    if (checkVi(d, e, 1))
      abort ();
}

