Lines Matching refs:Operands

102   bool generateImmOutOfRangeError(OperandVector &Operands, uint64_t ErrorInfo,
109 OperandVector &Operands, MCStreamer &Out,
119 SMLoc NameLoc, OperandVector &Operands) override;
174 bool checkPseudoAddTPRel(MCInst &Inst, OperandVector &Operands);
180 bool checkPseudoTLSDESCCall(MCInst &Inst, OperandVector &Operands);
183 bool validateInstruction(MCInst &Inst, OperandVector &Operands);
189 bool processInstruction(MCInst &Inst, SMLoc IDLoc, OperandVector &Operands,
196 ParseStatus parseCSRSystemRegister(OperandVector &Operands);
197 ParseStatus parseFPImm(OperandVector &Operands);
198 ParseStatus parseImmediate(OperandVector &Operands);
199 ParseStatus parseRegister(OperandVector &Operands, bool AllowParens = false);
200 ParseStatus parseMemOpBaseReg(OperandVector &Operands);
201 ParseStatus parseZeroOffsetMemOp(OperandVector &Operands);
202 ParseStatus parseOperandWithModifier(OperandVector &Operands);
203 ParseStatus parseBareSymbol(OperandVector &Operands);
204 ParseStatus parseCallSymbol(OperandVector &Operands);
205 ParseStatus parsePseudoJumpSymbol(OperandVector &Operands);
206 ParseStatus parseJALOffset(OperandVector &Operands);
207 ParseStatus parseVTypeI(OperandVector &Operands);
208 ParseStatus parseMaskReg(OperandVector &Operands);
209 ParseStatus parseInsnDirectiveOpcode(OperandVector &Operands);
210 ParseStatus parseInsnCDirectiveOpcode(OperandVector &Operands);
211 ParseStatus parseGPRAsFPR(OperandVector &Operands);
212 template <bool IsRV64Inst> ParseStatus parseGPRPair(OperandVector &Operands);
213 ParseStatus parseGPRPair(OperandVector &Operands, bool IsRV64Inst);
214 ParseStatus parseFRMArg(OperandVector &Operands);
215 ParseStatus parseFenceArg(OperandVector &Operands);
216 ParseStatus parseReglist(OperandVector &Operands);
217 ParseStatus parseRegReg(OperandVector &Operands);
218 ParseStatus parseRetval(OperandVector &Operands);
219 ParseStatus parseZcmpStackAdj(OperandVector &Operands,
221 ParseStatus parseZcmpNegStackAdj(OperandVector &Operands) { in parseZcmpNegStackAdj() argument
222 return parseZcmpStackAdj(Operands, /*ExpectNegative*/ true); in parseZcmpNegStackAdj()
225 bool parseOperand(OperandVector &Operands, StringRef Mnemonic);
1383 OperandVector &Operands, uint64_t ErrorInfo, int64_t Lower, int64_t Upper, in generateImmOutOfRangeError() argument
1385 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in generateImmOutOfRangeError()
1390 OperandVector &Operands, in MatchAndEmitInstruction() argument
1397 auto Result = MatchInstructionImpl(Operands, Inst, ErrorInfo, MissingFeatures, in MatchAndEmitInstruction()
1403 if (validateInstruction(Inst, Operands)) in MatchAndEmitInstruction()
1405 return processInstruction(Inst, IDLoc, Operands, Out); in MatchAndEmitInstruction()
1422 ((RISCVOperand &)*Operands[0]).getToken(), FBS, 0); in MatchAndEmitInstruction()
1428 if (ErrorInfo >= Operands.size()) in MatchAndEmitInstruction()
1431 ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1444 if (ErrorInfo != ~0ULL && ErrorInfo >= Operands.size()) in MatchAndEmitInstruction()
1457 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1460 return generateImmOutOfRangeError(Operands, ErrorInfo, in MatchAndEmitInstruction()
1465 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1470 Operands, ErrorInfo, std::numeric_limits<int32_t>::min(), in MatchAndEmitInstruction()
1475 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1480 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 6) - 1); in MatchAndEmitInstruction()
1481 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 5) - 1); in MatchAndEmitInstruction()
1484 return generateImmOutOfRangeError(Operands, ErrorInfo, 1, (1 << 6) - 1); in MatchAndEmitInstruction()
1485 return generateImmOutOfRangeError(Operands, ErrorInfo, 1, (1 << 5) - 1); in MatchAndEmitInstruction()
1488 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 5) - 1); in MatchAndEmitInstruction()
1489 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 4) - 1); in MatchAndEmitInstruction()
1491 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 1) - 1); in MatchAndEmitInstruction()
1493 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 2) - 1); in MatchAndEmitInstruction()
1495 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, 2, in MatchAndEmitInstruction()
1498 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 3) - 1); in MatchAndEmitInstruction()
1500 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 4) - 1); in MatchAndEmitInstruction()
1502 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 5) - 1); in MatchAndEmitInstruction()
1504 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 6) - 1); in MatchAndEmitInstruction()
1506 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 7) - 1); in MatchAndEmitInstruction()
1508 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 8) - 1); in MatchAndEmitInstruction()
1510 return generateImmOutOfRangeError(Operands, ErrorInfo, 32, (1 << 8) - 1); in MatchAndEmitInstruction()
1512 return generateImmOutOfRangeError(Operands, ErrorInfo, -(1 << 4), in MatchAndEmitInstruction()
1515 return generateImmOutOfRangeError(Operands, ErrorInfo, -(1 << 5), in MatchAndEmitInstruction()
1519 Operands, ErrorInfo, -(1 << 5), (1 << 5) - 1, in MatchAndEmitInstruction()
1523 Operands, ErrorInfo, 1, (1 << 5) - 1, in MatchAndEmitInstruction()
1527 Operands, ErrorInfo, 0, (1 << 5) - 2, in MatchAndEmitInstruction()
1531 Operands, ErrorInfo, 0, (1 << 6) - 2, in MatchAndEmitInstruction()
1535 Operands, ErrorInfo, 0, (1 << 7) - 4, in MatchAndEmitInstruction()
1539 Operands, ErrorInfo, 0, (1 << 8) - 4, in MatchAndEmitInstruction()
1543 Operands, ErrorInfo, 0, (1 << 8) - 8, in MatchAndEmitInstruction()
1547 Operands, ErrorInfo, -(1 << 8), (1 << 8) - 2, in MatchAndEmitInstruction()
1551 Operands, ErrorInfo, 0, (1 << 9) - 8, in MatchAndEmitInstruction()
1555 Operands, ErrorInfo, 4, (1 << 10) - 4, in MatchAndEmitInstruction()
1559 Operands, ErrorInfo, -(1 << 9), (1 << 9) - 16, in MatchAndEmitInstruction()
1563 Operands, ErrorInfo, -(1 << 11), (1 << 11) - 1, in MatchAndEmitInstruction()
1568 Operands, ErrorInfo, -(1 << 11), (1 << 11) - 2, in MatchAndEmitInstruction()
1572 Operands, ErrorInfo, -(1 << 11), (1 << 11) - 32, in MatchAndEmitInstruction()
1576 Operands, ErrorInfo, -(1 << 12), (1 << 12) - 2, in MatchAndEmitInstruction()
1579 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 20) - 1, in MatchAndEmitInstruction()
1584 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 20) - 1); in MatchAndEmitInstruction()
1587 Operands, ErrorInfo, 0, (1 << 20) - 1, in MatchAndEmitInstruction()
1593 Operands, ErrorInfo, -(1 << 20), (1 << 20) - 2, in MatchAndEmitInstruction()
1596 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 12) - 1, in MatchAndEmitInstruction()
1601 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1605 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1609 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1613 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1617 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1621 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1626 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1630 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1634 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1638 return generateImmOutOfRangeError(Operands, ErrorInfo, -(1 << 4) + 1, in MatchAndEmitInstruction()
1643 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1649 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1656 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, 10); in MatchAndEmitInstruction()
1659 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1709 ParseStatus RISCVAsmParser::parseRegister(OperandVector &Operands, in parseRegister() argument
1742 Operands.push_back(RISCVOperand::createToken("(", FirstS)); in parseRegister()
1746 Operands.push_back(RISCVOperand::createReg(RegNo, S, E)); in parseRegister()
1751 Operands.push_back(RISCVOperand::createToken(")", getLoc())); in parseRegister()
1757 ParseStatus RISCVAsmParser::parseInsnDirectiveOpcode(OperandVector &Operands) { in parseInsnDirectiveOpcode() argument
1779 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseInsnDirectiveOpcode()
1797 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseInsnDirectiveOpcode()
1812 ParseStatus RISCVAsmParser::parseInsnCDirectiveOpcode(OperandVector &Operands) { in parseInsnCDirectiveOpcode() argument
1834 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseInsnCDirectiveOpcode()
1858 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseInsnCDirectiveOpcode()
1872 ParseStatus RISCVAsmParser::parseCSRSystemRegister(OperandVector &Operands) { in parseCSRSystemRegister() argument
1898 Operands.push_back(RISCVOperand::createSysReg(Reg.Name, S, Imm)); in parseCSRSystemRegister()
1904 Operands.push_back(RISCVOperand::createSysReg("", S, Imm)); in parseCSRSystemRegister()
1928 Operands.push_back( in parseCSRSystemRegister()
1946 ParseStatus RISCVAsmParser::parseFPImm(OperandVector &Operands) { in parseFPImm() argument
1953 Operands.push_back( in parseFPImm()
1957 Operands.push_back( in parseFPImm()
1961 Operands.push_back( in parseFPImm()
1990 Operands.push_back(RISCVOperand::createFPImm( in parseFPImm()
1998 ParseStatus RISCVAsmParser::parseImmediate(OperandVector &Operands) { in parseImmediate() argument
2019 return parseOperandWithModifier(Operands); in parseImmediate()
2022 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseImmediate()
2026 ParseStatus RISCVAsmParser::parseOperandWithModifier(OperandVector &Operands) { in parseOperandWithModifier() argument
2049 Operands.push_back(RISCVOperand::createImm(ModExpr, S, E, isRV64())); in parseOperandWithModifier()
2053 ParseStatus RISCVAsmParser::parseBareSymbol(OperandVector &Operands) { in parseBareSymbol() argument
2086 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseBareSymbol()
2102 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseBareSymbol()
2106 ParseStatus RISCVAsmParser::parseCallSymbol(OperandVector &Operands) { in parseCallSymbol() argument
2129 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseCallSymbol()
2133 ParseStatus RISCVAsmParser::parsePseudoJumpSymbol(OperandVector &Operands) { in parsePseudoJumpSymbol() argument
2147 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parsePseudoJumpSymbol()
2151 ParseStatus RISCVAsmParser::parseJALOffset(OperandVector &Operands) { in parseJALOffset() argument
2165 return parseImmediate(Operands); in parseJALOffset()
2234 ParseStatus RISCVAsmParser::parseVTypeI(OperandVector &Operands) { in parseVTypeI() argument
2275 Operands.push_back(RISCVOperand::createVType(VTypeI, S)); in parseVTypeI()
2289 ParseStatus RISCVAsmParser::parseMaskReg(OperandVector &Operands) { in parseMaskReg() argument
2305 Operands.push_back(RISCVOperand::createReg(RegNo, S, E)); in parseMaskReg()
2309 ParseStatus RISCVAsmParser::parseGPRAsFPR(OperandVector &Operands) { in parseGPRAsFPR() argument
2321 Operands.push_back(RISCVOperand::createReg( in parseGPRAsFPR()
2327 ParseStatus RISCVAsmParser::parseGPRPair(OperandVector &Operands) { in parseGPRPair() argument
2328 return parseGPRPair(Operands, IsRV64); in parseGPRPair()
2331 ParseStatus RISCVAsmParser::parseGPRPair(OperandVector &Operands, in parseGPRPair() argument
2364 Operands.push_back(RISCVOperand::createReg(Pair, S, E)); in parseGPRPair()
2368 ParseStatus RISCVAsmParser::parseFRMArg(OperandVector &Operands) { in parseFRMArg() argument
2380 Operands.push_back(RISCVOperand::createFRMArg(FRM, getLoc())); in parseFRMArg()
2385 ParseStatus RISCVAsmParser::parseFenceArg(OperandVector &Operands) { in parseFenceArg() argument
2392 Operands.push_back(RISCVOperand::createFenceArg(0, getLoc())); in parseFenceArg()
2435 Operands.push_back(RISCVOperand::createFenceArg(Imm, getLoc())); in parseFenceArg()
2445 ParseStatus RISCVAsmParser::parseMemOpBaseReg(OperandVector &Operands) { in parseMemOpBaseReg() argument
2448 Operands.push_back(RISCVOperand::createToken("(", getLoc())); in parseMemOpBaseReg()
2450 if (!parseRegister(Operands).isSuccess()) in parseMemOpBaseReg()
2455 Operands.push_back(RISCVOperand::createToken(")", getLoc())); in parseMemOpBaseReg()
2460 ParseStatus RISCVAsmParser::parseZeroOffsetMemOp(OperandVector &Operands) { in parseZeroOffsetMemOp() argument
2504 if (!parseRegister(Operands).isSuccess()) in parseZeroOffsetMemOp()
2519 ParseStatus RISCVAsmParser::parseRegReg(OperandVector &Operands) { in parseRegReg() argument
2545 Operands.push_back(RISCVOperand::createRegReg(Reg, Reg2, getLoc())); in parseRegReg()
2550 ParseStatus RISCVAsmParser::parseReglist(OperandVector &Operands) { in parseReglist() argument
2641 Operands.push_back(RISCVOperand::createRlist(Encode, S)); in parseReglist()
2646 ParseStatus RISCVAsmParser::parseZcmpStackAdj(OperandVector &Operands, in parseZcmpStackAdj() argument
2653 unsigned RlistVal = static_cast<RISCVOperand *>(Operands[1].get())->Rlist.Val; in parseZcmpStackAdj()
2658 Operands.push_back(RISCVOperand::createSpimm(Spimm << 4, S)); in parseZcmpStackAdj()
2666 bool RISCVAsmParser::parseOperand(OperandVector &Operands, StringRef Mnemonic) { in parseOperand() argument
2670 MatchOperandParserImpl(Operands, Mnemonic, /*ParseForAllFeatures=*/true); in parseOperand()
2677 if (parseRegister(Operands, true).isSuccess()) in parseOperand()
2681 if (parseImmediate(Operands).isSuccess()) { in parseOperand()
2684 return !parseMemOpBaseReg(Operands).isSuccess(); in parseOperand()
2695 OperandVector &Operands) { in ParseInstruction() argument
2712 Operands.push_back(RISCVOperand::createToken(Name, NameLoc)); in ParseInstruction()
2721 if (parseOperand(Operands, Name)) in ParseInstruction()
2727 if (parseOperand(Operands, Name)) in ParseInstruction()
3145 SmallVector<std::unique_ptr<MCParsedAsmOperand>, 8> Operands; in parseDirectiveInsn() local
3147 if (ParseInstruction(Info, FormatName, L, Operands)) in parseDirectiveInsn()
3152 return MatchAndEmitInstruction(L, Opcode, Operands, Parser.getStreamer(), in parseDirectiveInsn()
3426 OperandVector &Operands) { in checkPseudoAddTPRel() argument
3430 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[3]).getStartLoc(); in checkPseudoAddTPRel()
3439 OperandVector &Operands) { in checkPseudoTLSDESCCall() argument
3443 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[3]).getStartLoc(); in checkPseudoTLSDESCCall()
3467 OperandVector &Operands) { in validateInstruction() argument
3475 SMLoc Loc = Operands.back()->getStartLoc(); in validateInstruction()
3488 SMLoc Loc = Operands[1]->getStartLoc(); in validateInstruction()
3497 SMLoc Loc = Operands[1]->getStartLoc(); in validateInstruction()
3508 SMLoc Loc = Operands.back()->getStartLoc(); in validateInstruction()
3511 SMLoc Loc = Operands.back()->getStartLoc(); in validateInstruction()
3523 SMLoc VCIXDstLoc = Operands[2]->getStartLoc(); in validateInstruction()
3546 SMLoc Loc = Operands[1]->getStartLoc(); in validateInstruction()
3585 OperandVector &Operands, in processInstruction() argument
3682 if (checkPseudoAddTPRel(Inst, Operands)) in processInstruction()
3686 if (checkPseudoTLSDESCCall(Inst, Operands)) in processInstruction()