[Libclc-dev] [PATCH v2 01/14] half_rsqrt: Cleanup implementation

Jan Vesely via Libclc-dev libclc-dev at lists.llvm.org
Wed Jan 17 15:41:07 PST 2018


Passes CTS on carrizo
v2: Use full precision implementation

Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
---
 generic/include/clc/math/half_rsqrt.h |  2 --
 generic/lib/math/half_rsqrt.cl        | 26 ++------------------------
 generic/lib/math/half_rsqrt.inc       | 25 -------------------------
 generic/lib/math/half_unary.inc       |  9 +++++++++
 4 files changed, 11 insertions(+), 51 deletions(-)
 delete mode 100644 generic/lib/math/half_rsqrt.inc
 create mode 100644 generic/lib/math/half_unary.inc

diff --git a/generic/include/clc/math/half_rsqrt.h b/generic/include/clc/math/half_rsqrt.h
index 0c1f508..0bba7da 100644
--- a/generic/include/clc/math/half_rsqrt.h
+++ b/generic/include/clc/math/half_rsqrt.h
@@ -20,8 +20,6 @@
  * THE SOFTWARE.
  */
 
-#undef half_rsqrt
-
 #define __CLC_BODY <clc/math/unary_decl.inc>
 #define __CLC_FUNCTION half_rsqrt
 #define __FLOAT_ONLY
diff --git a/generic/lib/math/half_rsqrt.cl b/generic/lib/math/half_rsqrt.cl
index 726f65c..b02eb61 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_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);
-}
diff --git a/generic/lib/math/half_unary.inc b/generic/lib/math/half_unary.inc
new file mode 100644
index 0000000..a68f91a
--- /dev/null
+++ b/generic/lib/math/half_unary.inc
@@ -0,0 +1,9 @@
+#include <utils.h>
+
+#define __CLC_HALF_FUNC(x) __CLC_CONCAT(half_, x)
+
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __CLC_HALF_FUNC(__CLC_FUNC)(__CLC_GENTYPE val) {
+  return __CLC_FUNC(val);
+}
+
+#undef __CLC_HALF_FUNC
-- 
2.14.3



More information about the Libclc-dev mailing list