[libclc] [libclc][NFC] Remove __CLC_BIT_INTN macro (PR #188023)
Wenju He via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 23 05:14:26 PDT 2026
https://github.com/wenju-he updated https://github.com/llvm/llvm-project/pull/188023
>From 6814a6231114e20317fc3245e43b56f85e07934d Mon Sep 17 00:00:00 2001
From: Wenju He <wenju.he at intel.com>
Date: Mon, 23 Mar 2026 12:34:00 +0100
Subject: [PATCH 1/2] [libclc][NFC] Remove __CLC_BIT_INTN macro
This macro was originally introduced in 64735ad63975 for relational
built-ins. It is functionally identical to __CLC_S_GENTYPE.
Replacing it simplifies gentype.inc, which is widely used in the library.
---
libclc/clc/include/clc/math/gentype.inc | 39 -------------------
.../include/clc/relational/binary_decl.inc | 2 +-
.../clc/include/clc/relational/unary_decl.inc | 2 +-
.../lib/generic/atomic/clc_atomic_exchange.cl | 2 +-
.../clc/lib/generic/atomic/clc_atomic_load.cl | 2 +-
.../lib/generic/atomic/clc_atomic_store.cl | 2 +-
libclc/clc/lib/generic/common/clc_sign.inc | 2 +-
.../relational/relational_binary_def.inc | 2 +-
.../relational/relational_unary_def.inc | 2 +-
9 files changed, 8 insertions(+), 47 deletions(-)
diff --git a/libclc/clc/include/clc/math/gentype.inc b/libclc/clc/include/clc/math/gentype.inc
index 6d83b062d3225..94030729d0075 100644
--- a/libclc/clc/include/clc/math/gentype.inc
+++ b/libclc/clc/include/clc/math/gentype.inc
@@ -56,7 +56,6 @@
#define __CLC_CONVERT_UINTN __CLC_XCONCAT(__clc_convert_, __CLC_UINTN)
#define __CLC_CONVERT_ULONGN __CLC_XCONCAT(__clc_convert_, __CLC_ULONGN)
-#define __CLC_CONVERT_BIT_INTN __CLC_XCONCAT(__clc_convert_, __CLC_BIT_INTN)
// See definitions of __CLC_S_GENTYPE/__CLC_U_GENTYPE below, which depend on the
// specific size of floating-point type. These are the signed and unsigned
@@ -87,7 +86,6 @@
#define __CLC_GENTYPE float
#define __CLC_BIT_INT int
-#define __CLC_BIT_INTN int
#define __CLC_SCALAR
#define __CLC_VECSIZE
#define __CLC_VECSIZE_OR_1 1
@@ -95,51 +93,40 @@
#undef __CLC_VECSIZE_OR_1
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#undef __CLC_SCALAR
#define __CLC_VECSIZE_OR_1 __CLC_VECSIZE
#define __CLC_GENTYPE float2
-#define __CLC_BIT_INTN int2
#define __CLC_VECSIZE 2
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#define __CLC_GENTYPE float3
-#define __CLC_BIT_INTN int3
#define __CLC_VECSIZE 3
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#define __CLC_GENTYPE float4
-#define __CLC_BIT_INTN int4
#define __CLC_VECSIZE 4
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#define __CLC_GENTYPE float8
-#define __CLC_BIT_INTN int8
#define __CLC_VECSIZE 8
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#define __CLC_GENTYPE float16
-#define __CLC_BIT_INTN int16
#define __CLC_VECSIZE 16
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
#undef __CLC_BIT_INT
-#undef __CLC_BIT_INTN
#undef __CLC_VECSIZE_OR_1
#undef __CLC_U_GENTYPE
@@ -174,56 +161,44 @@
#define __CLC_VECSIZE_OR_1 1
#define __CLC_GENTYPE double
#define __CLC_BIT_INT long
-#define __CLC_BIT_INTN long
#include __CLC_BODY
#undef __CLC_VECSIZE_OR_1
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#undef __CLC_VECSIZE
#undef __CLC_SCALAR
#define __CLC_VECSIZE_OR_1 __CLC_VECSIZE
#define __CLC_GENTYPE double2
-#define __CLC_BIT_INTN long2
#define __CLC_VECSIZE 2
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#define __CLC_GENTYPE double3
-#define __CLC_BIT_INTN long3
#define __CLC_VECSIZE 3
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#define __CLC_GENTYPE double4
-#define __CLC_BIT_INTN long4
#define __CLC_VECSIZE 4
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#define __CLC_GENTYPE double8
-#define __CLC_BIT_INTN long8
#define __CLC_VECSIZE 8
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#define __CLC_GENTYPE double16
-#define __CLC_BIT_INTN long16
#define __CLC_VECSIZE 16
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
#undef __CLC_BIT_INT
-#undef __CLC_BIT_INTN
#undef __CLC_VECSIZE_OR_1
#undef __CLC_U_GENTYPE
@@ -258,10 +233,8 @@
#define __CLC_VECSIZE_OR_1 1
#define __CLC_GENTYPE half
#define __CLC_BIT_INT short
-#define __CLC_BIT_INTN short
#include __CLC_BODY
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#undef __CLC_VECSIZE_OR_1
#undef __CLC_VECSIZE
#undef __CLC_SCALAR
@@ -269,45 +242,35 @@
#define __CLC_VECSIZE_OR_1 __CLC_VECSIZE
#define __CLC_GENTYPE half2
-#define __CLC_BIT_INTN short2
#define __CLC_VECSIZE 2
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#define __CLC_GENTYPE half3
-#define __CLC_BIT_INTN short3
#define __CLC_VECSIZE 3
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#define __CLC_GENTYPE half4
-#define __CLC_BIT_INTN short4
#define __CLC_VECSIZE 4
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#define __CLC_GENTYPE half8
-#define __CLC_BIT_INTN short8
#define __CLC_VECSIZE 8
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
-#undef __CLC_BIT_INTN
#define __CLC_GENTYPE half16
-#define __CLC_BIT_INTN short16
#define __CLC_VECSIZE 16
#include __CLC_BODY
#undef __CLC_VECSIZE
#undef __CLC_GENTYPE
#undef __CLC_BIT_INT
-#undef __CLC_BIT_INTN
#undef __CLC_VECSIZE_OR_1
#undef __CLC_U_GENTYPE
@@ -358,8 +321,6 @@
#undef __CLC_CONVERT_UINTN
#undef __CLC_CONVERT_ULONGN
-#undef __CLC_CONVERT_BIT_INTN
-
#undef __CLC_ULONGN
#undef __CLC_UINTN
#undef __CLC_USHORTN
diff --git a/libclc/clc/include/clc/relational/binary_decl.inc b/libclc/clc/include/clc/relational/binary_decl.inc
index 34749559c7e09..eea7f06431c40 100644
--- a/libclc/clc/include/clc/relational/binary_decl.inc
+++ b/libclc/clc/include/clc/relational/binary_decl.inc
@@ -9,7 +9,7 @@
#if __CLC_VECSIZE_OR_1 == 1
#define __CLC_RETTYPE __CLC_INTN
#else
-#define __CLC_RETTYPE __CLC_BIT_INTN
+#define __CLC_RETTYPE __CLC_S_GENTYPE
#endif
_CLC_OVERLOAD _CLC_CONST _CLC_DECL __CLC_RETTYPE
diff --git a/libclc/clc/include/clc/relational/unary_decl.inc b/libclc/clc/include/clc/relational/unary_decl.inc
index df74194040253..36f2015b91654 100644
--- a/libclc/clc/include/clc/relational/unary_decl.inc
+++ b/libclc/clc/include/clc/relational/unary_decl.inc
@@ -9,7 +9,7 @@
#if __CLC_VECSIZE_OR_1 == 1
#define __CLC_RETTYPE __CLC_INTN
#else
-#define __CLC_RETTYPE __CLC_BIT_INTN
+#define __CLC_RETTYPE __CLC_S_GENTYPE
#endif
_CLC_OVERLOAD _CLC_CONST _CLC_DECL __CLC_RETTYPE
diff --git a/libclc/clc/lib/generic/atomic/clc_atomic_exchange.cl b/libclc/clc/lib/generic/atomic/clc_atomic_exchange.cl
index e138780739267..9ccb3910792db 100644
--- a/libclc/clc/lib/generic/atomic/clc_atomic_exchange.cl
+++ b/libclc/clc/lib/generic/atomic/clc_atomic_exchange.cl
@@ -17,7 +17,7 @@
#undef __CLC_CASTTYPE
#undef __CLC_AS_RETTYPE
#undef __CLC_AS_CASTTYPE
-#define __CLC_CASTTYPE __CLC_BIT_INTN
+#define __CLC_CASTTYPE __CLC_S_GENTYPE
#define __CLC_AS_RETTYPE(x) __CLC_AS_GENTYPE(x)
#define __CLC_AS_CASTTYPE __CLC_AS_S_GENTYPE
diff --git a/libclc/clc/lib/generic/atomic/clc_atomic_load.cl b/libclc/clc/lib/generic/atomic/clc_atomic_load.cl
index 5a8cb8da017c9..c6dca35545100 100644
--- a/libclc/clc/lib/generic/atomic/clc_atomic_load.cl
+++ b/libclc/clc/lib/generic/atomic/clc_atomic_load.cl
@@ -17,7 +17,7 @@
#undef __CLC_CASTTYPE
#undef __CLC_AS_RETTYPE
-#define __CLC_CASTTYPE __CLC_BIT_INTN
+#define __CLC_CASTTYPE __CLC_S_GENTYPE
#define __CLC_AS_RETTYPE(x) __CLC_AS_GENTYPE(x)
#define __CLC_BODY "clc_atomic_def.inc"
diff --git a/libclc/clc/lib/generic/atomic/clc_atomic_store.cl b/libclc/clc/lib/generic/atomic/clc_atomic_store.cl
index e0429b0acf86a..3aea423acbdc9 100644
--- a/libclc/clc/lib/generic/atomic/clc_atomic_store.cl
+++ b/libclc/clc/lib/generic/atomic/clc_atomic_store.cl
@@ -17,7 +17,7 @@
#undef __CLC_CASTTYPE
#undef __CLC_AS_CASTTYPE
-#define __CLC_CASTTYPE __CLC_BIT_INTN
+#define __CLC_CASTTYPE __CLC_S_GENTYPE
#define __CLC_AS_CASTTYPE __CLC_AS_S_GENTYPE
#define __CLC_BODY "clc_atomic_def.inc"
diff --git a/libclc/clc/lib/generic/common/clc_sign.inc b/libclc/clc/lib/generic/common/clc_sign.inc
index 3b71c0a0d84ad..b6a287af692b8 100644
--- a/libclc/clc/lib/generic/common/clc_sign.inc
+++ b/libclc/clc/lib/generic/common/clc_sign.inc
@@ -7,7 +7,7 @@
//===----------------------------------------------------------------------===//
_CLC_DEF _CLC_OVERLOAD __CLC_GENTYPE __clc_sign(__CLC_GENTYPE x) {
- __CLC_BIT_INTN ret_zero = __clc_isnan(x) || x == __CLC_FP_LIT(0.0);
+ __CLC_S_GENTYPE ret_zero = __clc_isnan(x) || x == __CLC_FP_LIT(0.0);
__CLC_GENTYPE ret_val =
__clc_select(__CLC_FP_LIT(1.0), __CLC_FP_LIT(0.0), ret_zero);
return __clc_copysign(ret_val, x);
diff --git a/libclc/opencl/lib/generic/relational/relational_binary_def.inc b/libclc/opencl/lib/generic/relational/relational_binary_def.inc
index d91b893207c55..4c6d5fc23c192 100644
--- a/libclc/opencl/lib/generic/relational/relational_binary_def.inc
+++ b/libclc/opencl/lib/generic/relational/relational_binary_def.inc
@@ -13,7 +13,7 @@
#if __CLC_VECSIZE_OR_1 == 1
#define __CLC_RETTYPE __CLC_INTN
#else
-#define __CLC_RETTYPE __CLC_BIT_INTN
+#define __CLC_RETTYPE __CLC_S_GENTYPE
#endif
_CLC_OVERLOAD _CLC_DEF __CLC_RETTYPE __CLC_FUNCTION(__CLC_GENTYPE a,
diff --git a/libclc/opencl/lib/generic/relational/relational_unary_def.inc b/libclc/opencl/lib/generic/relational/relational_unary_def.inc
index a39c26cc2a521..1e21a8134b5d6 100644
--- a/libclc/opencl/lib/generic/relational/relational_unary_def.inc
+++ b/libclc/opencl/lib/generic/relational/relational_unary_def.inc
@@ -13,7 +13,7 @@
#if __CLC_VECSIZE_OR_1 == 1
#define __CLC_RETTYPE __CLC_INTN
#else
-#define __CLC_RETTYPE __CLC_BIT_INTN
+#define __CLC_RETTYPE __CLC_S_GENTYPE
#endif
_CLC_OVERLOAD _CLC_DEF __CLC_RETTYPE __CLC_FUNCTION(__CLC_GENTYPE a) {
>From b140e466e3c95ebc2ee2b8c59f70cb9db6976797 Mon Sep 17 00:00:00 2001
From: Wenju He <wenju.he at intel.com>
Date: Mon, 23 Mar 2026 13:14:06 +0100
Subject: [PATCH 2/2] clang-format
---
libclc/clc/include/clc/math/gentype.inc | 1 -
1 file changed, 1 deletion(-)
diff --git a/libclc/clc/include/clc/math/gentype.inc b/libclc/clc/include/clc/math/gentype.inc
index 94030729d0075..0b9fe7db33b6c 100644
--- a/libclc/clc/include/clc/math/gentype.inc
+++ b/libclc/clc/include/clc/math/gentype.inc
@@ -56,7 +56,6 @@
#define __CLC_CONVERT_UINTN __CLC_XCONCAT(__clc_convert_, __CLC_UINTN)
#define __CLC_CONVERT_ULONGN __CLC_XCONCAT(__clc_convert_, __CLC_ULONGN)
-
// See definitions of __CLC_S_GENTYPE/__CLC_U_GENTYPE below, which depend on the
// specific size of floating-point type. These are the signed and unsigned
// integers of the same bitwidth and element count as the GENTYPE. They match
More information about the cfe-commits
mailing list