[libclc] [libclc] Improve nextafter behaviour around zero (PR #127469)
Matt Arsenault via cfe-commits
cfe-commits at lists.llvm.org
Tue Feb 18 09:55:24 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; \
----------------
arsenm wrote:
```suggestion
FLOAT_TYPE ax = __builtin_elementwise_abs(x); \
```
https://github.com/llvm/llvm-project/pull/127469
More information about the cfe-commits
mailing list