Author: Matt Arsenault
Date: 2026-03-11T13:09:28+01:00
New Revision: dc93e6e3a9c9c2ca8879acd0813eddfc99b97a5e

URL: 
https://github.com/llvm/llvm-project/commit/dc93e6e3a9c9c2ca8879acd0813eddfc99b97a5e
DIFF: 
https://github.com/llvm/llvm-project/commit/dc93e6e3a9c9c2ca8879acd0813eddfc99b97a5e.diff

LOG: libclc: Add gentype infinity macro (#185864)

Added: 
    

Modified: 
    libclc/clc/include/clc/math/gentype.inc
    libclc/clc/lib/generic/conversion/clc_convert_float.inc

Removed: 
    


################################################################################
diff  --git a/libclc/clc/include/clc/math/gentype.inc 
b/libclc/clc/include/clc/math/gentype.inc
index 44f587e5ed256..3ed5c34880d8b 100644
--- a/libclc/clc/include/clc/math/gentype.inc
+++ b/libclc/clc/include/clc/math/gentype.inc
@@ -74,6 +74,7 @@
 #define __CLC_FPSIZE 32
 #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_S_GENTYPE __CLC_XCONCAT(int, __CLC_VECSIZE)
 #define __CLC_U_GENTYPE __CLC_XCONCAT(uint, __CLC_VECSIZE)

diff  --git a/libclc/clc/lib/generic/conversion/clc_convert_float.inc 
b/libclc/clc/lib/generic/conversion/clc_convert_float.inc
index 75558dbd34ae2..992b126b577a4 100644
--- a/libclc/clc/lib/generic/conversion/clc_convert_float.inc
+++ b/libclc/clc/lib/generic/conversion/clc_convert_float.inc
@@ -94,7 +94,7 @@ _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE 
__CLC_XCONCAT(__CLC_FUNCTION,
   c = c || __CLC_CONVERT_S_GENTYPE((__CLC_GENTYPE_SRC)__CLC_SRC_MAX == x);
 #endif
   __CLC_GENTYPE sel = __clc_select(
-      r, __clc_nextafter(r, __clc_sign(r) * (__CLC_GENTYPE)-INFINITY), c);
+      r, __clc_nextafter(r, __clc_sign(r) * -__CLC_GENTYPE_INF), c);
 #if defined(__CLC_I2F) && (__CLC_FPSIZE == 16) && (__CLC_GENSIZE_SRC >= 16)
 #if defined(__CLC_GEN_S) && (__CLC_GENSIZE_SRC == 16)
   // short is 16 bits signed, so the maximum value rounded to zero is
@@ -119,9 +119,8 @@ _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE 
__CLC_XCONCAT(__CLC_FUNCTION,
 #else
   __CLC_GENTYPE_SRC y = __CLC_XCONCAT(__clc_convert_, __CLC_GENTYPE_SRC)(r);
 #endif
-  __CLC_GENTYPE sel =
-      __clc_select(r, __clc_nextafter(r, (__CLC_GENTYPE)INFINITY),
-                   __CLC_CONVERT_S_GENTYPE(y < x));
+  __CLC_GENTYPE sel = __clc_select(r, __clc_nextafter(r, __CLC_GENTYPE_INF),
+                                   __CLC_CONVERT_S_GENTYPE(y < x));
 #if defined(__CLC_I2F) && (__CLC_FPSIZE == 16) && (__CLC_GENSIZE_SRC >= 16)
   half dst_min = -0x1.ffcp+15h;
   sel = __clc_max(sel, (__CLC_GENTYPE)dst_min);
@@ -143,7 +142,7 @@ _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE 
__CLC_XCONCAT(__CLC_FUNCTION,
   c = c || __CLC_CONVERT_S_GENTYPE((__CLC_GENTYPE_SRC)__CLC_SRC_MAX == x);
 #endif
   __CLC_GENTYPE sel =
-      __clc_select(r, __clc_nextafter(r, (__CLC_GENTYPE)-INFINITY), c);
+      __clc_select(r, __clc_nextafter(r, -__CLC_GENTYPE_INF), c);
 #if defined(__CLC_I2F) && (__CLC_FPSIZE == 16) && (__CLC_GENSIZE_SRC >= 16)
 #if defined(__CLC_GEN_S) && (__CLC_GENSIZE_SRC == 16)
   // short is 16 bits signed, so the maximum value rounded to negative infinity


        
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to