Home | History | Annotate | Download | only in AsmParser

Lines Matching defs:Start

700   ParseIntelSegmentOverride(unsigned SegReg, SMLoc Start, unsigned Size);
703 std::unique_ptr<X86Operand> ParseRoundingModeOp(SMLoc Start, SMLoc End);
706 SMLoc Start,
717 unsigned IndexReg, unsigned Scale, SMLoc Start,
1161 unsigned Scale, SMLoc Start, SMLoc End, unsigned Size, StringRef Identifier,
1169 InstInfo->AsmRewrites->emplace_back(AOK_SizeDirective, Start,
1175 return X86Operand::CreateMem(getPointerWidth(), Disp, Start, End, Size,
1189 InstInfo->AsmRewrites->emplace_back(AOK_SizeDirective, Start,
1199 IndexReg, Scale, Start, End, Size, Identifier,
1388 X86AsmParser::ParseIntelBracExpression(unsigned SegReg, SMLoc Start,
1446 return X86Operand::CreateMem(getPointerWidth(), Disp, Start, End, Size);
1448 Start, End, Size);
1456 IndexReg, Scale, Start, End, Size);
1460 return CreateMemForInlineAsm(SegReg, Disp, BaseReg, IndexReg, Scale, Start,
1515 X86AsmParser::ParseIntelSegmentOverride(unsigned SegReg, SMLoc Start,
1539 Start, ImmDispToken.getEndLoc(), Size);
1544 return ParseIntelBracExpression(SegReg, Start, ImmDisp, Size);
1552 return X86Operand::CreateMem(getPointerWidth(), Val, Start, End, Size);
1561 /*Scale=*/1, Start, End, Size, Identifier, Info);
1566 X86AsmParser::ParseRoundingModeOp(SMLoc Start, SMLoc End) {
1590 return X86Operand::CreateImm(RndModeOp, Start, End);
1603 SMLoc Start,
1611 return ParseIntelBracExpression(/*SegReg=*/0, Start, ImmDisp, Size);
1619 return X86Operand::CreateMem(getPointerWidth(), Val, Start, End, Size);
1630 /*Scale=*/1, Start, End, Size, Identifier, Info);
1641 Error(Start, "cannot use more than one symbol in memory operand");
1645 Error(Start, "cannot use base register with variable reference");
1649 Error(Start, "cannot use index register with variable reference");
1659 Start, End, Size, Identifier, Info.OpDecl);
1716 SMLoc Start = Tok.getLoc(), End;
1730 return X86Operand::CreateReg(RegNo, Start, End, /*GetAddress=*/true,
1754 SMLoc Start = Tok.getLoc(), End;
1761 return ErrorOperand(Start, "unable to lookup expression");
1777 return X86Operand::CreateImm(Imm, Start, End);
1783 SMLoc Start, End;
1807 Start = Tok.getLoc();
1820 unsigned Len = Tok.getLoc().getPointer() - Start.getPointer();
1823 InstInfo->AsmRewrites->emplace_back(AOK_ImmPrefix, Start);
1826 InstInfo->AsmRewrites->emplace_back(AOK_Imm, Start, Len, Imm);
1835 return X86Operand::CreateMem(getPointerWidth(), SM.getSym(), Start, End,
1839 return X86Operand::CreateImm(ImmExpr, Start, End);
1844 return ErrorOperand(Start, "expected a positive immediate displacement "
1848 return ParseIntelMemOperand(Imm, Start, Size);
1854 Start, End);
1858 if (!ParseRegister(RegNo, Start, End)) {
1859 // If this is a segment register followed by a ':', then this is the start
1865 return ErrorOperand(Start, "expected memory operand after "
1868 return X86Operand::CreateReg(RegNo, Start, End);
1871 return ParseIntelSegmentOverride(/*SegReg=*/RegNo, Start, Size);
1875 return ParseIntelMemOperand(/*Disp=*/0, Start, Size);
1887 SMLoc Start, End;
1888 if (ParseRegister(RegNo, Start, End)) return nullptr;
1890 Error(Start, "%eiz and %riz can only be used as index registers",
1891 SMRange(Start, End));
1895 // If this is a segment register followed by a ':', then this is the start
1898 return X86Operand::CreateReg(RegNo, Start, End);
1901 return ErrorOperand(Start, "invalid segment register");
1904 return ParseMemOperand(RegNo, Start);
1908 SMLoc Start = Parser.getTok().getLoc(), End;
1913 return X86Operand::CreateImm(Val, Start, End);
1916 SMLoc Start = Parser.getTok().getLoc(), End;
1918 return ParseRoundingModeOp(Start, End);
1919 return ErrorOperand(Start, "unknown token in expression");
1999 // We have to disambiguate a parenthesized expression "(4+5)" from the start