blob: ad37f4f265a9c3b4669c25378f7bf482760b6572 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -mavx512fp16" } */
typedef _Float16 v4hf __attribute__ ((vector_size (8)));
typedef _Float16 v2hf __attribute__ ((vector_size (4)));
v4hf
v4hf_abi_1 (v4hf a)
{
return a;
}
v4hf
v4hf_abi_3 (v4hf a, v4hf b, v4hf c)
{
return c;
}
/* { dg-final { scan-assembler-times "movq\[\\t \]*%mm2, %mm0" 1 { target ia32 } } } */
/* { dg-final { scan-assembler-times "vmovaps\[\\t \]*%xmm2, %xmm0" 1 { target { ! ia32 } } } } */
v4hf
v4hf_abi_4 (v4hf a, v4hf b, v4hf c, v4hf d)
{
return d;
}
/* { dg-final { scan-assembler-times "movq\[\\t \]*4\\(%esp\\), %mm0" 1 { target ia32 } } } */
/* { dg-final { scan-assembler-times "vmovaps\[\\t \]*%xmm3, %xmm0" 1 { target { ! ia32 } } } } */
v2hf
v2hf_test (v2hf a, v2hf b, v2hf c, v2hf d)
{
return b;
}
/* { dg-final { scan-assembler-times "movl\[\\t \]*8\\(%esp\\), %eax" 1 { target ia32 } } } */
/* { dg-final { scan-assembler-times "vmovaps\[\\t \]*%xmm1, %xmm0" 1 { target { ! ia32 } } } } */