summaryrefslogtreecommitdiffstats
path: root/libclc
diff options
context:
space:
mode:
authorJan Vesely <jan.vesely@rutgers.edu>2017-11-10 22:16:39 +0000
committerJan Vesely <jan.vesely@rutgers.edu>2017-11-10 22:16:39 +0000
commit4301e6d0c915563c9d2d8a9bd1d0c4395913985e (patch)
treeeb5e986cc141c942e534acf08c0b79b9a6ba983b /libclc
parent1f34c851e0af55eecc84ac833bb624f5ab1b3077 (diff)
downloadbcm5719-llvm-4301e6d0c915563c9d2d8a9bd1d0c4395913985e.tar.gz
bcm5719-llvm-4301e6d0c915563c9d2d8a9bd1d0c4395913985e.zip
native_sqrt: Switch implementation to llvm intrinsic
Reviewer: Jeroen Ketema Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 317940
Diffstat (limited to 'libclc')
-rw-r--r--libclc/generic/include/clc/math/native_sqrt.h10
-rw-r--r--libclc/generic/lib/SOURCES1
-rw-r--r--libclc/generic/lib/math/native_sqrt.cl7
3 files changed, 17 insertions, 1 deletions
diff --git a/libclc/generic/include/clc/math/native_sqrt.h b/libclc/generic/include/clc/math/native_sqrt.h
index a9525fccb7c..cdfc976ad3d 100644
--- a/libclc/generic/include/clc/math/native_sqrt.h
+++ b/libclc/generic/include/clc/math/native_sqrt.h
@@ -1 +1,9 @@
-#define native_sqrt sqrt
+#define __CLC_BODY <clc/math/unary_decl.inc>
+#define __CLC_FUNCTION native_sqrt
+#define __FLOAT_ONLY
+
+#include <clc/math/gentype.inc>
+
+#undef __FLOAT_ONLY
+#undef __CLC_BODY
+#undef __CLC_FUNCTION
diff --git a/libclc/generic/lib/SOURCES b/libclc/generic/lib/SOURCES
index d29390d897d..a230d388fea 100644
--- a/libclc/generic/lib/SOURCES
+++ b/libclc/generic/lib/SOURCES
@@ -126,6 +126,7 @@ math/native_log.cl
math/native_log10.cl
math/native_log2.cl
math/native_sin.cl
+math/native_sqrt.cl
math/tables.cl
math/clc_nextafter.cl
math/nextafter.cl
diff --git a/libclc/generic/lib/math/native_sqrt.cl b/libclc/generic/lib/math/native_sqrt.cl
new file mode 100644
index 00000000000..92a2e1bef6e
--- /dev/null
+++ b/libclc/generic/lib/math/native_sqrt.cl
@@ -0,0 +1,7 @@
+#include <clc/clc.h>
+
+#define __CLC_NATIVE_INTRINSIC sqrt
+
+#define __CLC_BODY <native_unary_intrinsic.inc>
+#define __FLOAT_ONLY
+#include <clc/math/gentype.inc>
OpenPOWER on IntegriCloud