blob: 969a085b9009e8b42a022b563231950cde7a7f01 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-mavx512vl -O2" } */
/* { dg-final { scan-assembler-not "%k\[0-7\]" } } */
typedef float v4sf __attribute__ ((vector_size (16)));
typedef float v8sf __attribute__ ((vector_size (32)));
typedef double v2df __attribute__ ((vector_size (16)));
typedef double v4df __attribute__ ((vector_size (32)));
v4sf
foo_v4sf (v4sf x)
{
const union U { unsigned u; float f; } u = { -1U };
return x > 0.0f ? u.f : 0.0f;
}
v8sf
foo_v8sf (v8sf x)
{
const union U { unsigned u; float f; } u = { -1U };
return x > 0.0f ? u.f : 0.0f;
}
v2df
foo_v2df (v2df x)
{
const union U { unsigned long long u; double df; } u = { -1ULL };
return x > 0.0 ? u.df : 0.0;
}
v4df
foo_v4df (v4df x)
{
const union U { unsigned long long u; double df; } u = { -1ULL };
return x > 0.0 ? u.df : 0.0;
}