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
