Lines Matching refs:MCI
18 void HexagonMCInstrInfo::AppendImplicitOperands(MCInst &MCI) { in AppendImplicitOperands() argument
19 MCI.addOperand(MCOperand::CreateImm(0)); in AppendImplicitOperands()
20 MCI.addOperand(MCOperand::CreateInst(nullptr)); in AppendImplicitOperands()
24 MCInst const &MCI) { in getBitCount() argument
25 uint64_t const F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getBitCount()
31 MCInst const &MCI) { in getCExtOpNum() argument
32 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getCExtOpNum()
37 MCInst const &MCI) { in getDesc() argument
38 return (MCII.get(MCI.getOpcode())); in getDesc()
41 std::bitset<16> HexagonMCInstrInfo::GetImplicitBits(MCInst const &MCI) { in GetImplicitBits() argument
42 SanityCheckImplicitOperands(MCI); in GetImplicitBits()
43 std::bitset<16> Bits(MCI.getOperand(MCI.getNumOperands() - 2).getImm()); in GetImplicitBits()
50 MCInst const &MCI) { in getMaxValue() argument
51 uint64_t const F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getMaxValue()
65 MCInst const &MCI) { in getMinValue() argument
66 uint64_t const F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getMinValue()
79 MCInst const &MCI) { in getNewValue() argument
80 uint64_t const F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getNewValue()
83 MCOperand const &MCO = MCI.getOperand(O); in getNewValue()
85 assert((HexagonMCInstrInfo::isNewValue(MCII, MCI) || in getNewValue()
86 HexagonMCInstrInfo::hasNewValue(MCII, MCI)) && in getNewValue()
93 MCInst const &MCI) { in getType() argument
94 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in getType()
101 MCInst const &MCI) { in hasNewValue() argument
102 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in hasNewValue()
107 bool HexagonMCInstrInfo::isCanon(MCInstrInfo const &MCII, MCInst const &MCI) { in isCanon() argument
108 return (!HexagonMCInstrInfo::getDesc(MCII, MCI).isPseudo() && in isCanon()
109 !HexagonMCInstrInfo::isPrefix(MCII, MCI) && in isCanon()
110 HexagonMCInstrInfo::getType(MCII, MCI) != HexagonII::TypeENDLOOP); in isCanon()
122 MCInst const &MCI) { in isConstExtended() argument
123 if (HexagonMCInstrInfo::isExtended(MCII, MCI)) in isConstExtended()
126 if (!HexagonMCInstrInfo::isExtendable(MCII, MCI)) in isConstExtended()
129 short ExtOpNum = HexagonMCInstrInfo::getCExtOpNum(MCII, MCI); in isConstExtended()
130 int MinValue = HexagonMCInstrInfo::getMinValue(MCII, MCI); in isConstExtended()
131 int MaxValue = HexagonMCInstrInfo::getMaxValue(MCII, MCI); in isConstExtended()
132 MCOperand const &MO = MCI.getOperand(ExtOpNum); in isConstExtended()
153 MCInst const &MCI) { in isExtendable() argument
154 uint64_t const F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isExtendable()
160 MCInst const &MCI) { in isExtended() argument
161 uint64_t const F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isExtended()
167 MCInst const &MCI) { in isNewValue() argument
168 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isNewValue()
174 MCInst const &MCI, in isOperandExtended() argument
176 uint64_t const F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isOperandExtended()
181 bool HexagonMCInstrInfo::isPacketBegin(MCInst const &MCI) { in isPacketBegin() argument
182 std::bitset<16> Bits(GetImplicitBits(MCI)); in isPacketBegin()
186 bool HexagonMCInstrInfo::isPacketEnd(MCInst const &MCI) { in isPacketEnd() argument
187 std::bitset<16> Bits(GetImplicitBits(MCI)); in isPacketEnd()
192 bool HexagonMCInstrInfo::isPrefix(MCInstrInfo const &MCII, MCInst const &MCI) { in isPrefix() argument
193 return (HexagonMCInstrInfo::getType(MCII, MCI) == HexagonII::TypePREFIX); in isPrefix()
197 bool HexagonMCInstrInfo::isSolo(MCInstrInfo const &MCII, MCInst const &MCI) { in isSolo() argument
198 const uint64_t F = HexagonMCInstrInfo::getDesc(MCII, MCI).TSFlags; in isSolo()
202 void HexagonMCInstrInfo::resetPacket(MCInst &MCI) { in resetPacket() argument
203 setPacketBegin(MCI, false); in resetPacket()
204 setPacketEnd(MCI, false); in resetPacket()
207 void HexagonMCInstrInfo::SetImplicitBits(MCInst &MCI, std::bitset<16> Bits) { in SetImplicitBits() argument
208 SanityCheckImplicitOperands(MCI); in SetImplicitBits()
209 MCI.getOperand(MCI.getNumOperands() - 2).setImm(Bits.to_ulong()); in SetImplicitBits()
212 void HexagonMCInstrInfo::setPacketBegin(MCInst &MCI, bool f) { in setPacketBegin() argument
213 std::bitset<16> Bits(GetImplicitBits(MCI)); in setPacketBegin()
215 SetImplicitBits(MCI, Bits); in setPacketBegin()
218 void HexagonMCInstrInfo::setPacketEnd(MCInst &MCI, bool f) { in setPacketEnd() argument
219 std::bitset<16> Bits(GetImplicitBits(MCI)); in setPacketEnd()
221 SetImplicitBits(MCI, Bits); in setPacketEnd()