Lines Matching refs:decision

589 /// getDecisionType - Determines whether a ModRM decision with 255 entries can
592 /// @param decision - The decision to be compacted.
593 /// @return - The compactest available representation for the decision.
594 static ModRMDecisionType getDecisionType(ModRMDecision &decision) {
601 if (decision.instructionIDs[index] != decision.instructionIDs[0])
605 (decision.instructionIDs[index] != decision.instructionIDs[0xc0]))
609 (decision.instructionIDs[index] != decision.instructionIDs[0x00]))
613 (decision.instructionIDs[index] != decision.instructionIDs[index&0xf8]))
617 (decision.instructionIDs[index] != decision.instructionIDs[index&0x38]))
637 /// to a particular decision type.
639 /// @param dt - The decision type.
646 llvm_unreachable("Unknown decision type");
665 ModRMDecision &decision) const {
668 ModRMDecisionType dt = getDecisionType(decision);
670 if (dt == MODRM_ONEENTRY && decision.instructionIDs[0] == 0) {
680 llvm_unreachable("Unknown decision type");
682 ModRMDecision.push_back(decision.instructionIDs[0]);
685 ModRMDecision.push_back(decision.instructionIDs[0x00]);
686 ModRMDecision.push_back(decision.instructionIDs[0xc0]);
690 ModRMDecision.push_back(decision.instructionIDs[index]);
692 ModRMDecision.push_back(decision.instructionIDs[index]);
696 ModRMDecision.push_back(decision.instructionIDs[index]);
698 ModRMDecision.push_back(decision.instructionIDs[index]);
702 ModRMDecision.push_back(decision.instructionIDs[index]);
726 llvm_unreachable("Unknown decision type");
760 auto &decision = opDecision.modRMDecisions[index];
761 ModRMDecisionType dt = getDecisionType(decision);
762 if (!(dt == MODRM_ONEENTRY && decision.instructionIDs[0] == 0))
796 ContextDecision &decision,
809 decision.opcodeDecisions[index]);
1038 void DisassemblerTables::setTableFields(ModRMDecision &decision,
1044 if (decision.instructionIDs[index] == uid)
1047 if (decision.instructionIDs[index] != 0) {
1051 InstructionSpecifiers[decision.instructionIDs[index]];
1072 decision.instructionIDs[index] = uid;
1087 ContextDecision &decision = *Tables[type];
1098 setTableFields(decision.opcodeDecisions[index].modRMDecisions[opcode],