https://github.com/wenju-he created 
https://github.com/llvm/llvm-project/pull/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

>From 615238c051e8ce6cf4d0a218ffec6ca7884f30b1 Mon Sep 17 00:00:00 2001
From: Wenju He <[email protected]>
Date: Thu, 25 Jun 2026 02:05:54 +0200
Subject: [PATCH] [libclc] Delete wrong implementation nvptx clc_isinf

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
---
 libclc/clc/lib/nvptx/CMakeLists.txt          |  1 -
 libclc/clc/lib/nvptx/relational/clc_isinf.cl | 33 --------------------
 2 files changed, 34 deletions(-)
 delete mode 100644 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

Reply via email to