From 77e320f79a937053e0f7600af93e55667f84e0d8 Mon Sep 17 00:00:00 2001 From: "Herman S." <429230+has207@users.noreply.github.com> Date: Sat, 25 Oct 2025 17:47:18 +0900 Subject: [PATCH] [x64] Fix AVX2 optimization path for VECTOR_SHL_V128 Ensure the optimized path matches the fallback behavior --- src/xenia/cpu/backend/x64/x64_seq_vector.cc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/xenia/cpu/backend/x64/x64_seq_vector.cc b/src/xenia/cpu/backend/x64/x64_seq_vector.cc index 685f73c7b..6b8ea5287 100644 --- a/src/xenia/cpu/backend/x64/x64_seq_vector.cc +++ b/src/xenia/cpu/backend/x64/x64_seq_vector.cc @@ -947,9 +947,9 @@ struct VECTOR_SHL_V128 e.vpshufb(e.xmm2, e.xmm2, e.GetXmmConstPtr(XMMIntsToBytes)); e.vpshufb(e.xmm3, e.xmm3, e.GetXmmConstPtr(XMMIntsToBytes)); - e.vpunpckldq(e.xmm0, e.xmm0, e.xmm1); - e.vpunpckldq(e.xmm2, e.xmm2, e.xmm3); - e.vpunpcklqdq(i.dest, e.xmm0, e.xmm2); + e.vpunpckldq(e.xmm0, e.xmm0, e.xmm2); + e.vpunpckldq(e.xmm1, e.xmm1, e.xmm3); + e.vpunpcklqdq(i.dest, e.xmm0, e.xmm1); return; } else { vec128_t constmask = i.src2.constant(); @@ -1001,9 +1001,9 @@ struct VECTOR_SHL_V128 e.vpshufb(e.xmm2, e.xmm2, e.GetXmmConstPtr(XMMIntsToBytes)); e.vpshufb(e.xmm3, e.xmm3, e.GetXmmConstPtr(XMMIntsToBytes)); - e.vpunpckldq(e.xmm0, e.xmm0, e.xmm1); - e.vpunpckldq(e.xmm2, e.xmm2, e.xmm3); - e.vpunpcklqdq(i.dest, e.xmm0, e.xmm2); + e.vpunpckldq(e.xmm0, e.xmm0, e.xmm2); + e.vpunpckldq(e.xmm1, e.xmm1, e.xmm3); + e.vpunpcklqdq(i.dest, e.xmm0, e.xmm1); return; }