summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Vesely <jan.vesely@rutgers.edu>2017-11-10 22:16:41 +0000
committerJan Vesely <jan.vesely@rutgers.edu>2017-11-10 22:16:41 +0000
commit6b4a625438983ab8dc84b087a90c9d9bb94ffdde (patch)
tree21f850756cadead6def0589c4fbddb30ea4ca6dc
parent4301e6d0c915563c9d2d8a9bd1d0c4395913985e (diff)
downloadbcm5719-llvm-6b4a625438983ab8dc84b087a90c9d9bb94ffdde.tar.gz
bcm5719-llvm-6b4a625438983ab8dc84b087a90c9d9bb94ffdde.zip
native_exp10: Switch implementation to llvm intrinsic
v2: Use native_log2 instead of wrong constant Reviewer: Jeroen Ketema Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 317941
-rw-r--r--libclc/generic/include/clc/math/native_exp10.h10
-rw-r--r--libclc/generic/lib/SOURCES1
-rw-r--r--libclc/generic/lib/math/native_exp10.cl5
-rw-r--r--libclc/generic/lib/math/native_exp10.inc3
4 files changed, 18 insertions, 1 deletions
diff --git a/libclc/generic/include/clc/math/native_exp10.h b/libclc/generic/include/clc/math/native_exp10.h
index 1156f58c53a..4cd81235b0f 100644
--- a/libclc/generic/include/clc/math/native_exp10.h
+++ b/libclc/generic/include/clc/math/native_exp10.h
@@ -1 +1,9 @@
-#define native_exp10 exp10
+#define __CLC_BODY <clc/math/unary_decl.inc>
+#define __CLC_FUNCTION native_exp10
+#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 a230d388fea..2b314653a88 100644
--- a/libclc/generic/lib/SOURCES
+++ b/libclc/generic/lib/SOURCES
@@ -121,6 +121,7 @@ math/mad.cl
math/modf.cl
math/native_cos.cl
math/native_exp.cl
+math/native_exp10.cl
math/native_exp2.cl
math/native_log.cl
math/native_log10.cl
diff --git a/libclc/generic/lib/math/native_exp10.cl b/libclc/generic/lib/math/native_exp10.cl
new file mode 100644
index 00000000000..77959a73c4f
--- /dev/null
+++ b/libclc/generic/lib/math/native_exp10.cl
@@ -0,0 +1,5 @@
+#include <clc/clc.h>
+
+#define __CLC_BODY <native_exp10.inc>
+#define __FLOAT_ONLY
+#include <clc/math/gentype.inc>
diff --git a/libclc/generic/lib/math/native_exp10.inc b/libclc/generic/lib/math/native_exp10.inc
new file mode 100644
index 00000000000..b82a650070e
--- /dev/null
+++ b/libclc/generic/lib/math/native_exp10.inc
@@ -0,0 +1,3 @@
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_exp10(__CLC_GENTYPE val) {
+ return native_exp2(val * native_log2(10));
+}
OpenPOWER on IntegriCloud