From 3a6f63f34f910991b5ac9da245a6b1e7a7727477 Mon Sep 17 00:00:00 2001 From: "Herman S." <429230+has207@users.noreply.github.com> Date: Fri, 13 Feb 2026 23:13:07 +0900 Subject: [PATCH] Revert "[x64] Zero extend on mov to 8bit register" This reverts commit 88b0aea272ac3dda9d84af3c09db36b72c65c396. (It needs to be applied after xbyak update) --- src/xenia/cpu/backend/x64/x64_sequences.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/xenia/cpu/backend/x64/x64_sequences.cc b/src/xenia/cpu/backend/x64/x64_sequences.cc index c44c44452..99e320af2 100644 --- a/src/xenia/cpu/backend/x64/x64_sequences.cc +++ b/src/xenia/cpu/backend/x64/x64_sequences.cc @@ -2856,10 +2856,9 @@ struct SHL_V128 : Sequence> { auto src1 = GetInputRegOrConstant(e, i.src1, e.xmm3); if (i.src2.is_constant) { - e.mov(e.GetNativeParam(0), i.src2.constant()); + e.mov(e.GetNativeParam(1), i.src2.constant()); } else { - // Zero-extend the 8-bit register to avoid garbage in upper bits - e.movzx(e.GetNativeParam(0).cvt32(), i.src2); + e.mov(e.GetNativeParam(1), i.src2); } e.lea(e.GetNativeParam(0), e.StashXmm(0, src1)); e.CallNativeSafe(reinterpret_cast(EmulateShlV128));