From 82164a54c18e8255f8db86c4d7fe18a587b3a36d Mon Sep 17 00:00:00 2001 From: yahfz <17715080+Yahfz@users.noreply.github.com> Date: Sun, 16 Aug 2026 15:26:54 -0300 Subject: [PATCH] [SPU LLVM] Avoid redundant XFloat normalization in SELB --- rpcs3/Emu/Cell/SPULLVMRecompiler.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp b/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp index 20bf9fe7e4..06a1aa1d10 100644 --- a/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp +++ b/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp @@ -7241,7 +7241,7 @@ public: if (auto [a, b] = match_vrs(op.ra, op.rb); a || b) { - set_vr(op.rt4, select(sel_bool, get_vr(op.rb), get_vr(op.ra))); + set_vr(op.rt4, select(sel_bool, get_vr(op.rb), get_vr(op.ra)), nullptr, !(a && b)); return true; } @@ -7299,7 +7299,7 @@ public: { if (const auto [a_f64, b_f64] = match_vrs(op.ra, op.rb); a_f64 || b_f64) { - set_vr(op.rt4, select(noncast(c) != 0, get_vr(op.rb), get_vr(op.ra))); + set_vr(op.rt4, select(noncast(c) != 0, get_vr(op.rb), get_vr(op.ra)), nullptr, !(a_f64 && b_f64)); return; }