From 7f8eec9dca5e5617b5d2506b0de7d10d399b06e9 Mon Sep 17 00:00:00 2001 From: Elad Ashkenazi <18193363+elad335@users.noreply.github.com> Date: Sun, 7 Jul 2024 12:23:06 +0300 Subject: [PATCH] Disable PUTLLC16 again --- rpcs3/Emu/Cell/SPUCommonRecompiler.cpp | 5 +++++ rpcs3/Emu/Cell/SPULLVMRecompiler.cpp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/Cell/SPUCommonRecompiler.cpp b/rpcs3/Emu/Cell/SPUCommonRecompiler.cpp index 849449a5ef..3dd6789df9 100644 --- a/rpcs3/Emu/Cell/SPUCommonRecompiler.cpp +++ b/rpcs3/Emu/Cell/SPUCommonRecompiler.cpp @@ -7141,6 +7141,11 @@ spu_program spu_recompiler_base::analyse(const be_t* ls, u32 entry_point, s value.reg2 = pattern.reg2; } + if (true) + { + continue; + } + add_pattern(false, inst_attr::putllc16, pattern.put_pc - result.entry_point, value.data); spu_log.success("PUTLLC16 Pattern Detected! (mem_count=%d, put_pc=0x%x, pc_rel=%d, offset=0x%x, const=%u, two_regs=%d, reg=%u, runtime=%d, 0x%x-%s) (putllc0=%d, putllc16+0=%d, all=%d)" diff --git a/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp b/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp index b6d2b4f274..9772899d8a 100644 --- a/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp +++ b/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp @@ -1235,7 +1235,7 @@ class spu_llvm_recompiler : public spu_recompiler_base, public cpu_translator rsx::reservation_lock rsx_lock(raddr, 128); // Touch memory - vm::_ref>(dest ^ (4096 / 2)).compare_and_swap_test(0, 0); + utils::trigger_write_page_fault(vm::base(dest ^ (4096 / 2))); auto [old_res, ok] = res.fetch_op([&](u64& rval) {