[libclc] libclc: Move FLT_MIN gentype macros (PR #187272)
Matt Arsenault via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 18 06:24:52 PDT 2026
https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/187272
None
>From f4283a71d4f1e39f12df05fd3d3f8b235110b229 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Wed, 18 Mar 2026 14:23:20 +0100
Subject: [PATCH] libclc: Move FLT_MIN gentype macros
---
libclc/clc/include/clc/math/gentype.inc | 6 +++
.../clc/lib/generic/geometric/clc_length.inc | 50 +++++++++----------
2 files changed, 31 insertions(+), 25 deletions(-)
diff --git a/libclc/clc/include/clc/math/gentype.inc b/libclc/clc/include/clc/math/gentype.inc
index 302dbd2279d3f..c8d0c8a397fa2 100644
--- a/libclc/clc/include/clc/math/gentype.inc
+++ b/libclc/clc/include/clc/math/gentype.inc
@@ -75,6 +75,7 @@
#define __CLC_FP_LIT(x) (__CLC_GENTYPE) x##F
#define __CLC_GENTYPE_NAN (__CLC_GENTYPE) FLT_NAN
#define __CLC_GENTYPE_INF (__CLC_GENTYPE) INFINITY
+#define __CLC_GENTYPE_MIN (__CLC_GENTYPE) FLT_MIN
#define __CLC_GENTYPE_TRUE_MIN (__CLC_GENTYPE) FLT_TRUE_MIN
#define __CLC_S_GENTYPE __CLC_XCONCAT(int, __CLC_VECSIZE)
@@ -140,6 +141,7 @@
#undef __CLC_U_GENTYPE
#undef __CLC_S_GENTYPE
#undef __CLC_GENTYPE_NAN
+#undef __CLC_GENTYPE_MIN
#undef __CLC_GENTYPE_TRUE_MIN
#undef __CLC_FP_LIT
#undef __CLC_FPSIZE
@@ -155,6 +157,7 @@
#define __CLC_FPSIZE 64
#define __CLC_FP_LIT(x) (__CLC_GENTYPE)(x)
#define __CLC_GENTYPE_NAN (__CLC_GENTYPE) DBL_NAN
+#define __CLC_GENTYPE_MIN (__CLC_GENTYPE) DBL_MIN
#define __CLC_GENTYPE_TRUE_MIN (__CLC_GENTYPE) DBL_TRUE_MIN
#define __CLC_S_GENTYPE __CLC_XCONCAT(long, __CLC_VECSIZE)
@@ -220,6 +223,7 @@
#undef __CLC_U_GENTYPE
#undef __CLC_S_GENTYPE
#undef __CLC_GENTYPE_NAN
+#undef __CLC_GENTYPE_MIN
#undef __CLC_GENTYPE_TRUE_MIN
#undef __CLC_FP_LIT
#undef __CLC_FPSIZE
@@ -235,6 +239,7 @@
#define __CLC_FPSIZE 16
#define __CLC_FP_LIT(x) (__CLC_GENTYPE) x##H
#define __CLC_GENTYPE_NAN (__CLC_GENTYPE) HALF_NAN
+#define __CLC_GENTYPE_MIN (__CLC_GENTYPE) HALF_MIN
#define __CLC_GENTYPE_TRUE_MIN (__CLC_GENTYPE) HALF_TRUE_MIN
#define __CLC_S_GENTYPE __CLC_XCONCAT(short, __CLC_VECSIZE)
@@ -300,6 +305,7 @@
#undef __CLC_U_GENTYPE
#undef __CLC_S_GENTYPE
#undef __CLC_GENTYPE_NAN
+#undef __CLC_GENTYPE_MIN
#undef __CLC_GENTYPE_TRUE_MIN
#undef __CLC_FP_LIT
#undef __CLC_FPSIZE
diff --git a/libclc/clc/lib/generic/geometric/clc_length.inc b/libclc/clc/lib/generic/geometric/clc_length.inc
index 760373547886f..fed128907d15c 100644
--- a/libclc/clc/lib/generic/geometric/clc_length.inc
+++ b/libclc/clc/lib/generic/geometric/clc_length.inc
@@ -16,23 +16,23 @@ _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __clc_length(__CLC_GENTYPE p) {
__CLC_VECSIZE_OR_1 == 4)
#if __CLC_FPSIZE == 32
-#define __CLC_GENTYPE_MIN FLT_MIN
-#define __CLC_GENTYPE_MIN_SCALE_UP 0x1.0p+86F
-#define __CLC_GENTYPE_MIN_SCALE_DOWN 0x1.0p-86F
-#define __CLC_GENTYPE_INF_SCALE_UP 0x1.0p+65F
-#define __CLC_GENTYPE_INF_SCALE_DOWN 0x1.0p-65F
+#define __CLC_SCALAR_GENTYPE_MIN FLT_MIN
+#define __CLC_SCALAR_GENTYPE_MIN_SCALE_UP 0x1.0p+86F
+#define __CLC_SCALAR_GENTYPE_MIN_SCALE_DOWN 0x1.0p-86F
+#define __CLC_SCALAR_GENTYPE_INF_SCALE_UP 0x1.0p+65F
+#define __CLC_SCALAR_GENTYPE_INF_SCALE_DOWN 0x1.0p-65F
#elif __CLC_FPSIZE == 64
-#define __CLC_GENTYPE_MIN DBL_MIN
-#define __CLC_GENTYPE_MIN_SCALE_UP 0x1.0p+563
-#define __CLC_GENTYPE_MIN_SCALE_DOWN 0x1.0p-563
-#define __CLC_GENTYPE_INF_SCALE_UP 0x1.0p+513
-#define __CLC_GENTYPE_INF_SCALE_DOWN 0x1.0p-513
+#define __CLC_SCALAR_GENTYPE_MIN DBL_MIN
+#define __CLC_SCALAR_GENTYPE_MIN_SCALE_UP 0x1.0p+563
+#define __CLC_SCALAR_GENTYPE_MIN_SCALE_DOWN 0x1.0p-563
+#define __CLC_SCALAR_GENTYPE_INF_SCALE_UP 0x1.0p+513
+#define __CLC_SCALAR_GENTYPE_INF_SCALE_DOWN 0x1.0p-513
#elif __CLC_FPSIZE == 16
-#define __CLC_GENTYPE_MIN HALF_MIN
-#define __CLC_GENTYPE_MIN_SCALE_UP 0x1.0p+12H
-#define __CLC_GENTYPE_MIN_SCALE_DOWN 0x1.0p-12H
-#define __CLC_GENTYPE_INF_SCALE_UP 0x1.0p+7H
-#define __CLC_GENTYPE_INF_SCALE_DOWN 0x1.0p-7H
+#define __CLC_SCALAR_GENTYPE_MIN HALF_MIN
+#define __CLC_SCALAR_GENTYPE_MIN_SCALE_UP 0x1.0p+12H
+#define __CLC_SCALAR_GENTYPE_MIN_SCALE_DOWN 0x1.0p-12H
+#define __CLC_SCALAR_GENTYPE_INF_SCALE_UP 0x1.0p+7H
+#define __CLC_SCALAR_GENTYPE_INF_SCALE_DOWN 0x1.0p-7H
#else
#error "Unsupported FP size"
#endif
@@ -40,23 +40,23 @@ _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __clc_length(__CLC_GENTYPE p) {
_CLC_OVERLOAD _CLC_DEF __CLC_SCALAR_GENTYPE __clc_length(__CLC_GENTYPE p) {
__CLC_SCALAR_GENTYPE l2 = __clc_dot(p, p);
- if (l2 < __CLC_GENTYPE_MIN) {
- p *= __CLC_GENTYPE_MIN_SCALE_UP;
- return __clc_sqrt(__clc_dot(p, p)) * __CLC_GENTYPE_MIN_SCALE_DOWN;
+ if (l2 < __CLC_SCALAR_GENTYPE_MIN) {
+ p *= __CLC_SCALAR_GENTYPE_MIN_SCALE_UP;
+ return __clc_sqrt(__clc_dot(p, p)) * __CLC_SCALAR_GENTYPE_MIN_SCALE_DOWN;
}
if (l2 == INFINITY) {
- p *= __CLC_GENTYPE_INF_SCALE_DOWN;
- return __clc_sqrt(__clc_dot(p, p)) * __CLC_GENTYPE_INF_SCALE_UP;
+ p *= __CLC_SCALAR_GENTYPE_INF_SCALE_DOWN;
+ return __clc_sqrt(__clc_dot(p, p)) * __CLC_SCALAR_GENTYPE_INF_SCALE_UP;
}
return __clc_sqrt(l2);
}
-#undef __CLC_GENTYPE_INF_SCALE_DOWN
-#undef __CLC_GENTYPE_INF_SCALE_UP
-#undef __CLC_GENTYPE_MIN_SCALE_DOWN
-#undef __CLC_GENTYPE_MIN_SCALE_UP
-#undef __CLC_GENTYPE_MIN
+#undef __CLC_SCALAR_GENTYPE_INF_SCALE_DOWN
+#undef __CLC_SCALAR_GENTYPE_INF_SCALE_UP
+#undef __CLC_SCALAR_GENTYPE_MIN_SCALE_DOWN
+#undef __CLC_SCALAR_GENTYPE_MIN_SCALE_UP
+#undef __CLC_SCALAR_GENTYPE_MIN
#endif
More information about the cfe-commits
mailing list