1  /* { dg-do run } */
       2  /* { dg-options "-mavx512f -O2" } */
       3  /* { dg-require-effective-target avx512f } */
       4  
       5  #include "avx512f-check.h"
       6  
       7  static void
       8  avx512f_test (void)
       9  {
      10    __m512 a = _mm512_undefined_ps ();
      11    __m512 b = _mm512_undefined ();
      12    __m512d c = _mm512_undefined_pd ();
      13    __m512i d = _mm512_undefined_epi32 ();
      14    __m512i e = _mm512_set1_epi32 (0);
      15    __m512i f = _mm512_and_epi32 ((__m512i) a, e);
      16    __m512i g = _mm512_and_epi32 ((__m512i) b, e);
      17    __m512i h = _mm512_and_epi32 ((__m512i) c, e);
      18    __m512i i = _mm512_and_epi32 (d, e);
      19    if (_mm512_cmpeq_epi32_mask (f, e) != 0xffff
      20        || _mm512_cmpeq_epi32_mask (g, e) != 0xffff
      21        || _mm512_cmpeq_epi32_mask (h, e) != 0xffff
      22        || _mm512_cmpeq_epi32_mask (i, e) != 0xffff)
      23      __builtin_abort ();
      24  }