aboutsummaryrefslogtreecommitdiff
path: root/libclc/amdgpu
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/amdgpu
parent538612c885159da10b8e788c3c14a13d28912dc0 (diff)
downloadllvm-9fedbb9d8e0c43cead1dbb5ae5877ee02a18ea3d.zip
llvm-9fedbb9d8e0c43cead1dbb5ae5877ee02a18ea3d.tar.gz
llvm-9fedbb9d8e0c43cead1dbb5ae5877ee02a18ea3d.tar.bz2
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/amdgpu')
-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 ce5fe66..8cbe1d4 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 0000000..3c5592f
--- /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 0000000..e6818dc
--- /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);
+}