Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init |
|
#
9da08714 |
| 22-Jul-2024 |
Michael Jones <michaelrj@google.com> |
[libc][NFC] clean up some includes (#99719)
While looking through the list of includes for #99693 I found these includes that also need to be cleaned up. I removed the extra includes in expm1.cpp, b
[libc][NFC] clean up some includes (#99719)
While looking through the list of includes for #99693 I found these includes that also need to be cleaned up. I removed the extra includes in expm1.cpp, but the include in thread.h needs more attention so I just marked it with a todo.
show more ...
|
#
5ff3ff33 |
| 12-Jul-2024 |
Petr Hosek <phosek@google.com> |
[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (#98597)
This is a part of #97655.
|
#
ce9035f5 |
| 12-Jul-2024 |
Mehdi Amini <joker.eph@gmail.com> |
Revert "[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration" (#98593)
Reverts llvm/llvm-project#98075
bots are broken
|
#
3f30effe |
| 11-Jul-2024 |
Petr Hosek <phosek@google.com> |
[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (#98075)
This is a part of #97655.
|
#
46c7da63 |
| 10-Jul-2024 |
lntue <35648136+lntue@users.noreply.github.com> |
[libc][math] Fix overflow shifts for dyadic floats and add skip accuracy option for expm1. (#98048)
The following errors were reported by Paul Zimmerman:
```
expm1
Running worst cases check in --
[libc][math] Fix overflow shifts for dyadic floats and add skip accuracy option for expm1. (#98048)
The following errors were reported by Paul Zimmerman:
```
expm1
Running worst cases check in --rndn mode...
FAIL x=0x1.c3b93d3b25c91p+8 ref=0x1.9fb21849affd1p+651 z=0x1.9f921849affd1p+651
Running worst cases check in --rndz mode...
FAIL x=0x1.d6479eba7c971p+8 ref=0x1.62a88613629b5p+678 z=0x1.62a886135e9b5p+678
Running worst cases check in --rndu mode...
FAIL x=0x1.1f0da93354198p+7 ref=0x1.0bd73b73fc74dp+207 z=0x1.0bd73b73fc74cp+207
Running worst cases check in --rndd mode...
FAIL x=0x1.93b3037166891p+8 ref=0x1.554f3a5c4535cp+582 z=0x1.554f3a5c4535bp+582
```
```
tan
Running worst cases check in --rndn mode...
FAIL x=0x1.00452f0e0134dp-13 ref=0x1.00452f2367da9p-13 z=0x1.00452f2367daap-13
Running worst cases check in --rndz mode...
FAIL x=0x1.89f0f5241255bp-2 ref=0x1.9e997dd861117p-2 z=0x1.9e997dd861118p-2
FAIL x=0x1.045457ae3994p+5 ref=0x1.0c06941768ef3p+1 z=0x1.0c06941768ef4p+1
```
show more ...
|
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3 |
|
#
2137894a |
| 20-Mar-2024 |
Guillaume Chatelet <gchatelet@google.com> |
[libc][NFC] Move `Sign` type to separate header (#85930)
|
Revision tags: llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3 |
|
#
a80a01fc |
| 16-Feb-2024 |
Guillaume Chatelet <gchatelet@google.com> |
[reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants (#81998)
- #81835
- Fix for platforms where uint64_t is not available
|
#
a1d4c693 |
| 15-Feb-2024 |
Guillaume Chatelet <gchatelet@google.com> |
Revert "[reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants" (#81882)
Reverts llvm/llvm-project#81835
This is breaking arm32 which does not support 64 bit types.
|
#
513e4dc1 |
| 15-Feb-2024 |
Guillaume Chatelet <gchatelet@google.com> |
[reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants (#81835)
This is a reland of #81746
|
#
78d401b0 |
| 14-Feb-2024 |
Guillaume Chatelet <gchatelet@google.com> |
Revert "[libc][NFC] Use user defined literals to build 128 and 256 bit constants." (#81771)
Reverts llvm/llvm-project#81746
|
#
411554a3 |
| 14-Feb-2024 |
Guillaume Chatelet <gchatelet@google.com> |
[libc][NFC] Use user defined literals to build 128 and 256 bit constants. (#81746)
|
Revision tags: llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init |
|
#
6b02d2f8 |
| 23-Jan-2024 |
Guillaume Chatelet <gchatelet@google.com> |
[reland][libc] Remove unnecessary `FPBits` functions and properties (#79128)
- reland #79113
- Fix aarch64 RISC-V build
|
#
b524eed9 |
| 23-Jan-2024 |
Guillaume Chatelet <gchatelet@google.com> |
Revert "[libc] Remove unnecessary `FPBits` functions and properties" (#79118)
Reverts llvm/llvm-project#79113
It broke aarch64 build bot machines.
|
#
3bc86bf3 |
| 23-Jan-2024 |
Guillaume Chatelet <gchatelet@google.com> |
[libc] Remove unnecessary `FPBits` functions and properties (#79113)
This patch reduces the surface of `FPBits`.
|
#
e6a6a90f |
| 18-Jan-2024 |
Guillaume Chatelet <gchatelet@google.com> |
[libc][NFC] Use the Sign type for DyadicFloat (#78577)
|
#
11ec512f |
| 18-Jan-2024 |
Guillaume Chatelet <gchatelet@google.com> |
[libc][NFC] Introduce a Sign type for FPBits (#78500)
Another patch is needed to cover `DyadicFloat` and `NormalFloat`
constructors.
|
#
c09e6905 |
| 03-Jan-2024 |
Guillaume Chatelet <gchatelet@google.com> |
[libc][NFC] Remove `FloatProperties` (#76508)
Access is now done through `FPBits` exclusively.
This patch also renames a few internal structs and uses `T` instead of
`FP` as a template parameter.
|
#
3caef466 |
| 02-Jan-2024 |
lntue <35648136+lntue@users.noreply.github.com> |
[libc][NFC] Enforce internal linkage for exp* support functions. (#76250)
|
#
ea43c8ee |
| 19-Dec-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc][NFC] Make `EXP_MANT_MASK` an implementation detail (#75810)
This mask is an implementation detail of `FPBits` and shouldn't really
leak outside of it.
|
#
1b4a0794 |
| 19-Dec-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc][NFC] Use FPBits builders instead of custom constructs (#75942)
|
#
3546f4da |
| 15-Dec-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc][NFC] Rename `MANTISSA_WIDTH` in `FRACTION_LEN` (#75489)
This one might be a bit controversial since the terminology has been
introduced from the start but I think `FRACTION_LEN` is a better
[libc][NFC] Rename `MANTISSA_WIDTH` in `FRACTION_LEN` (#75489)
This one might be a bit controversial since the terminology has been
introduced from the start but I think `FRACTION_LEN` is a better name
here. AFAICT it really is "the number of bits after the decimal dot when
the number is in normal form."
`MANTISSA_WIDTH` is less precise as it's unclear whether we take the
leading bit into account.
This patch also renames most of the properties to use the `_LEN` suffix
and fixes useless casts or variables.
show more ...
|
Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2 |
|
#
da28593d |
| 28-Sep-2023 |
lntue <35648136+lntue@users.noreply.github.com> |
[libc][math] Implement double precision expm1 function correctly rounded for all rounding modes. (#67048)
Implementing expm1 function for double precision based on exp function
algorithm:
- Red
[libc][math] Implement double precision expm1 function correctly rounded for all rounding modes. (#67048)
Implementing expm1 function for double precision based on exp function
algorithm:
- Reduced x = log2(e) * (hi + mid1 + mid2) + lo, where:
* hi is an integer
* mid1 * 2^-6 is an integer
* mid2 * 2^-12 is an integer
* |lo| < 2^-13 + 2^-30
- Then exp(x) - 1 = 2^hi * 2^mid1 * 2^mid2 * exp(lo) - 1 ~ 2^hi *
(2^mid1 * 2^mid2 * (1 + lo * P(lo)) - 2^(-hi) )
- We evaluate fast pass with P(lo) is a degree-3 Taylor polynomial of
(e^lo - 1) / lo in double precision
- If the Ziv accuracy test fails, we use degree-6 Taylor polynomial of
(e^lo - 1) / lo in double double precision
- If the Ziv accuracy test still fails, we re-evaluate everything in
128-bit precision.
show more ...
|