Lines Matching refs:Operands
694 void EmitInstruction(MCInst &Inst, OperandVector &Operands, MCStreamer &Out);
697 OperandVector &Operands, MCStreamer &Out,
701 void MatchFPUWaitAlias(SMLoc IDLoc, X86Operand &Op, OperandVector &Operands,
708 OperandVector &Operands, MCStreamer &Out,
713 OperandVector &Operands, MCStreamer &Out,
727 bool HandleAVX512Operand(OperandVector &Operands,
786 SMLoc NameLoc, OperandVector &Operands) override;
1756 bool X86AsmParser::HandleAVX512Operand(OperandVector &Operands, in HandleAVX512Operand() argument
1790 Operands.push_back(X86Operand::CreateToken(BroadcastPrimitive, in HandleAVX512Operand()
1797 Operands.push_back(X86Operand::CreateToken("{", consumedToken)); in HandleAVX512Operand()
1799 Operands.push_back(std::move(Op)); in HandleAVX512Operand()
1803 Operands.push_back(X86Operand::CreateToken("}", consumeToken())); in HandleAVX512Operand()
1807 Operands.push_back(X86Operand::CreateToken("{z}", consumeToken())); in HandleAVX512Operand()
1998 SMLoc NameLoc, OperandVector &Operands) { in ParseInstruction() argument
2052 Operands.push_back(X86Operand::CreateToken(PatchedName.slice(0, CCIdx), in ParseInstruction()
2057 Operands.push_back(X86Operand::CreateImm(ImmOp, NameLoc, NameLoc)); in ParseInstruction()
2080 Operands.push_back(X86Operand::CreateToken("vpcmp", NameLoc)); in ParseInstruction()
2084 Operands.push_back(X86Operand::CreateImm(ImmOp, NameLoc, NameLoc)); in ParseInstruction()
2107 Operands.push_back(X86Operand::CreateToken("vpcom", NameLoc)); in ParseInstruction()
2111 Operands.push_back(X86Operand::CreateImm(ImmOp, NameLoc, NameLoc)); in ParseInstruction()
2117 Operands.push_back(X86Operand::CreateToken(PatchedName, NameLoc)); in ParseInstruction()
2135 Operands.push_back(X86Operand::CreateToken("*", consumeToken())); in ParseInstruction()
2140 Operands.push_back(std::move(Op)); in ParseInstruction()
2141 if (!HandleAVX512Operand(Operands, *Operands.back())) in ParseInstruction()
2168 Operands.size() == 3) { in ParseInstruction()
2169 X86Operand &Op = (X86Operand &)*Operands.back(); in ParseInstruction()
2175 Operands.back() = X86Operand::CreateReg(Op.Mem.BaseReg, Loc, Loc); in ParseInstruction()
2180 Operands.size() == 3) { in ParseInstruction()
2181 X86Operand &Op = (X86Operand &)*Operands[1]; in ParseInstruction()
2187 Operands[1] = X86Operand::CreateReg(Op.Mem.BaseReg, Loc, Loc); in ParseInstruction()
2192 if (Name.startswith("ins") && Operands.size() == 1 && in ParseInstruction()
2196 Operands.push_back(X86Operand::CreateReg(X86::DX, NameLoc, NameLoc)); in ParseInstruction()
2197 Operands.push_back(DefaultMemDIOperand(NameLoc)); in ParseInstruction()
2199 Operands.push_back(X86Operand::CreateReg(X86::DX, NameLoc, NameLoc)); in ParseInstruction()
2200 Operands.push_back(DefaultMemDIOperand(NameLoc)); in ParseInstruction()
2205 if (Name.startswith("outs") && Operands.size() == 1 && in ParseInstruction()
2209 Operands.push_back(DefaultMemSIOperand(NameLoc)); in ParseInstruction()
2210 Operands.push_back(X86Operand::CreateReg(X86::DX, NameLoc, NameLoc)); in ParseInstruction()
2212 Operands.push_back(DefaultMemSIOperand(NameLoc)); in ParseInstruction()
2213 Operands.push_back(X86Operand::CreateReg(X86::DX, NameLoc, NameLoc)); in ParseInstruction()
2220 if (Name.startswith("lods") && Operands.size() == 1 && in ParseInstruction()
2223 Operands.push_back(DefaultMemSIOperand(NameLoc)); in ParseInstruction()
2228 if (Name.startswith("stos") && Operands.size() == 1 && in ParseInstruction()
2231 Operands.push_back(DefaultMemDIOperand(NameLoc)); in ParseInstruction()
2236 if (Name.startswith("scas") && Operands.size() == 1 && in ParseInstruction()
2239 Operands.push_back(DefaultMemDIOperand(NameLoc)); in ParseInstruction()
2245 if (Operands.size() == 1) { in ParseInstruction()
2247 Operands.push_back(DefaultMemSIOperand(NameLoc)); in ParseInstruction()
2248 Operands.push_back(DefaultMemDIOperand(NameLoc)); in ParseInstruction()
2250 Operands.push_back(DefaultMemDIOperand(NameLoc)); in ParseInstruction()
2251 Operands.push_back(DefaultMemSIOperand(NameLoc)); in ParseInstruction()
2253 } else if (Operands.size() == 3) { in ParseInstruction()
2254 X86Operand &Op = (X86Operand &)*Operands[1]; in ParseInstruction()
2255 X86Operand &Op2 = (X86Operand &)*Operands[2]; in ParseInstruction()
2269 if (Operands.size() == 1) { in ParseInstruction()
2271 Operands.back() = X86Operand::CreateToken("movsl", NameLoc); in ParseInstruction()
2273 Operands.push_back(DefaultMemDIOperand(NameLoc)); in ParseInstruction()
2274 Operands.push_back(DefaultMemSIOperand(NameLoc)); in ParseInstruction()
2276 Operands.push_back(DefaultMemSIOperand(NameLoc)); in ParseInstruction()
2277 Operands.push_back(DefaultMemDIOperand(NameLoc)); in ParseInstruction()
2279 } else if (Operands.size() == 3) { in ParseInstruction()
2280 X86Operand &Op = (X86Operand &)*Operands[1]; in ParseInstruction()
2281 X86Operand &Op2 = (X86Operand &)*Operands[2]; in ParseInstruction()
2294 Operands.size() == 3) { in ParseInstruction()
2297 X86Operand &Op1 = static_cast<X86Operand &>(*Operands[2]); in ParseInstruction()
2300 Operands.pop_back(); in ParseInstruction()
2302 X86Operand &Op1 = static_cast<X86Operand &>(*Operands[1]); in ParseInstruction()
2305 Operands.erase(Operands.begin() + 1); in ParseInstruction()
2311 if (Name == "int" && Operands.size() == 2) { in ParseInstruction()
2312 X86Operand &Op1 = static_cast<X86Operand &>(*Operands[1]); in ParseInstruction()
2315 Operands.erase(Operands.begin() + 1); in ParseInstruction()
2316 static_cast<X86Operand &>(*Operands[0]).setTokenValue("int3"); in ParseInstruction()
2459 void X86AsmParser::EmitInstruction(MCInst &Inst, OperandVector &Operands, in EmitInstruction() argument
2461 Instrumentation->InstrumentAndEmitInstruction(Inst, Operands, getContext(), in EmitInstruction()
2466 OperandVector &Operands, in MatchAndEmitInstruction() argument
2470 return MatchAndEmitIntelInstruction(IDLoc, Opcode, Operands, Out, ErrorInfo, in MatchAndEmitInstruction()
2472 return MatchAndEmitATTInstruction(IDLoc, Opcode, Operands, Out, ErrorInfo, in MatchAndEmitInstruction()
2477 OperandVector &Operands, MCStreamer &Out, in MatchFPUWaitAlias() argument
2497 EmitInstruction(Inst, Operands, Out); in MatchFPUWaitAlias()
2498 Operands[0] = X86Operand::CreateToken(Repl, IDLoc); in MatchFPUWaitAlias()
2519 OperandVector &Operands, in MatchAndEmitATTInstruction() argument
2523 assert(!Operands.empty() && "Unexpect empty operand list!"); in MatchAndEmitATTInstruction()
2524 X86Operand &Op = static_cast<X86Operand &>(*Operands[0]); in MatchAndEmitATTInstruction()
2529 MatchFPUWaitAlias(IDLoc, Op, Operands, Out, MatchingInlineAsm); in MatchAndEmitATTInstruction()
2535 switch (MatchInstructionImpl(Operands, Inst, in MatchAndEmitATTInstruction()
2540 if (!validateInstruction(Inst, Operands)) in MatchAndEmitATTInstruction()
2547 while (processInstruction(Inst, Operands)) in MatchAndEmitATTInstruction()
2552 EmitInstruction(Inst, Operands, Out); in MatchAndEmitATTInstruction()
2591 Match[I] = MatchInstructionImpl(Operands, Inst, ErrorInfoIgnore, in MatchAndEmitATTInstruction()
2609 EmitInstruction(Inst, Operands, Out); in MatchAndEmitATTInstruction()
2654 if (ErrorInfo >= Operands.size()) in MatchAndEmitATTInstruction()
2658 X86Operand &Operand = (X86Operand &)*Operands[ErrorInfo]; in MatchAndEmitATTInstruction()
2694 OperandVector &Operands, in MatchAndEmitIntelInstruction() argument
2698 assert(!Operands.empty() && "Unexpect empty operand list!"); in MatchAndEmitIntelInstruction()
2699 X86Operand &Op = static_cast<X86Operand &>(*Operands[0]); in MatchAndEmitIntelInstruction()
2705 MatchFPUWaitAlias(IDLoc, Op, Operands, Out, MatchingInlineAsm); in MatchAndEmitIntelInstruction()
2711 for (const auto &Op : Operands) { in MatchAndEmitIntelInstruction()
2741 MatchInstructionImpl(Operands, Inst, ErrorInfoIgnore, in MatchAndEmitIntelInstruction()
2760 Match.push_back(MatchInstructionImpl(Operands, Inst, ErrorInfo, in MatchAndEmitIntelInstruction()
2786 if (!validateInstruction(Inst, Operands)) in MatchAndEmitIntelInstruction()
2793 while (processInstruction(Inst, Operands)) in MatchAndEmitIntelInstruction()
2797 EmitInstruction(Inst, Operands, Out); in MatchAndEmitIntelInstruction()