summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorAnthony <Helios747@users.noreply.github.com>2018-05-06 19:07:13 -0700
committerGitHub <noreply@github.com>2018-05-06 19:07:13 -0700
commitd131e4d2bc3b2911d4e3119be4e3c03961154720 (patch)
tree53ada8e6017852ed0ec91edc55198df27c6f4499 /Source
parentecb5c97b4dcccbf4cdf4c08890169ff770400cd1 (diff)
parent64d1865448ab4624580bb229c0049eeeb4cf6741 (diff)
Merge pull request #6775 from lioncash/flags
Interpreter_FPUtils: Properly update the FPSCR's FEX bit in UpdateFPSCR()
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/PowerPC/Interpreter/Interpreter_FPUtils.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/Source/Core/Core/PowerPC/Interpreter/Interpreter_FPUtils.h b/Source/Core/Core/PowerPC/Interpreter/Interpreter_FPUtils.h
index 8ddd9a7d72..8fd6561d13 100644
--- a/Source/Core/Core/PowerPC/Interpreter/Interpreter_FPUtils.h
+++ b/Source/Core/Core/PowerPC/Interpreter/Interpreter_FPUtils.h
@@ -46,7 +46,8 @@ inline void SetFI(int FI)
inline void UpdateFPSCR()
{
FPSCR.VX = (FPSCR.Hex & FPSCR_VX_ANY) != 0;
- FPSCR.FEX = 0; // we assume that "?E" bits are always 0
+ FPSCR.FEX = (FPSCR.VX & FPSCR.VE) | (FPSCR.OX & FPSCR.OE) | (FPSCR.UX & FPSCR.UE) |
+ (FPSCR.ZX & FPSCR.ZE) | (FPSCR.XX & FPSCR.XE);
}
inline double ForceSingle(double value)