MCPcopy Create free account
hub / github.com/capstone-engine/capstone / printPredicateOperand

Function printPredicateOperand

arch/PowerPC/PPCInstPrinter.c:696–799  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

694}
695
696static void printPredicateOperand(MCInst *MI, unsigned OpNo,
697 SStream *O, const char *Modifier)
698{
699 unsigned Code = (unsigned int)MCOperand_getImm(MCInst_getOperand(MI, OpNo));
700
701 MI->flat_insn->detail->ppc.bc = (ppc_bc)cc_normalize(Code);
702
703 if (!strcmp(Modifier, "cc")) {
704 switch ((ppc_predicate)Code) {
705 default: // unreachable
706 case PPC_PRED_LT_MINUS:
707 case PPC_PRED_LT_PLUS:
708 case PPC_PRED_LT:
709 SStream_concat0(O, "lt");
710 return;
711 case PPC_PRED_LE_MINUS:
712 case PPC_PRED_LE_PLUS:
713 case PPC_PRED_LE:
714 SStream_concat0(O, "le");
715 return;
716 case PPC_PRED_EQ_MINUS:
717 case PPC_PRED_EQ_PLUS:
718 case PPC_PRED_EQ:
719 SStream_concat0(O, "eq");
720 return;
721 case PPC_PRED_GE_MINUS:
722 case PPC_PRED_GE_PLUS:
723 case PPC_PRED_GE:
724 SStream_concat0(O, "ge");
725 return;
726 case PPC_PRED_GT_MINUS:
727 case PPC_PRED_GT_PLUS:
728 case PPC_PRED_GT:
729 SStream_concat0(O, "gt");
730 return;
731 case PPC_PRED_NE_MINUS:
732 case PPC_PRED_NE_PLUS:
733 case PPC_PRED_NE:
734 SStream_concat0(O, "ne");
735 return;
736 case PPC_PRED_UN_MINUS:
737 case PPC_PRED_UN_PLUS:
738 case PPC_PRED_UN:
739 SStream_concat0(O, "un");
740 return;
741 case PPC_PRED_NU_MINUS:
742 case PPC_PRED_NU_PLUS:
743 case PPC_PRED_NU:
744 SStream_concat0(O, "nu");
745 return;
746 case PPC_PRED_BIT_SET:
747 case PPC_PRED_BIT_UNSET:
748 // llvm_unreachable("Invalid use of bit predicate code");
749 SStream_concat0(O, "invalid-predicate");
750 return;
751 }
752 }
753

Callers

nothing calls this directly

Calls 5

MCOperand_getImmFunction · 0.85
MCInst_getOperandFunction · 0.85
cc_normalizeFunction · 0.85
SStream_concat0Function · 0.85
printOperandFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…