diff --git a/External/FEXCore/Source/Interface/Core/JIT/x86_64/JIT.cpp b/External/FEXCore/Source/Interface/Core/JIT/x86_64/JIT.cpp index 8573c54c1..844fde21c 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/x86_64/JIT.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/x86_64/JIT.cpp @@ -3193,13 +3193,13 @@ void *JITCore::CompileCode([[maybe_unused]] FEXCore::IR::IRListView const mov(cl, GetSrc(Op->Header.Args[1].ID())); lock(); xadd(byte [MemReg], cl); - mov(GetDst(Node), cl); + movzx(GetDst(Node), cl); break; case 2: mov(cx, GetSrc(Op->Header.Args[1].ID())); lock(); - xadd(word [MemReg], cl); - mov(GetDst(Node), cx); + xadd(word [MemReg], cx); + movzx(GetDst(Node), cx); break; case 4: mov(ecx, GetSrc(Op->Header.Args[1].ID())); @@ -3236,14 +3236,14 @@ void *JITCore::CompileCode([[maybe_unused]] FEXCore::IR::IRListView const neg(cl); lock(); xadd(byte [MemReg], cl); - mov(GetDst(Node), cl); + movzx(GetDst(Node), cl); break; case 2: mov(cx, GetSrc(Op->Header.Args[1].ID())); neg(cx); lock(); - xadd(word [MemReg], cl); - mov(GetDst(Node), cx); + xadd(word [MemReg], cx); + movzx(GetDst(Node), cx); break; case 4: mov(ecx, GetSrc(Op->Header.Args[1].ID()));