From 28cbba5a7d6e12b58c92e14f309cc7c40fb48f95 Mon Sep 17 00:00:00 2001 From: Eladash Date: Wed, 18 Nov 2020 13:36:26 +0200 Subject: [PATCH] SPU LLVM: fix AND instruction family (#9290) Incorrect immediate test (looks like copypasta) --- rpcs3/Emu/Cell/SPURecompiler.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rpcs3/Emu/Cell/SPURecompiler.cpp b/rpcs3/Emu/Cell/SPURecompiler.cpp index 96f68f1b20..0d5ad43939 100644 --- a/rpcs3/Emu/Cell/SPURecompiler.cpp +++ b/rpcs3/Emu/Cell/SPURecompiler.cpp @@ -6949,19 +6949,19 @@ public: void ANDI(spu_opcode_t op) { - if (!m_interp_magn && !op.si10) return set_vr(op.rt, get_vr(op.ra)); + if (!m_interp_magn && op.si10 == -1) return set_vr(op.rt, get_vr(op.ra)); set_vr(op.rt, get_vr(op.ra) & get_imm(op.si10)); } void ANDHI(spu_opcode_t op) { - if (!m_interp_magn && !op.si10) return set_vr(op.rt, get_vr(op.ra)); + if (!m_interp_magn && op.si10 == -1) return set_vr(op.rt, get_vr(op.ra)); set_vr(op.rt, get_vr(op.ra) & get_imm(op.si10)); } void ANDBI(spu_opcode_t op) { - if (!m_interp_magn && !op.si10) return set_vr(op.rt, get_vr(op.ra)); + if (!m_interp_magn && static_cast(op.si10) == -1) return set_vr(op.rt, get_vr(op.ra)); set_vr(op.rt, get_vr(op.ra) & get_imm(op.si10)); }