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);