From e9dfb3cb63ed0b13746c8a5aadc83c16bf834f34 Mon Sep 17 00:00:00 2001 From: Malcolm Jestadt Date: Sun, 29 May 2022 11:36:43 -0400 Subject: [PATCH] SPU LLVM: Fixup for inline MFC transfers - Could previsouly segfault when src and dst were swapped. Just use unaligned instructions instead. --- rpcs3/Emu/Cell/SPURecompiler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpcs3/Emu/Cell/SPURecompiler.cpp b/rpcs3/Emu/Cell/SPURecompiler.cpp index cf276b1c8c..162aba59fc 100644 --- a/rpcs3/Emu/Cell/SPURecompiler.cpp +++ b/rpcs3/Emu/Cell/SPURecompiler.cpp @@ -6208,7 +6208,7 @@ public: } else { - m_ir->CreateAlignedStore(m_ir->CreateLoad(m_ir->CreateBitCast(_src, vtype), false), m_ir->CreateBitCast(_dst, vtype), llvm::MaybeAlign{16}); + m_ir->CreateAlignedStore(m_ir->CreateAlignedLoad(m_ir->CreateBitCast(_src, vtype), llvm::MaybeAlign{16}), m_ir->CreateBitCast(_dst, vtype), llvm::MaybeAlign{16}); } } }