dolphin/Source
Lioncash 72e21bc679 Interpreter_FPUtils: Handle the FPSCR.ZE and FPSCR.VE flags with arithmetic instructions
According to PEM 3.3.6.1, if a division by zero occurs and FPSCR.ZE is
set, then the result of the instruction operation is unchanged (see
table 3-13). Similarly, if an invalid operation occurs and FPSCR.VE is
set, then the destination should also remain unchanged (see table 3-12).
Hardware also matches this behavior.

We were handling this for other relevant instructions, but we weren't
doing so for the arithmetic instructions. This corrects that.

This also alters our NI_* functions to return an FPResult type, which
allows us to see which kind of exception in particular is set in
exceptional cases. This is necessary for cases like the fdiv
instructions, which requires handling both ZE and VE being potentially
set.
2018-06-19 18:09:03 -04:00
..
Android Merge pull request #7120 from Ebola16/313 2018-06-15 19:54:49 +02:00
Core Interpreter_FPUtils: Handle the FPSCR.ZE and FPSCR.VE flags with arithmetic instructions 2018-06-19 18:09:03 -04:00
DSPSpy DSPSpy: Add a test for accelerator loop 2017-09-22 20:17:38 +02:00
DSPTool Common: Move host communication enum to Host.h 2018-05-28 14:34:59 -04:00
PCH msvc: bump the required _MSC_FULL_VER 2017-06-03 18:20:41 -07:00
UnitTests PowerPC: Convert CPUCore enum into an enum class 2018-06-15 10:27:59 -04:00
VSProps Remove SOIL altogether from the project. 2018-05-20 13:44:42 +02:00
.clang-format Reformat all the things! 2018-04-12 21:28:39 +02:00
CMakeLists.txt CMakeLists: Remove add_dolphin_library macro 2018-04-02 08:31:56 -04:00
dolphin-emu.sln Make DolphinQT2 the default project in dolphin-emu.sln 2018-05-29 20:26:51 -04:00