summaryrefslogtreecommitdiff
path: root/src/core/arm/interpreter/armemu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/arm/interpreter/armemu.cpp')
-rw-r--r--src/core/arm/interpreter/armemu.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core/arm/interpreter/armemu.cpp b/src/core/arm/interpreter/armemu.cpp
index 967506f45..e4159ceb0 100644
--- a/src/core/arm/interpreter/armemu.cpp
+++ b/src/core/arm/interpreter/armemu.cpp
@@ -6243,16 +6243,16 @@ L_stm_s_takeabort:
6243 6243
6244 // SMUAD 6244 // SMUAD
6245 if ((instr & 0xf0d0) == 0xf010) { 6245 if ((instr & 0xf0d0) == 0xf010) {
6246 state->Reg[rd_idx] = (rn_lo * rn_hi) + (rm_lo * rm_hi); 6246 state->Reg[rd_idx] = (rn_lo * rm_lo) + (rn_hi * rm_hi);
6247 } 6247 }
6248 // SMUSD 6248 // SMUSD
6249 else if ((instr & 0xf0d0) == 0xf050) { 6249 else if ((instr & 0xf0d0) == 0xf050) {
6250 state->Reg[rd_idx] = (rn_lo * rn_hi) - (rm_lo * rm_hi); 6250 state->Reg[rd_idx] = (rn_lo * rm_lo) - (rn_hi * rm_hi);
6251 } 6251 }
6252 // SMLAD 6252 // SMLAD
6253 else { 6253 else {
6254 const u8 ra_idx = BITS(12, 15); 6254 const u8 ra_idx = BITS(12, 15);
6255 state->Reg[rd_idx] = (rn_lo * rn_hi) + (rm_lo * rm_hi) + (s32)state->Reg[ra_idx]; 6255 state->Reg[rd_idx] = (rn_lo * rm_lo) + (rn_hi * rm_hi) + (s32)state->Reg[ra_idx];
6256 } 6256 }
6257 return 1; 6257 return 1;
6258 } else { 6258 } else {