diff --git a/XenonRecomp/recompiler.cpp b/XenonRecomp/recompiler.cpp index 8a8913d..9bb6d34 100644 --- a/XenonRecomp/recompiler.cpp +++ b/XenonRecomp/recompiler.cpp @@ -869,6 +869,13 @@ bool Recompiler::Recompile( // no op break; + case PPC_INST_EQV: + // rA = ~(rS XOR rB) + println("\t{}.u64 = ~({}.u64 ^ {}.u64);", r(insn.operands[0]), r(insn.operands[1]), r(insn.operands[2])); + if (strchr(insn.opcode->name, '.')) + println("\t{}.compare({}.s32, 0, {});", cr(0), r(insn.operands[0]), xer()); + break; + case PPC_INST_EXTSB: println("\t{}.s64 = {}.s8;", r(insn.operands[0]), r(insn.operands[1])); if (strchr(insn.opcode->name, '.'))