Lines Matching defs:decision

610 /// getDecisionType - Determines whether a ModRM decision with 255 entries can
613 /// @param decision - The decision to be compacted.
614 /// @return - The compactest available representation for the decision.
615 static ModRMDecisionType getDecisionType(ModRMDecision &decision) {
622 if (decision.instructionIDs[index] != decision.instructionIDs[0])
626 (decision.instructionIDs[index] != decision.instructionIDs[0xc0]))
630 (decision.instructionIDs[index] != decision.instructionIDs[0x00]))
633 if (((index & 0xc0) == 0xc0) && (decision.instructionIDs[index] !=
634 decision.instructionIDs[index & 0xf8]))
637 if (((index & 0xc0) != 0xc0) && (decision.instructionIDs[index] !=
638 decision.instructionIDs[index & 0x38]))
658 /// to a particular decision type.
660 /// @param dt - The decision type.
669 llvm_unreachable("Unknown decision type");
687 ModRMDecision &decision) const {
689 ModRMDecisionType dt = getDecisionType(decision);
691 if (dt == MODRM_ONEENTRY && decision.instructionIDs[0] == 0) {
701 llvm_unreachable("Unknown decision type");
703 ModRMDecision.push_back(decision.instructionIDs[0]);
706 ModRMDecision.push_back(decision.instructionIDs[0x00]);
707 ModRMDecision.push_back(decision.instructionIDs[0xc0]);
711 ModRMDecision.push_back(decision.instructionIDs[index]);
713 ModRMDecision.push_back(decision.instructionIDs[index]);
717 ModRMDecision.push_back(decision.instructionIDs[index]);
719 ModRMDecision.push_back(decision.instructionIDs[index]);
722 for (unsigned short InstructionID : decision.instructionIDs)
745 llvm_unreachable("Unknown decision type");
778 auto &decision = opDecision.modRMDecisions[index];
779 ModRMDecisionType dt = getDecisionType(decision);
780 if (!(dt == MODRM_ONEENTRY && decision.instructionIDs[0] == 0))
812 ContextDecision &decision,
824 decision.opcodeDecisions[index]);
1074 void DisassemblerTables::setTableFields(ModRMDecision &decision,
1079 if (decision.instructionIDs[index] == uid)
1082 if (decision.instructionIDs[index] != 0) {
1085 InstructionSpecifiers[decision.instructionIDs[index]];
1106 decision.instructionIDs[index] = uid;
1115 ContextDecision &decision = *Tables[type];
1126 setTableFields(decision.opcodeDecisions[index].modRMDecisions[opcode],