PowerPC: Properly unset the overflow bit

The OV bit is non-sticky. Therefore, after an overflow-enabled
instruction executes, if an overflow does *not* occur, then OV is
cleared. SO is sticky however, so it staying set in this case is
correct.
This commit is contained in:
Lioncash committed 2018-03-21 23:59:15 -04:00
1 parent 23bc50704a
commit e53fffeb90
2 files changed
+19 -21

No files matched your search

+1 -1
View File
@@ -434,7 +434,7 @@ inline u32 GetXER_OV()
inline void SetXER_OV(bool value)
{
PowerPC::ppcState.xer_so_ov |= static_cast<u32>(value);
PowerPC::ppcState.xer_so_ov = (PowerPC::ppcState.xer_so_ov & 0xFE) | static_cast<u32>(value);
SetXER_SO(value);
}