Lines Matching refs:RegKind

67 enum class RegKind {  enum
88 StringMap<std::pair<RegKind, unsigned>> RegisterReqs;
163 unsigned matchRegisterNameAlias(StringRef Name, RegKind Kind);
238 RegKind MatchKind);
266 template <RegKind VectorKind>
362 RegKind Kind;
401 RegKind RegisterKind;
1144 return Kind == k_Register && Reg.Kind == RegKind::Scalar; in isScalarReg()
1148 return Kind == k_Register && Reg.Kind == RegKind::NeonVector; in isNeonVectorReg()
1152 return Kind == k_Register && Reg.Kind == RegKind::NeonVector && in isNeonVectorRegLo()
1163 RegKind RK; in isSVEVectorReg()
1168 RK = RegKind::SVEDataVector; in isSVEVectorReg()
1172 RK = RegKind::SVEPredicateVector; in isSVEVectorReg()
1183 return Kind == k_Register && Reg.Kind == RegKind::Scalar && in isFPRasZPR()
1189 if (Kind != k_Register || Reg.Kind != RegKind::SVEPredicateVector) in isSVEPredicateVectorRegOfWidth()
1200 if (Kind != k_Register || Reg.Kind != RegKind::SVEDataVector) in isSVEDataVectorRegOfWidth()
1233 return Kind == k_Register && Reg.Kind == RegKind::Scalar && in isGPR32as64()
1238 return Kind == k_Register && Reg.Kind == RegKind::Scalar && in isGPR64as32()
1243 return Kind == k_Register && Reg.Kind == RegKind::Scalar && in isGPR64x8()
1249 return Kind == k_Register && Reg.Kind == RegKind::Scalar && in isWSeqPair()
1255 return Kind == k_Register && Reg.Kind == RegKind::Scalar && in isXSeqPair()
1274 return Kind == k_Register && Reg.Kind == RegKind::Scalar && in isGPR64()
1280 if (Kind != k_Register || Reg.Kind != RegKind::Scalar) in isGPR64WithShiftExtend()
1291 template <RegKind VectorKind, unsigned NumRegs>
1298 template <RegKind VectorKind, unsigned NumRegs, unsigned NumElements,
1980 CreateReg(unsigned RegNum, RegKind Kind, SMLoc S, SMLoc E, MCContext &Ctx, in CreateReg()
1999 CreateVectorReg(unsigned RegNum, RegKind Kind, unsigned ElementWidth, in CreateVectorReg()
2004 assert((Kind == RegKind::NeonVector || Kind == RegKind::SVEDataVector || in CreateVectorReg()
2005 Kind == RegKind::SVEPredicateVector) && in CreateVectorReg()
2015 unsigned ElementWidth, RegKind RegisterKind, SMLoc S, SMLoc E, in CreateVectorList()
2376 RegKind VectorKind) { in parseVectorKind()
2380 case RegKind::NeonVector: in parseVectorKind()
2407 case RegKind::SVEPredicateVector: in parseVectorKind()
2408 case RegKind::SVEDataVector: in parseVectorKind()
2409 case RegKind::Matrix: in parseVectorKind()
2429 static bool isValidVectorKind(StringRef Suffix, RegKind VectorKind) { in isValidVectorKind()
2626 RegKind Kind) { in matchRegisterNameAlias()
2629 return Kind == RegKind::SVEDataVector ? RegNum : 0; in matchRegisterNameAlias()
2632 return Kind == RegKind::SVEPredicateVector ? RegNum : 0; in matchRegisterNameAlias()
2635 return Kind == RegKind::NeonVector ? RegNum : 0; in matchRegisterNameAlias()
2638 return Kind == RegKind::Matrix ? RegNum : 0; in matchRegisterNameAlias()
2642 return Kind == RegKind::Scalar ? RegNum : 0; in matchRegisterNameAlias()
2652 return Kind == RegKind::Scalar ? RegNum : 0; in matchRegisterNameAlias()
2678 unsigned Reg = matchRegisterNameAlias(lowerCase, RegKind::Scalar); in tryParseScalarRegister()
3152 unsigned Reg = matchRegisterNameAlias(Name, RegKind::Matrix); in tryParseMatrixRegister()
3169 const auto &KindRes = parseVectorKind(Tail, RegKind::Matrix); in tryParseMatrixRegister()
3632 tryParseVectorRegister(Reg, Kind, RegKind::NeonVector); in tryParseNeonVectorRegister()
3636 const auto &KindRes = parseVectorKind(Kind, RegKind::NeonVector); in tryParseNeonVectorRegister()
3642 AArch64Operand::CreateVectorReg(Reg, RegKind::NeonVector, ElementWidth, in tryParseNeonVectorRegister()
3684 RegKind MatchKind) { in tryParseVectorRegister()
3721 auto Res = tryParseVectorRegister(RegNum, Kind, RegKind::SVEPredicateVector); in tryParseSVEPredicateVector()
3725 const auto &KindRes = parseVectorKind(Kind, RegKind::SVEPredicateVector); in tryParseSVEPredicateVector()
3731 RegNum, RegKind::SVEPredicateVector, ElementWidth, S, in tryParseSVEPredicateVector()
3879 parseVectorKind(Tail, RegKind::Matrix); in tryParseMatrixTileList()
3971 template <RegKind VectorKind>
4095 auto ParseRes = tryParseVectorList<RegKind::NeonVector>(Operands, true); in parseNeonVectorList()
4113 RegNum, RegKind::Scalar, StartLoc, getLoc(), getContext())); in tryParseGPR64sp0Operand()
4132 RegNum, RegKind::Scalar, StartLoc, getLoc(), getContext())); in tryParseGPR64sp0Operand()
4149 RegNum, RegKind::Scalar, StartLoc, getLoc(), getContext(), EqTy)); in tryParseGPROperand()
4164 RegNum, RegKind::Scalar, StartLoc, Ext->getEndLoc(), getContext(), EqTy, in tryParseGPROperand()
5561 RegWidth == 32 ? AArch64::WZR : AArch64::XZR, RegKind::Scalar, in MatchAndEmitInstruction()
5723 Operands[2] = AArch64Operand::CreateReg(Reg, RegKind::Scalar, in MatchAndEmitInstruction()
5739 Operands[2] = AArch64Operand::CreateReg(Reg, RegKind::Scalar, in MatchAndEmitInstruction()
5756 Operands[1] = AArch64Operand::CreateReg(Reg, RegKind::Scalar, in MatchAndEmitInstruction()
6441 RegKind RegisterKind = RegKind::Scalar; in parseDirectiveReq()
6447 RegisterKind = RegKind::NeonVector; in parseDirectiveReq()
6448 ParseRes = tryParseVectorRegister(RegNum, Kind, RegKind::NeonVector); in parseDirectiveReq()
6459 RegisterKind = RegKind::SVEDataVector; in parseDirectiveReq()
6461 tryParseVectorRegister(RegNum, Kind, RegKind::SVEDataVector); in parseDirectiveReq()
6473 RegisterKind = RegKind::SVEPredicateVector; in parseDirectiveReq()
6474 ParseRes = tryParseVectorRegister(RegNum, Kind, RegKind::SVEPredicateVector); in parseDirectiveReq()
6972 Operands.push_back(AArch64Operand::CreateReg(Pair, RegKind::Scalar, S, in tryParseGPRSeqPair()
6987 tryParseVectorRegister(RegNum, Kind, RegKind::SVEDataVector); in tryParseSVEDataVector()
6995 const auto &KindRes = parseVectorKind(Kind, RegKind::SVEDataVector); in tryParseSVEDataVector()
7004 RegNum, RegKind::SVEDataVector, ElementWidth, S, S, getContext())); in tryParseSVEDataVector()
7023 RegNum, RegKind::SVEDataVector, ElementWidth, S, Ext->getEndLoc(), in tryParseSVEDataVector()
7093 AArch64Operand::CreateReg(X8Reg, RegKind::Scalar, SS, getLoc(), ctx)); in tryParseGPR64x8()