[PATCH 00/11] FP emulation fixes

From: Paul Burton
Date: Thu Apr 21 2016 - 09:05:33 EST


This series fixes up some issues with FPU emulation, ranging from
missing instructions to outright backwards branches to a non-zero zero
register. Some cleanups are made along the way, reducing unnecessary
duplication of code.

There are still issues around the R6 maddf & msubf instructions, which
currently appear to have been formed by duplicating the existing
multiply & addition code then gluing it together & thus don't implement
true fused multiply-addition, but those fixes need more testing so will
come later.

This series applies atop v4.6-rc4.

Paul Burton (11):
MIPS: math-emu: Fix BC1{EQ,NE}Z emulation
MIPS: Fix BC1{EQ,NE}Z return offset calculation
MIPS: inst: Declare fsel_op for sel.fmt instruction
MIPS: math-emu: Emulate MIPSr6 sel.fmt instruction
MIPS: math-emu: Unify ieee754sp_m{add,sub}f
MIPS: math-emu: Unify ieee754dp_m{add,sub}f
MIPS: math-emu: Add z argument macros
MIPS: math-emu: Fix bit-width in ieee754dp_{mul,maddf,msubf} comments
MIPS: math-emu: Fix code indentation
MIPS: math-emu: Fix m{add,sub}.s shifts
MIPS: math-emu: Fix jalr emulation when rd == $0

arch/mips/include/uapi/asm/inst.h | 1 +
arch/mips/kernel/branch.c | 18 +--
arch/mips/math-emu/Makefile | 4 +-
arch/mips/math-emu/cp1emu.c | 45 +++++--
arch/mips/math-emu/dp_maddf.c | 35 +++--
arch/mips/math-emu/dp_msubf.c | 269 --------------------------------------
arch/mips/math-emu/dp_mul.c | 4 +-
arch/mips/math-emu/ieee754dp.h | 1 +
arch/mips/math-emu/ieee754int.h | 10 ++
arch/mips/math-emu/ieee754sp.c | 3 +-
arch/mips/math-emu/ieee754sp.h | 17 ++-
arch/mips/math-emu/sp_add.c | 6 +-
arch/mips/math-emu/sp_maddf.c | 43 ++++--
arch/mips/math-emu/sp_msubf.c | 258 ------------------------------------
arch/mips/math-emu/sp_sub.c | 6 +-
15 files changed, 130 insertions(+), 590 deletions(-)
delete mode 100644 arch/mips/math-emu/dp_msubf.c
delete mode 100644 arch/mips/math-emu/sp_msubf.c

--
2.8.0