diff --git a/rpcs3/Emu/Cell/SPURecompiler.cpp b/rpcs3/Emu/Cell/SPURecompiler.cpp index 1a6ae41194..d566b366f9 100644 --- a/rpcs3/Emu/Cell/SPURecompiler.cpp +++ b/rpcs3/Emu/Cell/SPURecompiler.cpp @@ -5991,9 +5991,9 @@ public: m_ir->CreateStore(size.value, _ptr(pmfc, ::offset32(&spu_mfc_cmd::size))); m_ir->CreateStore(lsa.value, _ptr(pmfc, ::offset32(&spu_mfc_cmd::lsa))); m_ir->CreateStore(eal.value, _ptr(pmfc, ::offset32(&spu_mfc_cmd::eal))); - m_ir->CreateStore(m_ir->CreateOr(m_ir->CreateLoad(pb), mask), pb); - if (cmd & MFC_FENCE_MASK) - m_ir->CreateStore(m_ir->CreateOr(m_ir->CreateLoad(pf), mask), pf); + m_ir->CreateStore(m_ir->CreateOr(m_ir->CreateLoad(pf), mask), pf); + if (cmd & MFC_BARRIER_MASK) + m_ir->CreateStore(m_ir->CreateOr(m_ir->CreateLoad(pb), mask), pb); break; } case MFC_BARRIER_CMD: