blob: 83bba3cfd0d00bd1b4ad67b359b103b1b89cde00 [file] [log] [blame]
/* PR target/100549 */
/* { dg-do compile } */
/* { dg-options "-O -mavx2" } */
typedef char v16qi __attribute__ ((vector_size (16)));
typedef char v32qi __attribute__ ((vector_size (32)));
typedef short v8hi __attribute__ ((vector_size (16)));
typedef short v16hi __attribute__ ((vector_size (32)));
typedef int v4si __attribute__ ((vector_size (16)));
typedef int v8si __attribute__ ((vector_size (32)));
typedef long long v2di __attribute__ ((vector_size (16)));
typedef long long v4di __attribute__ ((vector_size (32)));
v16qi
f1 (v16qi a)
{
return __builtin_ia32_pcmpeqb128 (a, a);
}
v8hi
f2 (v8hi a)
{
return __builtin_ia32_pcmpeqw128 (a, a);
}
v4si
f3 (v4si a)
{
return __builtin_ia32_pcmpeqd128 (a, a);
}
v2di
f4 (v2di a)
{
return __builtin_ia32_pcmpeqq (a, a);
}
v16qi
f5 (v16qi a)
{
return __builtin_ia32_pcmpgtb128 (a, a);
}
v8hi
f6 (v8hi a)
{
return __builtin_ia32_pcmpgtw128 (a, a);
}
v4si
f7 (v4si a)
{
return __builtin_ia32_pcmpgtd128 (a, a);
}
v2di
f8 (v2di a)
{
return __builtin_ia32_pcmpgtq (a, a);
}
v32qi
f9 (v32qi a)
{
return __builtin_ia32_pcmpeqb256 (a, a);
}
v16hi
f10 (v16hi a)
{
return __builtin_ia32_pcmpeqw256 (a, a);
}
v8si
f11 (v8si a)
{
return __builtin_ia32_pcmpeqd256 (a, a);
}
v4di
f12 (v4di a)
{
return __builtin_ia32_pcmpeqq256 (a, a);
}
v32qi
f13 (v32qi a)
{
return __builtin_ia32_pcmpgtb256 (a, a);
}
v16hi
f14 (v16hi a)
{
return __builtin_ia32_pcmpgtw256 (a, a);
}
v8si
f15 (v8si a)
{
return __builtin_ia32_pcmpgtd256 (a, a);
}
v4di
f16 (v4di a)
{
return __builtin_ia32_pcmpgtq256 (a, a);
}