blob: a1c6636e3541c7d11a708192152edc178ebcddc7 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-Ofast -mavx512fp16" } */
_Float16
f1 (_Float16 x)
{
return __builtin_truncf16 (x);
}
_Float16
f2 (_Float16 x)
{
return __builtin_floorf16 (x);
}
_Float16
f3 (_Float16 x)
{
return __builtin_ceilf16 (x);
}
_Float16
f4 (_Float16 x)
{
return __builtin_roundevenf16 (x);
}
_Float16
f5 (_Float16 x)
{
return __builtin_rintf16 (x);
}
_Float16
f6 (_Float16 x)
{
return __builtin_nearbyintf16 (x);
}
/* { dg-final { scan-assembler-times "vrndscalesh\[ \\t\]+\\\$11\[^\n\r\]*xmm\[0-9\]" 1 } } */
/* { dg-final { scan-assembler-times "vrndscalesh\[ \\t\]+\\\$10\[^\n\r\]*xmm\[0-9\]" 1 } } */
/* { dg-final { scan-assembler-times "vrndscalesh\[ \\t\]+\\\$9\[^\n\r\]*xmm\[0-9\]" 1 } } */
/* { dg-final { scan-assembler-times "vrndscalesh\[ \\t\]+\\\$8\[^\n\r\]*xmm\[0-9\]" 1 } } */
/* { dg-final { scan-assembler-times "vrndscalesh\[ \\t\]+\\\$4\[^\n\r\]*xmm\[0-9\]" 1 } } */
/* { dg-final { scan-assembler-times "vrndscalesh\[ \\t\]+\\\$12\[^\n\r\]*xmm\[0-9\]" 1 } } */