/* { dg-do compile } */ /* { dg-options "-Ofast -mavx512fp16 -mprefer-vector-width=512" } */ _Float16 f1 (_Float16 x) { return __builtin_sqrtf16 (x); } void f2 (_Float16* __restrict psrc, _Float16* __restrict pdst) { for (int i = 0; i != 32; i++) pdst[i] = __builtin_sqrtf16 (psrc[i]); } /* { dg-final { scan-assembler-times "vsqrtsh\[^\n\r\]*xmm\[0-9\]" 1 } } */ /* { dg-final { scan-assembler-times "vsqrtph\[^\n\r\]*zmm\[0-9\]" 1 } } */