From c198e220e25081e26a80d139ffb9b14dd4e0e29d Mon Sep 17 00:00:00 2001 From: Elad <18193363+elad335@users.noreply.github.com> Date: Mon, 6 Jul 2026 20:18:21 +0300 Subject: [PATCH] SPU: LLVM: Add spu_thread::state check in Reduced Loop --- rpcs3/Emu/Cell/SPULLVMRecompiler.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp b/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp index b0c2c9854d..6b3841280e 100644 --- a/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp +++ b/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp @@ -2981,6 +2981,11 @@ public: condition = m_ir->CreateAnd(cond_verify, condition); } } + else + { + // Check spu_thread::state + condition = m_ir->CreateAnd(m_ir->CreateICmpEQ(spu_context_attr(m_ir->CreateLoad(get_type(), spu_ptr(&spu_thread::state), true)), m_ir->getInt32(0)), condition); + } m_ir->CreateCondBr(condition, optimization_block, block_optimization_next); };