From 9b9817f9272eea1cceeeef54b112664daa56bba9 Mon Sep 17 00:00:00 2001 From: Pierre Bourdon Date: Thu, 29 May 2014 19:32:12 +0200 Subject: [PATCH] x64Emitter: Fix REX encoding for SETcc Previously using the new "lower 8 bits" registers (SIL, SPL, ...) caused SETcc to write to other registers (for example, SETcc SIL would generate SETcc DH). --- Source/Core/Common/x64Emitter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Core/Common/x64Emitter.cpp b/Source/Core/Common/x64Emitter.cpp index b4ec2bc331..5d3718e5bd 100644 --- a/Source/Core/Common/x64Emitter.cpp +++ b/Source/Core/Common/x64Emitter.cpp @@ -721,7 +721,7 @@ void XEmitter::SETcc(CCFlags flag, OpArg dest) { if (dest.IsImm()) _assert_msg_(DYNA_REC, 0, "SETcc - Imm argument"); dest.operandReg = 0; - dest.WriteRex(this, 0, 0); + dest.WriteRex(this, 0, 8); Write8(0x0F); Write8(0x90 + (u8)flag); dest.WriteRest(this);