Lines Matching refs:MCInst
1 //===- HexagonMCInstrInfo.cpp - Hexagon sub-class of MCInst ---------------===//
23 #include "llvm/MC/MCInst.h"
40 MCInst const &Inst)
46 MCInst const &Inst, std::nullptr_t)
62 MCInst const &Inst = *BundleCurrent->getInst();
71 MCInst const &Hexagon::PacketIterator::operator*() const {
82 void HexagonMCInstrInfo::addConstant(MCInst &MI, uint64_t Value,
88 MCInstrInfo const &MCII, MCInst &MCB,
89 MCInst const &MCI) {
95 MCInst *XMCI =
96 new (Context) MCInst(HexagonMCInstrInfo::deriveExtender(MCII, MCI, exOp));
104 MCInst const &MCI) {
110 iterator_range<MCInst::const_iterator>
111 HexagonMCInstrInfo::bundleInstructions(MCInst const &MCI) {
116 size_t HexagonMCInstrInfo::bundleSize(MCInst const &MCI) {
125 MCContext &Context, MCInst &MCB,
166 MCContext &Context, MCInst &MCB,
184 MCInst HexagonMCInstrInfo::deriveExtender(MCInstrInfo const &MCII,
185 MCInst const &Inst,
190 MCInst XMI;
201 MCInst *HexagonMCInstrInfo::deriveDuplex(MCContext &Context, unsigned iClass,
202 MCInst const &inst0,
203 MCInst const &inst1) {
205 MCInst *duplexInst = new (Context) MCInst;
208 MCInst *SubInst0 = new (Context) MCInst(deriveSubInst(inst0));
209 MCInst *SubInst1 = new (Context) MCInst(deriveSubInst(inst1));
215 MCInst const *HexagonMCInstrInfo::extenderForIndex(MCInst const &MCB,
220 MCInst const *Inst =
228 MCInstrInfo const &MCII, MCInst &MCB,
229 MCInst const &MCI) {
235 MCInst const &MCI) {
242 MCInst const &MCI) {
249 MCInst const &MCI) {
310 MCInst const &MCI) {
317 MCInst const &MCI) {
328 MCInst const &MCI) {
334 MCInst const &MCI) {
340 MCInst const &MCI) {
347 MCInst const &MCI) {
358 MCInst const &MCI) {
368 MCInst const &MCI) {
373 MCInst const &MCI) {
379 MCInst const &MCI) {
398 MCInst const &MCI) {
405 MCInst const &MCI) {
417 MCInst const &MCI) {
425 MCInst const &MCI) {
445 MCInst const &MCI) {
456 MCInst const &MCI) {
477 bool HexagonMCInstrInfo::hasDuplex(MCInstrInfo const &MCII, MCInst const &MCI) {
489 bool HexagonMCInstrInfo::hasExtenderForIndex(MCInst const &MCB, size_t Index) {
493 bool HexagonMCInstrInfo::hasImmExt(MCInst const &MCI) {
507 MCInst const &MCI) {
514 MCInst const &MCI) {
519 MCInst const &HexagonMCInstrInfo::instruction(MCInst const &MCB, size_t Index) {
527 MCInst const &MCI) {
532 bool HexagonMCInstrInfo::isBundle(MCInst const &MCI) {
539 MCInst const &MCI) {
572 bool HexagonMCInstrInfo::isCanon(MCInstrInfo const &MCII, MCInst const &MCI) {
577 bool HexagonMCInstrInfo::isCofMax1(MCInstrInfo const &MCII, MCInst const &MCI) {
583 MCInst const &MCI) {
589 MCInst const &MCI) {
595 MCInst const &MCI) {
599 bool HexagonMCInstrInfo::isCVINew(MCInstrInfo const &MCII, MCInst const &MCI) {
609 bool HexagonMCInstrInfo::isDuplex(MCInstrInfo const &MCII, MCInst const &MCI) {
614 MCInst const &MCI) {
620 MCInst const &MCI) {
625 bool HexagonMCInstrInfo::isFloat(MCInstrInfo const &MCII, MCInst const &MCI) {
630 bool HexagonMCInstrInfo::isHVX(MCInstrInfo const &MCII, MCInst const &MCI) {
635 bool HexagonMCInstrInfo::isImmext(MCInst const &MCI) {
639 bool HexagonMCInstrInfo::isInnerLoop(MCInst const &MCI) {
656 MCInst const &MCI) {
662 MCInst const &MCI) {
669 MCInst const &MCI, unsigned short O) {
673 bool HexagonMCInstrInfo::isOuterLoop(MCInst const &MCI) {
719 MCInst const &MCI) {
724 bool HexagonMCInstrInfo::isPrefix(MCInstrInfo const &MCII, MCInst const &MCI) {
729 MCInst const &MCI) {
736 MCInst const &MCI) {
742 MCInst const &MCI) {
754 MCInst const &Inst, unsigned I) {
762 bool HexagonMCInstrInfo::isSoloAX(MCInstrInfo const &MCII, MCInst const &MCI) {
769 MCInst const &MCI) {
776 MCInst const &MCI) {
783 bool HexagonMCInstrInfo::isSolo(MCInstrInfo const &MCII, MCInst const &MCI) {
788 bool HexagonMCInstrInfo::isMemReorderDisabled(MCInst const &MCI) {
794 bool HexagonMCInstrInfo::isSubInstruction(MCInst const &MCI) {
854 bool HexagonMCInstrInfo::isVector(MCInstrInfo const &MCII, MCInst const &MCI) {
859 int64_t HexagonMCInstrInfo::minConstant(MCInst const &MCI, size_t Index) {
914 void HexagonMCInstrInfo::padEndloop(MCInst &MCB, MCContext &Context) {
915 MCInst Nop;
922 MCB.addOperand(MCOperand::createInst(new (Context) MCInst(Nop)));
926 HexagonMCInstrInfo::predicateInfo(MCInstrInfo const &MCII, MCInst const &MCI) {
937 MCInst const &MCI) {
943 bool HexagonMCInstrInfo::hasTmpDst(MCInstrInfo const &MCII, MCInst const &MCI) {
949 MCInst const &MCI) {
961 MCInst const &MCI) {
964 MCInst const &MCI = *HMI.getInst();
975 void HexagonMCInstrInfo::replaceDuplex(MCContext &Context, MCInst &MCB,
980 MCInst *Duplex =
989 void HexagonMCInstrInfo::setInnerLoop(MCInst &MCI) {
995 void HexagonMCInstrInfo::setMemReorderDisabled(MCInst &MCI) {
1002 void HexagonMCInstrInfo::setOuterLoop(MCInst &MCI) {