diff options
author | Aleksandar Markovic <[email protected]> | 2017-11-02 12:13:58 +0100 |
---|---|---|
committer | James Hogan <[email protected]> | 2017-11-07 18:33:15 +0000 |
commit | 409fcace9963c1e8d2cb0f7ac62e8b34d47ef979 (patch) | |
tree | 35b31a5b963f66c2fdf299ea90c458cab2cab93b /arch/mips/math-emu/ieee754sp.c | |
parent | edf188bee1d908ea8181d2067ddaeefab9264688 (diff) |
MIPS: math-emu: Fix final emulation phase for certain instructions
Fix final phase of <CLASS|MADDF|MSUBF|MAX|MIN|MAXA|MINA>.<D|S>
emulation. Provide proper generation of SIGFPE signal and updating
debugfs FP exception stats in cases of any exception flags set in
preceding phases of emulation.
CLASS.<D|S> instruction may generate "Unimplemented Operation" FP
exception. <MADDF|MSUBF>.<D|S> instructions may generate "Inexact",
"Unimplemented Operation", "Invalid Operation", "Overflow", and
"Underflow" FP exceptions. <MAX|MIN|MAXA|MINA>.<D|S> instructions
can generate "Unimplemented Operation" and "Invalid Operation" FP
exceptions.
The proper final processing of the cases when any FP exception
flag is set is achieved by replacing "break" statement with "goto
copcsr" statement. With such solution, this patch brings the final
phase of emulation of the above instructions consistent with the
one corresponding to the previously implemented emulation of other
related FPU instructions (ADD, SUB, etc.).
Fixes: 38db37ba069f ("MIPS: math-emu: Add support for the MIPS R6 CLASS FPU instruction")
Fixes: e24c3bec3e8e ("MIPS: math-emu: Add support for the MIPS R6 MADDF FPU instruction")
Fixes: 83d43305a1df ("MIPS: math-emu: Add support for the MIPS R6 MSUBF FPU instruction")
Fixes: a79f5f9ba508 ("MIPS: math-emu: Add support for the MIPS R6 MAX{, A} FPU instruction")
Fixes: 4e9561b20e2f ("MIPS: math-emu: Add support for the MIPS R6 MIN{, A} FPU instruction")
Signed-off-by: Aleksandar Markovic <[email protected]>
Cc: Ralf Baechle <[email protected]>
Cc: Douglas Leung <[email protected]>
Cc: Goran Ferenc <[email protected]>
Cc: "Maciej W. Rozycki" <[email protected]>
Cc: Miodrag Dinic <[email protected]>
Cc: Paul Burton <[email protected]>
Cc: Petar Jovanovic <[email protected]>
Cc: Raghu Gandham <[email protected]>
Cc: [email protected]
Cc: <[email protected]> # 4.3+
Patchwork: https://patchwork.linux-mips.org/patch/17581/
Signed-off-by: James Hogan <[email protected]>
Diffstat (limited to 'arch/mips/math-emu/ieee754sp.c')
0 files changed, 0 insertions, 0 deletions