@@ -6499,19 +6499,21 @@ static unsigned getMinMaxOpcodeForFP(SDValue Operand1, SDValue Operand2,
6499
6499
// It is safe to use FMINNUM_IEEE/FMAXNUM_IEEE if all the operands
6500
6500
// are non NaN values.
6501
6501
if (((CC == ISD::SETLT || CC == ISD::SETLE) && (OrAndOpcode == ISD::OR)) ||
6502
- ((CC == ISD::SETGT || CC == ISD::SETGE) && (OrAndOpcode == ISD::AND)))
6502
+ ((CC == ISD::SETGT || CC == ISD::SETGE) && (OrAndOpcode == ISD::AND))) {
6503
6503
return arebothOperandsNotNan(Operand1, Operand2, DAG) &&
6504
6504
isFMAXNUMFMINNUM_IEEE
6505
6505
? ISD::FMINNUM_IEEE
6506
6506
: ISD::DELETED_NODE;
6507
- else if (((CC == ISD::SETGT || CC == ISD::SETGE) &&
6508
- (OrAndOpcode == ISD::OR)) ||
6509
- (( CC == ISD::SETLT || CC == ISD::SETLE ) &&
6510
- (OrAndOpcode == ISD::AND)))
6507
+ }
6508
+
6509
+ if ((( CC == ISD::SETGT || CC == ISD::SETGE ) && (OrAndOpcode == ISD::OR)) ||
6510
+ ((CC == ISD::SETLT || CC == ISD::SETLE) && (OrAndOpcode == ISD::AND))) {
6511
6511
return arebothOperandsNotNan(Operand1, Operand2, DAG) &&
6512
6512
isFMAXNUMFMINNUM_IEEE
6513
6513
? ISD::FMAXNUM_IEEE
6514
6514
: ISD::DELETED_NODE;
6515
+ }
6516
+
6515
6517
// Both FMINNUM/FMAXNUM and FMINNUM_IEEE/FMAXNUM_IEEE handle quiet
6516
6518
// NaNs in the same way. But, FMINNUM/FMAXNUM and FMINNUM_IEEE/
6517
6519
// FMAXNUM_IEEE handle signaling NaNs differently. If we cannot prove
@@ -6521,24 +6523,24 @@ static unsigned getMinMaxOpcodeForFP(SDValue Operand1, SDValue Operand2,
6521
6523
// we can prove that we do not have any sNaNs, then we can do the
6522
6524
// optimization using FMINNUM_IEEE/FMAXNUM_IEEE for the following
6523
6525
// cases.
6524
- else if (((CC == ISD::SETOLT || CC == ISD::SETOLE) &&
6525
- (OrAndOpcode == ISD::OR)) ||
6526
- ((CC == ISD::SETUGT || CC == ISD::SETUGE) &&
6527
- (OrAndOpcode == ISD::AND)))
6526
+ if (((CC == ISD::SETOLT || CC == ISD::SETOLE) && (OrAndOpcode == ISD::OR)) ||
6527
+ ((CC == ISD::SETUGT || CC == ISD::SETUGE) && (OrAndOpcode == ISD::AND))) {
6528
6528
return isFMAXNUMFMINNUM ? ISD::FMINNUM
6529
- : arebothOperandsNotSNan(Operand1, Operand2, DAG) &&
6530
- isFMAXNUMFMINNUM_IEEE
6531
- ? ISD::FMINNUM_IEEE
6532
- : ISD::DELETED_NODE;
6533
- else if (((CC == ISD::SETOGT || CC == ISD::SETOGE) &&
6534
- (OrAndOpcode == ISD::OR)) ||
6535
- (( CC == ISD::SETULT || CC == ISD::SETULE ) &&
6536
- (OrAndOpcode == ISD::AND)))
6529
+ : arebothOperandsNotSNan(Operand1, Operand2, DAG) &&
6530
+ isFMAXNUMFMINNUM_IEEE
6531
+ ? ISD::FMINNUM_IEEE
6532
+ : ISD::DELETED_NODE;
6533
+ }
6534
+
6535
+ if ((( CC == ISD::SETOGT || CC == ISD::SETOGE ) && (OrAndOpcode == ISD::OR)) ||
6536
+ ((CC == ISD::SETULT || CC == ISD::SETULE) && (OrAndOpcode == ISD::AND))) {
6537
6537
return isFMAXNUMFMINNUM ? ISD::FMAXNUM
6538
- : arebothOperandsNotSNan(Operand1, Operand2, DAG) &&
6539
- isFMAXNUMFMINNUM_IEEE
6540
- ? ISD::FMAXNUM_IEEE
6541
- : ISD::DELETED_NODE;
6538
+ : arebothOperandsNotSNan(Operand1, Operand2, DAG) &&
6539
+ isFMAXNUMFMINNUM_IEEE
6540
+ ? ISD::FMAXNUM_IEEE
6541
+ : ISD::DELETED_NODE;
6542
+ }
6543
+
6542
6544
return ISD::DELETED_NODE;
6543
6545
}
6544
6546
0 commit comments