Alexandre Julliard pushed to branch master at wine / wine
Commits: 3607eae6 by Martin Storsjö at 2024-10-14T20:23:30+02:00 musl: Fix limiting the float precision in intermediates.
musl itself expects to be configured to compile with either -ffloat-store or -fexcess-precision=standard - but when imported into Wine, those flags aren't used.
This seems to be essential for getting reasonable precision from some math functions such as exp2() - without the expected precision truncation, the output value of exp2() can be off by as much as 0.2% in some cases.
As Wine doesn't build the musl sources with those flags, use volatile to force storing/reloading floats in order to limit their intermediate precision, as musl expects.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56372
- - - - -
1 changed file:
- libs/musl/src/internal/libm.h
View it on GitLab: https://gitlab.winehq.org/wine/wine/-/commit/3607eae620f12cf42a62c201b0c78e9...