diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index fa8319d5b1..bc23813dbc 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -1054,8 +1054,12 @@ const auto ppu_stwcx_tx = build_function_asm([]( // Touch memory after transaction failure c.bind(fall); c.pause(); + c.xor_(x86::r11, 0xf80); + c.xor_(x86::r10, 0xf80); c.mov(x86::rax, x86::qword_ptr(x86::r11)); c.mov(x86::rax, x86::qword_ptr(x86::r10)); + c.xor_(x86::r11, 0xf80); + c.xor_(x86::r10, 0xf80); c.sub(args[0], 1); c.jnz(begin); c.mov(x86::eax, 1); @@ -343,8 +351,12 @@ const auto spu_putlluc_tx = build_function_asm