Lines Matching refs:Operands

60                           OperandVector *Operands);
67 SMLoc NameLoc, OperandVector &Operands) override;
74 OperandVector &Operands, MCStreamer &Out,
82 OperandMatchResultTy parseOperand(OperandVector *Operands,
85 OperandMatchResultTy parseMemoryOperand(OperandVector &Operands);
653 OperandVector &Operands, in MatchAndEmitInstruction() argument
660 switch (MatchInstructionImpl(Operands, Inst, ErrorInfo, MatchingInlineAsm)) { in MatchAndEmitInstruction()
672 if (ErrorInfo >= Operands.size()) in MatchAndEmitInstruction()
675 ErrorLoc = ((LanaiOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
891 LanaiAsmParser::parseMemoryOperand(OperandVector &Operands) { in parseMemoryOperand() argument
904 if (Operands[0]->isToken()) in parseMemoryOperand()
905 Type = static_cast<LanaiOperand *>(Operands[0].get())->getToken(); in parseMemoryOperand()
926 Operands.push_back(std::move(Op)); in parseMemoryOperand()
947 Operands.push_back(LanaiOperand::MorphToMemImm(std::move(Op))); in parseMemoryOperand()
955 Operands.push_back(LanaiOperand::MorphToMemRegImm( in parseMemoryOperand()
1013 Operands.push_back( in parseMemoryOperand()
1025 LanaiAsmParser::parseOperand(OperandVector *Operands, StringRef Mnemonic) { in parseOperand() argument
1028 OperandMatchResultTy Result = MatchOperandParserImpl(*Operands, Mnemonic); in parseOperand()
1052 Operands->push_back(std::move(Op)); in parseOperand()
1060 OperandVector *Operands) { in splitMnemonic() argument
1081 Operands->push_back(LanaiOperand::CreateToken(Mnemonic, NameLoc)); in splitMnemonic()
1082 Operands->push_back(LanaiOperand::createImm( in splitMnemonic()
1085 Operands->push_back(LanaiOperand::CreateToken(".r", NameLoc)); in splitMnemonic()
1110 Operands->push_back(LanaiOperand::CreateToken(Mnemonic, NameLoc)); in splitMnemonic()
1111 Operands->push_back(LanaiOperand::createImm( in splitMnemonic()
1117 Operands->push_back(LanaiOperand::CreateToken(Mnemonic, NameLoc)); in splitMnemonic()
1119 Operands->push_back(LanaiOperand::CreateToken(".r", NameLoc)); in splitMnemonic()
1125 static bool IsMemoryAssignmentError(const OperandVector &Operands) { in IsMemoryAssignmentError() argument
1135 if (Operands.size() < 5) in IsMemoryAssignmentError()
1137 else if (Operands[0]->isToken() && Operands[1]->isReg() && in IsMemoryAssignmentError()
1138 Operands[2]->isImm() && Operands[3]->isImm() && Operands[4]->isReg()) in IsMemoryAssignmentError()
1140 else if (Operands[0]->isToken() && Operands[1]->isToken() && in IsMemoryAssignmentError()
1141 Operands[2]->isReg() && Operands[3]->isImm() && in IsMemoryAssignmentError()
1142 Operands[4]->isImm() && Operands[5]->isReg()) in IsMemoryAssignmentError()
1151 static_cast<LanaiOperand *>(Operands[PossibleAluOpIdx].get())) in IsMemoryAssignmentError()
1156 return Modifies && Operands[PossibleBaseIdx]->isReg() && in IsMemoryAssignmentError()
1157 Operands[PossibleDestIdx]->isReg() && in IsMemoryAssignmentError()
1158 Operands[PossibleBaseIdx]->getReg() == in IsMemoryAssignmentError()
1159 Operands[PossibleDestIdx]->getReg(); in IsMemoryAssignmentError()
1166 static bool MaybePredicatedInst(const OperandVector &Operands) { in MaybePredicatedInst() argument
1167 if (Operands.size() < 4 || !IsRegister(*Operands[1]) || in MaybePredicatedInst()
1168 !IsRegister(*Operands[2])) in MaybePredicatedInst()
1171 static_cast<const LanaiOperand &>(*Operands[0]).getToken()) in MaybePredicatedInst()
1185 OperandVector &Operands) { in ParseInstruction() argument
1187 StringRef Mnemonic = splitMnemonic(Name, NameLoc, &Operands); in ParseInstruction()
1194 if (parseOperand(&Operands, Mnemonic) != MatchOperand_Success) in ParseInstruction()
1200 Operands.size() == 2) { in ParseInstruction()
1201 Operands.erase(Operands.begin(), Operands.begin() + 1); in ParseInstruction()
1202 Operands.insert(Operands.begin(), LanaiOperand::CreateToken("s", NameLoc)); in ParseInstruction()
1203 Operands.insert(Operands.begin() + 1, in ParseInstruction()
1213 Operands.size() == 3) { in ParseInstruction()
1214 Operands.erase(Operands.begin(), Operands.begin() + 2); in ParseInstruction()
1215 Operands.insert(Operands.begin(), LanaiOperand::CreateToken("bt", NameLoc)); in ParseInstruction()
1224 if (parseOperand(&Operands, Mnemonic) != MatchOperand_Success) in ParseInstruction()
1228 if (IsMemoryAssignmentError(Operands)) { in ParseInstruction()
1237 if (MaybePredicatedInst(Operands)) { in ParseInstruction()
1238 Operands.insert(Operands.begin() + 1, in ParseInstruction()