forked from OSchip/llvm-project
libclc: Move rsqrt implementation to a .cl file
Reviewer: awatry Differential Revision: https://reviews.llvm.org/D74013
This commit is contained in:
parent
0ae119f835
commit
4b23a2e8e9
|
@ -1 +1,7 @@
|
|||
#define rsqrt(x) (1.f/sqrt(x))
|
||||
#define __CLC_BODY <clc/math/unary_decl.inc>
|
||||
#define __CLC_FUNCTION rsqrt
|
||||
|
||||
#include <clc/math/gentype.inc>
|
||||
|
||||
#undef __CLC_BODY
|
||||
#undef __CLC_FUNCTION
|
||||
|
|
|
@ -176,6 +176,7 @@ math/rint.cl
|
|||
math/clc_rootn.cl
|
||||
math/rootn.cl
|
||||
math/round.cl
|
||||
math/rsqrt.cl
|
||||
math/sin.cl
|
||||
math/sincos.cl
|
||||
math/sincos_helpers.cl
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
#include <clc/clc.h>
|
||||
|
||||
#include "../clcmacro.h"
|
||||
|
||||
_CLC_OVERLOAD _CLC_DEF float rsqrt(float x)
|
||||
{
|
||||
return 1.0f / sqrt(x);
|
||||
}
|
||||
|
||||
_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, float, rsqrt, float);
|
||||
|
||||
#ifdef cl_khr_fp64
|
||||
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
|
||||
_CLC_OVERLOAD _CLC_DEF double rsqrt(double x)
|
||||
{
|
||||
return 1.0 / sqrt(x);
|
||||
}
|
||||
|
||||
_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, rsqrt, double);
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue