dolphin/Source/Core
Lioncash 2ca1ac3370 Interpreter_Integer: Correct negative overflow handling for divw
Previously, given cases such as 0x80000000 / 0xFFFFFFFF we'd incorrectly
set the destination register value to zero. If the dividend is negative,
then the destination should be set to -1 (0xFFFFFFFF), however if the
dividend is positive, then the destination should be set to 0.

Note that the 750CL documents state that:

"If an attempt is made to perform either of the divisions --
0x80000000 / -1 or <anything> / 0, then the contents of rD are
undefined, as are the contents of the LT, GT, and EQ bits of the CR0
field (if Rc = 1). In this case, if OE = 1 then OV is set."

So this is a particular behavior of the hardware itself.
2018-05-22 10:39:08 -04:00
..
AudioCommon Reformat all the things! 2018-04-12 21:28:39 +02:00
Common IOSC: Implement VerifyPublicKeySign for ECC 2018-05-20 20:04:53 +02:00
Core Interpreter_Integer: Correct negative overflow handling for divw 2018-05-22 10:39:08 -04:00
DiscIO Reimplement custom PNG banners in game list 2018-05-20 15:34:03 +02:00
DolphinNoGUI UICommon: Avoid including Xrandr.h 2018-04-14 17:14:38 +02:00
DolphinQt2 Qt: Fix crash on game start 2018-05-22 04:37:08 +02:00
DolphinWX PPCAnalyst: Make CodeBuffer an alias for std::vector<CodeOp> 2018-05-18 17:19:45 -04:00
InputCommon THis fixes issue #08 and #16, the rumble test and slider 2018-04-19 17:48:55 -04:00
UICommon Reimplement custom PNG banners in game list 2018-05-20 15:34:03 +02:00
Updater Updater: Show error when trying to launch directly 2018-05-05 23:32:08 +02:00
VideoBackends OGL: Fix EFB access in MSAA-mode 2018-05-22 15:35:20 +10:00
VideoCommon HiresTextures: Do not load compressed textures with unaligned dimensions 2018-05-22 16:15:18 +10:00
CMakeLists.txt