From 6263fb6dec71112adb382e7e09884d0bfd2b7e8a 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 8a9a7a9f4..7b5aedc8b 100644 --- a/src/xenia/cpu/backend/x64/x64_seq_vector.cc +++ b/src/xenia/cpu/backend/x64/x64_seq_vector.cc @@ -949,9 +949,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(); @@ -999,9 +999,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; }