Lines Matching refs:Operands

157   bool parseSysAlias(StringRef Name, SMLoc NameLoc, OperandVector &Operands);
158 void createSysAlias(uint16_t Encoding, OperandVector &Operands, SMLoc S);
160 bool parseCondCode(OperandVector &Operands, bool invertCondCode);
162 bool parseRegister(OperandVector &Operands);
164 bool parseNeonVectorList(OperandVector &Operands);
165 bool parseOptionalMulOperand(OperandVector &Operands);
166 bool parseKeywordOperand(OperandVector &Operands);
167 bool parseOperand(OperandVector &Operands, bool isCondCode,
175 OperandVector &Operands);
222 OperandVector &Operands, MCStreamer &Out,
236 OperandMatchResultTy tryParseMatrixRegister(OperandVector &Operands);
237 OperandMatchResultTy tryParseSVCR(OperandVector &Operands);
238 OperandMatchResultTy tryParseOptionalShiftExtend(OperandVector &Operands);
239 OperandMatchResultTy tryParseBarrierOperand(OperandVector &Operands);
240 OperandMatchResultTy tryParseBarriernXSOperand(OperandVector &Operands);
241 OperandMatchResultTy tryParseMRSSystemRegister(OperandVector &Operands);
242 OperandMatchResultTy tryParseSysReg(OperandVector &Operands);
243 OperandMatchResultTy tryParseSysCROperand(OperandVector &Operands);
245 OperandMatchResultTy tryParsePrefetch(OperandVector &Operands);
246 OperandMatchResultTy tryParsePSBHint(OperandVector &Operands);
247 OperandMatchResultTy tryParseBTIHint(OperandVector &Operands);
248 OperandMatchResultTy tryParseAdrpLabel(OperandVector &Operands);
249 OperandMatchResultTy tryParseAdrLabel(OperandVector &Operands);
251 OperandMatchResultTy tryParseFPImm(OperandVector &Operands);
252 OperandMatchResultTy tryParseImmWithOptionalShift(OperandVector &Operands);
253 OperandMatchResultTy tryParseGPR64sp0Operand(OperandVector &Operands);
254 bool tryParseNeonVectorRegister(OperandVector &Operands);
255 OperandMatchResultTy tryParseVectorIndex(OperandVector &Operands);
256 OperandMatchResultTy tryParseGPRSeqPair(OperandVector &Operands);
259 OperandMatchResultTy tryParseGPROperand(OperandVector &Operands);
261 OperandMatchResultTy tryParseSVEDataVector(OperandVector &Operands);
262 OperandMatchResultTy tryParseSVEPredicateVector(OperandVector &Operands);
264 OperandMatchResultTy tryParseVectorList(OperandVector &Operands,
266 OperandMatchResultTy tryParseMatrixTileList(OperandVector &Operands);
267 OperandMatchResultTy tryParseSVEPattern(OperandVector &Operands);
268 OperandMatchResultTy tryParseGPR64x8(OperandVector &Operands);
303 SMLoc NameLoc, OperandVector &Operands) override;
2692 AArch64AsmParser::tryParseSysCROperand(OperandVector &Operands) { in tryParseSysCROperand() argument
2715 Operands.push_back( in tryParseSysCROperand()
2723 AArch64AsmParser::tryParsePrefetch(OperandVector &Operands) { in tryParsePrefetch() argument
2768 Operands.push_back(AArch64Operand::CreatePrefetch( in tryParsePrefetch()
2784 Operands.push_back(AArch64Operand::CreatePrefetch( in tryParsePrefetch()
2792 AArch64AsmParser::tryParsePSBHint(OperandVector &Operands) { in tryParsePSBHint() argument
2807 Operands.push_back(AArch64Operand::CreatePSBHint( in tryParsePSBHint()
2815 AArch64AsmParser::tryParseBTIHint(OperandVector &Operands) { in tryParseBTIHint() argument
2830 Operands.push_back(AArch64Operand::CreateBTIHint( in tryParseBTIHint()
2839 AArch64AsmParser::tryParseAdrpLabel(OperandVector &Operands) { in tryParseAdrpLabel() argument
2884 Operands.push_back(AArch64Operand::CreateImm(Expr, S, E, getContext())); in tryParseAdrpLabel()
2892 AArch64AsmParser::tryParseAdrLabel(OperandVector &Operands) { in tryParseAdrLabel() argument
2922 Operands.push_back(AArch64Operand::CreateImm(Expr, S, E, getContext())); in tryParseAdrLabel()
2929 AArch64AsmParser::tryParseFPImm(OperandVector &Operands) { in tryParseFPImm() argument
2954 Operands.push_back( in tryParseFPImm()
2970 Operands.push_back(AArch64Operand::CreateToken("#0", S, getContext())); in tryParseFPImm()
2971 Operands.push_back(AArch64Operand::CreateToken(".0", S, getContext())); in tryParseFPImm()
2973 Operands.push_back(AArch64Operand::CreateFPImm( in tryParseFPImm()
2985 AArch64AsmParser::tryParseImmWithOptionalShift(OperandVector &Operands) { in tryParseImmWithOptionalShift() argument
2999 Operands.push_back( in tryParseImmWithOptionalShift()
3034 Operands.push_back( in tryParseImmWithOptionalShift()
3039 Operands.push_back(AArch64Operand::CreateShiftedImm(Imm, ShiftAmount, S, in tryParseImmWithOptionalShift()
3086 bool AArch64AsmParser::parseCondCode(OperandVector &Operands, in parseCondCode() argument
3105 Operands.push_back( in parseCondCode()
3111 AArch64AsmParser::tryParseSVCR(OperandVector &Operands) { in tryParseSVCR() argument
3126 Operands.push_back( in tryParseSVCR()
3133 AArch64AsmParser::tryParseMatrixRegister(OperandVector &Operands) { in tryParseMatrixRegister() argument
3142 Operands.push_back(AArch64Operand::CreateMatrixRegister( in tryParseMatrixRegister()
3148 if (parseOperand(Operands, false, false)) in tryParseMatrixRegister()
3181 Operands.push_back(AArch64Operand::CreateMatrixRegister( in tryParseMatrixRegister()
3187 if (parseOperand(Operands, false, false)) in tryParseMatrixRegister()
3196 AArch64AsmParser::tryParseOptionalShiftExtend(OperandVector &Operands) { in tryParseOptionalShiftExtend() argument
3236 Operands.push_back( in tryParseOptionalShiftExtend()
3262 Operands.push_back(AArch64Operand::CreateShiftExtend( in tryParseOptionalShiftExtend()
3337 void AArch64AsmParser::createSysAlias(uint16_t Encoding, OperandVector &Operands, in createSysAlias() argument
3346 Operands.push_back( in createSysAlias()
3348 Operands.push_back( in createSysAlias()
3350 Operands.push_back( in createSysAlias()
3353 Operands.push_back( in createSysAlias()
3360 OperandVector &Operands) { in parseSysAlias() argument
3365 Operands.push_back(AArch64Operand::CreateToken("sys", NameLoc, getContext())); in parseSysAlias()
3381 createSysAlias(IC->Encoding, Operands, S); in parseSysAlias()
3391 createSysAlias(DC->Encoding, Operands, S); in parseSysAlias()
3401 createSysAlias(AT->Encoding, Operands, S); in parseSysAlias()
3411 createSysAlias(TLBI->Encoding, Operands, S); in parseSysAlias()
3428 createSysAlias(PRCTX->Encoding << 3 | PRCTX_Op2 , Operands, S); in parseSysAlias()
3438 if (Tok.isNot(AsmToken::Identifier) || parseRegister(Operands)) in parseSysAlias()
3455 AArch64AsmParser::tryParseBarrierOperand(OperandVector &Operands) { in tryParseBarrierOperand() argument
3487 Operands.push_back(AArch64Operand::CreateBarrier(Value, DB ? DB->Name : "", in tryParseBarrierOperand()
3519 Operands.push_back(AArch64Operand::CreateBarrier( in tryParseBarrierOperand()
3528 AArch64AsmParser::tryParseBarriernXSOperand(OperandVector &Operands) { in tryParseBarriernXSOperand() argument
3555 Operands.push_back(AArch64Operand::CreateBarrier(DB->Encoding, DB->Name, in tryParseBarriernXSOperand()
3574 Operands.push_back( in tryParseBarriernXSOperand()
3583 AArch64AsmParser::tryParseSysReg(OperandVector &Operands) { in tryParseSysReg() argument
3606 Operands.push_back( in tryParseSysReg()
3615 bool AArch64AsmParser::tryParseNeonVectorRegister(OperandVector &Operands) { in tryParseNeonVectorRegister() argument
3634 Operands.push_back( in tryParseNeonVectorRegister()
3641 Operands.push_back(AArch64Operand::CreateToken(Kind, S, getContext())); in tryParseNeonVectorRegister()
3643 return tryParseVectorIndex(Operands) == MatchOperand_ParseFail; in tryParseNeonVectorRegister()
3647 AArch64AsmParser::tryParseVectorIndex(OperandVector &Operands) { in tryParseVectorIndex() argument
3664 Operands.push_back(AArch64Operand::CreateVectorIndex(MCE->getValue(), SIdx, in tryParseVectorIndex()
3710 AArch64AsmParser::tryParseSVEPredicateVector(OperandVector &Operands) { in tryParseSVEPredicateVector() argument
3724 Operands.push_back(AArch64Operand::CreateVectorReg( in tryParseSVEPredicateVector()
3731 if (parseOperand(Operands, false, false)) in tryParseSVEPredicateVector()
3747 Operands.push_back(AArch64Operand::CreateToken("/", getLoc(), getContext())); in tryParseSVEPredicateVector()
3760 Operands.push_back(AArch64Operand::CreateToken(ZM, getLoc(), getContext())); in tryParseSVEPredicateVector()
3767 bool AArch64AsmParser::parseRegister(OperandVector &Operands) { in parseRegister() argument
3769 if (!tryParseNeonVectorRegister(Operands)) in parseRegister()
3773 if (tryParseGPROperand<false>(Operands) == MatchOperand_Success) in parseRegister()
3859 AArch64AsmParser::tryParseMatrixTileList(OperandVector &Operands) { in tryParseMatrixTileList() argument
3895 Operands.push_back(AArch64Operand::CreateMatrixTileList( in tryParseMatrixTileList()
3907 Operands.push_back(AArch64Operand::CreateMatrixTileList( in tryParseMatrixTileList()
3966 Operands.push_back( in tryParseMatrixTileList()
3974 AArch64AsmParser::tryParseVectorList(OperandVector &Operands, in tryParseVectorList() argument
4087 Operands.push_back(AArch64Operand::CreateVectorList( in tryParseVectorList()
4095 bool AArch64AsmParser::parseNeonVectorList(OperandVector &Operands) { in parseNeonVectorList() argument
4096 auto ParseRes = tryParseVectorList<RegKind::NeonVector>(Operands, true); in parseNeonVectorList()
4100 return tryParseVectorIndex(Operands) == MatchOperand_ParseFail; in parseNeonVectorList()
4104 AArch64AsmParser::tryParseGPR64sp0Operand(OperandVector &Operands) { in tryParseGPR64sp0Operand() argument
4113 Operands.push_back(AArch64Operand::CreateReg( in tryParseGPR64sp0Operand()
4132 Operands.push_back(AArch64Operand::CreateReg( in tryParseGPR64sp0Operand()
4139 AArch64AsmParser::tryParseGPROperand(OperandVector &Operands) { in tryParseGPROperand() argument
4149 Operands.push_back(AArch64Operand::CreateReg( in tryParseGPROperand()
4164 Operands.push_back(AArch64Operand::CreateReg( in tryParseGPROperand()
4172 bool AArch64AsmParser::parseOptionalMulOperand(OperandVector &Operands) { in parseOptionalMulOperand() argument
4185 Operands.push_back( in parseOptionalMulOperand()
4190 Operands.push_back( in parseOptionalMulOperand()
4204 Operands.push_back(AArch64Operand::CreateImm( in parseOptionalMulOperand()
4214 bool AArch64AsmParser::parseKeywordOperand(OperandVector &Operands) { in parseKeywordOperand() argument
4225 Operands.push_back( in parseKeywordOperand()
4234 bool AArch64AsmParser::parseOperand(OperandVector &Operands, bool isCondCode, in parseOperand() argument
4239 MatchOperandParserImpl(Operands, Mnemonic, /*ParseForAllFeatures=*/ true); in parseOperand()
4261 Operands.push_back(AArch64Operand::CreateImm(Expr, S, E, getContext())); in parseOperand()
4265 Operands.push_back( in parseOperand()
4271 return parseOperand(Operands, false, false); in parseOperand()
4274 if (!parseNeonVectorList(Operands)) in parseOperand()
4277 Operands.push_back( in parseOperand()
4283 return parseOperand(Operands, false, false); in parseOperand()
4288 return parseCondCode(Operands, invertCondCode); in parseOperand()
4291 if (!parseRegister(Operands)) in parseOperand()
4296 if (!parseOptionalMulOperand(Operands)) in parseOperand()
4302 return parseKeywordOperand(Operands); in parseOperand()
4305 OperandMatchResultTy GotShift = tryParseOptionalShiftExtend(Operands); in parseOperand()
4313 return parseKeywordOperand(Operands); in parseOperand()
4322 Operands.push_back(AArch64Operand::CreateImm(IdVal, S, E, getContext())); in parseOperand()
4358 Operands.push_back(AArch64Operand::CreateToken("#0", S, getContext())); in parseOperand()
4359 Operands.push_back(AArch64Operand::CreateToken(".0", S, getContext())); in parseOperand()
4368 Operands.push_back(AArch64Operand::CreateImm(ImmVal, S, E, getContext())); in parseOperand()
4380 if (Operands.size() < 2 || in parseOperand()
4381 !static_cast<AArch64Operand &>(*Operands[1]).isScalarReg()) in parseOperand()
4386 Operands[1]->getReg()); in parseOperand()
4399 Operands[0] = AArch64Operand::CreateToken("movz", Loc, Ctx); in parseOperand()
4400 Operands.push_back(AArch64Operand::CreateImm( in parseOperand()
4403 Operands.push_back(AArch64Operand::CreateShiftExtend(AArch64_AM::LSL, in parseOperand()
4415 Operands.push_back(AArch64Operand::CreateImm(CPLoc, S, E, Ctx)); in parseOperand()
4509 OperandVector &Operands) { in ParseInstruction() argument
4549 return parseSysAlias(Head, NameLoc, Operands); in ParseInstruction()
4551 Operands.push_back(AArch64Operand::CreateToken(Head, NameLoc, getContext())); in ParseInstruction()
4565 Operands.push_back(AArch64Operand::CreateToken(".", SuffixLoc, getContext(), in ParseInstruction()
4567 Operands.push_back( in ParseInstruction()
4578 Operands.push_back(AArch64Operand::CreateToken( in ParseInstruction()
4605 if (parseOperand(Operands, (N == 4 && condCodeFourthOperand) || in ParseInstruction()
4627 Operands.push_back( in ParseInstruction()
4630 Operands.push_back( in ParseInstruction()
4633 Operands.push_back( in ParseInstruction()
4950 OperandVector &Operands) { in showMatchError() argument
4954 static_cast<const AArch64Operand &>(*Operands[ErrorInfo]) in showMatchError()
5164 ((AArch64Operand &)*Operands[0]).getToken(), in showMatchError()
5308 OperandVector &Operands, in MatchAndEmitInstruction() argument
5312 assert(!Operands.empty() && "Unexpect empty operand list!"); in MatchAndEmitInstruction()
5313 AArch64Operand &Op = static_cast<AArch64Operand &>(*Operands[0]); in MatchAndEmitInstruction()
5317 unsigned NumOperands = Operands.size(); in MatchAndEmitInstruction()
5320 AArch64Operand &Op2 = static_cast<AArch64Operand &>(*Operands[2]); in MatchAndEmitInstruction()
5321 AArch64Operand &Op3 = static_cast<AArch64Operand &>(*Operands[3]); in MatchAndEmitInstruction()
5340 Operands[0] = in MatchAndEmitInstruction()
5342 Operands.push_back(AArch64Operand::CreateImm( in MatchAndEmitInstruction()
5344 Operands[3] = AArch64Operand::CreateImm(NewOp3, Op3.getStartLoc(), in MatchAndEmitInstruction()
5350 AArch64Operand &Op1 = static_cast<AArch64Operand &>(*Operands[1]); in MatchAndEmitInstruction()
5351 AArch64Operand LSBOp = static_cast<AArch64Operand &>(*Operands[2]); in MatchAndEmitInstruction()
5352 AArch64Operand WidthOp = static_cast<AArch64Operand &>(*Operands[3]); in MatchAndEmitInstruction()
5390 Operands[0] = in MatchAndEmitInstruction()
5392 Operands[2] = AArch64Operand::CreateReg( in MatchAndEmitInstruction()
5395 Operands[3] = AArch64Operand::CreateImm( in MatchAndEmitInstruction()
5397 Operands.emplace_back( in MatchAndEmitInstruction()
5406 AArch64Operand &Op1 = static_cast<AArch64Operand &>(*Operands[1]); in MatchAndEmitInstruction()
5407 AArch64Operand &Op3 = static_cast<AArch64Operand &>(*Operands[3]); in MatchAndEmitInstruction()
5408 AArch64Operand &Op4 = static_cast<AArch64Operand &>(*Operands[4]); in MatchAndEmitInstruction()
5448 Operands[3] = AArch64Operand::CreateImm( in MatchAndEmitInstruction()
5450 Operands[4] = AArch64Operand::CreateImm( in MatchAndEmitInstruction()
5453 Operands[0] = AArch64Operand::CreateToken("bfm", Op.getStartLoc(), in MatchAndEmitInstruction()
5456 Operands[0] = AArch64Operand::CreateToken("sbfm", Op.getStartLoc(), in MatchAndEmitInstruction()
5459 Operands[0] = AArch64Operand::CreateToken("ubfm", Op.getStartLoc(), in MatchAndEmitInstruction()
5470 AArch64Operand &Op1 = static_cast<AArch64Operand &>(*Operands[1]); in MatchAndEmitInstruction()
5471 AArch64Operand &Op3 = static_cast<AArch64Operand &>(*Operands[3]); in MatchAndEmitInstruction()
5472 AArch64Operand &Op4 = static_cast<AArch64Operand &>(*Operands[4]); in MatchAndEmitInstruction()
5504 Operands[4] = AArch64Operand::CreateImm( in MatchAndEmitInstruction()
5507 Operands[0] = AArch64Operand::CreateToken("bfm", Op.getStartLoc(), in MatchAndEmitInstruction()
5510 Operands[0] = AArch64Operand::CreateToken("sbfm", Op.getStartLoc(), in MatchAndEmitInstruction()
5513 Operands[0] = AArch64Operand::CreateToken("ubfm", Op.getStartLoc(), in MatchAndEmitInstruction()
5528 AArch64Operand &Op1 = static_cast<AArch64Operand &>(*Operands[1]); in MatchAndEmitInstruction()
5529 AArch64Operand &Op2 = static_cast<AArch64Operand &>(*Operands[2]); in MatchAndEmitInstruction()
5530 AArch64Operand &Op3 = static_cast<AArch64Operand &>(*Operands[3]); in MatchAndEmitInstruction()
5540 Operands[Idx] = in MatchAndEmitInstruction()
5552 AArch64Operand &Op = static_cast<AArch64Operand &>(*Operands[2]); in MatchAndEmitInstruction()
5555 Operands[2] = AArch64Operand::CreateReg(Reg, RegKind::Scalar, in MatchAndEmitInstruction()
5562 AArch64Operand &Op = static_cast<AArch64Operand &>(*Operands[1]); in MatchAndEmitInstruction()
5568 AArch64Operand &Op = static_cast<AArch64Operand &>(*Operands[2]); in MatchAndEmitInstruction()
5571 Operands[2] = AArch64Operand::CreateReg(Reg, RegKind::Scalar, in MatchAndEmitInstruction()
5579 AArch64Operand &Op = static_cast<AArch64Operand &>(*Operands[1]); in MatchAndEmitInstruction()
5585 AArch64Operand &Op = static_cast<AArch64Operand &>(*Operands[1]); in MatchAndEmitInstruction()
5588 Operands[1] = AArch64Operand::CreateReg(Reg, RegKind::Scalar, in MatchAndEmitInstruction()
5600 MatchInstructionImpl(Operands, Inst, ErrorInfo, MissingFeatures, in MatchAndEmitInstruction()
5613 MatchInstructionImpl(Operands, Inst, ErrorInfo, MissingFeatures, in MatchAndEmitInstruction()
5620 Operands.size() > 1 && ((AArch64Operand &)*Operands[1]).isToken() && in MatchAndEmitInstruction()
5621 ((AArch64Operand &)*Operands[1]).isTokenSuffix()) { in MatchAndEmitInstruction()
5632 NumOperands = Operands.size(); in MatchAndEmitInstruction()
5634 OperandLocs.push_back(Operands[i]->getStartLoc()); in MatchAndEmitInstruction()
5656 return showMatchError(IDLoc, MatchResult, ErrorInfo, Operands); in MatchAndEmitInstruction()
5661 if (ErrorInfo >= Operands.size()) in MatchAndEmitInstruction()
5665 ErrorLoc = ((AArch64Operand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
5671 if (((AArch64Operand &)*Operands[ErrorInfo]).isToken() && in MatchAndEmitInstruction()
5672 ((AArch64Operand &)*Operands[ErrorInfo]).isTokenSuffix()) in MatchAndEmitInstruction()
5675 return showMatchError(ErrorLoc, MatchResult, ErrorInfo, Operands); in MatchAndEmitInstruction()
5838 if (ErrorInfo >= Operands.size()) in MatchAndEmitInstruction()
5839 …return Error(IDLoc, "too few operands for instruction", SMRange(IDLoc, (*Operands.back()).getEndLo… in MatchAndEmitInstruction()
5842 SMLoc ErrorLoc = ((AArch64Operand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
5845 return showMatchError(ErrorLoc, MatchResult, ErrorInfo, Operands); in MatchAndEmitInstruction()
6740 AArch64AsmParser::tryParseGPRSeqPair(OperandVector &Operands) { in tryParseGPRSeqPair() argument
6806 Operands.push_back(AArch64Operand::CreateReg(Pair, RegKind::Scalar, S, in tryParseGPRSeqPair()
6814 AArch64AsmParser::tryParseSVEDataVector(OperandVector &Operands) { in tryParseSVEDataVector() argument
6837 Operands.push_back(AArch64Operand::CreateVectorReg( in tryParseSVEDataVector()
6840 OperandMatchResultTy Res = tryParseVectorIndex(Operands); in tryParseSVEDataVector()
6856 Operands.push_back(AArch64Operand::CreateVectorReg( in tryParseSVEDataVector()
6865 AArch64AsmParser::tryParseSVEPattern(OperandVector &Operands) { in tryParseSVEPattern() argument
6901 Operands.push_back( in tryParseSVEPattern()
6909 AArch64AsmParser::tryParseGPR64x8(OperandVector &Operands) { in tryParseGPR64x8() argument
6926 Operands.push_back( in tryParseGPR64x8()