Lines Matching refs:Operands
129 unsigned MatchInstruction(const OperandVector &Operands, MCInst &Inst, in MatchInstruction() argument
135 unsigned rv = MatchInstructionImpl(Operands, Inst, ErrorInfo, in MatchInstruction()
1109 AddDefaultSrcDestOperands(OperandVector &Operands,
1114 bool parseOperand(OperandVector &Operands, StringRef Name);
1115 bool parseATTOperand(OperandVector &Operands);
1116 bool parseIntelOperand(OperandVector &Operands, StringRef Name);
1124 bool ParseRoundingModeOp(SMLoc Start, OperandVector &Operands);
1140 SMLoc EndLoc, OperandVector &Operands);
1150 OperandVector &Operands);
1186 void emitInstruction(MCInst &Inst, OperandVector &Operands, MCStreamer &Out);
1189 OperandVector &Operands, MCStreamer &Out,
1193 void MatchFPUWaitAlias(SMLoc IDLoc, X86Operand &Op, OperandVector &Operands,
1200 OperandVector &Operands, MCStreamer &Out,
1205 OperandVector &Operands, MCStreamer &Out,
1214 bool HandleAVX512Operand(OperandVector &Operands);
1285 SMLoc NameLoc, OperandVector &Operands) override;
1647 OperandVector& Operands, std::unique_ptr<llvm::MCParsedAsmOperand> &&Src, in AddDefaultSrcDestOperands() argument
1650 Operands.push_back(std::move(Dst)); in AddDefaultSrcDestOperands()
1651 Operands.push_back(std::move(Src)); in AddDefaultSrcDestOperands()
1654 Operands.push_back(std::move(Src)); in AddDefaultSrcDestOperands()
1655 Operands.push_back(std::move(Dst)); in AddDefaultSrcDestOperands()
1741 bool X86AsmParser::parseOperand(OperandVector &Operands, StringRef Name) { in parseOperand() argument
1743 return parseIntelOperand(Operands, Name); in parseOperand()
1745 return parseATTOperand(Operands); in parseOperand()
1754 OperandVector &Operands) { in CreateMemForMSInlineAsm() argument
1760 Operands.push_back(X86Operand::CreateMem(getPointerWidth(), Disp, Start, in CreateMemForMSInlineAsm()
1781 Operands.push_back(X86Operand::CreateMem(getPointerWidth(), Disp, Start, in CreateMemForMSInlineAsm()
1789 Operands.push_back(X86Operand::CreateMem( in CreateMemForMSInlineAsm()
2268 bool X86AsmParser::ParseRoundingModeOp(SMLoc Start, OperandVector &Operands) { in ParseRoundingModeOp() argument
2295 Operands.push_back(X86Operand::CreateImm(RndModeOp, Start, End)); in ParseRoundingModeOp()
2303 Operands.push_back(X86Operand::CreateToken("{sae}", consumedToken)); in ParseRoundingModeOp()
2515 bool X86AsmParser::parseIntelOperand(OperandVector &Operands, StringRef Name) { in parseIntelOperand() argument
2530 return ParseRoundingModeOp(Start, Operands); in parseIntelOperand()
2542 Operands.push_back(X86Operand::CreateReg(RegNo, Start, End)); in parseIntelOperand()
2576 Operands.push_back(X86Operand::CreateImm(Disp, Start, End, in parseIntelOperand()
2583 Operands.push_back(X86Operand::CreateImm(Disp, Start, End)); in parseIntelOperand()
2636 SM.getIdentifierInfo(), Operands); in parseIntelOperand()
2675 Operands.push_back(X86Operand::CreateMem( in parseIntelOperand()
2680 Operands.push_back(X86Operand::CreateMem( in parseIntelOperand()
2687 bool X86AsmParser::parseATTOperand(OperandVector &Operands) { in parseATTOperand() argument
2703 Operands.push_back(X86Operand::CreateImm(Val, Start, End)); in parseATTOperand()
2708 return ParseRoundingModeOp(Start, Operands); in parseATTOperand()
2738 Operands.push_back(X86Operand::CreateReg(Reg, Loc, EndLoc)); in parseATTOperand()
2746 Operands.push_back(X86Operand::CreateToken("*", consumeToken())); in parseATTOperand()
2750 return ParseMemOperand(Reg, Expr, Loc, EndLoc, Operands); in parseATTOperand()
2800 bool X86AsmParser::HandleAVX512Operand(OperandVector &Operands) { in HandleAVX512Operand() argument
2834 Operands.push_back(X86Operand::CreateToken(BroadcastPrimitive, in HandleAVX512Operand()
2861 Operands.push_back(X86Operand::CreateToken("{", StartLoc)); in HandleAVX512Operand()
2862 Operands.push_back( in HandleAVX512Operand()
2864 Operands.push_back(X86Operand::CreateToken("}", consumeToken())); in HandleAVX512Operand()
2881 Operands.push_back(std::move(Z)); in HandleAVX512Operand()
2892 OperandVector &Operands) { in ParseMemOperand() argument
2967 Operands.push_back( in ParseMemOperand()
2970 Operands.push_back(X86Operand::CreateMem(getPointerWidth(), SegReg, Disp, in ParseMemOperand()
3057 Operands.push_back(X86Operand::CreateDXReg(BaseLoc, BaseLoc)); in ParseMemOperand()
3095 Operands.push_back(X86Operand::CreateMem(getPointerWidth(), SegReg, Disp, in ParseMemOperand()
3099 Operands.push_back( in ParseMemOperand()
3122 SMLoc NameLoc, OperandVector &Operands) { in ParseInstruction() argument
3455 Operands.push_back(X86Operand::CreateToken(PatchedName, NameLoc)); in ParseInstruction()
3461 Operands.push_back(X86Operand::CreateImm(ImmOp, NameLoc, NameLoc)); in ParseInstruction()
3471 Operands.push_back(X86Operand::CreateToken("*", consumeToken())); in ParseInstruction()
3475 if (parseOperand(Operands, Name)) in ParseInstruction()
3477 if (HandleAVX512Operand(Operands)) in ParseInstruction()
3500 Operands.push_back(X86Operand::CreateImm(ImmOp, NameLoc, NameLoc)); in ParseInstruction()
3517 if (IsFp && Operands.size() == 1) { in ParseInstruction()
3523 static_cast<X86Operand &>(*Operands[0]).setTokenValue(Repl); in ParseInstruction()
3527 (Operands.size() == 3)) { in ParseInstruction()
3528 X86Operand &Op1 = (X86Operand &)*Operands[1]; in ParseInstruction()
3529 X86Operand &Op2 = (X86Operand &)*Operands[2]; in ParseInstruction()
3541 Operands[0] = X86Operand::CreateToken(Name, NameLoc); in ParseInstruction()
3546 Operands[1] = X86Operand::CreateReg(Reg, Loc, Loc); in ParseInstruction()
3555 Operands.size() == 3) { in ParseInstruction()
3556 X86Operand &Op = (X86Operand &)*Operands.back(); in ParseInstruction()
3558 Operands.back() = X86Operand::CreateReg(X86::DX, Op.getStartLoc(), in ParseInstruction()
3564 Operands.size() == 3) { in ParseInstruction()
3565 X86Operand &Op = (X86Operand &)*Operands[1]; in ParseInstruction()
3567 Operands[1] = X86Operand::CreateReg(X86::DX, Op.getStartLoc(), in ParseInstruction()
3576 (Operands.size() == 1 || Operands.size() == 3) && in ParseInstruction()
3583 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3588 (Operands.size() == 1 || Operands.size() == 3) && in ParseInstruction()
3593 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3600 (Operands.size() == 1 || Operands.size() == 2) && in ParseInstruction()
3604 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3611 (Operands.size() == 1 || Operands.size() == 2) && in ParseInstruction()
3615 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3622 (Operands.size() == 1 || Operands.size() == 2) && in ParseInstruction()
3626 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3631 (Operands.size() == 1 || Operands.size() == 3) && in ParseInstruction()
3636 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3646 (Operands.size() == 1 || Operands.size() == 3)) { in ParseInstruction()
3647 if (Name == "movsd" && Operands.size() == 1 && !isParsingIntelSyntax()) in ParseInstruction()
3648 Operands.back() = X86Operand::CreateToken("movsl", NameLoc); in ParseInstruction()
3651 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3660 if ((Name == "xlat" || Name == "xlatb") && Operands.size() == 2) { in ParseInstruction()
3661 X86Operand &Op1 = static_cast<X86Operand &>(*Operands[1]); in ParseInstruction()
3665 Operands.pop_back(); in ParseInstruction()
3666 static_cast<X86Operand &>(*Operands[0]).setTokenValue("xlatb"); in ParseInstruction()
3671 Operands.push_back(X86Operand::CreatePrefix(Flags, NameLoc, NameLoc)); in ParseInstruction()
3924 void X86AsmParser::emitInstruction(MCInst &Inst, OperandVector &Operands, in emitInstruction() argument
3938 OperandVector &Operands, in MatchAndEmitInstruction() argument
3942 return MatchAndEmitIntelInstruction(IDLoc, Opcode, Operands, Out, ErrorInfo, in MatchAndEmitInstruction()
3944 return MatchAndEmitATTInstruction(IDLoc, Opcode, Operands, Out, ErrorInfo, in MatchAndEmitInstruction()
3949 OperandVector &Operands, MCStreamer &Out, in MatchFPUWaitAlias() argument
3969 emitInstruction(Inst, Operands, Out); in MatchFPUWaitAlias()
3970 Operands[0] = X86Operand::CreateToken(Repl, IDLoc); in MatchFPUWaitAlias()
3988 static unsigned getPrefixes(OperandVector &Operands) { in getPrefixes() argument
3990 X86Operand &Prefix = static_cast<X86Operand &>(*Operands.back()); in getPrefixes()
3993 Operands.pop_back(); in getPrefixes()
4028 OperandVector &Operands, in MatchAndEmitATTInstruction() argument
4032 assert(!Operands.empty() && "Unexpect empty operand list!"); in MatchAndEmitATTInstruction()
4033 assert((*Operands[0]).isToken() && "Leading operand should always be a mnemonic!"); in MatchAndEmitATTInstruction()
4037 MatchFPUWaitAlias(IDLoc, static_cast<X86Operand &>(*Operands[0]), Operands, in MatchAndEmitATTInstruction()
4039 X86Operand &Op = static_cast<X86Operand &>(*Operands[0]); in MatchAndEmitATTInstruction()
4040 unsigned Prefixes = getPrefixes(Operands); in MatchAndEmitATTInstruction()
4070 unsigned OriginalError = MatchInstruction(Operands, Inst, ErrorInfo, in MatchAndEmitATTInstruction()
4080 if (!MatchingInlineAsm && validateInstruction(Inst, Operands)) in MatchAndEmitATTInstruction()
4086 while (processInstruction(Inst, Operands)) in MatchAndEmitATTInstruction()
4091 emitInstruction(Inst, Operands, Out); in MatchAndEmitATTInstruction()
4095 SMLoc ErrorLoc = ((X86Operand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitATTInstruction()
4148 for (const auto &Op : Operands) { in MatchAndEmitATTInstruction()
4168 MatchInstruction(Operands, Inst, ErrorInfoIgnore, MissingFeatures, in MatchAndEmitATTInstruction()
4184 if (!MatchingInlineAsm && validateInstruction(Inst, Operands)) in MatchAndEmitATTInstruction()
4190 while (processInstruction(Inst, Operands)) in MatchAndEmitATTInstruction()
4195 emitInstruction(Inst, Operands, Out); in MatchAndEmitATTInstruction()
4242 if (ErrorInfo >= Operands.size()) in MatchAndEmitATTInstruction()
4246 X86Operand &Operand = (X86Operand &)*Operands[ErrorInfo]; in MatchAndEmitATTInstruction()
4286 OperandVector &Operands, in MatchAndEmitIntelInstruction() argument
4290 assert(!Operands.empty() && "Unexpect empty operand list!"); in MatchAndEmitIntelInstruction()
4291 assert((*Operands[0]).isToken() && "Leading operand should always be a mnemonic!"); in MatchAndEmitIntelInstruction()
4292 StringRef Mnemonic = (static_cast<X86Operand &>(*Operands[0])).getToken(); in MatchAndEmitIntelInstruction()
4294 StringRef Base = (static_cast<X86Operand &>(*Operands[0])).getToken(); in MatchAndEmitIntelInstruction()
4295 unsigned Prefixes = getPrefixes(Operands); in MatchAndEmitIntelInstruction()
4298 …MatchFPUWaitAlias(IDLoc, static_cast<X86Operand &>(*Operands[0]), Operands, Out, MatchingInlineAsm… in MatchAndEmitIntelInstruction()
4299 X86Operand &Op = static_cast<X86Operand &>(*Operands[0]); in MatchAndEmitIntelInstruction()
4325 for (const auto &Op : Operands) { in MatchAndEmitIntelInstruction()
4353 if (Mnemonic == "push" && Operands.size() == 2) { in MatchAndEmitIntelInstruction()
4354 auto *X86Op = static_cast<X86Operand *>(Operands[1].get()); in MatchAndEmitIntelInstruction()
4368 Match.push_back(MatchInstruction(Operands, Inst, ErrorInfo, in MatchAndEmitIntelInstruction()
4385 unsigned M = MatchInstruction(Operands, Inst, ErrorInfoIgnore, in MatchAndEmitIntelInstruction()
4405 Operands, Inst, ErrorInfo, MissingFeatures, MatchingInlineAsm, in MatchAndEmitIntelInstruction()
4430 Operands, Inst, ErrorInfo, MissingFeatures, MatchingInlineAsm, in MatchAndEmitIntelInstruction()
4446 if (!MatchingInlineAsm && validateInstruction(Inst, Operands)) in MatchAndEmitIntelInstruction()
4452 while (processInstruction(Inst, Operands)) in MatchAndEmitIntelInstruction()
4456 emitInstruction(Inst, Operands, Out); in MatchAndEmitIntelInstruction()
4489 SMLoc ErrorLoc = ((X86Operand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitIntelInstruction()