aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ARMInterpreter_ALU.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/ARMInterpreter_ALU.cpp b/src/ARMInterpreter_ALU.cpp
index af9c340..95b6f37 100644
--- a/src/ARMInterpreter_ALU.cpp
+++ b/src/ARMInterpreter_ALU.cpp
@@ -46,16 +46,16 @@ inline bool OverflowSub(u32 a, u32 b)
inline bool OverflowAdc(u32 a, u32 b, u32 carry)
{
- s64 fullResult = (s64)(s32)(a) + (s64)(s32)b + carry;
+ s64 fullResult = (s64)(s32)a + (s32)b + carry;
u32 res = a + b + carry;
- return (res & 0x80000000) != ((u32)fullResult & 0x80000000);
+ return (s32)res != fullResult;
}
inline bool OverflowSbc(u32 a, u32 b, u32 carry)
{
- s64 fullResult = (s64)(s32)(a) - (s64)(s32)b - carry;
+ s64 fullResult = (s64)(s32)a - (s32)b - carry;
u32 res = a - b - carry;
- return (res & 0x80000000) != ((u32)fullResult & 0x80000000);
+ return (s32)res != fullResult;
}
#define LSL_IMM(x, s) \