summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Lioncash2014-12-22 23:28:41 -0500
committerGravatar Lioncash2014-12-22 23:52:05 -0500
commitf66d3569389e7e8a364a654d5254a2b9cc1cf8cc (patch)
tree6d4ec9eaae8738f77951d5424885a7930ce5fdf8
parentarmemu: Fix construction of the CPSR (diff)
downloadyuzu-f66d3569389e7e8a364a654d5254a2b9cc1cf8cc.tar.gz
yuzu-f66d3569389e7e8a364a654d5254a2b9cc1cf8cc.tar.xz
yuzu-f66d3569389e7e8a364a654d5254a2b9cc1cf8cc.zip
armemu: Fix SEL
Needs to use the updated state of the CPSR.
-rw-r--r--src/core/arm/interpreter/armemu.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/arm/interpreter/armemu.cpp b/src/core/arm/interpreter/armemu.cpp
index d19d3a49f..81a4fdb92 100644
--- a/src/core/arm/interpreter/armemu.cpp
+++ b/src/core/arm/interpreter/armemu.cpp
@@ -6153,7 +6153,7 @@ L_stm_s_takeabort:
6153 u32 rm = (instr >> 0) & 0xF; 6153 u32 rm = (instr >> 0) & 0xF;
6154 u32 from = state->Reg[rn]; 6154 u32 from = state->Reg[rn];
6155 u32 to = state->Reg[rm]; 6155 u32 to = state->Reg[rm];
6156 u32 cpsr = state->Cpsr; 6156 u32 cpsr = ARMul_GetCPSR(state);
6157 if ((instr & 0xFF0) == 0xFB0) { // SEL 6157 if ((instr & 0xFF0) == 0xFB0) { // SEL
6158 u32 result; 6158 u32 result;
6159 if (cpsr & (1 << 16)) 6159 if (cpsr & (1 << 16))