@@ -2583,7 +2583,7 @@ bool DAGTypeLegalizer::PromoteFloatOperand(SDNode *N, unsigned OpNo) {
2583
2583
case ISD::LLROUND:
2584
2584
case ISD::LRINT:
2585
2585
case ISD::LLRINT: R = PromoteFloatOp_UnaryOp (N, OpNo); break ;
2586
- case ISD::AssertNoFPClass: R = PromoteFloatOp_UnaryOpExt1 (N, OpNo); break ;
2586
+ case ISD::AssertNoFPClass: R = PromoteFloatOp_AssertNoFPClass (N, OpNo); break ;
2587
2587
case ISD::FP_TO_SINT_SAT:
2588
2588
case ISD::FP_TO_UINT_SAT:
2589
2589
R = PromoteFloatOp_FP_TO_XINT_SAT (N, OpNo); break ;
@@ -2643,7 +2643,8 @@ SDValue DAGTypeLegalizer::PromoteFloatOp_UnaryOp(SDNode *N, unsigned OpNo) {
2643
2643
}
2644
2644
2645
2645
// Convert the promoted float value to the desired integer type
2646
- SDValue DAGTypeLegalizer::PromoteFloatOp_UnaryOpExt1 (SDNode *N, unsigned OpNo) {
2646
+ SDValue DAGTypeLegalizer::PromoteFloatOp_AssertNoFPClass (SDNode *N,
2647
+ unsigned OpNo) {
2647
2648
SDValue Op = GetPromotedFloat (N->getOperand (0 ));
2648
2649
return DAG.getNode (N->getOpcode (), SDLoc (N), N->getValueType (0 ), Op,
2649
2650
N->getOperand (1 ));
@@ -2814,7 +2815,7 @@ void DAGTypeLegalizer::PromoteFloatResult(SDNode *N, unsigned ResNo) {
2814
2815
case ISD::FTANH:
2815
2816
case ISD::FCANONICALIZE: R = PromoteFloatRes_UnaryOp (N); break ;
2816
2817
case ISD::AssertNoFPClass:
2817
- R = PromoteFloatRes_UnaryOpExt1 (N);
2818
+ R = PromoteFloatRes_AssertNoFPClass (N);
2818
2819
break ;
2819
2820
2820
2821
// Binary FP Operations
@@ -3014,7 +3015,7 @@ SDValue DAGTypeLegalizer::PromoteFloatRes_UnaryOp(SDNode *N) {
3014
3015
// Unary operation with a more non-float operand where the result and the
3015
3016
// operand have PromoteFloat type action. Construct a new SDNode with the
3016
3017
// promoted float value of the old operand.
3017
- SDValue DAGTypeLegalizer::PromoteFloatRes_UnaryOpExt1 (SDNode *N) {
3018
+ SDValue DAGTypeLegalizer::PromoteFloatRes_AssertNoFPClass (SDNode *N) {
3018
3019
EVT VT = N->getValueType (0 );
3019
3020
EVT NVT = TLI.getTypeToTransformTo (*DAG.getContext (), VT);
3020
3021
SDValue Op = GetPromotedFloat (N->getOperand (0 ));
@@ -3302,7 +3303,7 @@ void DAGTypeLegalizer::SoftPromoteHalfResult(SDNode *N, unsigned ResNo) {
3302
3303
case ISD::FTANH:
3303
3304
case ISD::FCANONICALIZE: R = SoftPromoteHalfRes_UnaryOp (N); break ;
3304
3305
case ISD::AssertNoFPClass:
3305
- R = SoftPromoteHalfRes_UnaryOpExt1 (N);
3306
+ R = SoftPromoteHalfRes_AssertNoFPClass (N);
3306
3307
break ;
3307
3308
3308
3309
// Binary FP Operations
@@ -3630,19 +3631,8 @@ SDValue DAGTypeLegalizer::SoftPromoteHalfRes_UnaryOp(SDNode *N) {
3630
3631
return DAG.getNode (GetPromotionOpcode (NVT, OVT), dl, MVT::i16 , Res);
3631
3632
}
3632
3633
3633
- SDValue DAGTypeLegalizer::SoftPromoteHalfRes_UnaryOpExt1 (SDNode *N) {
3634
- EVT OVT = N->getValueType (0 );
3635
- EVT NVT = TLI.getTypeToTransformTo (*DAG.getContext (), OVT);
3636
- SDValue Op = GetSoftPromotedHalf (N->getOperand (0 ));
3637
- SDLoc dl (N);
3638
-
3639
- // Promote to the larger FP type.
3640
- Op = DAG.getNode (GetPromotionOpcode (OVT, NVT), dl, NVT, Op);
3641
-
3642
- SDValue Res = DAG.getNode (N->getOpcode (), dl, NVT, Op, N->getOperand (1 ));
3643
-
3644
- // Convert back to FP16 as an integer.
3645
- return DAG.getNode (GetPromotionOpcode (NVT, OVT), dl, MVT::i16 , Res);
3634
+ SDValue DAGTypeLegalizer::SoftPromoteHalfRes_AssertNoFPClass (SDNode *N) {
3635
+ return GetSoftPromotedHalf (N->getOperand (0 ));
3646
3636
}
3647
3637
3648
3638
SDValue DAGTypeLegalizer::SoftPromoteHalfRes_BinOp (SDNode *N) {
0 commit comments