/* { dg-do compile } */ /* { dg-options "-Ofast -mavx512fp16 -mavx512vl" } */ _Float16 f1 (_Float16 x) { return __builtin_fabsf16 (x); } _Float16 f2 (_Float16 x, _Float16 y) { return __builtin_copysignf16 (x, y); } _Float16 f3 (_Float16 x) { return -x; } _Float16 f4 (_Float16 x, _Float16 y) { return x * __builtin_copysignf16 (1, y); } /* { dg-final { scan-assembler-times "vandps\[^\n\r\]*xmm\[0-9\]" 1 } } */ /* { dg-final { scan-assembler-times "vpternlogd\[^\n\r\]*xmm\[0-9\]" 2 } } */ /* { dg-final { scan-assembler-times "vxorps\[^\n\r\]*xmm\[0-9\]" 1 } } */