From 465b845bdf36c48b8a1e93c028f16334b7795ea0 Mon Sep 17 00:00:00 2001 From: Walter Date: Tue, 16 Jun 2026 13:25:21 +1000 Subject: [PATCH] Avoid unused `XmmGet` on SSE2 path Avoids creating a redundant `XmmGet` allocation on targets without SSE4.1, by duplicating the declaration across both target specific blocks. --- rpcs3/Emu/Cell/SPUASMJITRecompiler.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/Cell/SPUASMJITRecompiler.cpp b/rpcs3/Emu/Cell/SPUASMJITRecompiler.cpp index 8586077574..d6860bd1fc 100644 --- a/rpcs3/Emu/Cell/SPUASMJITRecompiler.cpp +++ b/rpcs3/Emu/Cell/SPUASMJITRecompiler.cpp @@ -3343,10 +3343,9 @@ void spu_recompiler::HGT(spu_opcode_t op) void spu_recompiler::CLZ(spu_opcode_t op) { - const XmmLink& va = XmmGet(op.ra, XmmType::Int); - if (utils::has_avx512()) { + const XmmLink& va = XmmGet(op.ra, XmmType::Int); const XmmLink& vt = XmmAlloc(); c->vplzcntd(vt, va); c->movdqa(SPU_OFF_128(gpr, op.rt), vt); @@ -3359,6 +3358,7 @@ void spu_recompiler::CLZ(spu_opcode_t op) // Fixup "negative" cases by overwriting with zero const u32 exp_bias = 127; + const XmmLink& va = XmmGet(op.ra, XmmType::Int); const XmmLink& vf = XmmAlloc(); const XmmLink& v1 = XmmAlloc(); c->cvtdq2ps(vf, va); // only correct with round-towards-zero