From 26a3290b4353efe0d4e7060bcb258173fe69cd0b Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Wed, 16 Oct 2019 17:42:41 -0700 Subject: [PATCH] Fix a couple mistakes in the x86 JIT using movsx instead of movsxd --- Source/Interface/Core/JIT/x86_64/JIT.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/Interface/Core/JIT/x86_64/JIT.cpp b/Source/Interface/Core/JIT/x86_64/JIT.cpp index 2cec81a88..cb8366ae7 100644 --- a/Source/Interface/Core/JIT/x86_64/JIT.cpp +++ b/Source/Interface/Core/JIT/x86_64/JIT.cpp @@ -606,7 +606,7 @@ void *JITCore::CompileCode([[maybe_unused]] FEXCore::IR::IRListView const movsx(Dst, GetSrc(Op->Header.Args[0].ID())); break; case 4: - movsxd(Reg64(Dst.getIdx()), GetSrc(Op->Header.Args[0].ID())); + movsxd(Dst.cvt64(), GetSrc(Op->Header.Args[0].ID())); break; case 8: mov(Dst, GetSrc(Op->Header.Args[0].ID())); @@ -787,7 +787,7 @@ void *JITCore::CompileCode([[maybe_unused]] FEXCore::IR::IRListView const case 4: movsxd(rax, GetSrc(Op->Header.Args[0].ID())); imul(eax, GetSrc(Op->Header.Args[1].ID())); - movsx(Dst, eax); + movsxd(Dst.cvt64(), eax); break; case 8: mov(rax, GetSrc(Op->Header.Args[0].ID())); @@ -816,7 +816,7 @@ void *JITCore::CompileCode([[maybe_unused]] FEXCore::IR::IRListView const mov(GetDst(Node), rax); break; case 4: - movsx(rax, GetSrc(Op->Header.Args[0].ID())); + movsxd(rax, GetSrc(Op->Header.Args[0].ID())); imul(GetSrc(Op->Header.Args[1].ID())); movsxd(rax, edx); mov(GetDst(Node), rdx);