@@ -19107,23 +19107,10 @@ tryToReplaceScalarFPConversionWithSVE(SDNode *N, SelectionDAG &DAG,
19107
19107
!isSupportedType(N->getOperand(0).getValueType()))
19108
19108
return SDValue();
19109
19109
19110
- // Look through fp_extends to avoid extra fcvts.
19111
19110
SDValue SrcVal = N->getOperand(0);
19112
- if (SrcVal->getOpcode() == ISD::FP_EXTEND &&
19113
- isSupportedType(SrcVal->getOperand(0).getValueType()))
19114
- SrcVal = SrcVal->getOperand(0);
19115
-
19116
19111
EVT SrcTy = SrcVal.getValueType();
19117
19112
EVT DestTy = N->getValueType(0);
19118
19113
19119
- // Merge in any subsequent fp_round to avoid extra fcvts.
19120
- SDNode *FPRoundNode = nullptr;
19121
- if (N->hasOneUse() && N->use_begin()->getOpcode() == ISD::FP_ROUND &&
19122
- isSupportedType(N->use_begin()->getValueType(0))) {
19123
- FPRoundNode = *N->use_begin();
19124
- DestTy = FPRoundNode->getValueType(0);
19125
- }
19126
-
19127
19114
EVT SrcVecTy;
19128
19115
EVT DestVecTy;
19129
19116
if (DestTy.bitsGT(SrcTy)) {
@@ -19145,11 +19132,6 @@ tryToReplaceScalarFPConversionWithSVE(SDNode *N, SelectionDAG &DAG,
19145
19132
SDValue Convert = DAG.getNode(N->getOpcode(), DL, DestVecTy, Vec);
19146
19133
SDValue Scalar =
19147
19134
DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, DestTy, Convert, ZeroIdx);
19148
-
19149
- if (FPRoundNode) {
19150
- DAG.ReplaceAllUsesWith(SDValue(FPRoundNode, 0), Scalar);
19151
- return SDValue();
19152
- }
19153
19135
return Scalar;
19154
19136
}
19155
19137
0 commit comments