[Libclc-dev] [PATCH 01/14] half_rsqrt: Switch implementation to native_rsqrt

Jan Vesely via Libclc-dev libclc-dev at lists.llvm.org
Fri Nov 3 18:32:26 PDT 2017


Passes CTS on carrizo

Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
---
 generic/lib/math/half_native_unary.inc | 11 +++++++++++
 generic/lib/math/half_rsqrt.cl         | 26 ++------------------------
 generic/lib/math/half_rsqrt.inc        | 25 -------------------------
 3 files changed, 13 insertions(+), 49 deletions(-)
 create mode 100644 generic/lib/math/half_native_unary.inc
 delete mode 100644 generic/lib/math/half_rsqrt.inc

diff --git a/generic/lib/math/half_native_unary.inc b/generic/lib/math/half_native_unary.inc
new file mode 100644
index 0000000..3ab1fba
--- /dev/null
+++ b/generic/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/generic/lib/math/half_rsqrt.cl b/generic/lib/math/half_rsqrt.cl
index 726f65c..2585911 100644
--- a/generic/lib/math/half_rsqrt.cl
+++ b/generic/lib/math/half_rsqrt.cl
@@ -1,28 +1,6 @@
-/*
- * Copyright (c) 2014,2015 Advanced Micro Devices, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
 #include <clc/clc.h>
 
-#define __CLC_BODY <half_rsqrt.inc>
+#define __CLC_FUNC rsqrt
+#define __CLC_BODY <half_native_unary.inc>
 #define __FLOAT_ONLY
 #include <clc/math/gentype.inc>
-#undef __FLOAT_ONLY
diff --git a/generic/lib/math/half_rsqrt.inc b/generic/lib/math/half_rsqrt.inc
deleted file mode 100644
index 33ce6c2..0000000
--- a/generic/lib/math/half_rsqrt.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2014,2015 Advanced Micro Devices, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE half_rsqrt(__CLC_GENTYPE val) {
-  return rsqrt(val);
-}
-- 
2.13.6



More information about the Libclc-dev mailing list