[Libclc-dev] [PATCH v2 1/1] math: Don't use llvm instrinsic for native_log
Jan Vesely via Libclc-dev
libclc-dev at lists.llvm.org
Wed Sep 27 15:34:26 PDT 2017
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
Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
---
generic/lib/math/native_log.cl | 5 -----
generic/lib/math/native_log.inc | 2 +-
2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/generic/lib/math/native_log.cl b/generic/lib/math/native_log.cl
index f64f012..f8ba08f 100644
--- a/generic/lib/math/native_log.cl
+++ b/generic/lib/math/native_log.cl
@@ -22,11 +22,6 @@
#include <clc/clc.h>
-#define __CLC_FUNCTION __clc_native_log
-#define __CLC_INTRINSIC "llvm.log"
-#undef cl_khr_fp64
-#include <clc/math/unary_intrin.inc>
-
#define __CLC_BODY <native_log.inc>
#define __FLOAT_ONLY
#include <clc/math/gentype.inc>
diff --git a/generic/lib/math/native_log.inc b/generic/lib/math/native_log.inc
index cb4db3f..d4950c2 100644
--- a/generic/lib/math/native_log.inc
+++ b/generic/lib/math/native_log.inc
@@ -21,5 +21,5 @@
*/
_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_log(__CLC_GENTYPE val) {
- return __clc_native_log(val);
+ return native_log2(val) * (1.0f / M_LOG2E_F);
}
--
2.13.5
More information about the Libclc-dev
mailing list