[libclc] [libclc] Improve nextafter behaviour around zero (PR #127469)
Fraser Cormack via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 19 01:54:39 PST 2025
================
@@ -13,19 +13,25 @@
const UINT_TYPE sign_bit = (UINT_TYPE)1 \
<< (sizeof(INT_TYPE_SCALAR) * 8 - 1); \
const UINT_TYPE sign_bit_mask = sign_bit - (UINT_TYPE)1; \
- INT_TYPE ix = CLC_AS_TYPE(INT_TYPE)(x); \
- UINT_TYPE ax = CLC_AS_TYPE(UINT_TYPE)(ix) & sign_bit_mask; \
- INT_TYPE mx = CLC_AS_TYPE(INT_TYPE)(sign_bit) - ix; \
- mx = CLC_AS_TYPE(INT_TYPE)(ix) < (INT_TYPE)0 ? mx : ix; \
- INT_TYPE iy = CLC_AS_TYPE(INT_TYPE)(y); \
- UINT_TYPE ay = CLC_AS_TYPE(UINT_TYPE)(iy) & sign_bit_mask; \
- INT_TYPE my = CLC_AS_TYPE(INT_TYPE)(sign_bit) - iy; \
- my = iy < (INT_TYPE)0 ? my : iy; \
+ UINT_TYPE ix = CLC_AS_TYPE(UINT_TYPE)(x); \
+ UINT_TYPE ax = ix & sign_bit_mask; \
----------------
frasercrmck wrote:
Good idea, thank you. Done.
https://github.com/llvm/llvm-project/pull/127469
More information about the cfe-commits
mailing list