Lines Matching refs:Operands

158   bool parseSysAlias(StringRef Name, SMLoc NameLoc, OperandVector &Operands);
159 void createSysAlias(uint16_t Encoding, OperandVector &Operands, SMLoc S);
162 bool parseCondCode(OperandVector &Operands, bool invertCondCode);
164 bool parseRegister(OperandVector &Operands);
166 bool parseNeonVectorList(OperandVector &Operands);
167 bool parseOptionalMulOperand(OperandVector &Operands);
168 bool parseKeywordOperand(OperandVector &Operands);
169 bool parseOperand(OperandVector &Operands, bool isCondCode,
177 OperandVector &Operands);
225 OperandVector &Operands, MCStreamer &Out,
239 OperandMatchResultTy tryParseMatrixRegister(OperandVector &Operands);
240 OperandMatchResultTy tryParseSVCR(OperandVector &Operands);
241 OperandMatchResultTy tryParseOptionalShiftExtend(OperandVector &Operands);
242 OperandMatchResultTy tryParseBarrierOperand(OperandVector &Operands);
243 OperandMatchResultTy tryParseBarriernXSOperand(OperandVector &Operands);
244 OperandMatchResultTy tryParseMRSSystemRegister(OperandVector &Operands);
245 OperandMatchResultTy tryParseSysReg(OperandVector &Operands);
246 OperandMatchResultTy tryParseSysCROperand(OperandVector &Operands);
248 OperandMatchResultTy tryParsePrefetch(OperandVector &Operands);
249 OperandMatchResultTy tryParsePSBHint(OperandVector &Operands);
250 OperandMatchResultTy tryParseBTIHint(OperandVector &Operands);
251 OperandMatchResultTy tryParseAdrpLabel(OperandVector &Operands);
252 OperandMatchResultTy tryParseAdrLabel(OperandVector &Operands);
254 OperandMatchResultTy tryParseFPImm(OperandVector &Operands);
255 OperandMatchResultTy tryParseImmWithOptionalShift(OperandVector &Operands);
256 OperandMatchResultTy tryParseGPR64sp0Operand(OperandVector &Operands);
257 bool tryParseNeonVectorRegister(OperandVector &Operands);
258 OperandMatchResultTy tryParseVectorIndex(OperandVector &Operands);
259 OperandMatchResultTy tryParseGPRSeqPair(OperandVector &Operands);
262 OperandMatchResultTy tryParseGPROperand(OperandVector &Operands);
264 OperandMatchResultTy tryParseSVEDataVector(OperandVector &Operands);
265 OperandMatchResultTy tryParseSVEPredicateVector(OperandVector &Operands);
267 OperandMatchResultTy tryParseVectorList(OperandVector &Operands,
269 OperandMatchResultTy tryParseMatrixTileList(OperandVector &Operands);
270 OperandMatchResultTy tryParseSVEPattern(OperandVector &Operands);
271 OperandMatchResultTy tryParseGPR64x8(OperandVector &Operands);
306 SMLoc NameLoc, OperandVector &Operands) override;
2689 AArch64AsmParser::tryParseSysCROperand(OperandVector &Operands) { in tryParseSysCROperand() argument
2711 Operands.push_back( in tryParseSysCROperand()
2719 AArch64AsmParser::tryParsePrefetch(OperandVector &Operands) { in tryParsePrefetch() argument
2763 Operands.push_back(AArch64Operand::CreatePrefetch(prfop, PRFM.value_or(""), in tryParsePrefetch()
2779 Operands.push_back(AArch64Operand::CreatePrefetch( in tryParsePrefetch()
2787 AArch64AsmParser::tryParsePSBHint(OperandVector &Operands) { in tryParsePSBHint() argument
2801 Operands.push_back(AArch64Operand::CreatePSBHint( in tryParsePSBHint()
2809 AArch64AsmParser::tryParseBTIHint(OperandVector &Operands) { in tryParseBTIHint() argument
2823 Operands.push_back(AArch64Operand::CreateBTIHint( in tryParseBTIHint()
2832 AArch64AsmParser::tryParseAdrpLabel(OperandVector &Operands) { in tryParseAdrpLabel() argument
2876 Operands.push_back(AArch64Operand::CreateImm(Expr, S, E, getContext())); in tryParseAdrpLabel()
2884 AArch64AsmParser::tryParseAdrLabel(OperandVector &Operands) { in tryParseAdrLabel() argument
2914 Operands.push_back(AArch64Operand::CreateImm(Expr, S, E, getContext())); in tryParseAdrLabel()
2921 AArch64AsmParser::tryParseFPImm(OperandVector &Operands) { in tryParseFPImm() argument
2945 Operands.push_back( in tryParseFPImm()
2961 Operands.push_back(AArch64Operand::CreateToken("#0", S, getContext())); in tryParseFPImm()
2962 Operands.push_back(AArch64Operand::CreateToken(".0", S, getContext())); in tryParseFPImm()
2964 Operands.push_back(AArch64Operand::CreateFPImm( in tryParseFPImm()
2976 AArch64AsmParser::tryParseImmWithOptionalShift(OperandVector &Operands) { in tryParseImmWithOptionalShift() argument
2989 Operands.push_back( in tryParseImmWithOptionalShift()
3024 Operands.push_back( in tryParseImmWithOptionalShift()
3029 Operands.push_back(AArch64Operand::CreateShiftedImm(Imm, ShiftAmount, S, in tryParseImmWithOptionalShift()
3081 bool AArch64AsmParser::parseCondCode(OperandVector &Operands, in parseCondCode() argument
3104 Operands.push_back( in parseCondCode()
3110 AArch64AsmParser::tryParseSVCR(OperandVector &Operands) { in tryParseSVCR() argument
3124 Operands.push_back( in tryParseSVCR()
3131 AArch64AsmParser::tryParseMatrixRegister(OperandVector &Operands) { in tryParseMatrixRegister() argument
3139 Operands.push_back(AArch64Operand::CreateMatrixRegister( in tryParseMatrixRegister()
3145 if (parseOperand(Operands, false, false)) in tryParseMatrixRegister()
3178 Operands.push_back(AArch64Operand::CreateMatrixRegister( in tryParseMatrixRegister()
3184 if (parseOperand(Operands, false, false)) in tryParseMatrixRegister()
3193 AArch64AsmParser::tryParseOptionalShiftExtend(OperandVector &Operands) { in tryParseOptionalShiftExtend() argument
3232 Operands.push_back( in tryParseOptionalShiftExtend()
3257 Operands.push_back(AArch64Operand::CreateShiftExtend( in tryParseOptionalShiftExtend()
3348 void AArch64AsmParser::createSysAlias(uint16_t Encoding, OperandVector &Operands, in createSysAlias() argument
3357 Operands.push_back( in createSysAlias()
3359 Operands.push_back( in createSysAlias()
3361 Operands.push_back( in createSysAlias()
3364 Operands.push_back( in createSysAlias()
3371 OperandVector &Operands) { in parseSysAlias() argument
3376 Operands.push_back(AArch64Operand::CreateToken("sys", NameLoc, getContext())); in parseSysAlias()
3391 createSysAlias(IC->Encoding, Operands, S); in parseSysAlias()
3401 createSysAlias(DC->Encoding, Operands, S); in parseSysAlias()
3411 createSysAlias(AT->Encoding, Operands, S); in parseSysAlias()
3421 createSysAlias(TLBI->Encoding, Operands, S); in parseSysAlias()
3438 createSysAlias(PRCTX->Encoding << 3 | PRCTX_Op2 , Operands, S); in parseSysAlias()
3448 if (Tok.isNot(AsmToken::Identifier) || parseRegister(Operands)) in parseSysAlias()
3465 AArch64AsmParser::tryParseBarrierOperand(OperandVector &Operands) { in tryParseBarrierOperand() argument
3497 Operands.push_back(AArch64Operand::CreateBarrier(Value, DB ? DB->Name : "", in tryParseBarrierOperand()
3529 Operands.push_back(AArch64Operand::CreateBarrier( in tryParseBarrierOperand()
3538 AArch64AsmParser::tryParseBarriernXSOperand(OperandVector &Operands) { in tryParseBarriernXSOperand() argument
3564 Operands.push_back(AArch64Operand::CreateBarrier(DB->Encoding, DB->Name, in tryParseBarriernXSOperand()
3583 Operands.push_back( in tryParseBarriernXSOperand()
3592 AArch64AsmParser::tryParseSysReg(OperandVector &Operands) { in tryParseSysReg() argument
3614 Operands.push_back( in tryParseSysReg()
3623 bool AArch64AsmParser::tryParseNeonVectorRegister(OperandVector &Operands) { in tryParseNeonVectorRegister() argument
3641 Operands.push_back( in tryParseNeonVectorRegister()
3648 Operands.push_back(AArch64Operand::CreateToken(Kind, S, getContext())); in tryParseNeonVectorRegister()
3650 return tryParseVectorIndex(Operands) == MatchOperand_ParseFail; in tryParseNeonVectorRegister()
3654 AArch64AsmParser::tryParseVectorIndex(OperandVector &Operands) { in tryParseVectorIndex() argument
3671 Operands.push_back(AArch64Operand::CreateVectorIndex(MCE->getValue(), SIdx, in tryParseVectorIndex()
3716 AArch64AsmParser::tryParseSVEPredicateVector(OperandVector &Operands) { in tryParseSVEPredicateVector() argument
3730 Operands.push_back(AArch64Operand::CreateVectorReg( in tryParseSVEPredicateVector()
3737 if (parseOperand(Operands, false, false)) in tryParseSVEPredicateVector()
3752 Operands.push_back(AArch64Operand::CreateToken("/", getLoc(), getContext())); in tryParseSVEPredicateVector()
3765 Operands.push_back(AArch64Operand::CreateToken(ZM, getLoc(), getContext())); in tryParseSVEPredicateVector()
3772 bool AArch64AsmParser::parseRegister(OperandVector &Operands) { in parseRegister() argument
3774 if (!tryParseNeonVectorRegister(Operands)) in parseRegister()
3778 if (tryParseGPROperand<false>(Operands) == MatchOperand_Success) in parseRegister()
3863 AArch64AsmParser::tryParseMatrixTileList(OperandVector &Operands) { in tryParseMatrixTileList() argument
3896 Operands.push_back(AArch64Operand::CreateMatrixTileList( in tryParseMatrixTileList()
3908 Operands.push_back(AArch64Operand::CreateMatrixTileList( in tryParseMatrixTileList()
3965 Operands.push_back( in tryParseMatrixTileList()
3973 AArch64AsmParser::tryParseVectorList(OperandVector &Operands, in tryParseVectorList() argument
4086 Operands.push_back(AArch64Operand::CreateVectorList( in tryParseVectorList()
4094 bool AArch64AsmParser::parseNeonVectorList(OperandVector &Operands) { in parseNeonVectorList() argument
4095 auto ParseRes = tryParseVectorList<RegKind::NeonVector>(Operands, true); in parseNeonVectorList()
4099 return tryParseVectorIndex(Operands) == MatchOperand_ParseFail; in parseNeonVectorList()
4103 AArch64AsmParser::tryParseGPR64sp0Operand(OperandVector &Operands) { in tryParseGPR64sp0Operand() argument
4112 Operands.push_back(AArch64Operand::CreateReg( in tryParseGPR64sp0Operand()
4131 Operands.push_back(AArch64Operand::CreateReg( in tryParseGPR64sp0Operand()
4138 AArch64AsmParser::tryParseGPROperand(OperandVector &Operands) { in tryParseGPROperand() argument
4148 Operands.push_back(AArch64Operand::CreateReg( in tryParseGPROperand()
4163 Operands.push_back(AArch64Operand::CreateReg( in tryParseGPROperand()
4171 bool AArch64AsmParser::parseOptionalMulOperand(OperandVector &Operands) { in parseOptionalMulOperand() argument
4184 Operands.push_back( in parseOptionalMulOperand()
4189 Operands.push_back( in parseOptionalMulOperand()
4203 Operands.push_back(AArch64Operand::CreateImm( in parseOptionalMulOperand()
4213 bool AArch64AsmParser::parseKeywordOperand(OperandVector &Operands) { in parseKeywordOperand() argument
4223 Operands.push_back( in parseKeywordOperand()
4232 bool AArch64AsmParser::parseOperand(OperandVector &Operands, bool isCondCode, in parseOperand() argument
4237 MatchOperandParserImpl(Operands, Mnemonic, /*ParseForAllFeatures=*/ true); in parseOperand()
4259 Operands.push_back(AArch64Operand::CreateImm(Expr, S, E, getContext())); in parseOperand()
4263 Operands.push_back( in parseOperand()
4269 return parseOperand(Operands, false, false); in parseOperand()
4272 if (!parseNeonVectorList(Operands)) in parseOperand()
4275 Operands.push_back( in parseOperand()
4281 return parseOperand(Operands, false, false); in parseOperand()
4286 return parseCondCode(Operands, invertCondCode); in parseOperand()
4289 if (!parseRegister(Operands)) in parseOperand()
4294 if (!parseOptionalMulOperand(Operands)) in parseOperand()
4300 return parseKeywordOperand(Operands); in parseOperand()
4303 OperandMatchResultTy GotShift = tryParseOptionalShiftExtend(Operands); in parseOperand()
4311 return parseKeywordOperand(Operands); in parseOperand()
4320 Operands.push_back(AArch64Operand::CreateImm(IdVal, S, E, getContext())); in parseOperand()
4356 Operands.push_back(AArch64Operand::CreateToken("#0", S, getContext())); in parseOperand()
4357 Operands.push_back(AArch64Operand::CreateToken(".0", S, getContext())); in parseOperand()
4366 Operands.push_back(AArch64Operand::CreateImm(ImmVal, S, E, getContext())); in parseOperand()
4378 if (Operands.size() < 2 || in parseOperand()
4379 !static_cast<AArch64Operand &>(*Operands[1]).isScalarReg()) in parseOperand()
4384 Operands[1]->getReg()); in parseOperand()
4397 Operands[0] = AArch64Operand::CreateToken("movz", Loc, Ctx); in parseOperand()
4398 Operands.push_back(AArch64Operand::CreateImm( in parseOperand()
4401 Operands.push_back(AArch64Operand::CreateShiftExtend(AArch64_AM::LSL, in parseOperand()
4413 Operands.push_back(AArch64Operand::CreateImm(CPLoc, S, E, Ctx)); in parseOperand()
4506 OperandVector &Operands) { in ParseInstruction() argument
4545 return parseSysAlias(Head, NameLoc, Operands); in ParseInstruction()
4547 Operands.push_back(AArch64Operand::CreateToken(Head, NameLoc, getContext())); in ParseInstruction()
4566 Operands.push_back(AArch64Operand::CreateToken(".", SuffixLoc, getContext(), in ParseInstruction()
4568 Operands.push_back( in ParseInstruction()
4579 Operands.push_back(AArch64Operand::CreateToken( in ParseInstruction()
4606 if (parseOperand(Operands, (N == 4 && condCodeFourthOperand) || in ParseInstruction()
4628 Operands.push_back( in ParseInstruction()
4631 Operands.push_back( in ParseInstruction()
4634 Operands.push_back( in ParseInstruction()
5122 OperandVector &Operands) { in showMatchError() argument
5126 static_cast<const AArch64Operand &>(*Operands[ErrorInfo]) in showMatchError()
5340 ((AArch64Operand &)*Operands[0]).getToken(), in showMatchError()
5476 OperandVector &Operands, in MatchAndEmitInstruction() argument
5480 assert(!Operands.empty() && "Unexpect empty operand list!"); in MatchAndEmitInstruction()
5481 AArch64Operand &Op = static_cast<AArch64Operand &>(*Operands[0]); in MatchAndEmitInstruction()
5485 unsigned NumOperands = Operands.size(); in MatchAndEmitInstruction()
5488 AArch64Operand &Op2 = static_cast<AArch64Operand &>(*Operands[2]); in MatchAndEmitInstruction()
5489 AArch64Operand &Op3 = static_cast<AArch64Operand &>(*Operands[3]); in MatchAndEmitInstruction()
5508 Operands[0] = in MatchAndEmitInstruction()
5510 Operands.push_back(AArch64Operand::CreateImm( in MatchAndEmitInstruction()
5512 Operands[3] = AArch64Operand::CreateImm(NewOp3, Op3.getStartLoc(), in MatchAndEmitInstruction()
5518 AArch64Operand &Op1 = static_cast<AArch64Operand &>(*Operands[1]); in MatchAndEmitInstruction()
5519 AArch64Operand LSBOp = static_cast<AArch64Operand &>(*Operands[2]); in MatchAndEmitInstruction()
5520 AArch64Operand WidthOp = static_cast<AArch64Operand &>(*Operands[3]); in MatchAndEmitInstruction()
5558 Operands[0] = in MatchAndEmitInstruction()
5560 Operands[2] = AArch64Operand::CreateReg( in MatchAndEmitInstruction()
5563 Operands[3] = AArch64Operand::CreateImm( in MatchAndEmitInstruction()
5565 Operands.emplace_back( in MatchAndEmitInstruction()
5574 AArch64Operand &Op1 = static_cast<AArch64Operand &>(*Operands[1]); in MatchAndEmitInstruction()
5575 AArch64Operand &Op3 = static_cast<AArch64Operand &>(*Operands[3]); in MatchAndEmitInstruction()
5576 AArch64Operand &Op4 = static_cast<AArch64Operand &>(*Operands[4]); in MatchAndEmitInstruction()
5616 Operands[3] = AArch64Operand::CreateImm( in MatchAndEmitInstruction()
5618 Operands[4] = AArch64Operand::CreateImm( in MatchAndEmitInstruction()
5621 Operands[0] = AArch64Operand::CreateToken("bfm", Op.getStartLoc(), in MatchAndEmitInstruction()
5624 Operands[0] = AArch64Operand::CreateToken("sbfm", Op.getStartLoc(), in MatchAndEmitInstruction()
5627 Operands[0] = AArch64Operand::CreateToken("ubfm", Op.getStartLoc(), in MatchAndEmitInstruction()
5638 AArch64Operand &Op1 = static_cast<AArch64Operand &>(*Operands[1]); in MatchAndEmitInstruction()
5639 AArch64Operand &Op3 = static_cast<AArch64Operand &>(*Operands[3]); in MatchAndEmitInstruction()
5640 AArch64Operand &Op4 = static_cast<AArch64Operand &>(*Operands[4]); in MatchAndEmitInstruction()
5672 Operands[4] = AArch64Operand::CreateImm( in MatchAndEmitInstruction()
5675 Operands[0] = AArch64Operand::CreateToken("bfm", Op.getStartLoc(), in MatchAndEmitInstruction()
5678 Operands[0] = AArch64Operand::CreateToken("sbfm", Op.getStartLoc(), in MatchAndEmitInstruction()
5681 Operands[0] = AArch64Operand::CreateToken("ubfm", Op.getStartLoc(), in MatchAndEmitInstruction()
5696 AArch64Operand &Op1 = static_cast<AArch64Operand &>(*Operands[1]); in MatchAndEmitInstruction()
5697 AArch64Operand &Op2 = static_cast<AArch64Operand &>(*Operands[2]); in MatchAndEmitInstruction()
5698 AArch64Operand &Op3 = static_cast<AArch64Operand &>(*Operands[3]); in MatchAndEmitInstruction()
5708 Operands[Idx] = in MatchAndEmitInstruction()
5720 AArch64Operand &Op = static_cast<AArch64Operand &>(*Operands[2]); in MatchAndEmitInstruction()
5723 Operands[2] = AArch64Operand::CreateReg(Reg, RegKind::Scalar, in MatchAndEmitInstruction()
5730 AArch64Operand &Op = static_cast<AArch64Operand &>(*Operands[1]); in MatchAndEmitInstruction()
5736 AArch64Operand &Op = static_cast<AArch64Operand &>(*Operands[2]); in MatchAndEmitInstruction()
5739 Operands[2] = AArch64Operand::CreateReg(Reg, RegKind::Scalar, in MatchAndEmitInstruction()
5747 AArch64Operand &Op = static_cast<AArch64Operand &>(*Operands[1]); in MatchAndEmitInstruction()
5753 AArch64Operand &Op = static_cast<AArch64Operand &>(*Operands[1]); in MatchAndEmitInstruction()
5756 Operands[1] = AArch64Operand::CreateReg(Reg, RegKind::Scalar, in MatchAndEmitInstruction()
5768 MatchInstructionImpl(Operands, Inst, ErrorInfo, MissingFeatures, in MatchAndEmitInstruction()
5781 MatchInstructionImpl(Operands, Inst, ErrorInfo, MissingFeatures, in MatchAndEmitInstruction()
5788 Operands.size() > 1 && ((AArch64Operand &)*Operands[1]).isToken() && in MatchAndEmitInstruction()
5789 ((AArch64Operand &)*Operands[1]).isTokenSuffix()) { in MatchAndEmitInstruction()
5800 NumOperands = Operands.size(); in MatchAndEmitInstruction()
5802 OperandLocs.push_back(Operands[i]->getStartLoc()); in MatchAndEmitInstruction()
5824 return showMatchError(IDLoc, MatchResult, ErrorInfo, Operands); in MatchAndEmitInstruction()
5829 if (ErrorInfo >= Operands.size()) in MatchAndEmitInstruction()
5833 ErrorLoc = ((AArch64Operand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
5839 if (((AArch64Operand &)*Operands[ErrorInfo]).isToken() && in MatchAndEmitInstruction()
5840 ((AArch64Operand &)*Operands[ErrorInfo]).isTokenSuffix()) in MatchAndEmitInstruction()
5843 return showMatchError(ErrorLoc, MatchResult, ErrorInfo, Operands); in MatchAndEmitInstruction()
6004 if (ErrorInfo >= Operands.size()) in MatchAndEmitInstruction()
6005 …return Error(IDLoc, "too few operands for instruction", SMRange(IDLoc, (*Operands.back()).getEndLo… in MatchAndEmitInstruction()
6008 SMLoc ErrorLoc = ((AArch64Operand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
6011 return showMatchError(ErrorLoc, MatchResult, ErrorInfo, Operands); in MatchAndEmitInstruction()
6906 AArch64AsmParser::tryParseGPRSeqPair(OperandVector &Operands) { in tryParseGPRSeqPair() argument
6972 Operands.push_back(AArch64Operand::CreateReg(Pair, RegKind::Scalar, S, in tryParseGPRSeqPair()
6980 AArch64AsmParser::tryParseSVEDataVector(OperandVector &Operands) { in tryParseSVEDataVector() argument
7003 Operands.push_back(AArch64Operand::CreateVectorReg( in tryParseSVEDataVector()
7006 OperandMatchResultTy Res = tryParseVectorIndex(Operands); in tryParseSVEDataVector()
7022 Operands.push_back(AArch64Operand::CreateVectorReg( in tryParseSVEDataVector()
7031 AArch64AsmParser::tryParseSVEPattern(OperandVector &Operands) { in tryParseSVEPattern() argument
7067 Operands.push_back( in tryParseSVEPattern()
7075 AArch64AsmParser::tryParseGPR64x8(OperandVector &Operands) { in tryParseGPR64x8() argument
7092 Operands.push_back( in tryParseGPR64x8()