[llvm] SelectionDAG: Support FMINIMUMNUM and FMINIMUM in combineMinNumMaxNumImpl (PR #137449)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 10 09:03:15 PST 2025
================
@@ -11926,9 +11926,18 @@ static SDValue combineMinNumMaxNumImpl(const SDLoc &DL, EVT VT, SDValue LHS,
case ISD::SETLE:
case ISD::SETULT:
case ISD::SETULE: {
- // Since it's known never nan to get here already, either fminnum or
- // fminnum_ieee are OK. Try the ieee version first, since it's fminnum is
- // expanded in terms of it.
+ // Since it's known never nan to get here already, either fminimumnum,
+ // fminimum, fminnum, or fminnum_ieee are OK. Try the ieee version first,
+ // since it's fminnum is expanded in terms of it.
+ unsigned IEEE2019NumOpcode =
+ (LHS == True) ? ISD::FMINIMUMNUM : ISD::FMAXIMUMNUM;
+ if (TLI.isOperationLegal(IEEE2019NumOpcode, VT))
+ return DAG.getNode(IEEE2019NumOpcode, DL, VT, LHS, RHS);
+
+ unsigned IEEE2019Opcode = (LHS == True) ? ISD::FMINIMUM : ISD::FMAXIMUM;
----------------
arsenm wrote:
```suggestion
unsigned IEEE2019Opcode = LHS == True ? ISD::FMINIMUM : ISD::FMAXIMUM;
```
https://github.com/llvm/llvm-project/pull/137449
More information about the llvm-commits
mailing list