• Paul Burton's avatar
    MIPS: math-emu: Fix m{add,sub}.s shifts · db57f29d
    Paul Burton authored
    The code in _sp_maddf (formerly ieee754sp_madd) appears to have been
    copied verbatim from ieee754sp_add, and although it's adding the
    unpacked "r" & "z" floats it kept using macros that operate on "x" &
    "y". This led to the addition being carried out incorrectly on some
    mismash of the product, accumulator & multiplicand fields. Typically
    this would lead to the assertions "ze == re" & "ze <= SP_EMAX" failing
    since ze & re hadn't been operated upon.
    Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
    Fixes: e24c3bec ("MIPS: math-emu: Add support for the MIPS R6 MADDF FPU instruction")
    Cc: Adam Buchbinder <adam.buchbinder@gmail.com>
    Cc: Maciej W. Rozycki <macro@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/13159/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    db57f29d
sp_maddf.c 6.4 KB