crt: Revert to our implementation of scalbn/scalbnf and ldexp on UCRT/x86
The UCRT implementation of scalbn/scalbnf (and presumably ldexp
too, as it's an identical function) has a minor spec incompliance;
it doesn't respect the rounding mode that has been set.
For most uses of scalbn, rounding isn't at play at all; rounding
only makes a difference when scaling the floats out of range,
for deciding between staying at DBL_MAX or going to infinity,
or likewise between the smallest subnormal or going to zero.
This is observed in compiler-rt's testsuite for builtins.
Signed-off-by: Martin Storsjö <martin@martin.st>
1 file changed