} else {
TargetRegisterClass *RC;
} else {
TargetRegisterClass *RC;
- bool IsHardFloatCC = (CallConv == CallingConv::ARM_AAPCS_VFP);
- if (IsHardFloatCC && RegVT == MVT::f32)
+ if (FloatABIType == FloatABI::Hard && RegVT == MVT::f32)
RC = ARM::SPRRegisterClass;
RC = ARM::SPRRegisterClass;
- else if (IsHardFloatCC && RegVT == MVT::f64)
+ else if (FloatABIType == FloatABI::Hard && RegVT == MVT::f64)
RC = ARM::DPRRegisterClass;
RC = ARM::DPRRegisterClass;
- else if (IsHardFloatCC && RegVT == MVT::v2f64)
+ else if (FloatABIType == FloatABI::Hard && RegVT == MVT::v2f64)
RC = ARM::QPRRegisterClass;
else if (AFI->isThumb1OnlyFunction())
RC = ARM::tGPRRegisterClass;
RC = ARM::QPRRegisterClass;
else if (AFI->isThumb1OnlyFunction())
RC = ARM::tGPRRegisterClass;
RC = ARM::GPRRegisterClass;
assert((RegVT == MVT::i32 || RegVT == MVT::f32 ||
RC = ARM::GPRRegisterClass;
assert((RegVT == MVT::i32 || RegVT == MVT::f32 ||
+ (FloatABIType == FloatABI::Hard &&
((RegVT == MVT::f64) || (RegVT == MVT::v2f64)))) &&
"RegVT not supported by FORMAL_ARGUMENTS Lowering");
((RegVT == MVT::f64) || (RegVT == MVT::v2f64)))) &&
"RegVT not supported by FORMAL_ARGUMENTS Lowering");