blob: b41a90b7c9dc76497f2627119138211e32ebcbcb [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-mavx512fp16 -O2" } */
/* { dg-final { scan-assembler-times "vmovsh" 1 } } */
/* { dg-final { scan-assembler-times "vpblendw" 1 } } */
/* { dg-final { scan-assembler "vpbroadcastw" } } */
typedef _Float16 __v8hf __attribute__ ((__vector_size__ (16)));
typedef _Float16 __m128h __attribute__ ((__vector_size__ (16), __may_alias__));
__m128h
__attribute__ ((noinline, noclone))
foo1 (__m128h a, _Float16 f)
{
__v8hf x = (__v8hf) a;
x[2] = f;
return (__m128h) x;
}
__m128h
__attribute__ ((noinline, noclone))
foo2 (__m128h a, _Float16 f)
{
__v8hf x = (__v8hf) a;
x[0] = f;
return (__m128h) x;
}