[Libclc-dev] [PATCH 1/9] amdgpu/half_rsqrt: Switch implementation to native_rsqrt

Jan Vesely via Libclc-dev libclc-dev at lists.llvm.org
Wed Jan 31 21:42:17 PST 2018


Passes CTS on carrizo
Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
---
 amdgpu/lib/SOURCES                    |  1 +
 amdgpu/lib/math/half_native_unary.inc | 11 +++++++++++
 amdgpu/lib/math/half_rsqrt.cl         |  6 ++++++
 3 files changed, 18 insertions(+)
 create mode 100644 amdgpu/lib/math/half_native_unary.inc
 create mode 100644 amdgpu/lib/math/half_rsqrt.cl

diff --git a/amdgpu/lib/SOURCES b/amdgpu/lib/SOURCES
index 20322ec..461c773 100644
--- a/amdgpu/lib/SOURCES
+++ b/amdgpu/lib/SOURCES
@@ -1,5 +1,6 @@
 math/native_exp.cl
 math/native_log.cl
 math/native_log10.cl
+math/half_rsqrt.cl
 math/nextafter.cl
 math/sqrt.cl
diff --git a/amdgpu/lib/math/half_native_unary.inc b/amdgpu/lib/math/half_native_unary.inc
new file mode 100644
index 0000000..0f99ba5
--- /dev/null
+++ b/amdgpu/lib/math/half_native_unary.inc
@@ -0,0 +1,11 @@
+#include <utils.h>
+
+#define __CLC_HALF_FUNC(x) __CLC_CONCAT(half_, x)
+#define __CLC_NATIVE_FUNC(x) __CLC_CONCAT(native_, x)
+
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __CLC_HALF_FUNC(__CLC_FUNC)(__CLC_GENTYPE val) {
+	return __CLC_NATIVE_FUNC(__CLC_FUNC)(val);
+}
+
+#undef __CLC_NATIVE_FUNC
+#undef __CLC_HALF_FUNC
diff --git a/amdgpu/lib/math/half_rsqrt.cl b/amdgpu/lib/math/half_rsqrt.cl
new file mode 100644
index 0000000..9056690
--- /dev/null
+++ b/amdgpu/lib/math/half_rsqrt.cl
@@ -0,0 +1,6 @@
+#include <clc/clc.h>
+ 
+#define __CLC_FUNC rsqrt
+#define __FLOAT_ONLY
+#define __CLC_BODY <half_native_unary.inc>
+#include <clc/math/gentype.inc>
-- 
2.14.3



More information about the Libclc-dev mailing list