@@ -546,9 +546,8 @@ AArch64TargetLowering::AArch64TargetLowering(const TargetMachine &TM,
546
546
setOperationAction(ISD::STRICT_FP_ROUND, MVT::f16, Custom);
547
547
setOperationAction(ISD::STRICT_FP_ROUND, MVT::f32, Custom);
548
548
setOperationAction(ISD::STRICT_FP_ROUND, MVT::f64, Custom);
549
- if (!Subtarget->hasFullFP16())
550
- setOperationAction(ISD::FP_ROUND, MVT::f16, Expand);
551
- else
549
+
550
+ if (Subtarget->hasFPARMv8())
552
551
setOperationAction(ISD::FP_ROUND, MVT::f16, Custom);
553
552
554
553
setOperationAction(ISD::FP_TO_UINT_SAT, MVT::i32, Custom);
@@ -1883,7 +1882,6 @@ void AArch64TargetLowering::addTypeForFixedLengthSVE(MVT VT,
1883
1882
}
1884
1883
1885
1884
// Lower fixed length vector operations to scalable equivalents.
1886
- setOperationAction(ISD::ANY_EXTEND, MVT::f32, Legal);
1887
1885
setOperationAction(ISD::ABS, VT, Custom);
1888
1886
setOperationAction(ISD::ADD, VT, Custom);
1889
1887
setOperationAction(ISD::AND, VT, Custom);
@@ -24620,7 +24618,7 @@ void AArch64TargetLowering::ReplaceBITCASTResults(
24620
24618
EVT SrcVT = Op.getValueType();
24621
24619
24622
24620
// Default to the generic legalizer
24623
- if (SrcVT == MVT::f16 && !Subtarget->hasFullFP16 ())
24621
+ if (SrcVT == MVT::f16 && !Subtarget->hasFPARMv8 ())
24624
24622
return;
24625
24623
24626
24624
if (VT == MVT::v2i16 && SrcVT == MVT::i32) {
0 commit comments