From 14bd6b0cc524da4b150d89c8bcc48f0f4675cde9 Mon Sep 17 00:00:00 2001 From: Elad <18193363+elad335@users.noreply.github.com> Date: Sat, 22 Nov 2025 11:35:52 +0200 Subject: [PATCH] SPU: Enable PUTLLC16 by default Experimental, may be reduced to specific patterns instead of being enabled globally. --- rpcs3/Emu/Cell/SPUCommonRecompiler.cpp | 2 +- rpcs3/Emu/Cell/SPULLVMRecompiler.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/Cell/SPUCommonRecompiler.cpp b/rpcs3/Emu/Cell/SPUCommonRecompiler.cpp index 15fad98e7a..e3455fcb2d 100644 --- a/rpcs3/Emu/Cell/SPUCommonRecompiler.cpp +++ b/rpcs3/Emu/Cell/SPUCommonRecompiler.cpp @@ -7357,7 +7357,7 @@ spu_program spu_recompiler_base::analyse(const be_t* ls, u32 entry_point, s if (g_cfg.core.spu_accurate_reservations) { // Because enabling it is a hack, as it turns out - continue; + // continue; } add_pattern(false, inst_attr::putllc16, pattern.put_pc - result.entry_point, value.data); diff --git a/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp b/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp index 33489d1b74..1d02b5a62e 100644 --- a/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp +++ b/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp @@ -1284,7 +1284,7 @@ class spu_llvm_recompiler : public spu_recompiler_base, public cpu_translator const auto _new = m_ir->CreateAlignedLoad(get_type(), _ptr(m_lsptr, dest), llvm::MaybeAlign{16}); const auto _rdata = m_ir->CreateAlignedLoad(get_type(), _ptr(spu_ptr(&spu_thread::rdata), m_ir->CreateAnd(diff, 0x70)), llvm::MaybeAlign{16}); - const bool is_accurate_op = !!g_cfg.core.spu_accurate_reservations; + const bool is_accurate_op = true || !!g_cfg.core.spu_accurate_reservations; const auto compare_data_change_res = is_accurate_op ? m_ir->getTrue() : m_ir->CreateICmpNE(_new, _rdata);