dolphin/Source/Core
Sintendo 305cd31bd9 Jit64: Fix FinalizeCarryOverflow XER[OV/SO]
FinalizeCarryOverflow didn't maintain XER[OV/SO] properly due to an
oversight. Here's the code it would generate:

0:  9c                      pushf
1:  80 65 3b fe             and    BYTE PTR [rbp+0x3b],0xfe
5:  71 04                   jno    b <jno>
7:  c6 45 3b 03             mov    BYTE PTR [rbp+0x3b],0x3
000000000000000b <jno>:
b:  9d                      popf

At first glance it seems reasonable. The host flags are carefully
preserved with PUSHF. The AND instruction clears XER[OV]. Next, an
conditional branch checks the host's overflow flag and, if needed, skips
over a MOV that sets XER[OV/SO]. Finally, host flags are restored with
POPF.

However, the AND instruction also clears the host's overflow flag. As a
result, the branch that follows it is always taken and the MOV is always
skipped. The end result is that XER[OV] is always cleared while XER[SO]
is left unchanged.

Putting POPF immediately after the AND would fix this, but we already
have GenerateOverflow doing it correctly (and without the PUSHF/POPF
shenanigans too). So let's just use that instead.
2021-01-09 22:52:18 +01:00
..
AudioCommon AudioCommon: Convert alerts over to fmt-based variants 2020-11-27 10:10:11 -05:00
Common Merge pull request #9323 from waddlesplash/haiku 2021-01-05 16:09:43 +01:00
Core Jit64: Fix FinalizeCarryOverflow XER[OV/SO] 2021-01-09 22:52:18 +01:00
DiscIO DiscIO: Fix recursive directory extraction 2020-12-03 21:13:53 +01:00
DolphinNoGUI Clean up screen saver inhibition and apply setting change immediately. 2020-10-18 16:31:48 -05:00
DolphinQt Merge pull request #9308 from smurf3tte/re23_patch 2021-01-06 01:52:15 +01:00
InputCommon Fix a couple of typos 2021-01-05 15:24:21 +01:00
MacUpdater
UICommon Turn Config::Info into a class with getters 2020-12-11 19:54:16 +01:00
UpdaterCommon Fix updater not always cleaning up temp directory 2020-11-13 12:25:53 -08:00
VideoBackends Core: Remove ImageWrite and get rid of -Wmissing-declarations warnings 2020-12-16 16:04:19 +01:00
VideoCommon Merge pull request #9323 from waddlesplash/haiku 2021-01-05 16:09:43 +01:00
WinUpdater DolphinQt: Handle non-ASCII characters in Windows cmd arguments 2020-09-21 17:26:29 +02:00
CMakeLists.txt