[Libclc-dev] [PATCH v2 1/1] math: Don't use llvm instrinsic for native_log

Arsenault, Matthew via Libclc-dev libclc-dev at lists.llvm.org
Sun Oct 1 09:25:44 PDT 2017


It's still better because the point of using the intrinsics is the algebraic optimizations that apply to them

________________________________
From: Libclc-dev <libclc-dev-bounces at lists.llvm.org> on behalf of Jan Vesely via Libclc-dev <libclc-dev at lists.llvm.org>
Sent: Wednesday, September 27, 2017 12:34:26 PM
To: libclc-dev at lists.llvm.org
Subject: [Libclc-dev] [PATCH v2 1/1] 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

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

_______________________________________________
Libclc-dev mailing list
Libclc-dev at lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libclc-dev/attachments/20171001/898d5a8a/attachment.html>


More information about the Libclc-dev mailing list