Lines Matching refs:decision
304 /// getDecisionType - Determines whether a ModRM decision with 255 entries can
307 /// @param decision - The decision to be compacted.
308 /// @return - The compactest available representation for the decision.
309 static ModRMDecisionType getDecisionType(ModRMDecision &decision) {
316 if (decision.instructionIDs[index] != decision.instructionIDs[0])
320 (decision.instructionIDs[index] != decision.instructionIDs[0xc0]))
324 (decision.instructionIDs[index] != decision.instructionIDs[0x00]))
328 (decision.instructionIDs[index] != decision.instructionIDs[index&0xf8]))
332 (decision.instructionIDs[index] != decision.instructionIDs[index&0x38]))
352 /// to a particular decision type.
354 /// @param dt - The decision type.
361 llvm_unreachable("Unknown decision type");
388 ModRMDecision &decision) const {
391 ModRMDecisionType dt = getDecisionType(decision);
393 if (dt == MODRM_ONEENTRY && decision.instructionIDs[0] == 0)
410 llvm_unreachable("Unknown decision type");
412 ModRMDecision.push_back(decision.instructionIDs[0]);
415 ModRMDecision.push_back(decision.instructionIDs[0x00]);
416 ModRMDecision.push_back(decision.instructionIDs[0xc0]);
420 ModRMDecision.push_back(decision.instructionIDs[index]);
422 ModRMDecision.push_back(decision.instructionIDs[index]);
426 ModRMDecision.push_back(decision.instructionIDs[index]);
428 ModRMDecision.push_back(decision.instructionIDs[index]);
432 ModRMDecision.push_back(decision.instructionIDs[index]);
462 llvm_unreachable("Unknown decision type");
490 OpcodeDecision &decision) const {
502 decision.modRMDecisions[index]);
519 ContextDecision &decision,
533 decision.opcodeDecisions[index]);
784 void DisassemblerTables::setTableFields(ModRMDecision &decision,
790 if (decision.instructionIDs[index] == uid)
793 if (decision.instructionIDs[index] != 0) {
797 InstructionSpecifiers[decision.instructionIDs[index]];
828 decision.instructionIDs[index] = uid;
840 ContextDecision &decision = *Tables[type];
848 setTableFields(decision.opcodeDecisions[index].modRMDecisions[opcode],