Lines Matching refs:Operands
122 unsigned MatchInstruction(const OperandVector &Operands, MCInst &Inst, in MatchInstruction() argument
128 unsigned rv = MatchInstructionImpl(Operands, Inst, ErrorInfo, in MatchInstruction()
1087 AddDefaultSrcDestOperands(OperandVector &Operands,
1092 bool ParseOperand(OperandVector &Operands);
1093 bool ParseATTOperand(OperandVector &Operands);
1094 bool ParseIntelOperand(OperandVector &Operands);
1102 bool ParseRoundingModeOp(SMLoc Start, OperandVector &Operands);
1116 SMLoc EndLoc, OperandVector &Operands);
1126 OperandVector &Operands);
1162 void emitInstruction(MCInst &Inst, OperandVector &Operands, MCStreamer &Out);
1165 OperandVector &Operands, MCStreamer &Out,
1169 void MatchFPUWaitAlias(SMLoc IDLoc, X86Operand &Op, OperandVector &Operands,
1176 OperandVector &Operands, MCStreamer &Out,
1181 OperandVector &Operands, MCStreamer &Out,
1190 bool HandleAVX512Operand(OperandVector &Operands);
1261 SMLoc NameLoc, OperandVector &Operands) override;
1625 OperandVector& Operands, std::unique_ptr<llvm::MCParsedAsmOperand> &&Src, in AddDefaultSrcDestOperands() argument
1628 Operands.push_back(std::move(Dst)); in AddDefaultSrcDestOperands()
1629 Operands.push_back(std::move(Src)); in AddDefaultSrcDestOperands()
1632 Operands.push_back(std::move(Src)); in AddDefaultSrcDestOperands()
1633 Operands.push_back(std::move(Dst)); in AddDefaultSrcDestOperands()
1719 bool X86AsmParser::ParseOperand(OperandVector &Operands) { in ParseOperand() argument
1721 return ParseIntelOperand(Operands); in ParseOperand()
1723 return ParseATTOperand(Operands); in ParseOperand()
1729 const InlineAsmIdentifierInfo &Info, OperandVector &Operands) { in CreateMemForMSInlineAsm() argument
1741 Operands.push_back(X86Operand::CreateMem(getPointerWidth(), Disp, Start, in CreateMemForMSInlineAsm()
1761 Operands.push_back( in CreateMemForMSInlineAsm()
1769 Operands.push_back(X86Operand::CreateMem( in CreateMemForMSInlineAsm()
2232 bool X86AsmParser::ParseRoundingModeOp(SMLoc Start, OperandVector &Operands) { in ParseRoundingModeOp() argument
2259 Operands.push_back(X86Operand::CreateImm(RndModeOp, Start, End)); in ParseRoundingModeOp()
2267 Operands.push_back(X86Operand::CreateToken("{sae}", consumedToken)); in ParseRoundingModeOp()
2479 bool X86AsmParser::ParseIntelOperand(OperandVector &Operands) { in ParseIntelOperand() argument
2494 return ParseRoundingModeOp(Start, Operands); in ParseIntelOperand()
2506 Operands.push_back(X86Operand::CreateReg(RegNo, Start, End)); in ParseIntelOperand()
2540 Operands.push_back(X86Operand::CreateImm(Disp, Start, End, in ParseIntelOperand()
2547 Operands.push_back(X86Operand::CreateImm(Disp, Start, End)); in ParseIntelOperand()
2595 SM.getIdentifierInfo(), Operands); in ParseIntelOperand()
2600 Operands.push_back(X86Operand::CreateMem(getPointerWidth(), RegNo, Disp, in ParseIntelOperand()
2608 Operands.push_back(X86Operand::CreateMem(getPointerWidth(), RegNo, Disp, in ParseIntelOperand()
2612 Operands.push_back( in ParseIntelOperand()
2617 bool X86AsmParser::ParseATTOperand(OperandVector &Operands) { in ParseATTOperand() argument
2633 Operands.push_back(X86Operand::CreateImm(Val, Start, End)); in ParseATTOperand()
2638 return ParseRoundingModeOp(Start, Operands); in ParseATTOperand()
2668 Operands.push_back(X86Operand::CreateReg(Reg, Loc, EndLoc)); in ParseATTOperand()
2676 Operands.push_back(X86Operand::CreateToken("*", consumeToken())); in ParseATTOperand()
2680 return ParseMemOperand(Reg, Expr, Loc, EndLoc, Operands); in ParseATTOperand()
2730 bool X86AsmParser::HandleAVX512Operand(OperandVector &Operands) { in HandleAVX512Operand() argument
2763 Operands.push_back(X86Operand::CreateToken(BroadcastPrimitive, in HandleAVX512Operand()
2790 Operands.push_back(X86Operand::CreateToken("{", StartLoc)); in HandleAVX512Operand()
2791 Operands.push_back( in HandleAVX512Operand()
2793 Operands.push_back(X86Operand::CreateToken("}", consumeToken())); in HandleAVX512Operand()
2810 Operands.push_back(std::move(Z)); in HandleAVX512Operand()
2821 OperandVector &Operands) { in ParseMemOperand() argument
2896 Operands.push_back( in ParseMemOperand()
2899 Operands.push_back(X86Operand::CreateMem(getPointerWidth(), SegReg, Disp, in ParseMemOperand()
2986 Operands.push_back(X86Operand::CreateDXReg(BaseLoc, BaseLoc)); in ParseMemOperand()
2995 Operands.push_back(X86Operand::CreateMem(getPointerWidth(), SegReg, Disp, in ParseMemOperand()
2999 Operands.push_back( in ParseMemOperand()
3022 SMLoc NameLoc, OperandVector &Operands) { in ParseInstruction() argument
3346 Operands.push_back(X86Operand::CreateToken(PatchedName, NameLoc)); in ParseInstruction()
3352 Operands.push_back(X86Operand::CreateImm(ImmOp, NameLoc, NameLoc)); in ParseInstruction()
3362 Operands.push_back(X86Operand::CreateToken("*", consumeToken())); in ParseInstruction()
3366 if (ParseOperand(Operands)) in ParseInstruction()
3368 if (HandleAVX512Operand(Operands)) in ParseInstruction()
3391 Operands.push_back(X86Operand::CreateImm(ImmOp, NameLoc, NameLoc)); in ParseInstruction()
3408 if (IsFp && Operands.size() == 1) { in ParseInstruction()
3414 static_cast<X86Operand &>(*Operands[0]).setTokenValue(Repl); in ParseInstruction()
3418 (Operands.size() == 3)) { in ParseInstruction()
3419 X86Operand &Op1 = (X86Operand &)*Operands[1]; in ParseInstruction()
3420 X86Operand &Op2 = (X86Operand &)*Operands[2]; in ParseInstruction()
3432 Operands[0] = X86Operand::CreateToken(Name, NameLoc); in ParseInstruction()
3437 Operands[1] = X86Operand::CreateReg(Reg, Loc, Loc); in ParseInstruction()
3446 Operands.size() == 3) { in ParseInstruction()
3447 X86Operand &Op = (X86Operand &)*Operands.back(); in ParseInstruction()
3449 Operands.back() = X86Operand::CreateReg(X86::DX, Op.getStartLoc(), in ParseInstruction()
3455 Operands.size() == 3) { in ParseInstruction()
3456 X86Operand &Op = (X86Operand &)*Operands[1]; in ParseInstruction()
3458 Operands[1] = X86Operand::CreateReg(X86::DX, Op.getStartLoc(), in ParseInstruction()
3467 (Operands.size() == 1 || Operands.size() == 3) && in ParseInstruction()
3474 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3479 (Operands.size() == 1 || Operands.size() == 3) && in ParseInstruction()
3484 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3491 (Operands.size() == 1 || Operands.size() == 2) && in ParseInstruction()
3495 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3502 (Operands.size() == 1 || Operands.size() == 2) && in ParseInstruction()
3506 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3513 (Operands.size() == 1 || Operands.size() == 2) && in ParseInstruction()
3517 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3522 (Operands.size() == 1 || Operands.size() == 3) && in ParseInstruction()
3527 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3537 (Operands.size() == 1 || Operands.size() == 3)) { in ParseInstruction()
3538 if (Name == "movsd" && Operands.size() == 1 && !isParsingIntelSyntax()) in ParseInstruction()
3539 Operands.back() = X86Operand::CreateToken("movsl", NameLoc); in ParseInstruction()
3542 HadVerifyError = VerifyAndAdjustOperands(Operands, TmpOperands); in ParseInstruction()
3551 if ((Name == "xlat" || Name == "xlatb") && Operands.size() == 2) { in ParseInstruction()
3552 X86Operand &Op1 = static_cast<X86Operand &>(*Operands[1]); in ParseInstruction()
3556 Operands.pop_back(); in ParseInstruction()
3557 static_cast<X86Operand &>(*Operands[0]).setTokenValue("xlatb"); in ParseInstruction()
3562 Operands.push_back(X86Operand::CreatePrefix(Flags, NameLoc, NameLoc)); in ParseInstruction()
4001 void X86AsmParser::emitInstruction(MCInst &Inst, OperandVector &Operands, in emitInstruction() argument
4015 OperandVector &Operands, in MatchAndEmitInstruction() argument
4019 return MatchAndEmitIntelInstruction(IDLoc, Opcode, Operands, Out, ErrorInfo, in MatchAndEmitInstruction()
4021 return MatchAndEmitATTInstruction(IDLoc, Opcode, Operands, Out, ErrorInfo, in MatchAndEmitInstruction()
4026 OperandVector &Operands, MCStreamer &Out, in MatchFPUWaitAlias() argument
4046 emitInstruction(Inst, Operands, Out); in MatchFPUWaitAlias()
4047 Operands[0] = X86Operand::CreateToken(Repl, IDLoc); in MatchFPUWaitAlias()
4065 static unsigned getPrefixes(OperandVector &Operands) { in getPrefixes() argument
4067 X86Operand &Prefix = static_cast<X86Operand &>(*Operands.back()); in getPrefixes()
4070 Operands.pop_back(); in getPrefixes()
4118 OperandVector &Operands, in MatchAndEmitATTInstruction() argument
4122 assert(!Operands.empty() && "Unexpect empty operand list!"); in MatchAndEmitATTInstruction()
4123 assert((*Operands[0]).isToken() && "Leading operand should always be a mnemonic!"); in MatchAndEmitATTInstruction()
4127 MatchFPUWaitAlias(IDLoc, static_cast<X86Operand &>(*Operands[0]), Operands, in MatchAndEmitATTInstruction()
4129 X86Operand &Op = static_cast<X86Operand &>(*Operands[0]); in MatchAndEmitATTInstruction()
4130 unsigned Prefixes = getPrefixes(Operands); in MatchAndEmitATTInstruction()
4160 unsigned OriginalError = MatchInstruction(Operands, Inst, ErrorInfo, in MatchAndEmitATTInstruction()
4170 if (!MatchingInlineAsm && validateInstruction(Inst, Operands)) in MatchAndEmitATTInstruction()
4176 while (processInstruction(Inst, Operands)) in MatchAndEmitATTInstruction()
4181 emitInstruction(Inst, Operands, Out); in MatchAndEmitATTInstruction()
4185 SMLoc ErrorLoc = ((X86Operand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitATTInstruction()
4238 for (const auto &Op : Operands) { in MatchAndEmitATTInstruction()
4258 MatchInstruction(Operands, Inst, ErrorInfoIgnore, MissingFeatures, in MatchAndEmitATTInstruction()
4275 if (!MatchingInlineAsm && validateInstruction(Inst, Operands)) in MatchAndEmitATTInstruction()
4281 while (processInstruction(Inst, Operands)) in MatchAndEmitATTInstruction()
4286 emitInstruction(Inst, Operands, Out); in MatchAndEmitATTInstruction()
4333 if (ErrorInfo >= Operands.size()) in MatchAndEmitATTInstruction()
4337 X86Operand &Operand = (X86Operand &)*Operands[ErrorInfo]; in MatchAndEmitATTInstruction()
4380 OperandVector &Operands, in MatchAndEmitIntelInstruction() argument
4384 assert(!Operands.empty() && "Unexpect empty operand list!"); in MatchAndEmitIntelInstruction()
4385 assert((*Operands[0]).isToken() && "Leading operand should always be a mnemonic!"); in MatchAndEmitIntelInstruction()
4386 StringRef Mnemonic = (static_cast<X86Operand &>(*Operands[0])).getToken(); in MatchAndEmitIntelInstruction()
4388 StringRef Base = (static_cast<X86Operand &>(*Operands[0])).getToken(); in MatchAndEmitIntelInstruction()
4389 unsigned Prefixes = getPrefixes(Operands); in MatchAndEmitIntelInstruction()
4392 …MatchFPUWaitAlias(IDLoc, static_cast<X86Operand &>(*Operands[0]), Operands, Out, MatchingInlineAsm… in MatchAndEmitIntelInstruction()
4393 X86Operand &Op = static_cast<X86Operand &>(*Operands[0]); in MatchAndEmitIntelInstruction()
4419 for (const auto &Op : Operands) { in MatchAndEmitIntelInstruction()
4447 if (Mnemonic == "push" && Operands.size() == 2) { in MatchAndEmitIntelInstruction()
4448 auto *X86Op = static_cast<X86Operand *>(Operands[1].get()); in MatchAndEmitIntelInstruction()
4462 Match.push_back(MatchInstruction(Operands, Inst, ErrorInfo, in MatchAndEmitIntelInstruction()
4479 unsigned M = MatchInstruction(Operands, Inst, ErrorInfoIgnore, in MatchAndEmitIntelInstruction()
4499 Operands, Inst, ErrorInfo, MissingFeatures, MatchingInlineAsm, in MatchAndEmitIntelInstruction()
4525 Operands, Inst, ErrorInfo, MissingFeatures, MatchingInlineAsm, in MatchAndEmitIntelInstruction()
4541 if (!MatchingInlineAsm && validateInstruction(Inst, Operands)) in MatchAndEmitIntelInstruction()
4547 while (processInstruction(Inst, Operands)) in MatchAndEmitIntelInstruction()
4551 emitInstruction(Inst, Operands, Out); in MatchAndEmitIntelInstruction()
4588 SMLoc ErrorLoc = ((X86Operand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitIntelInstruction()