- The
ppc_op_crx are not being set in capstone v5 (this applies for X.crx.reg and for X.crx.cond).
The issue is linked to these lines:
|
MI->flat_insn->detail->ppc.operands[MI->flat_insn->detail->ppc.op_count].reg = MCOperand_getReg(MCInst_getOperand(MI, 1)); |
|
static void add_CRxx(MCInst *MI, ppc_reg reg) |
XORI sometimes is marked as XNOR even if is not XORI r0, r0, 0
- Some instructions are correctly decoded and their fields are wrongly set:
- Prints
rldicl but is set as PPC_INS_CLRLDI.
- Prints
rlwinm but is set as PPC_INS_CLRLWI.
- Prints
cmpw but is set as PPC_INS_CMP
- Prints
cmpd but is set as PPC_INS_CMP
- Prints
cmplw but is set as PPC_INS_CMPL
- Prints
cmpld but is set as PPC_INS_CMPL
- Prints
cmpwi but is set as PPC_INS_CMPI
- Prints
cmpdi but is set as PPC_INS_CMPI
- Prints
cmplwi but is set as PPC_INS_CMPLI
- Prints
cmpldi but is set as PPC_INS_CMPLI
ppc_op_crxare not being set in capstone v5 (this applies forX.crx.regand forX.crx.cond).The issue is linked to these lines:
capstone/arch/PowerPC/PPCInstPrinter.c
Line 350 in 8ae8f68
capstone/arch/PowerPC/PPCInstPrinter.c
Line 131 in 8ae8f68
XORIsometimes is marked asXNOReven if is notXORI r0, r0, 0rldiclbut is set asPPC_INS_CLRLDI.rlwinmbut is set asPPC_INS_CLRLWI.cmpwbut is set asPPC_INS_CMPcmpdbut is set asPPC_INS_CMPcmplwbut is set asPPC_INS_CMPLcmpldbut is set asPPC_INS_CMPLcmpwibut is set asPPC_INS_CMPIcmpdibut is set asPPC_INS_CMPIcmplwibut is set asPPC_INS_CMPLIcmpldibut is set asPPC_INS_CMPLI