math: Fix log10f on some ABIs

The commit 9247f53219 triggered some regressions on loongarch and
riscv:

math/test-float-log10
math/test-float32-log10

And it is due a wrong sync with CORE-MATH for special 0.0/-0.0
inputs.

Checked on aarch64-linux-gnu and loongarch64-linux-gnu-lp64d.
This commit is contained in:
Adhemerval Zanella 2024-11-07 07:51:27 -03:00
parent 11a2169e40
commit 12b8dd7718

View File

@ -37,9 +37,8 @@ as_special (float x)
return x; /* +inf */ return x; /* +inf */
uint32_t ax = ux << 1; uint32_t ax = ux << 1;
if (ax == 0u) if (ax == 0u)
{ /* -0.0 */ /* -0.0 */
__math_divzerof (1); return __math_divzerof (1);
}
if (ax > 0xff000000u) if (ax > 0xff000000u)
return x + x; /* nan */ return x + x; /* nan */
return __math_invalidf (x); return __math_invalidf (x);