1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -mavx512f" } */
       3  /* { dg-final { scan-assembler-not "vmovdqa" } } */
       4  /* { dg-final { scan-assembler-times "vpcmpeqd\[ \\t\]+%ymm\[0-9\]" 4 } } */
       5  
       6  typedef long long __v8di __attribute__ ((__vector_size__ (64)));
       7  typedef int __v16si __attribute__ ((__vector_size__ (64)));
       8  typedef short __v32hi __attribute__ ((__vector_size__ (64)));
       9  typedef char __v64qi __attribute__ ((__vector_size__ (64)));
      10  typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__));
      11  
      12  __m512i
      13  __attribute__ ((noinline, noclone))
      14  foo1 ()
      15  {
      16    return __extension__ (__m512i)(__v8di) { -1, -1, -1, -1,
      17  					   0, 0, 0, 0 };
      18  }
      19  
      20  __m512i
      21  __attribute__ ((noinline, noclone))
      22  foo2 ()
      23  {
      24    return __extension__ (__m512i)(__v16si) { -1, -1, -1, -1,
      25  					    -1, -1, -1, -1,
      26  					    0, 0, 0, 0,
      27  					    0, 0, 0, 0 };
      28  }
      29  
      30  __m512i
      31  __attribute__ ((noinline, noclone))
      32  foo3 ()
      33  {
      34    return __extension__ (__m512i)(__v32hi) { -1, -1, -1, -1,
      35  					    -1, -1, -1, -1,
      36  					    -1, -1, -1, -1,
      37  					    -1, -1, -1, -1,
      38  					    0, 0, 0, 0,
      39  					    0, 0, 0, 0,
      40  					    0, 0, 0, 0,
      41  					    0, 0, 0, 0 };
      42  }
      43  
      44  __m512i
      45  __attribute__ ((noinline, noclone))
      46  foo4 ()
      47  {
      48    return __extension__ (__m512i)(__v64qi) { -1, -1, -1, -1,
      49  					    -1, -1, -1, -1,
      50  					    -1, -1, -1, -1,
      51  					    -1, -1, -1, -1,
      52  					    -1, -1, -1, -1,
      53  					    -1, -1, -1, -1,
      54  					    -1, -1, -1, -1,
      55  					    -1, -1, -1, -1,
      56  					    0, 0, 0, 0,
      57  					    0, 0, 0, 0,
      58  					    0, 0, 0, 0,
      59  					    0, 0, 0, 0,
      60  					    0, 0, 0, 0,
      61  					    0, 0, 0, 0,
      62  					    0, 0, 0, 0,
      63  					    0, 0, 0, 0 };
      64  }