Projet_SETI_RISC-V/riscv-gnu-toolchain/gcc/gcc/testsuite/g++.target/i386/avx512f-pr96891-1.C
2023-03-06 14:48:14 +01:00

38 lines
822 B
C

/* { 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;
}