dolphin-emulator/Source/Core/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
..
Boot Android: Fix opening games with extensionless URI 2020-12-20 13:24:54 +01:00
Config Core: Add new Free Look settings and config 2020-12-24 13:49:25 -06:00
ConfigLoaders Core: Add new Free Look settings and config 2020-12-24 13:49:25 -06:00
Debugger Core: Convert logging over to fmt pt. 1 2020-11-19 14:21:06 -05:00
DSP DSPCore: Make IRAM CRC and step counter private 2020-12-29 14:32:11 -05:00
FifoPlayer Core: Use C++17 deduction guides with locked recursive mutexes 2020-12-29 18:31:31 -05:00
HLE Split OSREPORT logging type 2020-12-24 23:38:59 -06:00
HW Merge pull request #9323 from waddlesplash/haiku 2021-01-05 16:09:43 +01:00
IOS Merge pull request #9300 from leoetlino/ncd-wd-fixes 2021-01-06 00:51:33 +01:00
PowerPC Jit64: Fix FinalizeCarryOverflow XER[OV/SO] 2021-01-09 22:52:18 +01:00
ActionReplay.cpp Core: Make use of C++17 deduction guides with locks 2020-12-29 16:06:17 -05:00
ActionReplay.h Core: Save the disabling of default enabled codes 2020-12-11 10:08:20 +01:00
Analytics.cpp IOS/WD: Report game quirk if unimplemented ioctl is used 2020-12-28 16:15:17 +01:00
Analytics.h IOS/WD: Report game quirk if unimplemented ioctl is used 2020-12-28 16:15:17 +01:00
ARDecrypt.cpp Core: Convert missed log calls over to fmt 2020-11-23 12:20:02 -05:00
ARDecrypt.h
BootManager.cpp Store pointers in Config::SYSCONF_SETTINGS 2020-12-11 19:54:16 +01:00
BootManager.h
CheatCodes.h Core: Allow overriding the enabling of a code 2020-12-11 10:02:14 +01:00
CMakeLists.txt DSP: Eliminate most global state 2020-12-27 06:38:02 -05:00
CommonTitles.h
ConfigManager.cpp Add Fallback Region to configuration menu 2020-11-28 15:40:21 -05:00
ConfigManager.h Android: Don't show game ID after game title 2020-10-21 20:02:52 +02:00
Core.cpp Core: Make use of C++17 deduction guides with locks 2020-12-29 16:06:17 -05:00
Core.h Android: Fix rotating EmulationActivity after boot fails 2020-11-09 10:38:49 +01:00
Core.vcxproj DSP: Eliminate most global state 2020-12-27 06:38:02 -05:00
Core.vcxproj.filters Merge pull request #9381 from JosJuice/fix-core-filters 2020-12-29 17:16:56 +01:00
CoreTiming.cpp Core: Make use of C++17 deduction guides with locks 2020-12-29 16:06:17 -05:00
CoreTiming.h
DSPEmulator.cpp
DSPEmulator.h
FreeLookConfig.cpp Core: Add new Free Look settings and config 2020-12-24 13:49:25 -06:00
FreeLookConfig.h Core: Add new Free Look settings and config 2020-12-24 13:49:25 -06:00
FreeLookManager.cpp Core: Refresh the Free Look configuration when Free Look is initialized, ensuring that the configuration updates appropriately with any changes 2020-12-24 13:49:25 -06:00
FreeLookManager.h Core: Add Free Look controllers that are initialized at boot 2020-12-24 13:49:25 -06:00
GeckoCode.cpp Core: Make use of C++17 deduction guides with locks 2020-12-29 16:06:17 -05:00
GeckoCode.h Core: Save the disabling of default enabled codes 2020-12-11 10:08:20 +01:00
GeckoCodeConfig.cpp Core: Don't copy default _Enabled sections to user INIs 2020-12-11 15:38:11 +01:00
GeckoCodeConfig.h
Host.h
HotkeyManager.cpp HotkeyManager: Remove Free Look functionality in preparation for replacement 2020-12-24 13:48:38 -06:00
HotkeyManager.h HotkeyManager: Remove Free Look functionality in preparation for replacement 2020-12-24 13:48:38 -06:00
LibusbUtils.cpp
LibusbUtils.h
MachineContext.h
MemoryWatcher.cpp
MemoryWatcher.h
MemTools.cpp Add NetBSD support 2020-12-15 02:34:25 +01:00
MemTools.h
Movie.cpp Core: Make use of C++17 deduction guides with locks 2020-12-29 16:06:17 -05:00
Movie.h Movie: Fix 83b9fef regressions 2020-11-28 23:35:55 +01:00
NetPlayClient.cpp Core: Use C++17 deduction guides with locked recursive mutexes 2020-12-29 18:31:31 -05:00
NetPlayClient.h Core/NetPlay: Fix Wii Remote syncing. 2020-09-27 13:10:19 -05:00
NetPlayProto.h Core/NetPlay: Fix Wii Remote syncing. 2020-09-27 13:10:19 -05:00
NetPlayServer.cpp Core: Use C++17 deduction guides with locked recursive mutexes 2020-12-29 18:31:31 -05:00
NetPlayServer.h
PatchEngine.cpp Patches for Resident Evil 2/3 audio issues 2020-12-29 14:24:46 -08:00
PatchEngine.h Patches for Resident Evil 2/3 audio issues 2020-12-29 14:24:46 -08:00
State.cpp Merge pull request #9300 from leoetlino/ncd-wd-fixes 2021-01-06 00:51:33 +01:00
State.h Android: Show how long ago each savestate was created 2020-10-21 22:49:59 +02:00
SyncIdentifier.h
SysConf.cpp SysConf: std::move name in Entry constructor 2020-12-29 19:09:57 -05:00
SysConf.h SysConf: std::move name in Entry constructor 2020-12-29 19:09:57 -05:00
System.cpp Core: Add initial System class 2020-12-19 23:22:06 -05:00
System.h Core: Add initial System class 2020-12-19 23:22:06 -05:00
TitleDatabase.cpp
TitleDatabase.h
WiiRoot.cpp Core: Convert logging over to fmt pt. 1 2020-11-19 14:21:06 -05:00
WiiRoot.h
WiiUtils.cpp WiiUtils: Add utility functions to handle prep-work for importing 'SD-card export' style Wii saves. 2021-01-02 17:46:11 +01:00
WiiUtils.h WiiUtils: Add utility functions to handle prep-work for importing 'SD-card export' style Wii saves. 2021-01-02 17:46:11 +01:00