1187767Sluigi/* { dg-do run } */ 2187767Sluigi/* { dg-require-effective-target avx } */ 3187767Sluigi/* { dg-options "-O2 -mavx" } */ 4187767Sluigi 5187767Sluigi#include "avx-check.h" 6187767Sluigi 7187767Sluigivoid static 8187767Sluigiavx_test (void) 9187767Sluigi{ 10187767Sluigi int s1i[8] = {0, 0, 0, 0, 0, 0, 0, 0}; 11187767Sluigi int s2i[8] = {1, 2, 3, 4, 5, 6, 7, 8}; 12187767Sluigi int d; 13187767Sluigi int e; 14187767Sluigi int i; 15187767Sluigi union256i_d s1, s2; 16187767Sluigi 17187767Sluigi s1.x = _mm256_loadu_si256 ((__m256i*)s1i); 18187767Sluigi s2.x = _mm256_loadu_si256 ((__m256i*)s2i); 19187767Sluigi d = _mm256_testc_si256 (s1.x, s2.x); 20187767Sluigi 21187767Sluigi e = 1; 22187767Sluigi for (i = 0; i < 8; i++) 23187767Sluigi if ((~s1i[i] & s2i[i]) != 0) 24187767Sluigi e = 0; 25187767Sluigi 26187767Sluigi if (d != e) 27187767Sluigi abort (); 28187767Sluigi} 29187767Sluigi