From ecca0045a9baddeb5bd1f1201cd4db7b45ef386e Mon Sep 17 00:00:00 2001 From: comex Date: Wed, 25 Sep 2013 14:28:59 -0400 Subject: [PATCH] Fix Imm8 check. (I blame whoever made it take a u8 despite logically being a s8.) --- Source/Core/Common/Src/x64Emitter.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Core/Common/Src/x64Emitter.cpp b/Source/Core/Common/Src/x64Emitter.cpp index 01fb0c5268..9b6731856f 100644 --- a/Source/Core/Common/Src/x64Emitter.cpp +++ b/Source/Core/Common/Src/x64Emitter.cpp @@ -1657,7 +1657,7 @@ void XEmitter::PushRegistersAndAlignStack(u32 mask) } size += shadow; if (size) - SUB(64, R(RSP), size >= 0x100 ? Imm32(size) : Imm8(size)); + SUB(64, R(RSP), size >= 0x80 ? Imm32(size) : Imm8(size)); int offset = shadow; for (int x = 0; x < 16; x++) { @@ -1692,7 +1692,7 @@ void XEmitter::PopRegistersAndAlignStack(u32 mask) size += (count & 1) ? 0 : 8; if (size) - ADD(64, R(RSP), size >= 0x100 ? Imm32(size) : Imm8(size)); + ADD(64, R(RSP), size >= 0x80 ? Imm32(size) : Imm8(size)); for (int r = 15; r >= 0; r--) { if (mask & (1 << r))