From b3a131698c0265a90e09540301b254aedb794b6b Mon Sep 17 00:00:00 2001 From: "Herman S." <429230+has207@users.noreply.github.com> Date: Sat, 25 Oct 2025 16:09:21 +0900 Subject: [PATCH] [x64] Fix AVX512 optimization path for vadduws --- src/xenia/cpu/backend/x64/x64_seq_vector.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/xenia/cpu/backend/x64/x64_seq_vector.cc b/src/xenia/cpu/backend/x64/x64_seq_vector.cc index 1eacbbe39..685f73c7b 100644 --- a/src/xenia/cpu/backend/x64/x64_seq_vector.cc +++ b/src/xenia/cpu/backend/x64/x64_seq_vector.cc @@ -671,11 +671,11 @@ struct VECTOR_ADD if (saturate) { if (is_unsigned) { if (e.IsFeatureEnabled(kX64EmitAVX512Ortho)) { - e.vpaddd(dest, src1, src2); - Opmask saturate = e.k1; - // _mm_cmplt_epu32_mask - e.vpcmpud(saturate, dest, src1, 0x1); - e.vpternlogd(dest | saturate, dest, dest, 0xFF); + e.vpaddd(e.xmm1, src1, src2); + Opmask no_overflow = e.k1; + e.vpcmpud(no_overflow, e.xmm1, src1, 0x5); + e.vpcmpeqd(dest, dest, dest); + e.vmovdqa32(dest | no_overflow, e.xmm1); return; }