fpu: Check for default_nan_mode before calling pickNaNMulAdd
authorPeter Maydell <peter.maydell@linaro.org>
Wed, 11 Dec 2024 15:30:53 +0000 (15:30 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Wed, 11 Dec 2024 15:30:53 +0000 (15:30 +0000)
commited885e306900e54a618ac9cc11ab68683db472b1
tree579a2d9ff5b1cb9ebcf1beed6eed6ba49ad855d6
parent8adcff4ae760a960c8b44c9d3da0428322e3f677
fpu: Check for default_nan_mode before calling pickNaNMulAdd

If the target sets default_nan_mode then we're always going to return
the default NaN, and pickNaNMulAdd() no longer has any side effects.
For consistency with pickNaN(), check for default_nan_mode before
calling pickNaNMulAdd().

When we convert pickNaNMulAdd() to allow runtime selection of the NaN
propagation rule, this means we won't have to make the targets which
use default_nan_mode also set a propagation rule.

Since RiscV always uses default_nan_mode, this allows us to remove
its ifdef case from pickNaNMulAdd().

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20241202131347.498124-3-peter.maydell@linaro.org
fpu/softfloat-parts.c.inc
fpu/softfloat-specialize.c.inc