Lines Matching refs:Operands
99 bool generateImmOutOfRangeError(OperandVector &Operands, uint64_t ErrorInfo,
106 OperandVector &Operands, MCStreamer &Out,
115 SMLoc NameLoc, OperandVector &Operands) override;
170 bool checkPseudoAddTPRel(MCInst &Inst, OperandVector &Operands);
176 bool checkPseudoTLSDESCCall(MCInst &Inst, OperandVector &Operands);
179 bool validateInstruction(MCInst &Inst, OperandVector &Operands);
185 bool processInstruction(MCInst &Inst, SMLoc IDLoc, OperandVector &Operands,
192 ParseStatus parseCSRSystemRegister(OperandVector &Operands);
193 ParseStatus parseFPImm(OperandVector &Operands);
194 ParseStatus parseImmediate(OperandVector &Operands);
195 ParseStatus parseRegister(OperandVector &Operands, bool AllowParens = false);
196 ParseStatus parseMemOpBaseReg(OperandVector &Operands);
197 ParseStatus parseZeroOffsetMemOp(OperandVector &Operands);
198 ParseStatus parseOperandWithModifier(OperandVector &Operands);
199 ParseStatus parseBareSymbol(OperandVector &Operands);
200 ParseStatus parseCallSymbol(OperandVector &Operands);
201 ParseStatus parsePseudoJumpSymbol(OperandVector &Operands);
202 ParseStatus parseJALOffset(OperandVector &Operands);
203 ParseStatus parseVTypeI(OperandVector &Operands);
204 ParseStatus parseMaskReg(OperandVector &Operands);
205 ParseStatus parseInsnDirectiveOpcode(OperandVector &Operands);
206 ParseStatus parseInsnCDirectiveOpcode(OperandVector &Operands);
207 ParseStatus parseGPRAsFPR(OperandVector &Operands);
208 template <bool IsRV64Inst> ParseStatus parseGPRPair(OperandVector &Operands);
209 ParseStatus parseGPRPair(OperandVector &Operands, bool IsRV64Inst);
210 ParseStatus parseFRMArg(OperandVector &Operands);
211 ParseStatus parseFenceArg(OperandVector &Operands);
212 ParseStatus parseReglist(OperandVector &Operands);
213 ParseStatus parseRegReg(OperandVector &Operands);
214 ParseStatus parseRetval(OperandVector &Operands);
215 ParseStatus parseZcmpSpimm(OperandVector &Operands);
217 bool parseOperand(OperandVector &Operands, StringRef Mnemonic);
1353 OperandVector &Operands, uint64_t ErrorInfo, int64_t Lower, int64_t Upper, in generateImmOutOfRangeError() argument
1355 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in generateImmOutOfRangeError()
1360 OperandVector &Operands, in MatchAndEmitInstruction() argument
1367 auto Result = MatchInstructionImpl(Operands, Inst, ErrorInfo, MissingFeatures, in MatchAndEmitInstruction()
1373 if (validateInstruction(Inst, Operands)) in MatchAndEmitInstruction()
1375 return processInstruction(Inst, IDLoc, Operands, Out); in MatchAndEmitInstruction()
1392 ((RISCVOperand &)*Operands[0]).getToken(), FBS, 0); in MatchAndEmitInstruction()
1398 if (ErrorInfo >= Operands.size()) in MatchAndEmitInstruction()
1401 ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1414 if (ErrorInfo != ~0ULL && ErrorInfo >= Operands.size()) in MatchAndEmitInstruction()
1427 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1430 return generateImmOutOfRangeError(Operands, ErrorInfo, in MatchAndEmitInstruction()
1435 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1440 Operands, ErrorInfo, std::numeric_limits<int32_t>::min(), in MatchAndEmitInstruction()
1445 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1450 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 6) - 1); in MatchAndEmitInstruction()
1451 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 5) - 1); in MatchAndEmitInstruction()
1454 return generateImmOutOfRangeError(Operands, ErrorInfo, 1, (1 << 6) - 1); in MatchAndEmitInstruction()
1455 return generateImmOutOfRangeError(Operands, ErrorInfo, 1, (1 << 5) - 1); in MatchAndEmitInstruction()
1458 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 5) - 1); in MatchAndEmitInstruction()
1459 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 4) - 1); in MatchAndEmitInstruction()
1461 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 1) - 1); in MatchAndEmitInstruction()
1463 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 2) - 1); in MatchAndEmitInstruction()
1465 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, 2, in MatchAndEmitInstruction()
1468 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 3) - 1); in MatchAndEmitInstruction()
1470 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 4) - 1); in MatchAndEmitInstruction()
1472 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 5) - 1); in MatchAndEmitInstruction()
1474 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 6) - 1); in MatchAndEmitInstruction()
1476 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 7) - 1); in MatchAndEmitInstruction()
1478 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 8) - 1); in MatchAndEmitInstruction()
1480 return generateImmOutOfRangeError(Operands, ErrorInfo, 32, (1 << 8) - 1); in MatchAndEmitInstruction()
1482 return generateImmOutOfRangeError(Operands, ErrorInfo, -(1 << 4), in MatchAndEmitInstruction()
1485 return generateImmOutOfRangeError(Operands, ErrorInfo, -(1 << 5), in MatchAndEmitInstruction()
1489 Operands, ErrorInfo, -(1 << 5), (1 << 5) - 1, in MatchAndEmitInstruction()
1493 Operands, ErrorInfo, 1, (1 << 5) - 1, in MatchAndEmitInstruction()
1497 Operands, ErrorInfo, 0, (1 << 7) - 4, in MatchAndEmitInstruction()
1501 Operands, ErrorInfo, 0, (1 << 8) - 4, in MatchAndEmitInstruction()
1505 Operands, ErrorInfo, 0, (1 << 8) - 8, in MatchAndEmitInstruction()
1509 Operands, ErrorInfo, -(1 << 8), (1 << 8) - 2, in MatchAndEmitInstruction()
1513 Operands, ErrorInfo, 0, (1 << 9) - 8, in MatchAndEmitInstruction()
1517 Operands, ErrorInfo, 4, (1 << 10) - 4, in MatchAndEmitInstruction()
1521 Operands, ErrorInfo, -(1 << 9), (1 << 9) - 16, in MatchAndEmitInstruction()
1525 Operands, ErrorInfo, -(1 << 11), (1 << 11) - 1, in MatchAndEmitInstruction()
1530 Operands, ErrorInfo, -(1 << 11), (1 << 11) - 2, in MatchAndEmitInstruction()
1534 Operands, ErrorInfo, -(1 << 11), (1 << 11) - 32, in MatchAndEmitInstruction()
1538 Operands, ErrorInfo, -(1 << 12), (1 << 12) - 2, in MatchAndEmitInstruction()
1541 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 20) - 1, in MatchAndEmitInstruction()
1546 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 20) - 1); in MatchAndEmitInstruction()
1549 Operands, ErrorInfo, 0, (1 << 20) - 1, in MatchAndEmitInstruction()
1555 Operands, ErrorInfo, -(1 << 20), (1 << 20) - 2, in MatchAndEmitInstruction()
1558 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 12) - 1, in MatchAndEmitInstruction()
1563 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1567 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1571 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1575 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1579 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1583 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1588 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1592 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1596 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1600 return generateImmOutOfRangeError(Operands, ErrorInfo, -(1 << 4) + 1, in MatchAndEmitInstruction()
1605 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1611 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1618 return generateImmOutOfRangeError(Operands, ErrorInfo, 0, 10); in MatchAndEmitInstruction()
1621 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
1671 ParseStatus RISCVAsmParser::parseRegister(OperandVector &Operands, in parseRegister() argument
1704 Operands.push_back(RISCVOperand::createToken("(", FirstS)); in parseRegister()
1708 Operands.push_back(RISCVOperand::createReg(RegNo, S, E)); in parseRegister()
1713 Operands.push_back(RISCVOperand::createToken(")", getLoc())); in parseRegister()
1719 ParseStatus RISCVAsmParser::parseInsnDirectiveOpcode(OperandVector &Operands) { in parseInsnDirectiveOpcode() argument
1741 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseInsnDirectiveOpcode()
1759 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseInsnDirectiveOpcode()
1774 ParseStatus RISCVAsmParser::parseInsnCDirectiveOpcode(OperandVector &Operands) { in parseInsnCDirectiveOpcode() argument
1796 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseInsnCDirectiveOpcode()
1820 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseInsnCDirectiveOpcode()
1834 ParseStatus RISCVAsmParser::parseCSRSystemRegister(OperandVector &Operands) { in parseCSRSystemRegister() argument
1858 Operands.push_back( in parseCSRSystemRegister()
1883 Operands.push_back( in parseCSRSystemRegister()
1901 ParseStatus RISCVAsmParser::parseFPImm(OperandVector &Operands) { in parseFPImm() argument
1908 Operands.push_back( in parseFPImm()
1912 Operands.push_back( in parseFPImm()
1916 Operands.push_back( in parseFPImm()
1945 Operands.push_back(RISCVOperand::createFPImm( in parseFPImm()
1953 ParseStatus RISCVAsmParser::parseImmediate(OperandVector &Operands) { in parseImmediate() argument
1974 return parseOperandWithModifier(Operands); in parseImmediate()
1977 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseImmediate()
1981 ParseStatus RISCVAsmParser::parseOperandWithModifier(OperandVector &Operands) { in parseOperandWithModifier() argument
2004 Operands.push_back(RISCVOperand::createImm(ModExpr, S, E, isRV64())); in parseOperandWithModifier()
2008 ParseStatus RISCVAsmParser::parseBareSymbol(OperandVector &Operands) { in parseBareSymbol() argument
2041 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseBareSymbol()
2057 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseBareSymbol()
2061 ParseStatus RISCVAsmParser::parseCallSymbol(OperandVector &Operands) { in parseCallSymbol() argument
2084 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parseCallSymbol()
2088 ParseStatus RISCVAsmParser::parsePseudoJumpSymbol(OperandVector &Operands) { in parsePseudoJumpSymbol() argument
2102 Operands.push_back(RISCVOperand::createImm(Res, S, E, isRV64())); in parsePseudoJumpSymbol()
2106 ParseStatus RISCVAsmParser::parseJALOffset(OperandVector &Operands) { in parseJALOffset() argument
2120 return parseImmediate(Operands); in parseJALOffset()
2174 ParseStatus RISCVAsmParser::parseVTypeI(OperandVector &Operands) { in parseVTypeI() argument
2214 Operands.push_back(RISCVOperand::createVType(VTypeI, S)); in parseVTypeI()
2228 ParseStatus RISCVAsmParser::parseMaskReg(OperandVector &Operands) { in parseMaskReg() argument
2244 Operands.push_back(RISCVOperand::createReg(RegNo, S, E)); in parseMaskReg()
2248 ParseStatus RISCVAsmParser::parseGPRAsFPR(OperandVector &Operands) { in parseGPRAsFPR() argument
2260 Operands.push_back(RISCVOperand::createReg( in parseGPRAsFPR()
2266 ParseStatus RISCVAsmParser::parseGPRPair(OperandVector &Operands) { in parseGPRPair() argument
2267 return parseGPRPair(Operands, IsRV64); in parseGPRPair()
2270 ParseStatus RISCVAsmParser::parseGPRPair(OperandVector &Operands, in parseGPRPair() argument
2303 Operands.push_back(RISCVOperand::createReg(Pair, S, E)); in parseGPRPair()
2307 ParseStatus RISCVAsmParser::parseFRMArg(OperandVector &Operands) { in parseFRMArg() argument
2319 Operands.push_back(RISCVOperand::createFRMArg(FRM, getLoc())); in parseFRMArg()
2324 ParseStatus RISCVAsmParser::parseFenceArg(OperandVector &Operands) { in parseFenceArg() argument
2331 Operands.push_back(RISCVOperand::createFenceArg(0, getLoc())); in parseFenceArg()
2374 Operands.push_back(RISCVOperand::createFenceArg(Imm, getLoc())); in parseFenceArg()
2384 ParseStatus RISCVAsmParser::parseMemOpBaseReg(OperandVector &Operands) { in parseMemOpBaseReg() argument
2387 Operands.push_back(RISCVOperand::createToken("(", getLoc())); in parseMemOpBaseReg()
2389 if (!parseRegister(Operands).isSuccess()) in parseMemOpBaseReg()
2394 Operands.push_back(RISCVOperand::createToken(")", getLoc())); in parseMemOpBaseReg()
2399 ParseStatus RISCVAsmParser::parseZeroOffsetMemOp(OperandVector &Operands) { in parseZeroOffsetMemOp() argument
2443 if (!parseRegister(Operands).isSuccess()) in parseZeroOffsetMemOp()
2458 ParseStatus RISCVAsmParser::parseRegReg(OperandVector &Operands) { in parseRegReg() argument
2484 Operands.push_back(RISCVOperand::createRegReg(Reg, Reg2, getLoc())); in parseRegReg()
2489 ParseStatus RISCVAsmParser::parseReglist(OperandVector &Operands) { in parseReglist() argument
2580 Operands.push_back(RISCVOperand::createRlist(Encode, S)); in parseReglist()
2585 ParseStatus RISCVAsmParser::parseZcmpSpimm(OperandVector &Operands) { in parseZcmpSpimm() argument
2591 unsigned RlistVal = static_cast<RISCVOperand *>(Operands[1].get())->Rlist.Val; in parseZcmpSpimm()
2596 Operands.push_back(RISCVOperand::createSpimm(Spimm << 4, S)); in parseZcmpSpimm()
2604 bool RISCVAsmParser::parseOperand(OperandVector &Operands, StringRef Mnemonic) { in parseOperand() argument
2608 MatchOperandParserImpl(Operands, Mnemonic, /*ParseForAllFeatures=*/true); in parseOperand()
2615 if (parseRegister(Operands, true).isSuccess()) in parseOperand()
2619 if (parseImmediate(Operands).isSuccess()) { in parseOperand()
2622 return !parseMemOpBaseReg(Operands).isSuccess(); in parseOperand()
2633 OperandVector &Operands) { in ParseInstruction() argument
2650 Operands.push_back(RISCVOperand::createToken(Name, NameLoc)); in ParseInstruction()
2659 if (parseOperand(Operands, Name)) in ParseInstruction()
2665 if (parseOperand(Operands, Name)) in ParseInstruction()
3049 SmallVector<std::unique_ptr<MCParsedAsmOperand>, 8> Operands; in parseDirectiveInsn() local
3051 if (ParseInstruction(Info, FormatName, L, Operands)) in parseDirectiveInsn()
3056 return MatchAndEmitInstruction(L, Opcode, Operands, Parser.getStreamer(), in parseDirectiveInsn()
3343 OperandVector &Operands) { in checkPseudoAddTPRel() argument
3347 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[3]).getStartLoc(); in checkPseudoAddTPRel()
3356 OperandVector &Operands) { in checkPseudoTLSDESCCall() argument
3360 SMLoc ErrorLoc = ((RISCVOperand &)*Operands[3]).getStartLoc(); in checkPseudoTLSDESCCall()
3384 OperandVector &Operands) { in validateInstruction() argument
3392 SMLoc Loc = Operands.back()->getStartLoc(); in validateInstruction()
3405 SMLoc Loc = Operands[1]->getStartLoc(); in validateInstruction()
3415 SMLoc Loc = Operands[1]->getStartLoc(); in validateInstruction()
3426 SMLoc Loc = Operands.back()->getStartLoc(); in validateInstruction()
3429 SMLoc Loc = Operands.back()->getStartLoc(); in validateInstruction()
3441 SMLoc VCIXDstLoc = Operands[2]->getStartLoc(); in validateInstruction()
3464 SMLoc Loc = Operands[1]->getStartLoc(); in validateInstruction()
3503 OperandVector &Operands, in processInstruction() argument
3600 if (checkPseudoAddTPRel(Inst, Operands)) in processInstruction()
3604 if (checkPseudoTLSDESCCall(Inst, Operands)) in processInstruction()