Lines Matching defs: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) {
222 return parseZcmpStackAdj(Operands, /*ExpectNegative*/ true);
225 bool parseOperand(OperandVector &Operands, StringRef Mnemonic);
1383 OperandVector &Operands, uint64_t ErrorInfo, int64_t Lower, int64_t Upper,
1385 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1390 OperandVector &Operands,
1397 auto Result = MatchInstructionImpl(Operands, Inst, ErrorInfo, MissingFeatures,
1403 if (validateInstruction(Inst, Operands))
1405 return processInstruction(Inst, IDLoc, Operands, Out);
1422 ((RISCVOperand &)*Operands[0]).getToken(), FBS, 0);
1428 if (ErrorInfo >= Operands.size())
1431 ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1444 if (ErrorInfo != ~0ULL && ErrorInfo >= Operands.size())
1457 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1460 return generateImmOutOfRangeError(Operands, ErrorInfo,
1465 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1470 Operands, ErrorInfo, std::numeric_limits<int32_t>::min(),
1475 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1480 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 6) - 1);
1481 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 5) - 1);
1484 return generateImmOutOfRangeError(Operands, ErrorInfo, 1, (1 << 6) - 1);
1485 return generateImmOutOfRangeError(Operands, ErrorInfo, 1, (1 << 5) - 1);
1488 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 5) - 1);
1489 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 4) - 1);
1491 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 1) - 1);
1493 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 2) - 1);
1495 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, 2,
1498 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 3) - 1);
1500 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 4) - 1);
1502 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 5) - 1);
1504 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 6) - 1);
1506 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 7) - 1);
1508 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 8) - 1);
1510 return generateImmOutOfRangeError(Operands, ErrorInfo, 32, (1 << 8) - 1);
1512 return generateImmOutOfRangeError(Operands, ErrorInfo, -(1 << 4),
1515 return generateImmOutOfRangeError(Operands, ErrorInfo, -(1 << 5),
1519 Operands, ErrorInfo, -(1 << 5), (1 << 5) - 1,
1523 Operands, ErrorInfo, 1, (1 << 5) - 1,
1527 Operands, ErrorInfo, 0, (1 << 5) - 2,
1531 Operands, ErrorInfo, 0, (1 << 6) - 2,
1535 Operands, ErrorInfo, 0, (1 << 7) - 4,
1539 Operands, ErrorInfo, 0, (1 << 8) - 4,
1543 Operands, ErrorInfo, 0, (1 << 8) - 8,
1547 Operands, ErrorInfo, -(1 << 8), (1 << 8) - 2,
1551 Operands, ErrorInfo, 0, (1 << 9) - 8,
1555 Operands, ErrorInfo, 4, (1 << 10) - 4,
1559 Operands, ErrorInfo, -(1 << 9), (1 << 9) - 16,
1563 Operands, ErrorInfo, -(1 << 11), (1 << 11) - 1,
1568 Operands, ErrorInfo, -(1 << 11), (1 << 11) - 2,
1572 Operands, ErrorInfo, -(1 << 11), (1 << 11) - 32,
1576 Operands, ErrorInfo, -(1 << 12), (1 << 12) - 2,
1579 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 20) - 1,
1584 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 20) - 1);
1587 Operands, ErrorInfo, 0, (1 << 20) - 1,
1593 Operands, ErrorInfo, -(1 << 20), (1 << 20) - 2,
1596 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 12) - 1,
1601 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1605 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1609 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1613 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1617 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1621 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1626 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1630 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1634 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1638 return generateImmOutOfRangeError(Operands, ErrorInfo, -(1 << 4) + 1,
1643 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1649 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1656 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, 10);
1659 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
1709 ParseStatus RISCVAsmParser::parseRegister(OperandVector &Operands,
1742 Operands.push_back(RISCVOperand::createToken("(", FirstS));
1746 Operands.push_back(RISCVOperand::createReg(RegNo, S, E));
1751 Operands.push_back(RISCVOperand::createToken(")", getLoc()));
1757 ParseStatus RISCVAsmParser::parseInsnDirectiveOpcode(OperandVector &Operands) {
1779 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64()));
1797 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64()));
1812 ParseStatus RISCVAsmParser::parseInsnCDirectiveOpcode(OperandVector &Operands) {
1834 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64()));
1858 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64()));
1872 ParseStatus RISCVAsmParser::parseCSRSystemRegister(OperandVector &Operands) {
1898 Operands.push_back(RISCVOperand::createSysReg(Reg.Name, S, Imm));
1904 Operands.push_back(RISCVOperand::createSysReg("", S, Imm));
1928 Operands.push_back(
1946 ParseStatus RISCVAsmParser::parseFPImm(OperandVector &Operands) {
1953 Operands.push_back(
1957 Operands.push_back(
1961 Operands.push_back(
1990 Operands.push_back(RISCVOperand::createFPImm(
1998 ParseStatus RISCVAsmParser::parseImmediate(OperandVector &Operands) {
2019 return parseOperandWithModifier(Operands);
2022 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64()));
2026 ParseStatus RISCVAsmParser::parseOperandWithModifier(OperandVector &Operands) {
2049 Operands.push_back(RISCVOperand::createImm(ModExpr, S, E, isRV64()));
2053 ParseStatus RISCVAsmParser::parseBareSymbol(OperandVector &Operands) {
2086 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64()));
2102 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64()));
2106 ParseStatus RISCVAsmParser::parseCallSymbol(OperandVector &Operands) {
2129 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64()));
2133 ParseStatus RISCVAsmParser::parsePseudoJumpSymbol(OperandVector &Operands) {
2147 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64()));
2151 ParseStatus RISCVAsmParser::parseJALOffset(OperandVector &Operands) {
2165 return parseImmediate(Operands);
2234 ParseStatus RISCVAsmParser::parseVTypeI(OperandVector &Operands) {
2275 Operands.push_back(RISCVOperand::createVType(VTypeI, S));
2289 ParseStatus RISCVAsmParser::parseMaskReg(OperandVector &Operands) {
2305 Operands.push_back(RISCVOperand::createReg(RegNo, S, E));
2309 ParseStatus RISCVAsmParser::parseGPRAsFPR(OperandVector &Operands) {
2321 Operands.push_back(RISCVOperand::createReg(
2327 ParseStatus RISCVAsmParser::parseGPRPair(OperandVector &Operands) {
2328 return parseGPRPair(Operands, IsRV64);
2331 ParseStatus RISCVAsmParser::parseGPRPair(OperandVector &Operands,
2364 Operands.push_back(RISCVOperand::createReg(Pair, S, E));
2368 ParseStatus RISCVAsmParser::parseFRMArg(OperandVector &Operands) {
2380 Operands.push_back(RISCVOperand::createFRMArg(FRM, getLoc()));
2385 ParseStatus RISCVAsmParser::parseFenceArg(OperandVector &Operands) {
2392 Operands.push_back(RISCVOperand::createFenceArg(0, getLoc()));
2435 Operands.push_back(RISCVOperand::createFenceArg(Imm, getLoc()));
2445 ParseStatus RISCVAsmParser::parseMemOpBaseReg(OperandVector &Operands) {
2448 Operands.push_back(RISCVOperand::createToken("(", getLoc()));
2450 if (!parseRegister(Operands).isSuccess())
2455 Operands.push_back(RISCVOperand::createToken(")", getLoc()));
2460 ParseStatus RISCVAsmParser::parseZeroOffsetMemOp(OperandVector &Operands) {
2474 // parsed register operand to `Operands`.
2492 // nicer), but we don't add it to Operands.
2504 if (!parseRegister(Operands).isSuccess())
2519 ParseStatus RISCVAsmParser::parseRegReg(OperandVector &Operands) {
2545 Operands.push_back(RISCVOperand::createRegReg(Reg, Reg2, getLoc()));
2550 ParseStatus RISCVAsmParser::parseReglist(OperandVector &Operands) {
2641 Operands.push_back(RISCVOperand::createRlist(Encode, S));
2646 ParseStatus RISCVAsmParser::parseZcmpStackAdj(OperandVector &Operands,
2653 unsigned RlistVal = static_cast<RISCVOperand *>(Operands[1].get())->Rlist.Val;
2658 Operands.push_back(RISCVOperand::createSpimm(Spimm << 4, S));
2664 /// information, adding to Operands. If operand was parsed, returns false, else
2666 bool RISCVAsmParser::parseOperand(OperandVector &Operands, StringRef Mnemonic) {
2670 MatchOperandParserImpl(Operands, Mnemonic, /*ParseForAllFeatures=*/true);
2677 if (parseRegister(Operands, true).isSuccess())
2681 if (parseImmediate(Operands).isSuccess()) {
2684 return !parseMemOpBaseReg(Operands).isSuccess();
2695 OperandVector &Operands) {
2712 Operands.push_back(RISCVOperand::createToken(Name, NameLoc));
2721 if (parseOperand(Operands, Name))
2727 if (parseOperand(Operands, Name))
3145 SmallVector<std::unique_ptr<MCParsedAsmOperand>, 8> Operands;
3147 if (ParseInstruction(Info, FormatName, L, Operands))
3152 return MatchAndEmitInstruction(L, Opcode, Operands, Parser.getStreamer(),
3426 OperandVector &Operands) {
3430 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[3]).getStartLoc();
3439 OperandVector &Operands) {
3443 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[3]).getStartLoc();
3467 OperandVector &Operands) {
3475 SMLoc Loc = Operands.back()->getStartLoc();
3488 SMLoc Loc = Operands[1]->getStartLoc();
3497 SMLoc Loc = Operands[1]->getStartLoc();
3508 SMLoc Loc = Operands.back()->getStartLoc();
3511 SMLoc Loc = Operands.back()->getStartLoc();
3521 // Operands Opcode, Dst, uimm, Dst, Rs2, Rs1 for VC_V_XVW.
3523 SMLoc VCIXDstLoc = Operands[2]->getStartLoc();
3545 // Operands[1] will be the first operand, DestReg.
3546 SMLoc Loc = Operands[1]->getStartLoc();
3585 OperandVector &Operands,
3682 if (checkPseudoAddTPRel(Inst, Operands))
3686 if (checkPseudoTLSDESCCall(Inst, Operands))