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; }