@@ -334,10 +334,10 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
334334 setOperationAction(ISD::FP_TO_SINT_SAT, VT, Custom);
335335 }
336336 setOperationAction(ISD::FCANONICALIZE, MVT::f32, Custom);
337+ setOperationAction(ISD::FCANONICALIZE, MVT::f64, Custom);
337338 if (Subtarget.is64Bit()) {
338339 setOperationAction(ISD::FP_TO_UINT_SAT, MVT::i64, Custom);
339340 setOperationAction(ISD::FP_TO_SINT_SAT, MVT::i64, Custom);
340- setOperationAction(ISD::FCANONICALIZE, MVT::f64, Custom);
341341 }
342342 }
343343 if (Subtarget.hasAVX10_2()) {
@@ -29058,7 +29058,8 @@ static SDValue LowerFMINIMUM_FMAXIMUM(SDValue Op, const X86Subtarget &Subtarget,
2905829058 SDValue IsNaN =
2905929059 DAG.getSetCC(DL, SetCCType, NewX, NewX, IsNum ? ISD::SETO : ISD::SETUO);
2906029060
29061- return DAG.getSelect(DL, VT, IsNaN, NewX, MinMax);
29061+ MinMax = DAG.getSelect(DL, VT, IsNaN, NewX, MinMax);
29062+ return DAG.getNode(ISD::FCANONICALIZE, DL, VT, MinMax);
2906229063}
2906329064
2906429065static SDValue LowerABD(SDValue Op, const X86Subtarget &Subtarget,
0 commit comments