@@ -334,10 +334,10 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
334
334
setOperationAction(ISD::FP_TO_SINT_SAT, VT, Custom);
335
335
}
336
336
setOperationAction(ISD::FCANONICALIZE, MVT::f32, Custom);
337
+ setOperationAction(ISD::FCANONICALIZE, MVT::f64, Custom);
337
338
if (Subtarget.is64Bit()) {
338
339
setOperationAction(ISD::FP_TO_UINT_SAT, MVT::i64, Custom);
339
340
setOperationAction(ISD::FP_TO_SINT_SAT, MVT::i64, Custom);
340
- setOperationAction(ISD::FCANONICALIZE, MVT::f64, Custom);
341
341
}
342
342
}
343
343
if (Subtarget.hasAVX10_2()) {
@@ -29058,7 +29058,8 @@ static SDValue LowerFMINIMUM_FMAXIMUM(SDValue Op, const X86Subtarget &Subtarget,
29058
29058
SDValue IsNaN =
29059
29059
DAG.getSetCC(DL, SetCCType, NewX, NewX, IsNum ? ISD::SETO : ISD::SETUO);
29060
29060
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);
29062
29063
}
29063
29064
29064
29065
static SDValue LowerABD(SDValue Op, const X86Subtarget &Subtarget,
0 commit comments