Lines Matching defs:LoongArchAsmParser
1 // LoongArchAsmParser.cpp - Parse LoongArch assembly to MCInst instructions -=//
32 class LoongArchAsmParser : public MCTargetAsmParser {
151 LoongArchAsmParser(const MCSubtargetInfo &STI, MCAsmParser &Parser,
244 return LoongArchAsmParser::classifySymbolRef(getImm(), VK) &&
254 return LoongArchAsmParser::classifySymbolRef(getImm(), VK) &&
294 : LoongArchAsmParser::classifySymbolRef(getImm(), VK) &&
317 : LoongArchAsmParser::classifySymbolRef(getImm(), VK) &&
341 : LoongArchAsmParser::classifySymbolRef(getImm(), VK) &&
365 : LoongArchAsmParser::classifySymbolRef(getImm(), VK) &&
387 : LoongArchAsmParser::classifySymbolRef(getImm(), VK) &&
409 : LoongArchAsmParser::classifySymbolRef(getImm(), VK) &&
433 : LoongArchAsmParser::classifySymbolRef(getImm(), VK) &&
449 : LoongArchAsmParser::classifySymbolRef(getImm(), VK) &&
467 : LoongArchAsmParser::classifySymbolRef(getImm(), VK) &&
482 : LoongArchAsmParser::classifySymbolRef(getImm(), VK) &&
499 : LoongArchAsmParser::classifySymbolRef(getImm(), VK) &&
627 bool LoongArchAsmParser::parseRegister(MCRegister &Reg, SMLoc &StartLoc,
632 ParseStatus LoongArchAsmParser::tryParseRegister(MCRegister &Reg,
638 bool LoongArchAsmParser::classifySymbolRef(const MCExpr *Expr,
653 ParseStatus LoongArchAsmParser::parseRegister(OperandVector &Operands) {
673 ParseStatus LoongArchAsmParser::parseImmediate(OperandVector &Operands) {
702 LoongArchAsmParser::parseOperandWithModifier(OperandVector &Operands) {
733 ParseStatus LoongArchAsmParser::parseSImm26Operand(OperandVector &Operands) {
757 ParseStatus LoongArchAsmParser::parseAtomicMemOp(OperandVector &Operands) {
777 bool LoongArchAsmParser::parseOperand(OperandVector &Operands,
796 bool LoongArchAsmParser::ParseInstruction(ParseInstructionInfo &Info,
824 void LoongArchAsmParser::emitLAInstSeq(MCRegister DestReg, MCRegister TmpReg,
830 for (LoongArchAsmParser::Inst &Inst : Insts) {
902 void LoongArchAsmParser::emitLoadAddressAbs(MCInst &Inst, SMLoc IDLoc,
918 Insts.push_back(LoongArchAsmParser::Inst(
920 Insts.push_back(LoongArchAsmParser::Inst(
924 Insts.push_back(LoongArchAsmParser::Inst(
926 Insts.push_back(LoongArchAsmParser::Inst(
933 void LoongArchAsmParser::emitLoadAddressPcrel(MCInst &Inst, SMLoc IDLoc,
944 Insts.push_back(LoongArchAsmParser::Inst(
947 LoongArchAsmParser::Inst(ADDI, LoongArchMCExpr::VK_LoongArch_PCALA_LO12));
952 void LoongArchAsmParser::emitLoadAddressPcrelLarge(MCInst &Inst, SMLoc IDLoc,
966 Insts.push_back(LoongArchAsmParser::Inst(
968 Insts.push_back(LoongArchAsmParser::Inst(
970 Insts.push_back(LoongArchAsmParser::Inst(
972 Insts.push_back(LoongArchAsmParser::Inst(
974 Insts.push_back(LoongArchAsmParser::Inst(LoongArch::ADD_D));
979 void LoongArchAsmParser::emitLoadAddressGot(MCInst &Inst, SMLoc IDLoc,
990 Insts.push_back(LoongArchAsmParser::Inst(
993 LoongArchAsmParser::Inst(LD, LoongArchMCExpr::VK_LoongArch_GOT_PC_LO12));
998 void LoongArchAsmParser::emitLoadAddressGotLarge(MCInst &Inst, SMLoc IDLoc,
1012 Insts.push_back(LoongArchAsmParser::Inst(
1014 Insts.push_back(LoongArchAsmParser::Inst(
1016 Insts.push_back(LoongArchAsmParser::Inst(
1018 Insts.push_back(LoongArchAsmParser::Inst(
1020 Insts.push_back(LoongArchAsmParser::Inst(LoongArch::LDX_D));
1025 void LoongArchAsmParser::emitLoadAddressTLSLE(MCInst &Inst, SMLoc IDLoc,
1035 Insts.push_back(LoongArchAsmParser::Inst(
1037 Insts.push_back(LoongArchAsmParser::Inst(
1043 void LoongArchAsmParser::emitLoadAddressTLSIE(MCInst &Inst, SMLoc IDLoc,
1054 Insts.push_back(LoongArchAsmParser::Inst(
1056 Insts.push_back(LoongArchAsmParser::Inst(
1062 void LoongArchAsmParser::emitLoadAddressTLSIELarge(MCInst &Inst, SMLoc IDLoc,
1076 Insts.push_back(LoongArchAsmParser::Inst(
1078 Insts.push_back(LoongArchAsmParser::Inst(
1080 Insts.push_back(LoongArchAsmParser::Inst(
1082 Insts.push_back(LoongArchAsmParser::Inst(
1084 Insts.push_back(LoongArchAsmParser::Inst(LoongArch::LDX_D));
1089 void LoongArchAsmParser::emitLoadAddressTLSLD(MCInst &Inst, SMLoc IDLoc,
1100 Insts.push_back(LoongArchAsmParser::Inst(
1102 Insts.push_back(LoongArchAsmParser::Inst(
1108 void LoongArchAsmParser::emitLoadAddressTLSLDLarge(MCInst &Inst, SMLoc IDLoc,
1122 Insts.push_back(LoongArchAsmParser::Inst(
1124 Insts.push_back(LoongArchAsmParser::Inst(
1126 Insts.push_back(LoongArchAsmParser::Inst(
1128 Insts.push_back(LoongArchAsmParser::Inst(
1130 Insts.push_back(LoongArchAsmParser::Inst(LoongArch::ADD_D));
1135 void LoongArchAsmParser::emitLoadAddressTLSGD(MCInst &Inst, SMLoc IDLoc,
1146 Insts.push_back(LoongArchAsmParser::Inst(
1148 Insts.push_back(LoongArchAsmParser::Inst(
1154 void LoongArchAsmParser::emitLoadAddressTLSGDLarge(MCInst &Inst, SMLoc IDLoc,
1168 Insts.push_back(LoongArchAsmParser::Inst(
1170 Insts.push_back(LoongArchAsmParser::Inst(
1172 Insts.push_back(LoongArchAsmParser::Inst(
1174 Insts.push_back(LoongArchAsmParser::Inst(
1176 Insts.push_back(LoongArchAsmParser::Inst(LoongArch::ADD_D));
1181 void LoongArchAsmParser::emitLoadAddressTLSDescAbs(MCInst &Inst, SMLoc IDLoc,
1204 Insts.push_back(LoongArchAsmParser::Inst(
1206 Insts.push_back(LoongArchAsmParser::Inst(
1210 Insts.push_back(LoongArchAsmParser::Inst(
1212 Insts.push_back(LoongArchAsmParser::Inst(
1217 LoongArchAsmParser::Inst(LD, LoongArchMCExpr::VK_LoongArch_TLS_DESC_LD));
1218 Insts.push_back(LoongArchAsmParser::Inst(
1224 void LoongArchAsmParser::emitLoadAddressTLSDescPcrel(MCInst &Inst, SMLoc IDLoc,
1238 Insts.push_back(LoongArchAsmParser::Inst(
1240 Insts.push_back(LoongArchAsmParser::Inst(
1243 LoongArchAsmParser::Inst(LD, LoongArchMCExpr::VK_LoongArch_TLS_DESC_LD));
1244 Insts.push_back(LoongArchAsmParser::Inst(
1250 void LoongArchAsmParser::emitLoadAddressTLSDescPcrelLarge(MCInst &Inst,
1267 Insts.push_back(LoongArchAsmParser::Inst(
1269 Insts.push_back(LoongArchAsmParser::Inst(
1271 Insts.push_back(LoongArchAsmParser::Inst(
1273 Insts.push_back(LoongArchAsmParser::Inst(
1275 Insts.push_back(LoongArchAsmParser::Inst(LoongArch::ADD_D));
1276 Insts.push_back(LoongArchAsmParser::Inst(
1278 Insts.push_back(LoongArchAsmParser::Inst(
1284 void LoongArchAsmParser::emitLoadImm(MCInst &Inst, SMLoc IDLoc,
1306 void LoongArchAsmParser::emitFuncCall36(MCInst &Inst, SMLoc IDLoc,
1335 bool LoongArchAsmParser::processInstruction(MCInst &Inst, SMLoc IDLoc,
1404 unsigned LoongArchAsmParser::checkTargetMatchPredicate(MCInst &Inst) {
1466 LoongArchAsmParser::validateTargetOperandClass(MCParsedAsmOperand &AsmOp,
1484 bool LoongArchAsmParser::generateImmOutOfRangeError(
1491 bool LoongArchAsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
1734 RegisterMCAsmParser<LoongArchAsmParser> X(getTheLoongArch32Target());
1735 RegisterMCAsmParser<LoongArchAsmParser> Y(getTheLoongArch64Target());