Author: Wenju He Date: 2026-06-25T08:47:23+08:00 New Revision: 89ac672f5b9242e040598eedb7d240c97a8da44b
URL: https://github.com/llvm/llvm-project/commit/89ac672f5b9242e040598eedb7d240c97a8da44b DIFF: https://github.com/llvm/llvm-project/commit/89ac672f5b9242e040598eedb7d240c97a8da44b.diff LOG: [libclc] Delete wrong implementation nvptx clc_isinf (#205699) The file calls __nv_isinf which return 1 for true on vector input, while the generic clc_isinf which return -1 for true on vector input. Using nvptx clc_isinf in OpenCL isinf violates OpenCL spec. Found the issue in https://github.com/intel/llvm/pull/22413 Added: Modified: libclc/clc/lib/nvptx/CMakeLists.txt Removed: libclc/clc/lib/nvptx/relational/clc_isinf.cl ################################################################################ diff --git a/libclc/clc/lib/nvptx/CMakeLists.txt b/libclc/clc/lib/nvptx/CMakeLists.txt index 2345d5aeed77b..58b7387853c27 100644 --- a/libclc/clc/lib/nvptx/CMakeLists.txt +++ b/libclc/clc/lib/nvptx/CMakeLists.txt @@ -3,7 +3,6 @@ libclc_add_sources(${LIBCLC_CLC_TARGET} FILES math/clc_rsqrt.cl math/clc_sinpi.cl math/clc_sqrt.cl - relational/clc_isinf.cl synchronization/clc_work_group_barrier.cl workitem/clc_get_global_id.cl workitem/clc_get_global_size.cl diff --git a/libclc/clc/lib/nvptx/relational/clc_isinf.cl b/libclc/clc/lib/nvptx/relational/clc_isinf.cl deleted file mode 100644 index 3b0055e995aaf..0000000000000 --- a/libclc/clc/lib/nvptx/relational/clc_isinf.cl +++ /dev/null @@ -1,33 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "clc/relational/clc_isinf.h" - -int __nv_isinff(float); -int __nv_isinfd(double); - -_CLC_OVERLOAD _CLC_DEF int __clc_isinf(float x) { return __nv_isinff(x); } - -#ifdef cl_khr_fp64 -#pragma OPENCL EXTENSION cl_khr_fp64 : enable - -_CLC_OVERLOAD _CLC_DEF int __clc_isinf(double x) { return __nv_isinfd(x); } - -#endif - -#ifdef cl_khr_fp16 -#pragma OPENCL EXTENSION cl_khr_fp16 : enable - -_CLC_OVERLOAD _CLC_DEF int __clc_isinf(half x) { return __clc_isinf((float)x); } - -#endif - -#define __CLC_FUNCTION __clc_isinf -#define __CLC_BODY "clc/shared/unary_def_scalarize.inc" -#define __CLC_RET_TYPE __CLC_BIT_INT -#include "clc/math/gentype.inc" _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
