summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Vesely <jan.vesely@rutgers.edu>2017-11-13 18:28:56 +0000
committerJan Vesely <jan.vesely@rutgers.edu>2017-11-13 18:28:56 +0000
commitf38b40daf7eb0295d1a3541fb1ceb5844702133d (patch)
tree9af71dace949697fc32fa411f4f1496adbfd6bbe
parent1b9825f98264fa4c30add82164db327578dcbdf4 (diff)
downloadbcm5719-llvm-f38b40daf7eb0295d1a3541fb1ceb5844702133d.tar.gz
bcm5719-llvm-f38b40daf7eb0295d1a3541fb1ceb5844702133d.zip
native_divide: provide function implementation instead of macro
Reviewer: Jeroen Ketema Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 318067
-rw-r--r--libclc/generic/include/clc/math/binary_decl_tt.inc1
-rw-r--r--libclc/generic/include/clc/math/native_divide.h8
-rw-r--r--libclc/generic/lib/SOURCES1
-rw-r--r--libclc/generic/lib/math/native_divide.cl5
-rw-r--r--libclc/generic/lib/math/native_divide.inc3
5 files changed, 17 insertions, 1 deletions
diff --git a/libclc/generic/include/clc/math/binary_decl_tt.inc b/libclc/generic/include/clc/math/binary_decl_tt.inc
new file mode 100644
index 00000000000..3166476ab53
--- /dev/null
+++ b/libclc/generic/include/clc/math/binary_decl_tt.inc
@@ -0,0 +1 @@
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE __CLC_FUNCTION(__CLC_GENTYPE a, __CLC_GENTYPE b);
diff --git a/libclc/generic/include/clc/math/native_divide.h b/libclc/generic/include/clc/math/native_divide.h
index 5c52167fd3e..1bc6cf58368 100644
--- a/libclc/generic/include/clc/math/native_divide.h
+++ b/libclc/generic/include/clc/math/native_divide.h
@@ -1 +1,7 @@
-#define native_divide(x, y) ((x) / (y))
+#define __CLC_BODY <clc/math/binary_decl_tt.inc>
+#define __CLC_FUNCTION native_divide
+
+#include <clc/math/gentype.inc>
+
+#undef __CLC_BODY
+#undef __CLC_FUNCTION
diff --git a/libclc/generic/lib/SOURCES b/libclc/generic/lib/SOURCES
index 94ba4c0621f..355741c8756 100644
--- a/libclc/generic/lib/SOURCES
+++ b/libclc/generic/lib/SOURCES
@@ -120,6 +120,7 @@ math/logb.cl
math/mad.cl
math/modf.cl
math/native_cos.cl
+math/native_divide.cl
math/native_exp.cl
math/native_exp10.cl
math/native_exp2.cl
diff --git a/libclc/generic/lib/math/native_divide.cl b/libclc/generic/lib/math/native_divide.cl
new file mode 100644
index 00000000000..0f34366dd98
--- /dev/null
+++ b/libclc/generic/lib/math/native_divide.cl
@@ -0,0 +1,5 @@
+#include <clc/clc.h>
+
+#define __CLC_BODY <native_divide.inc>
+#define __FLOAT_ONLY
+#include <clc/math/gentype.inc>
diff --git a/libclc/generic/lib/math/native_divide.inc b/libclc/generic/lib/math/native_divide.inc
new file mode 100644
index 00000000000..836c93d32d9
--- /dev/null
+++ b/libclc/generic/lib/math/native_divide.inc
@@ -0,0 +1,3 @@
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_divide(__CLC_GENTYPE x, __CLC_GENTYPE y) {
+ return x / y;
+}
OpenPOWER on IntegriCloud