Lines Matching refs:SparcOperand
56 class SparcOperand;
102 ParseStatus parseSparcAsmOperand(std::unique_ptr<SparcOperand> &Operand,
221 class SparcOperand : public MCParsedAsmOperand { class
276 SparcOperand(KindTy K) : Kind(K) {} in SparcOperand() function in __anonc75c7c080211::SparcOperand
465 static std::unique_ptr<SparcOperand> CreateToken(StringRef Str, SMLoc S) { in CreateToken()
466 auto Op = std::make_unique<SparcOperand>(k_Token); in CreateToken()
474 static std::unique_ptr<SparcOperand> CreateReg(unsigned RegNum, unsigned Kind, in CreateReg()
476 auto Op = std::make_unique<SparcOperand>(k_Register); in CreateReg()
478 Op->Reg.Kind = (SparcOperand::RegisterKind)Kind; in CreateReg()
484 static std::unique_ptr<SparcOperand> CreateImm(const MCExpr *Val, SMLoc S, in CreateImm()
486 auto Op = std::make_unique<SparcOperand>(k_Immediate); in CreateImm()
493 static std::unique_ptr<SparcOperand> CreateASITag(unsigned Val, SMLoc S, in CreateASITag()
495 auto Op = std::make_unique<SparcOperand>(k_ASITag); in CreateASITag()
502 static bool MorphToIntPairReg(SparcOperand &Op) { in MorphToIntPairReg()
521 static bool MorphToDoubleReg(SparcOperand &Op) { in MorphToDoubleReg()
532 static bool MorphToQuadReg(SparcOperand &Op) { in MorphToQuadReg()
555 static bool MorphToCoprocPairReg(SparcOperand &Op) { in MorphToCoprocPairReg()
568 static std::unique_ptr<SparcOperand>
569 MorphToMEMrr(unsigned Base, std::unique_ptr<SparcOperand> Op) { in MorphToMEMrr()
578 static std::unique_ptr<SparcOperand>
580 auto Op = std::make_unique<SparcOperand>(k_MemoryReg); in CreateMEMr()
589 static std::unique_ptr<SparcOperand>
590 MorphToMEMri(unsigned Base, std::unique_ptr<SparcOperand> Op) { in MorphToMEMri()
790 ErrorLoc = ((SparcOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
819 unsigned regKind = SparcOperand::rk_None; in tryParseRegister()
838 Operands.push_back(SparcOperand::CreateToken(Name, NameLoc)); in ParseInstruction()
859 Operands.push_back(SparcOperand::CreateToken("+", Parser.getTok().getLoc())); in ParseInstruction()
899 std::unique_ptr<SparcOperand> LHS; in parseMEMOperand()
905 Operands.push_back(SparcOperand::MorphToMEMri(Sparc::G0, std::move(LHS))); in parseMEMOperand()
918 std::unique_ptr<SparcOperand> RHS; in parseMEMOperand()
928 ? SparcOperand::MorphToMEMri(LHS->getReg(), std::move(RHS)) in parseMEMOperand()
929 : SparcOperand::MorphToMEMrr(LHS->getReg(), std::move(RHS))); in parseMEMOperand()
934 Operands.push_back(SparcOperand::CreateMEMr(LHS->getReg(), S, E)); in parseMEMOperand()
958 Operands.push_back(SparcOperand::CreateImm(Expr, S, E)); in parseShiftAmtImm()
1039 Operands.push_back(SparcOperand::CreateImm(Val, S, E)); in parseTailRelocSym()
1048 std::unique_ptr<SparcOperand> Mask; in parseMembarTag()
1081 Operands.push_back(SparcOperand::CreateImm(EVal, S, E)); in parseMembarTag()
1116 Operands.push_back(SparcOperand::CreateASITag(ASIVal, S, E)); in parseASITag()
1143 Operands.push_back(SparcOperand::CreateImm(DestExpr, S, E)); in parseCallTarget()
1160 Operands.push_back(SparcOperand::CreateToken("[", in parseOperand()
1178 Operands.push_back(SparcOperand::CreateReg(RegNo, RegKind, S, E)); in parseOperand()
1190 Operands.push_back(SparcOperand::CreateToken("]", in parseOperand()
1207 SparcOperand &OldMemOp = (SparcOperand &)*Operands[Operands.size() - 2]; in parseOperand()
1212 Operands[Operands.size() - 2] = SparcOperand::MorphToMEMri( in parseOperand()
1214 SparcOperand::CreateImm(MCConstantExpr::create(0, getContext()), in parseOperand()
1223 Operands.push_back(SparcOperand::CreateToken("%asi", S)); in parseOperand()
1239 std::unique_ptr<SparcOperand> Op; in parseOperand()
1252 SparcAsmParser::parseSparcAsmOperand(std::unique_ptr<SparcOperand> &Op, in parseSparcAsmOperand()
1271 Op = SparcOperand::CreateToken("%xcc", S); in parseSparcAsmOperand()
1273 Op = SparcOperand::CreateReg(Reg, RegKind, S, E); in parseSparcAsmOperand()
1278 Op = SparcOperand::CreateImm(EVal, S, E); in parseSparcAsmOperand()
1304 Op = SparcOperand::CreateImm(EVal, S, E); in parseSparcAsmOperand()
1320 Operands.push_back(SparcOperand::CreateToken(modName, in parseBranchModifiers()
1332 RegKind = SparcOperand::rk_None; in matchRegisterName()
1339 RegKind = SparcOperand::rk_IntReg; in matchRegisterName()
1345 RegKind = SparcOperand::rk_IntReg; in matchRegisterName()
1351 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1358 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1364 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1370 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1376 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1382 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1388 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1394 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1400 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1406 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1412 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1419 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1428 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1436 RegKind = SparcOperand::rk_IntReg; in matchRegisterName()
1443 RegKind = SparcOperand::rk_IntReg; in matchRegisterName()
1449 RegKind = SparcOperand::rk_IntReg; in matchRegisterName()
1455 RegKind = SparcOperand::rk_IntReg; in matchRegisterName()
1462 RegKind = SparcOperand::rk_FloatReg; in matchRegisterName()
1471 RegKind = SparcOperand::rk_DoubleReg; in matchRegisterName()
1479 RegKind = SparcOperand::rk_IntReg; in matchRegisterName()
1487 RegKind = SparcOperand::rk_CoprocReg; in matchRegisterName()
1493 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1498 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1503 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1508 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1513 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1518 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1523 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1528 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1533 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1538 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1543 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1548 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1553 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1558 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1563 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1568 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1573 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1578 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1583 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1588 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1596 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1601 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1606 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1611 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1616 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1621 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1626 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1631 RegKind = SparcOperand::rk_Special; in matchRegisterName()
1746 SparcOperand &Op = (SparcOperand &)GOp; in validateTargetOperandClass()
1751 if (!Op.isFloatReg() || SparcOperand::MorphToDoubleReg(Op)) in validateTargetOperandClass()
1755 if (SparcOperand::MorphToQuadReg(Op)) in validateTargetOperandClass()
1761 if (SparcOperand::MorphToIntPairReg(Op)) in validateTargetOperandClass()
1765 if (SparcOperand::MorphToCoprocPairReg(Op)) in validateTargetOperandClass()