Lines Matching refs:X86Operand
13 #include "X86Operand.h"
656 std::unique_ptr<X86Operand> DefaultMemSIOperand(SMLoc Loc);
657 std::unique_ptr<X86Operand> DefaultMemDIOperand(SMLoc Loc);
658 std::unique_ptr<X86Operand> ParseOperand();
659 std::unique_ptr<X86Operand> ParseATTOperand();
660 std::unique_ptr<X86Operand> ParseIntelOperand();
661 std::unique_ptr<X86Operand> ParseIntelOffsetOfOperator();
663 std::unique_ptr<X86Operand> ParseIntelOperator(unsigned OpKind);
664 std::unique_ptr<X86Operand>
666 std::unique_ptr<X86Operand>
669 std::unique_ptr<X86Operand> ParseIntelBracExpression(unsigned SegReg,
677 std::unique_ptr<X86Operand> ParseMemOperand(unsigned SegReg, SMLoc StartLoc);
679 std::unique_ptr<X86Operand>
702 bool doSrcDstMatch(X86Operand &Op1, X86Operand &Op2);
810 bool X86AsmParser::doSrcDstMatch(X86Operand &Op1, X86Operand &Op2)
940 std::unique_ptr<X86Operand> X86AsmParser::DefaultMemSIOperand(SMLoc Loc) {
944 return X86Operand::CreateMem(/*SegReg=*/0, Disp, /*BaseReg=*/basereg,
948 std::unique_ptr<X86Operand> X86AsmParser::DefaultMemDIOperand(SMLoc Loc) {
952 return X86Operand::CreateMem(/*SegReg=*/0, Disp, /*BaseReg=*/basereg,
956 std::unique_ptr<X86Operand> X86AsmParser::ParseOperand() {
978 std::unique_ptr<X86Operand> X86AsmParser::CreateMemForInlineAsm(
989 return X86Operand::CreateReg(RegNo, Start, End, /*AddressOf=*/true,
1012 return X86Operand::CreateMem(SegReg, Disp, BaseReg, IndexReg, Scale, Start,
1197 std::unique_ptr<X86Operand>
1252 return X86Operand::CreateMem(Disp, Start, End, Size);
1254 return X86Operand::CreateMem(SegReg, Disp, 0, 0, 1, Start, End, Size);
1261 return X86Operand::CreateMem(SegReg, Disp, BaseReg, IndexReg, Scale, Start,
1303 std::unique_ptr<X86Operand>
1326 return X86Operand::CreateMem(SegReg, Disp, /*BaseReg=*/0, /*IndexReg=*/0,
1341 return X86Operand::CreateMem(Val, Start, End, Size);
1354 std::unique_ptr<X86Operand> X86AsmParser::ParseIntelMemOperand(int64_t ImmDisp,
1370 return X86Operand::CreateMem(Val, Start, End, Size);
1408 return X86Operand::CreateMem(/*SegReg=*/0, Disp, /*BaseReg=*/1, /*IndexReg=*/0,
1459 std::unique_ptr<X86Operand> X86AsmParser::ParseIntelOffsetOfOperator() {
1480 return X86Operand::CreateReg(RegNo, Start, End, /*GetAddress=*/true,
1496 std::unique_ptr<X86Operand> X86AsmParser::ParseIntelOperator(unsigned OpKind) {
1526 return X86Operand::CreateImm(Imm, Start, End);
1529 std::unique_ptr<X86Operand> X86AsmParser::ParseIntelOperand() {
1581 return X86Operand::CreateMem(SM.getSym(), Start, End, Size);
1584 return X86Operand::CreateImm(ImmExpr, Start, End);
1602 return X86Operand::CreateReg(RegNo, Start, End);
1611 std::unique_ptr<X86Operand> X86AsmParser::ParseATTOperand() {
1630 return X86Operand::CreateReg(RegNo, Start, End);
1642 return X86Operand::CreateImm(Val, Start, End);
1678 Operands.push_back(X86Operand::CreateToken(BroadcastPrimitive,
1685 Operands.push_back(X86Operand::CreateToken("{", consumedToken));
1686 if (std::unique_ptr<X86Operand> Op = ParseOperand()) {
1691 Operands.push_back(X86Operand::CreateToken("}", consumeToken()));
1695 Operands.push_back(X86Operand::CreateToken("{z}", consumeToken()));
1715 std::unique_ptr<X86Operand> X86AsmParser::ParseMemOperand(unsigned SegReg,
1732 return X86Operand::CreateMem(Disp, MemStart, ExprEnd);
1733 return X86Operand::CreateMem(SegReg, Disp, 0, 0, 1, MemStart, ExprEnd);
1759 return X86Operand::CreateMem(Disp, LParenLoc, ExprEnd);
1760 return X86Operand::CreateMem(SegReg, Disp, 0, 0, 1, MemStart, ExprEnd);
1875 return X86Operand::CreateMem(SegReg, Disp, BaseReg, IndexReg, Scale,
1948 Operands.push_back(X86Operand::CreateToken(PatchedName, NameLoc));
1951 Operands.push_back(X86Operand::CreateImm(ExtraImmOp, NameLoc, NameLoc));
1969 Operands.push_back(X86Operand::CreateToken("*", consumeToken()));
1973 if (std::unique_ptr<X86Operand> Op = ParseOperand()) {
1999 Operands.push_back(X86Operand::CreateImm(ExtraImmOp, NameLoc, NameLoc));
2006 X86Operand &Op = (X86Operand &)*Operands.back();
2012 Operands.back() = X86Operand::CreateReg(Op.Mem.BaseReg, Loc, Loc);
2018 X86Operand &Op = (X86Operand &)*Operands[1];
2024 Operands[1] = X86Operand::CreateReg(Op.Mem.BaseReg, Loc, Loc);
2033 Operands.push_back(X86Operand::CreateReg(X86::DX, NameLoc, NameLoc));
2036 Operands.push_back(X86Operand::CreateReg(X86::DX, NameLoc, NameLoc));
2047 Operands.push_back(X86Operand::CreateReg(X86::DX, NameLoc, NameLoc));
2050 Operands.push_back(X86Operand::CreateReg(X86::DX, NameLoc, NameLoc));
2091 X86Operand &Op = (X86Operand &)*Operands[1];
2092 X86Operand &Op2 = (X86Operand &)*Operands[2];
2108 Operands.back() = X86Operand::CreateToken("movsl", NameLoc);
2117 X86Operand &Op = (X86Operand &)*Operands[1];
2118 X86Operand &Op2 = (X86Operand &)*Operands[2];
2134 X86Operand &Op1 = static_cast<X86Operand &>(*Operands[2]);
2139 X86Operand &Op1 = static_cast<X86Operand &>(*Operands[1]);
2149 X86Operand &Op1 = static_cast<X86Operand &>(*Operands[1]);
2153 static_cast<X86Operand &>(*Operands[0]).setTokenValue("int3");
2292 X86Operand &Op = static_cast<X86Operand &>(*Operands[0]);
2321 Operands[0] = X86Operand::CreateToken(Repl, IDLoc);
2480 X86Operand &Operand = (X86Operand &)*Operands[ErrorInfo];