Lines Matching refs:Operands
123 unsigned MatchInstruction(const OperandVector &Operands, MCInst &Inst, in MatchInstruction() argument
129 unsigned rv = MatchInstructionImpl(Operands, Inst, ErrorInfo, in MatchInstruction()
1102 AddDefaultSrcDestOperands(OperandVector &Operands,
1107 bool parseOperand(OperandVector &Operands, StringRef Name);
1108 bool parseATTOperand(OperandVector &Operands);
1109 bool parseIntelOperand(OperandVector &Operands, StringRef Name);
1117 bool ParseRoundingModeOp(SMLoc Start, OperandVector &Operands);
1133 SMLoc EndLoc, OperandVector &Operands);
1143 OperandVector &Operands);
1179 void emitInstruction(MCInst &Inst, OperandVector &Operands, MCStreamer &Out);
1182 OperandVector &Operands, MCStreamer &Out,
1186 void MatchFPUWaitAlias(SMLoc IDLoc, X86Operand &Op, OperandVector &Operands,
1193 OperandVector &Operands, MCStreamer &Out,
1198 OperandVector &Operands, MCStreamer &Out,
1207 bool HandleAVX512Operand(OperandVector &Operands);
1278 SMLoc NameLoc, OperandVector &Operands) override;
1642 OperandVector& Operands, std::unique_ptr<llvm::MCParsedAsmOperand> &&Src, in AddDefaultSrcDestOperands() argument
1645 Operands.push_back(std::move(Dst)); in AddDefaultSrcDestOperands()
1646 Operands.push_back(std::move(Src)); in AddDefaultSrcDestOperands()
1649 Operands.push_back(std::move(Src)); in AddDefaultSrcDestOperands()
1650 Operands.push_back(std::move(Dst)); in AddDefaultSrcDestOperands()
1736 bool X86AsmParser::parseOperand(OperandVector &Operands, StringRef Name) { in parseOperand() argument
1738 return parseIntelOperand(Operands, Name); in parseOperand()
1740 return parseATTOperand(Operands); in parseOperand()
1746 const InlineAsmIdentifierInfo &Info, OperandVector &Operands) { in CreateMemForMSInlineAsm() argument
1758 Operands.push_back(X86Operand::CreateMem(getPointerWidth(), Disp, Start, in CreateMemForMSInlineAsm()
1778 Operands.push_back(X86Operand::CreateMem(getPointerWidth(), Disp, Start, in CreateMemForMSInlineAsm()
1787 Operands.push_back(X86Operand::CreateMem( in CreateMemForMSInlineAsm()
2266 bool X86AsmParser::ParseRoundingModeOp(SMLoc Start, OperandVector &Operands) { in ParseRoundingModeOp() argument
2293 Operands.push_back(X86Operand::CreateImm(RndModeOp, Start, End)); in ParseRoundingModeOp()
2301 Operands.push_back(X86Operand::CreateToken("{sae}", consumedToken)); in ParseRoundingModeOp()
2513 bool X86AsmParser::parseIntelOperand(OperandVector &Operands, StringRef Name) { in parseIntelOperand() argument
2528 return ParseRoundingModeOp(Start, Operands); in parseIntelOperand()
2540 Operands.push_back(X86Operand::CreateReg(RegNo, Start, End)); in parseIntelOperand()
2574 Operands.push_back(X86Operand::CreateImm(Disp, Start, End, in parseIntelOperand()
2581 Operands.push_back(X86Operand::CreateImm(Disp, Start, End)); in parseIntelOperand()
2631 SM.getIdentifierInfo(), Operands); in parseIntelOperand()
2665 Operands.push_back(X86Operand::CreateMem( in parseIntelOperand()
2670 Operands.push_back(X86Operand::CreateMem( in parseIntelOperand()
2677 bool X86AsmParser::parseATTOperand(OperandVector &Operands) { in parseATTOperand() argument
2693 Operands.push_back(X86Operand::CreateImm(Val, Start, End)); in parseATTOperand()
2698 return ParseRoundingModeOp(Start, Operands); in parseATTOperand()
2728 Operands.push_back(X86Operand::CreateReg(Reg, Loc, EndLoc)); in parseATTOperand()
2736 Operands.push_back(X86Operand::CreateToken("*", consumeToken())); in parseATTOperand()
2740 return ParseMemOperand(Reg, Expr, Loc, EndLoc, Operands); in parseATTOperand()
2790 bool X86AsmParser::HandleAVX512Operand(OperandVector &Operands) { in HandleAVX512Operand() argument
2824 Operands.push_back(X86Operand::CreateToken(BroadcastPrimitive, in HandleAVX512Operand()
2851 Operands.push_back(X86Operand::CreateToken("{", StartLoc)); in HandleAVX512Operand()
2852 Operands.push_back( in HandleAVX512Operand()
2854 Operands.push_back(X86Operand::CreateToken("}", consumeToken())); in HandleAVX512Operand()
2871 Operands.push_back(std::move(Z)); in HandleAVX512Operand()
2882 OperandVector &Operands) { in ParseMemOperand() argument
2957 Operands.push_back( in ParseMemOperand()
2960 Operands.push_back(X86Operand::CreateMem(getPointerWidth(), SegReg, Disp, in ParseMemOperand()
3047 Operands.push_back(X86Operand::CreateDXReg(BaseLoc, BaseLoc)); in ParseMemOperand()
3056 Operands.push_back(X86Operand::CreateMem(getPointerWidth(), SegReg, Disp, in ParseMemOperand()
3060 Operands.push_back( in ParseMemOperand()
3083 SMLoc NameLoc, OperandVector &Operands) { in ParseInstruction() argument
3413 Operands.push_back(X86Operand::CreateToken(PatchedName, NameLoc)); in ParseInstruction()
3419 Operands.push_back(X86Operand::CreateImm(ImmOp, NameLoc, NameLoc)); in ParseInstruction()
3429 Operands.push_back(X86Operand::CreateToken("*", consumeToken())); in ParseInstruction()
3433 if (parseOperand(Operands, Name)) in ParseInstruction()
3435 if (HandleAVX512Operand(Operands)) in ParseInstruction()
3458 Operands.push_back(X86Operand::CreateImm(ImmOp, NameLoc, NameLoc)); in ParseInstruction()
3475 if (IsFp && Operands.size() == 1) { in ParseInstruction()
3481 static_cast<X86Operand &>(*Operands[0]).setTokenValue(Repl); in ParseInstruction()
3485 (Operands.size() == 3)) { in ParseInstruction()
3486 X86Operand &Op1 = (X86Operand &)*Operands[1]; in ParseInstruction()
3487 X86Operand &Op2 = (X86Operand &)*Operands[2]; in ParseInstruction()
3499 Operands[0] = X86Operand::CreateToken(Name, NameLoc); in ParseInstruction()
3504 Operands[1] = X86Operand::CreateReg(Reg, Loc, Loc); in ParseInstruction()
3513 Operands.size() == 3) { in ParseInstruction()
3514 X86Operand &Op = (X86Operand &)*Operands.back(); in ParseInstruction()
3516 Operands.back() = X86Operand::CreateReg(X86::DX, Op.getStartLoc(), in ParseInstruction()
3522 Operands.size() == 3) { in ParseInstruction()
3523 X86Operand &Op = (X86Operand &)*Operands[1]; in ParseInstruction()
3525 Operands[1] = X86Operand::CreateReg(X86::DX, Op.getStartLoc(), in ParseInstruction()
3534 (Operands.size() == 1 || Operands.size() == 3) && in ParseInstruction()
3541 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3546 (Operands.size() == 1 || Operands.size() == 3) && in ParseInstruction()
3551 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3558 (Operands.size() == 1 || Operands.size() == 2) && in ParseInstruction()
3562 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3569 (Operands.size() == 1 || Operands.size() == 2) && in ParseInstruction()
3573 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3580 (Operands.size() == 1 || Operands.size() == 2) && in ParseInstruction()
3584 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3589 (Operands.size() == 1 || Operands.size() == 3) && in ParseInstruction()
3594 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3604 (Operands.size() == 1 || Operands.size() == 3)) { in ParseInstruction()
3605 if (Name == "movsd" && Operands.size() == 1 && !isParsingIntelSyntax()) in ParseInstruction()
3606 Operands.back() = X86Operand::CreateToken("movsl", NameLoc); in ParseInstruction()
3609 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3618 if ((Name == "xlat" || Name == "xlatb") && Operands.size() == 2) { in ParseInstruction()
3619 X86Operand &Op1 = static_cast<X86Operand &>(*Operands[1]); in ParseInstruction()
3623 Operands.pop_back(); in ParseInstruction()
3624 static_cast<X86Operand &>(*Operands[0]).setTokenValue("xlatb"); in ParseInstruction()
3629 Operands.push_back(X86Operand::CreatePrefix(Flags, NameLoc, NameLoc)); in ParseInstruction()
4029 void X86AsmParser::emitInstruction(MCInst &Inst, OperandVector &Operands, in emitInstruction() argument
4043 OperandVector &Operands, in MatchAndEmitInstruction() argument
4047 return MatchAndEmitIntelInstruction(IDLoc, Opcode, Operands, Out, ErrorInfo, in MatchAndEmitInstruction()
4049 return MatchAndEmitATTInstruction(IDLoc, Opcode, Operands, Out, ErrorInfo, in MatchAndEmitInstruction()
4054 OperandVector &Operands, MCStreamer &Out, in MatchFPUWaitAlias() argument
4074 emitInstruction(Inst, Operands, Out); in MatchFPUWaitAlias()
4075 Operands[0] = X86Operand::CreateToken(Repl, IDLoc); in MatchFPUWaitAlias()
4093 static unsigned getPrefixes(OperandVector &Operands) { in getPrefixes() argument
4095 X86Operand &Prefix = static_cast<X86Operand &>(*Operands.back()); in getPrefixes()
4098 Operands.pop_back(); in getPrefixes()
4128 OperandVector &Operands, in MatchAndEmitATTInstruction() argument
4132 assert(!Operands.empty() && "Unexpect empty operand list!"); in MatchAndEmitATTInstruction()
4133 assert((*Operands[0]).isToken() && "Leading operand should always be a mnemonic!"); in MatchAndEmitATTInstruction()
4137 MatchFPUWaitAlias(IDLoc, static_cast<X86Operand &>(*Operands[0]), Operands, in MatchAndEmitATTInstruction()
4139 X86Operand &Op = static_cast<X86Operand &>(*Operands[0]); in MatchAndEmitATTInstruction()
4140 unsigned Prefixes = getPrefixes(Operands); in MatchAndEmitATTInstruction()
4170 unsigned OriginalError = MatchInstruction(Operands, Inst, ErrorInfo, in MatchAndEmitATTInstruction()
4180 if (!MatchingInlineAsm && validateInstruction(Inst, Operands)) in MatchAndEmitATTInstruction()
4186 while (processInstruction(Inst, Operands)) in MatchAndEmitATTInstruction()
4191 emitInstruction(Inst, Operands, Out); in MatchAndEmitATTInstruction()
4195 SMLoc ErrorLoc = ((X86Operand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitATTInstruction()
4248 for (const auto &Op : Operands) { in MatchAndEmitATTInstruction()
4268 MatchInstruction(Operands, Inst, ErrorInfoIgnore, MissingFeatures, in MatchAndEmitATTInstruction()
4284 if (!MatchingInlineAsm && validateInstruction(Inst, Operands)) in MatchAndEmitATTInstruction()
4290 while (processInstruction(Inst, Operands)) in MatchAndEmitATTInstruction()
4295 emitInstruction(Inst, Operands, Out); in MatchAndEmitATTInstruction()
4342 if (ErrorInfo >= Operands.size()) in MatchAndEmitATTInstruction()
4346 X86Operand &Operand = (X86Operand &)*Operands[ErrorInfo]; in MatchAndEmitATTInstruction()
4386 OperandVector &Operands, in MatchAndEmitIntelInstruction() argument
4390 assert(!Operands.empty() && "Unexpect empty operand list!"); in MatchAndEmitIntelInstruction()
4391 assert((*Operands[0]).isToken() && "Leading operand should always be a mnemonic!"); in MatchAndEmitIntelInstruction()
4392 StringRef Mnemonic = (static_cast<X86Operand &>(*Operands[0])).getToken(); in MatchAndEmitIntelInstruction()
4394 StringRef Base = (static_cast<X86Operand &>(*Operands[0])).getToken(); in MatchAndEmitIntelInstruction()
4395 unsigned Prefixes = getPrefixes(Operands); in MatchAndEmitIntelInstruction()
4398 …MatchFPUWaitAlias(IDLoc, static_cast<X86Operand &>(*Operands[0]), Operands, Out, MatchingInlineAsm… in MatchAndEmitIntelInstruction()
4399 X86Operand &Op = static_cast<X86Operand &>(*Operands[0]); in MatchAndEmitIntelInstruction()
4425 for (const auto &Op : Operands) { in MatchAndEmitIntelInstruction()
4453 if (Mnemonic == "push" && Operands.size() == 2) { in MatchAndEmitIntelInstruction()
4454 auto *X86Op = static_cast<X86Operand *>(Operands[1].get()); in MatchAndEmitIntelInstruction()
4468 Match.push_back(MatchInstruction(Operands, Inst, ErrorInfo, in MatchAndEmitIntelInstruction()
4485 unsigned M = MatchInstruction(Operands, Inst, ErrorInfoIgnore, in MatchAndEmitIntelInstruction()
4505 Operands, Inst, ErrorInfo, MissingFeatures, MatchingInlineAsm, in MatchAndEmitIntelInstruction()
4530 Operands, Inst, ErrorInfo, MissingFeatures, MatchingInlineAsm, in MatchAndEmitIntelInstruction()
4546 if (!MatchingInlineAsm && validateInstruction(Inst, Operands)) in MatchAndEmitIntelInstruction()
4552 while (processInstruction(Inst, Operands)) in MatchAndEmitIntelInstruction()
4556 emitInstruction(Inst, Operands, Out); in MatchAndEmitIntelInstruction()
4589 SMLoc ErrorLoc = ((X86Operand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitIntelInstruction()