Lines Matching refs:MCII
32 MCInstrInfo const &MCII, MCInst &MCB, in addConstExtender() argument
36 MCI.getOperand(HexagonMCInstrInfo::getExtendableOp(MCII, MCI)); in addConstExtender()
40 new (Context) MCInst(HexagonMCInstrInfo::deriveExtender(MCII, MCI, exOp)); in addConstExtender()
58 bool HexagonMCInstrInfo::canonicalizePacket(MCInstrInfo const &MCII, in canonicalizePacket() argument
65 HexagonMCInstrInfo::tryCompound(MCII, Context, MCB); in canonicalizePacket()
70 HexagonMCShuffle(MCII, STI, MCB); in canonicalizePacket()
76 possibleDuplexes = HexagonMCInstrInfo::getDuplexPossibilties(MCII, MCB); in canonicalizePacket()
77 HexagonMCShuffle(MCII, STI, Context, MCB, possibleDuplexes); in canonicalizePacket()
86 HexagonMCShuffle(MCII, STI, MCB); in canonicalizePacket()
90 void HexagonMCInstrInfo::clampExtended(MCInstrInfo const &MCII, in clampExtended() argument
92 assert(HexagonMCInstrInfo::isExtendable(MCII, MCI) || in clampExtended()
93 HexagonMCInstrInfo::isExtended(MCII, MCI)); in clampExtended()
95 MCI.getOperand(HexagonMCInstrInfo::getExtendableOp(MCII, MCI)); in clampExtended()
101 unsigned Shift = HexagonMCInstrInfo::getExtentAlignment(MCII, MCI); in clampExtended()
128 MCInst HexagonMCInstrInfo::deriveExtender(MCInstrInfo const &MCII, in deriveExtender() argument
131 assert(HexagonMCInstrInfo::isExtendable(MCII, Inst) || in deriveExtender()
132 HexagonMCInstrInfo::isExtended(MCII, Inst)); in deriveExtender()
134 MCInstrDesc const &Desc = HexagonMCInstrInfo::getDesc(MCII, Inst); in deriveExtender()
137 HexagonMCInstrInfo::getType(MCII, Inst) == HexagonII::TypeCR) in deriveExtender()
162 MCInstrInfo const &MCII, MCInst &MCB, in extendIfNeeded() argument
164 if (isConstExtended(MCII, MCI)) in extendIfNeeded()
165 addConstExtender(Context, MCII, MCB, MCI); in extendIfNeeded()
169 HexagonMCInstrInfo::getAccessSize(MCInstrInfo const &MCII, MCInst const &MCI) { in getAccessSize() argument
170 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getAccessSize()
176 unsigned HexagonMCInstrInfo::getBitCount(MCInstrInfo const &MCII, in getBitCount() argument
178 uint64_t const F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getBitCount()
183 unsigned short HexagonMCInstrInfo::getCExtOpNum(MCInstrInfo const &MCII, in getCExtOpNum() argument
185 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getCExtOpNum()
189 MCInstrDesc const &HexagonMCInstrInfo::getDesc(MCInstrInfo const &MCII, in getDesc() argument
191 return (MCII.get(MCI.getOpcode())); in getDesc()
249 unsigned short HexagonMCInstrInfo::getExtendableOp(MCInstrInfo const &MCII, in getExtendableOp() argument
251 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getExtendableOp()
256 HexagonMCInstrInfo::getExtendableOperand(MCInstrInfo const &MCII, in getExtendableOperand() argument
258 unsigned O = HexagonMCInstrInfo::getExtendableOp(MCII, MCI); in getExtendableOperand()
261 assert((HexagonMCInstrInfo::isExtendable(MCII, MCI) || in getExtendableOperand()
262 HexagonMCInstrInfo::isExtended(MCII, MCI)) && in getExtendableOperand()
267 unsigned HexagonMCInstrInfo::getExtentAlignment(MCInstrInfo const &MCII, in getExtentAlignment() argument
269 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getExtentAlignment()
273 unsigned HexagonMCInstrInfo::getExtentBits(MCInstrInfo const &MCII, in getExtentBits() argument
275 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getExtentBits()
281 int HexagonMCInstrInfo::getMaxValue(MCInstrInfo const &MCII, in getMaxValue() argument
283 uint64_t const F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getMaxValue()
296 int HexagonMCInstrInfo::getMinValue(MCInstrInfo const &MCII, in getMinValue() argument
298 uint64_t const F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getMinValue()
309 char const *HexagonMCInstrInfo::getName(MCInstrInfo const &MCII, in getName() argument
311 return MCII.getName(MCI.getOpcode()); in getName()
314 unsigned short HexagonMCInstrInfo::getNewValueOp(MCInstrInfo const &MCII, in getNewValueOp() argument
316 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getNewValueOp()
320 MCOperand const &HexagonMCInstrInfo::getNewValueOperand(MCInstrInfo const &MCII, in getNewValueOperand() argument
322 uint64_t const F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getNewValueOperand()
327 assert((HexagonMCInstrInfo::isNewValue(MCII, MCI) || in getNewValueOperand()
328 HexagonMCInstrInfo::hasNewValue(MCII, MCI)) && in getNewValueOperand()
334 unsigned short HexagonMCInstrInfo::getNewValueOp2(MCInstrInfo const &MCII, in getNewValueOp2() argument
336 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getNewValueOp2()
341 HexagonMCInstrInfo::getNewValueOperand2(MCInstrInfo const &MCII, in getNewValueOperand2() argument
343 unsigned O = HexagonMCInstrInfo::getNewValueOp2(MCII, MCI); in getNewValueOperand2()
346 assert((HexagonMCInstrInfo::isNewValue(MCII, MCI) || in getNewValueOperand2()
347 HexagonMCInstrInfo::hasNewValue2(MCII, MCI)) && in getNewValueOperand2()
352 int HexagonMCInstrInfo::getSubTarget(MCInstrInfo const &MCII, in getSubTarget() argument
354 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getSubTarget()
368 unsigned HexagonMCInstrInfo::getType(MCInstrInfo const &MCII, in getType() argument
370 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getType()
375 unsigned HexagonMCInstrInfo::getUnits(MCInstrInfo const &MCII, in getUnits() argument
380 int SchedClass = HexagonMCInstrInfo::getDesc(MCII, MCI).getSchedClass(); in getUnits()
402 bool HexagonMCInstrInfo::hasNewValue(MCInstrInfo const &MCII, in hasNewValue() argument
404 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in hasNewValue()
409 bool HexagonMCInstrInfo::hasNewValue2(MCInstrInfo const &MCII, in hasNewValue2() argument
411 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in hasNewValue2()
428 bool HexagonMCInstrInfo::isCanon(MCInstrInfo const &MCII, MCInst const &MCI) { in isCanon() argument
429 return (!HexagonMCInstrInfo::getDesc(MCII, MCI).isPseudo() && in isCanon()
430 !HexagonMCInstrInfo::isPrefix(MCII, MCI) && in isCanon()
431 HexagonMCInstrInfo::getType(MCII, MCI) != HexagonII::TypeENDLOOP); in isCanon()
434 bool HexagonMCInstrInfo::isCompound(MCInstrInfo const &MCII, in isCompound() argument
436 return (getType(MCII, MCI) == HexagonII::TypeCOMPOUND); in isCompound()
444 bool HexagonMCInstrInfo::isDuplex(MCInstrInfo const &MCII, MCInst const &MCI) { in isDuplex() argument
445 return HexagonII::TypeDUPLEX == HexagonMCInstrInfo::getType(MCII, MCI); in isDuplex()
456 bool HexagonMCInstrInfo::isConstExtended(MCInstrInfo const &MCII, in isConstExtended() argument
458 if (HexagonMCInstrInfo::isExtended(MCII, MCI)) in isConstExtended()
460 if (!HexagonMCInstrInfo::isExtendable(MCII, MCI)) in isConstExtended()
462 MCOperand const &MO = HexagonMCInstrInfo::getExtendableOperand(MCII, MCI); in isConstExtended()
467 if ((HexagonMCInstrInfo::getType(MCII, MCI) == HexagonII::TypeJ) || in isConstExtended()
468 (HexagonMCInstrInfo::getType(MCII, MCI) == HexagonII::TypeCOMPOUND && in isConstExtended()
469 HexagonMCInstrInfo::getDesc(MCII, MCI).isBranch()) || in isConstExtended()
470 (HexagonMCInstrInfo::getType(MCII, MCI) == HexagonII::TypeNV && in isConstExtended()
471 HexagonMCInstrInfo::getDesc(MCII, MCI).isBranch())) in isConstExtended()
474 else if ((HexagonMCInstrInfo::getType(MCII, MCI) == HexagonII::TypeCR) && in isConstExtended()
485 int MinValue = HexagonMCInstrInfo::getMinValue(MCII, MCI); in isConstExtended()
486 int MaxValue = HexagonMCInstrInfo::getMaxValue(MCII, MCI); in isConstExtended()
490 bool HexagonMCInstrInfo::isExtendable(MCInstrInfo const &MCII, in isExtendable() argument
492 uint64_t const F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isExtendable()
496 bool HexagonMCInstrInfo::isExtended(MCInstrInfo const &MCII, in isExtended() argument
498 uint64_t const F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isExtended()
502 bool HexagonMCInstrInfo::isFloat(MCInstrInfo const &MCII, MCInst const &MCI) { in isFloat() argument
503 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isFloat()
529 bool HexagonMCInstrInfo::isNewValue(MCInstrInfo const &MCII, in isNewValue() argument
531 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isNewValue()
536 bool HexagonMCInstrInfo::isOperandExtended(MCInstrInfo const &MCII, in isOperandExtended() argument
539 uint64_t const F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isOperandExtended()
550 bool HexagonMCInstrInfo::isPredicated(MCInstrInfo const &MCII, in isPredicated() argument
552 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isPredicated()
556 bool HexagonMCInstrInfo::isPredicateLate(MCInstrInfo const &MCII, in isPredicateLate() argument
558 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isPredicateLate()
563 bool HexagonMCInstrInfo::isPredicatedNew(MCInstrInfo const &MCII, in isPredicatedNew() argument
565 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isPredicatedNew()
569 bool HexagonMCInstrInfo::isPredicatedTrue(MCInstrInfo const &MCII, in isPredicatedTrue() argument
571 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isPredicatedTrue()
580 bool HexagonMCInstrInfo::isPrefix(MCInstrInfo const &MCII, MCInst const &MCI) { in isPrefix() argument
581 return (HexagonMCInstrInfo::getType(MCII, MCI) == HexagonII::TypePREFIX); in isPrefix()
584 bool HexagonMCInstrInfo::isSolo(MCInstrInfo const &MCII, MCInst const &MCI) { in isSolo() argument
585 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isSolo()
661 bool HexagonMCInstrInfo::isSoloAX(MCInstrInfo const &MCII, MCInst const &MCI) { in isSoloAX() argument
662 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isSoloAX()
666 bool HexagonMCInstrInfo::isSoloAin1(MCInstrInfo const &MCII, in isSoloAin1() argument
668 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isSoloAin1()
672 bool HexagonMCInstrInfo::isVector(MCInstrInfo const &MCII, MCInst const &MCI) { in isVector() argument
673 if ((getType(MCII, MCI) <= HexagonII::TypeCVI_LAST) && in isVector()
674 (getType(MCII, MCI) >= HexagonII::TypeCVI_FIRST)) in isVector()
723 bool HexagonMCInstrInfo::prefersSlot3(MCInstrInfo const &MCII, in prefersSlot3() argument
725 if (HexagonMCInstrInfo::getType(MCII, MCI) == HexagonII::TypeCR) in prefersSlot3()
728 unsigned SchedClass = HexagonMCInstrInfo::getDesc(MCII, MCI).getSchedClass(); in prefersSlot3()