xref: /llvm-project/libclc/r600/lib/math/rsqrt.cl (revision d2d1b5897e871f7b4873befbe2b85db58744e42b)
1#include <clc/clc.h>
2#include <clc/clcmacro.h>
3
4_CLC_OVERLOAD _CLC_DEF float rsqrt(float x)
5{
6    return __builtin_r600_recipsqrt_ieeef(x);
7}
8
9_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, float, rsqrt, float);
10
11#ifdef cl_khr_fp64
12
13#pragma OPENCL EXTENSION cl_khr_fp64 : enable
14
15_CLC_OVERLOAD _CLC_DEF double rsqrt(double x)
16{
17    return __builtin_r600_recipsqrt_ieee(x);
18}
19
20_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, rsqrt, double);
21
22#endif
23