summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-01-12 20:52:01 +0100
committerbunnei <bunneidev@gmail.com>2015-01-12 20:52:01 +0100
commit86e8ff85c9fb1b9265d14581b314ae6faac034c9 (patch)
tree55448ac982348dae114371d67ad9fb899370b1e1 /src/core
parentMerge pull request #475 from lioncash/cleanup (diff)
parentdyncom: Fix 32-bit ASR shifts for immediates (diff)
downloadyuzu-86e8ff85c9fb1b9265d14581b314ae6faac034c9.tar
yuzu-86e8ff85c9fb1b9265d14581b314ae6faac034c9.tar.gz
yuzu-86e8ff85c9fb1b9265d14581b314ae6faac034c9.tar.bz2
yuzu-86e8ff85c9fb1b9265d14581b314ae6faac034c9.tar.lz
yuzu-86e8ff85c9fb1b9265d14581b314ae6faac034c9.tar.xz
yuzu-86e8ff85c9fb1b9265d14581b314ae6faac034c9.tar.zst
yuzu-86e8ff85c9fb1b9265d14581b314ae6faac034c9.zip
Diffstat (limited to '')
-rw-r--r--src/core/arm/dyncom/arm_dyncom_interpreter.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
index c6a9baae3..b5e0993ed 100644
--- a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
+++ b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
@@ -176,13 +176,11 @@ unsigned int DPO(ArithmeticShiftRightByImmediate)(arm_processor *cpu, unsigned i
unsigned int shifter_operand;
int shift_imm = BITS(sht_oper, 7, 11);
if (shift_imm == 0) {
- if (BIT(rm, 31)) {
+ if (BIT(rm, 31) == 0)
shifter_operand = 0;
- cpu->shifter_carry_out = BIT(rm, 31);
- } else {
+ else
shifter_operand = 0xFFFFFFFF;
- cpu->shifter_carry_out = BIT(rm, 31);
- }
+ cpu->shifter_carry_out = BIT(rm, 31);
} else {
shifter_operand = static_cast<int>(rm) >> shift_imm;
cpu->shifter_carry_out = BIT(rm, shift_imm - 1);