@@ -5595,7 +5595,6 @@ LegalizerHelper::fewerElementsVector(MachineInstr &MI, unsigned TypeIdx,
55955595 case G_ANYEXT:
55965596 case G_FPEXT:
55975597 case G_FPTRUNC:
5598- case G_FPTRUNC_ODD:
55995598 case G_SITOFP:
56005599 case G_UITOFP:
56015600 case G_FPTOSI:
@@ -8477,8 +8476,7 @@ LegalizerHelper::lowerFPTOINT_SAT(MachineInstr &MI) {
84778476 return Legalized;
84788477}
84798478
8480- // f64 -> f16 conversion using round-to-nearest-even rounding mode for scalars
8481- // and round-to-odd for vectors.
8479+ // f64 -> f16 conversion using round-to-nearest-even rounding mode.
84828480LegalizerHelper::LegalizeResult
84838481LegalizerHelper::lowerFPTRUNC_F64_TO_F16 (MachineInstr &MI) {
84848482 const LLT S1 = LLT::scalar (1 );
@@ -8488,28 +8486,8 @@ LegalizerHelper::lowerFPTRUNC_F64_TO_F16(MachineInstr &MI) {
84888486 assert (MRI.getType (Dst).getScalarType () == LLT::scalar (16 ) &&
84898487 MRI.getType (Src).getScalarType () == LLT::scalar (64 ));
84908488
8491- if (MRI.getType (Src).isVector ()) {
8492- LLT SrcTy = MRI.getType (Src);
8493-
8494- LLT MidTy = LLT::fixed_vector (SrcTy.getNumElements (), LLT::scalar (32 ));
8495-
8496- // Check if G_FPTRUNC_ODD has been added to the legalizer and the resultant
8497- // types can be legalized.
8498- auto LegalizeAction =
8499- LI.getAction ({TargetOpcode::G_FPTRUNC_ODD, {MidTy, SrcTy}}).Action ;
8500-
8501- if (LegalizeAction == LegalizeActions::Unsupported ||
8502- LegalizeAction == LegalizeActions::NotFound)
8503- return UnableToLegalize;
8504-
8505- MIRBuilder.setInstrAndDebugLoc (MI);
8506-
8507- MachineInstrBuilder Mid = MIRBuilder.buildFPTruncOdd (MidTy, Src);
8508- MIRBuilder.buildFPTrunc (Dst, Mid.getReg (0 ));
8509-
8510- MI.eraseFromParent ();
8511- return Legalized;
8512- }
8489+ if (MRI.getType (Src).isVector ())
8490+ return UnableToLegalize;
85138491
85148492 if (MI.getFlag (MachineInstr::FmAfn)) {
85158493 unsigned Flags = MI.getFlags ();
0 commit comments