summaryrefslogtreecommitdiffstats
path: root/libclc/generic/lib
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2014-03-21 16:22:01 +0000
committerTom Stellard <thomas.stellard@amd.com>2014-03-21 16:22:01 +0000
commit3a12fc6a07d4828625f7d3bfbfcd6963522ed569 (patch)
tree0485bd7ec1f56ef91b72300f77156c6865d14f90 /libclc/generic/lib
parent074e7a8ed082572f3e401693e1a3cb299b69bb1c (diff)
downloadbcm5719-llvm-3a12fc6a07d4828625f7d3bfbfcd6963522ed569.tar.gz
bcm5719-llvm-3a12fc6a07d4828625f7d3bfbfcd6963522ed569.zip
Add sincos
Patch by: Jeroen Ketema Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 204478
Diffstat (limited to 'libclc/generic/lib')
-rw-r--r--libclc/generic/lib/SOURCES1
-rw-r--r--libclc/generic/lib/math/sincos.cl8
-rw-r--r--libclc/generic/lib/math/sincos.inc11
3 files changed, 20 insertions, 0 deletions
diff --git a/libclc/generic/lib/SOURCES b/libclc/generic/lib/SOURCES
index aa141658368..6ccdf481d30 100644
--- a/libclc/generic/lib/SOURCES
+++ b/libclc/generic/lib/SOURCES
@@ -33,6 +33,7 @@ math/hypot.cl
math/mad.cl
math/clc_nextafter.cl
math/nextafter.cl
+math/sincos.cl
relational/any.cl
relational/isnan.cl
shared/clamp.cl
diff --git a/libclc/generic/lib/math/sincos.cl b/libclc/generic/lib/math/sincos.cl
new file mode 100644
index 00000000000..eace5adcf16
--- /dev/null
+++ b/libclc/generic/lib/math/sincos.cl
@@ -0,0 +1,8 @@
+#include <clc/clc.h>
+
+#ifdef cl_khr_fp64
+#pragma OPENCL EXTENSION cl_khr_fp64 : enable
+#endif
+
+#define __CLC_BODY <sincos.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/generic/lib/math/sincos.inc b/libclc/generic/lib/math/sincos.inc
new file mode 100644
index 00000000000..e97f0f9641c
--- /dev/null
+++ b/libclc/generic/lib/math/sincos.inc
@@ -0,0 +1,11 @@
+#define __CLC_DECLARE_SINCOS(ADDRSPACE, TYPE) \
+ _CLC_OVERLOAD _CLC_DEF TYPE sincos (TYPE x, ADDRSPACE TYPE * cosval) { \
+ *cosval = cos(x); \
+ return sin(x); \
+ }
+
+__CLC_DECLARE_SINCOS(global, __CLC_GENTYPE)
+__CLC_DECLARE_SINCOS(local, __CLC_GENTYPE)
+__CLC_DECLARE_SINCOS(private, __CLC_GENTYPE)
+
+#undef __CLC_DECLARE_SINCOS
OpenPOWER on IntegriCloud