Lines Matching defs:decision

637 /// getDecisionType - Determines whether a ModRM decision with 255 entries can
640 /// @param decision - The decision to be compacted.
641 /// @return - The compactest available representation for the decision.
642 static ModRMDecisionType getDecisionType(ModRMDecision &decision) {
649 if (decision.instructionIDs[index] != decision.instructionIDs[0])
653 (decision.instructionIDs[index] != decision.instructionIDs[0xc0]))
657 (decision.instructionIDs[index] != decision.instructionIDs[0x00]))
660 if (((index & 0xc0) == 0xc0) && (decision.instructionIDs[index] !=
661 decision.instructionIDs[index & 0xf8]))
664 if (((index & 0xc0) != 0xc0) && (decision.instructionIDs[index] !=
665 decision.instructionIDs[index & 0x38]))
685 /// to a particular decision type.
687 /// @param dt - The decision type.
696 llvm_unreachable("Unknown decision type");
714 ModRMDecision &decision) const {
716 ModRMDecisionType dt = getDecisionType(decision);
718 if (dt == MODRM_ONEENTRY && decision.instructionIDs[0] == 0) {
728 llvm_unreachable("Unknown decision type");
730 ModRMDecision.push_back(decision.instructionIDs[0]);
733 ModRMDecision.push_back(decision.instructionIDs[0x00]);
734 ModRMDecision.push_back(decision.instructionIDs[0xc0]);
738 ModRMDecision.push_back(decision.instructionIDs[index]);
740 ModRMDecision.push_back(decision.instructionIDs[index]);
744 ModRMDecision.push_back(decision.instructionIDs[index]);
746 ModRMDecision.push_back(decision.instructionIDs[index]);
749 for (unsigned short InstructionID : decision.instructionIDs)
772 llvm_unreachable("Unknown decision type");
805 auto &decision = opDecision.modRMDecisions[index];
806 ModRMDecisionType dt = getDecisionType(decision);
807 if (!(dt == MODRM_ONEENTRY && decision.instructionIDs[0] == 0))
839 ContextDecision &decision,
851 decision.opcodeDecisions[index]);
1106 void DisassemblerTables::setTableFields(ModRMDecision &decision,
1111 if (decision.instructionIDs[index] == uid)
1114 if (decision.instructionIDs[index] != 0) {
1117 InstructionSpecifiers[decision.instructionIDs[index]];
1138 decision.instructionIDs[index] = uid;
1147 ContextDecision &decision = *Tables[type];
1158 setTableFields(decision.opcodeDecisions[index].modRMDecisions[opcode],