OSDN Git Service

MIPS: math-emu: Always propagate sNaN payload in quieting
authorMaciej W. Rozycki <macro@imgtec.com>
Fri, 13 Nov 2015 00:48:48 +0000 (00:48 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 13 May 2016 12:02:11 +0000 (14:02 +0200)
commitacd9e20cd9d0e6af5680e1870a966d8082a1130a
tree7234cea74b3597fae4d3b07cf36805d8d3c185e6
parent2e5832ab589459265e70163a7dea3abdc1429eb7
MIPS: math-emu: Always propagate sNaN payload in quieting

Propagate sNaN payload in quieting in the legacy-NaN mode as well.  If
clearing the quiet bit would produce infinity, then set the next lower
trailing significand field bit, matching the SB-1 and BMIPS5000 hardware
implementations.  Some other MIPS FPU hardware implementations do
produce the default qNaN bit pattern instead.

This reverts some changes made for semantics preservation with commit
dc3ddf42 [MIPS: math-emu: Update sNaN quieting handlers], consequently
bringing back most of the semantics from before commit fdffbafb [Lots of
FPU bug fixes from Kjeld Borch Egevang.], except from the qNaN produced
in the infinity case.  Previously the default qNaN bit pattern was
produced in that case.

Signed-off-by: Maciej W. Rozycki <macro@imgtec.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Matthew Fortune <Matthew.Fortune@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/11483/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/math-emu/ieee754dp.c
arch/mips/math-emu/ieee754sp.c