summaryrefslogtreecommitdiffstats
path: root/libclc
diff options
context:
space:
mode:
authorJan Vesely <jan.vesely@rutgers.edu>2017-10-25 16:49:17 +0000
committerJan Vesely <jan.vesely@rutgers.edu>2017-10-25 16:49:17 +0000
commit9fedbb9d8e0c43cead1dbb5ae5877ee02a18ea3d (patch)
treee9a72418ddd0a8321585f47c1d5bba1b52950001 /libclc
parent538612c885159da10b8e788c3c14a13d28912dc0 (diff)
downloadbcm5719-llvm-9fedbb9d8e0c43cead1dbb5ae5877ee02a18ea3d.tar.gz
bcm5719-llvm-9fedbb9d8e0c43cead1dbb5ae5877ee02a18ea3d.zip
amdgpu/math: Don't use llvm instrinsic for native_log
AMDGPU targets don't have insturction for it, so it'll be expanded to C * log2 anyway. v2: use native_log2 instead of the more precise sw implementation v3: move to amdgpu v4: drop old AMD copyright Reviewer: Aaron Watry Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 316587
Diffstat (limited to 'libclc')
-rw-r--r--libclc/amdgpu/lib/SOURCES1
-rw-r--r--libclc/amdgpu/lib/math/native_log.cl5
-rw-r--r--libclc/amdgpu/lib/math/native_log.inc3
3 files changed, 9 insertions, 0 deletions
diff --git a/libclc/amdgpu/lib/SOURCES b/libclc/amdgpu/lib/SOURCES
index ce5fe66f123..8cbe1d42562 100644
--- a/libclc/amdgpu/lib/SOURCES
+++ b/libclc/amdgpu/lib/SOURCES
@@ -1,2 +1,3 @@
+math/native_log.cl
math/nextafter.cl
math/sqrt.cl
diff --git a/libclc/amdgpu/lib/math/native_log.cl b/libclc/amdgpu/lib/math/native_log.cl
new file mode 100644
index 00000000000..3c5592f602c
--- /dev/null
+++ b/libclc/amdgpu/lib/math/native_log.cl
@@ -0,0 +1,5 @@
+#include <clc/clc.h>
+
+#define __CLC_BODY <native_log.inc>
+#define __FLOAT_ONLY
+#include <clc/math/gentype.inc>
diff --git a/libclc/amdgpu/lib/math/native_log.inc b/libclc/amdgpu/lib/math/native_log.inc
new file mode 100644
index 00000000000..e6818dc1326
--- /dev/null
+++ b/libclc/amdgpu/lib/math/native_log.inc
@@ -0,0 +1,3 @@
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_log(__CLC_GENTYPE val) {
+ return native_log2(val) * (1.0f / M_LOG2E_F);
+}
OpenPOWER on IntegriCloud