blob: 8d0b99744350dca7b96016bcbd20d31eec9a0de2 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -mavx512f" } */
/* { dg-final { scan-assembler-not "vmovdqa" } } */
/* { dg-final { scan-assembler-times "vpcmpeqd\[ \\t\]+%ymm\[0-9\]" 4 } } */
typedef long long __v8di __attribute__ ((__vector_size__ (64)));
typedef int __v16si __attribute__ ((__vector_size__ (64)));
typedef short __v32hi __attribute__ ((__vector_size__ (64)));
typedef char __v64qi __attribute__ ((__vector_size__ (64)));
typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__));
__m512i
__attribute__ ((noinline, noclone))
foo1 ()
{
return __extension__ (__m512i)(__v8di) { -1, -1, -1, -1,
0, 0, 0, 0 };
}
__m512i
__attribute__ ((noinline, noclone))
foo2 ()
{
return __extension__ (__m512i)(__v16si) { -1, -1, -1, -1,
-1, -1, -1, -1,
0, 0, 0, 0,
0, 0, 0, 0 };
}
__m512i
__attribute__ ((noinline, noclone))
foo3 ()
{
return __extension__ (__m512i)(__v32hi) { -1, -1, -1, -1,
-1, -1, -1, -1,
-1, -1, -1, -1,
-1, -1, -1, -1,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0 };
}
__m512i
__attribute__ ((noinline, noclone))
foo4 ()
{
return __extension__ (__m512i)(__v64qi) { -1, -1, -1, -1,
-1, -1, -1, -1,
-1, -1, -1, -1,
-1, -1, -1, -1,
-1, -1, -1, -1,
-1, -1, -1, -1,
-1, -1, -1, -1,
-1, -1, -1, -1,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0 };
}