HomeSort by relevance Sort by last modified time
    Searched refs:HexagonMCInstrInfo (Results 1 - 16 of 16) sorted by null

  /external/llvm/lib/Target/Hexagon/MCTargetDesc/
HexagonMCInstrInfo.cpp 1 //===- HexagonMCInstrInfo.cpp - Hexagon sub-class of MCInst ---------------===//
14 #include "HexagonMCInstrInfo.h"
26 void HexagonMCInstrInfo::addConstant(MCInst &MI, uint64_t Value,
31 void HexagonMCInstrInfo::addConstExtender(MCContext &Context,
34 assert(HexagonMCInstrInfo::isBundle(MCB));
36 MCI.getOperand(HexagonMCInstrInfo::getExtendableOp(MCII, MCI));
40 new (Context) MCInst(HexagonMCInstrInfo::deriveExtender(MCII, MCI, exOp));
46 HexagonMCInstrInfo::bundleInstructions(MCInst const &MCI) {
51 size_t HexagonMCInstrInfo::bundleSize(MCInst const &MCI) {
52 if (HexagonMCInstrInfo::isBundle(MCI)
    [all...]
HexagonMCChecker.cpp 38 if (HexagonMCInstrInfo::isInnerLoop(MCB)) {
42 if (HexagonMCInstrInfo::isOuterLoop(MCB)) {
47 if (HexagonMCInstrInfo::isBundle(MCB))
49 for (auto const&I : HexagonMCInstrInfo::bundleInstructions(MCB)) {
57 const MCInstrDesc& MCID = HexagonMCInstrInfo::getDesc(MCII, MCI);
66 if (HexagonMCInstrInfo::isPredicated(MCII, MCI) && isPredicateRegister(R)) {
69 isTrue = HexagonMCInstrInfo::isPredicatedTrue(MCII, MCI);
72 if (HexagonMCInstrInfo::isPredicatedNew(MCII, MCI))
108 HexagonMCInstrInfo::isPredicateLate(MCII, MCI))
149 else if (HexagonMCInstrInfo::isPredicateLate(MCII, MCI) && isPredicateRegister(*SRI)
    [all...]
HexagonMCShuffler.cpp 18 #include "MCTargetDesc/HexagonMCInstrInfo.h"
32 if (HexagonMCInstrInfo::isBundle(MCB)) {
35 for (const auto &I : HexagonMCInstrInfo::bundleInstructions(MCB)) {
36 assert(!HexagonMCInstrInfo::getDesc(MCII, *I.getInst()).isPseudo());
39 if (!HexagonMCInstrInfo::isImmext(*MI)) {
40 append(MI, Extender, HexagonMCInstrInfo::getUnits(MCII, STI, *MI),
53 if (HexagonMCInstrInfo::isBundle(MCB)) {
55 append(AddMI, nullptr, HexagonMCInstrInfo::getUnits(MCII, STI, *AddMI),
59 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCB)) {
60 assert(!HexagonMCInstrInfo::getDesc(MCII, *I.getInst()).isPseudo())
    [all...]
HexagonMCDuplexInfo.cpp 15 #include "MCTargetDesc/HexagonMCInstrInfo.h"
83 bool HexagonMCInstrInfo::isDuplexPairMatch(unsigned Ga, unsigned Gb) {
108 unsigned HexagonMCInstrInfo::iClassOfDuplexPair(unsigned Ga, unsigned Gb) {
177 unsigned HexagonMCInstrInfo::getDuplexCandidateGroup(MCInst const &MCI) {
193 if (HexagonMCInstrInfo::isIntRegForSubInst(DstReg)) {
194 if (HexagonMCInstrInfo::isIntReg(SrcReg) &&
199 if (HexagonMCInstrInfo::isIntRegForSubInst(SrcReg) &&
209 if (HexagonMCInstrInfo::isIntRegForSubInst(DstReg) &&
210 HexagonMCInstrInfo::isIntRegForSubInst(SrcReg) &&
230 if (HexagonMCInstrInfo::isIntRegForSubInst(DstReg) &
    [all...]
HexagonMCELFStreamer.cpp 40 MCInst HMI = HexagonMCInstrInfo::createBundle();
51 HexagonMCInstrInfo::padEndloop(getContext(), *MCB);
54 assert(HexagonMCInstrInfo::bundleSize(*MCB) <= HEXAGON_PACKET_SIZE);
56 for (auto &I : HexagonMCInstrInfo::bundleInstructions(*MCB)) {
59 if (HexagonMCInstrInfo::isDuplex(*MCII, *MCI)) {
61 HexagonMCInstrInfo::clampExtended(*MCII, getContext(), *SubInst);
63 HexagonMCInstrInfo::clampExtended(*MCII, getContext(), *MCI);
67 Extended = HexagonMCInstrInfo::isImmext(*MCI);
73 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(*MCB)) {
HexagonShuffler.cpp 22 #include "MCTargetDesc/HexagonMCInstrInfo.h"
125 unsigned T = HexagonMCInstrInfo::getType(MCII, *id);
132 setLoad(HexagonMCInstrInfo::getDesc(MCII, *id).mayLoad());
133 setStore(HexagonMCInstrInfo::getDesc(MCII, *id).mayStore());
197 if (HexagonMCInstrInfo::isSolo(MCII, *ID))
199 else if (HexagonMCInstrInfo::isSoloAX(MCII, *ID))
201 else if (HexagonMCInstrInfo::isSoloAin1(MCII, *ID))
203 if (HexagonMCInstrInfo::getType(MCII, *ID) != HexagonII::TypeALU32 &&
204 HexagonMCInstrInfo::getType(MCII, *ID) != HexagonII::TypeXTYPE)
206 if (HexagonMCInstrInfo::prefersSlot3(MCII, *ID))
    [all...]
HexagonInstPrinter.cpp 17 #include "MCTargetDesc/HexagonMCInstrInfo.h"
50 HasExtender = HexagonMCInstrInfo::isImmext(MCI);
55 assert(HexagonMCInstrInfo::isBundle(*MI));
56 assert(HexagonMCInstrInfo::bundleSize(*MI) <= HEXAGON_PACKET_SIZE);
57 assert(HexagonMCInstrInfo::bundleSize(*MI) > 0);
59 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(*MI)) {
61 if (HexagonMCInstrInfo::isDuplex(MII, MCI)) {
73 if (HexagonMCInstrInfo::isInnerLoop(*MI)) {
80 if (HexagonMCInstrInfo::isOuterLoop(*MI)) {
90 if (HexagonMCInstrInfo::getExtendableOp(MII, *MI) == OpNo &
    [all...]
HexagonMCCompound.cpp 104 HexagonMCInstrInfo::isIntRegForSubInst(Src1Reg) &&
105 HexagonMCInstrInfo::isIntRegForSubInst(Src2Reg))
117 HexagonMCInstrInfo::isIntRegForSubInst(SrcReg) &&
118 (HexagonMCInstrInfo::inRange<5>(MI, 2) ||
119 HexagonMCInstrInfo::minConstant(MI, 2) == -1))
128 if (HexagonMCInstrInfo::isIntRegForSubInst(DstReg) &&
129 HexagonMCInstrInfo::isIntRegForSubInst(SrcReg))
137 if (HexagonMCInstrInfo::minConstant(MI, 1) <= 63 &&
138 HexagonMCInstrInfo::minConstant(MI, 1) >= 0 &&
139 HexagonMCInstrInfo::isIntRegForSubInst(DstReg)
    [all...]
HexagonMCCodeEmitter.cpp 14 #include "MCTargetDesc/HexagonMCInstrInfo.h"
43 bool Duplex = HexagonMCInstrInfo::isDuplex(MCII, MCI);
45 if (HexagonMCInstrInfo::isInnerLoop(MCB)) {
52 if (HexagonMCInstrInfo::isOuterLoop(MCB)) {
72 assert(HexagonMCInstrInfo::isBundle(HMB));
78 size_t Last = HexagonMCInstrInfo::bundleSize(HMB) - 1;
79 for (auto &I : HexagonMCInstrInfo::bundleInstructions(HMB)) {
84 *Extended = HexagonMCInstrInfo::isImmext(HMI);
109 assert(!HexagonMCInstrInfo::isBundle(HMB));
120 assert(!HexagonMCInstrInfo::getDesc(MCII, HMB).isPseudo() &
    [all...]
HexagonAsmBackend.cpp 16 #include "MCTargetDesc/HexagonMCInstrInfo.h"
523 const MCInstrDesc &MCID = HexagonMCInstrInfo::getDesc(*MCII, HMI);
526 if (llvm::HexagonMCInstrInfo::getType(*MCII, HMI) == HexagonII::TypeJ ||
527 (llvm::HexagonMCInstrInfo::getType(*MCII, HMI) ==
530 (llvm::HexagonMCInstrInfo::getType(*MCII, HMI) == HexagonII::TypeNV &&
532 (llvm::HexagonMCInstrInfo::getType(*MCII, HMI) == HexagonII::TypeCR &&
534 if (HexagonMCInstrInfo::isExtendable(*MCII, HMI)) {
537 HMI.getOperand(HexagonMCInstrInfo::getExtendableOp(*MCII, HMI));
538 if (HexagonMCInstrInfo::mustNotExtend(*Operand.getExpr()))
560 assert(HexagonMCInstrInfo::isBundle(MCB))
    [all...]
HexagonMCTargetDesc.cpp 119 assert(HexagonMCInstrInfo::isBundle(Inst));
120 assert(HexagonMCInstrInfo::bundleSize(Inst) <= HEXAGON_PACKET_SIZE);
HexagonMCInstrInfo.h 1 //===- HexagonMCInstrInfo.cpp - Utility functions on Hexagon MCInsts ------===//
37 namespace HexagonMCInstrInfo {
  /external/llvm/lib/Target/Hexagon/Disassembler/
HexagonDisassembler.cpp 16 #include "MCTargetDesc/HexagonMCInstrInfo.h"
164 MI = HexagonMCInstrInfo::createBundle();
199 auto BundleSize = HexagonMCInstrInfo::bundleSize(MCB);
203 HexagonMCInstrInfo::setInnerLoop(MCB);
205 HexagonMCInstrInfo::setOuterLoop(MCB);
332 if (llvm::HexagonMCInstrInfo::getType(*MCII, MI) ==
344 if (HexagonMCInstrInfo::isNewValue(*MCII, MI)) {
345 unsigned OpIndex = HexagonMCInstrInfo::getNewValueOp(*MCII, MI);
355 bool Vector = HexagonMCInstrInfo::isVector(*MCII, MI);
356 auto Instructions = HexagonMCInstrInfo::bundleInstructions(**CurrentBundle)
    [all...]
  /external/llvm/lib/Target/Hexagon/
HexagonMCInstLower.cpp 18 #include "MCTargetDesc/HexagonMCInstrInfo.h"
85 HexagonMCInstrInfo::setMustExtend(*ME, MustExtend);
93 HexagonMCInstrInfo::setInnerLoop(MCB);
97 HexagonMCInstrInfo::setOuterLoop(MCB);
127 HexagonMCInstrInfo::setMustExtend(*Expr, MustExtend);
134 HexagonMCInstrInfo::setMustExtend(*Expr, MustExtend);
142 HexagonMCInstrInfo::setMustExtend(*Expr, MustExtend);
168 HexagonMCInstrInfo::extendIfNeeded(AP.OutContext, MCII, MCB, *MCI);
HexagonAsmPrinter.cpp 22 #include "MCTargetDesc/HexagonMCInstrInfo.h"
268 HexagonMCInstrInfo::setMustNotExtend(*S16.getExpr());
269 HexagonMCInstrInfo::setS23_2_reloc(*S16.getExpr());
586 MCInst MCB = HexagonMCInstrInfo::createBundle();
604 bool Ok = HexagonMCInstrInfo::canonicalizePacket(
608 if(HexagonMCInstrInfo::bundleSize(MCB) == 0)
  /external/llvm/lib/Target/Hexagon/AsmParser/
HexagonAsmParser.cpp 141 MCII (MII), MCB(HexagonMCInstrInfo::createBundle()), InBrackets(false) {
245 const MCExpr *myMCExpr = &HexagonMCInstrInfo::getExpr(*getImm());
246 if (HexagonMCInstrInfo::mustExtend(*Imm.Val) && !Extendable)
557 dyn_cast<MCConstantExpr>(&HexagonMCInstrInfo::getExpr(*getImm()));
564 dyn_cast<MCConstantExpr>(&HexagonMCInstrInfo::getExpr(*getImm()));
629 bool CheckOk = HexagonMCInstrInfo::canonicalizePacket(MCII, getSTI(),
660 Twine N(HexagonMCInstrInfo::isInnerLoop(MCB) ? '0' : '1');
710 if (HexagonMCInstrInfo::bundleSize(MCB) == 0) {
711 assert(!HexagonMCInstrInfo::isInnerLoop(MCB));
712 assert(!HexagonMCInstrInfo::isOuterLoop(MCB))
    [all...]

Completed in 360 milliseconds