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)); }