Author: jvesely Date: Fri Nov 10 14:16:15 2017 New Revision: 317932 URL: http://llvm.org/viewvc/llvm-project?rev=317932&view=rev Log: native_log2: Switch to generic native intrinsic inc file
v2: Add __CLC_XCONCAT instead of function name redirection Use __CLC_XCONCAT for intrinsic functions as well Reviewer: Jeroen Ketema Signed-off-by: Jan Vesely <jan.ves...@rutgers.edu> Added: libclc/trunk/generic/include/utils.h libclc/trunk/generic/lib/math/native_unary_intrinsic.inc - copied, changed from r317260, libclc/trunk/generic/lib/math/native_log2.inc Removed: libclc/trunk/generic/lib/math/native_log2.inc Modified: libclc/trunk/generic/lib/math/native_log2.cl Added: libclc/trunk/generic/include/utils.h URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/generic/include/utils.h?rev=317932&view=auto ============================================================================== --- libclc/trunk/generic/include/utils.h (added) +++ libclc/trunk/generic/include/utils.h Fri Nov 10 14:16:15 2017 @@ -0,0 +1,10 @@ +#ifndef __CLC_UTILS_H_ +#define __CLC_UTILS_H_ + +#define __CLC_CONCAT(x, y) x ## y +#define __CLC_XCONCAT(x, y) __CLC_CONCAT(x, y) + +#define __CLC_STR(x) #x +#define __CLC_XSTR(x) __CLC_STR(x) + +#endif Modified: libclc/trunk/generic/lib/math/native_log2.cl URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/generic/lib/math/native_log2.cl?rev=317932&r1=317931&r2=317932&view=diff ============================================================================== --- libclc/trunk/generic/lib/math/native_log2.cl (original) +++ libclc/trunk/generic/lib/math/native_log2.cl Fri Nov 10 14:16:15 2017 @@ -22,11 +22,7 @@ #include <clc/clc.h> -#define __CLC_FUNCTION __clc_native_log2 -#define __CLC_INTRINSIC "llvm.log2" -#undef cl_khr_fp64 -#include <clc/math/unary_intrin.inc> - -#define __CLC_BODY <native_log2.inc> +#define __CLC_NATIVE_INTRINSIC log2 +#define __CLC_BODY <native_unary_intrinsic.inc> #define __FLOAT_ONLY #include <clc/math/gentype.inc> Removed: libclc/trunk/generic/lib/math/native_log2.inc URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/generic/lib/math/native_log2.inc?rev=317931&view=auto ============================================================================== --- libclc/trunk/generic/lib/math/native_log2.inc (original) +++ libclc/trunk/generic/lib/math/native_log2.inc (removed) @@ -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 native_log2(__CLC_GENTYPE val) { - return __clc_native_log2(val); -} Copied: libclc/trunk/generic/lib/math/native_unary_intrinsic.inc (from r317260, libclc/trunk/generic/lib/math/native_log2.inc) URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/generic/lib/math/native_unary_intrinsic.inc?p2=libclc/trunk/generic/lib/math/native_unary_intrinsic.inc&p1=libclc/trunk/generic/lib/math/native_log2.inc&r1=317260&r2=317932&rev=317932&view=diff ============================================================================== --- libclc/trunk/generic/lib/math/native_log2.inc (original) +++ libclc/trunk/generic/lib/math/native_unary_intrinsic.inc Fri Nov 10 14:16:15 2017 @@ -20,6 +20,21 @@ * THE SOFTWARE. */ -_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_log2(__CLC_GENTYPE val) { - return __clc_native_log2(val); +#include <utils.h> + +#ifdef __CLC_SCALAR +#define __CLC_FUNCTION __CLC_XCONCAT(__clc_native_, __CLC_NATIVE_INTRINSIC) +#define __CLC_INTRINSIC "llvm." __CLC_XSTR(__CLC_NATIVE_INTRINSIC) + +#undef cl_khr_fp64 +#include <clc/math/unary_intrin.inc> + +#endif + +#define __CLC_FUNCTION __CLC_XCONCAT(native_, __CLC_NATIVE_INTRINSIC) + +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __CLC_FUNCTION(__CLC_GENTYPE val) { + return __CLC_XCONCAT(__clc_native_, __CLC_NATIVE_INTRINSIC)(val); } + +#undef __CLC_FUNCTION _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits