[llvm] Vectorize: Support fminimumnum and fmaximumnum (PR #131781)

YunQiang Su via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 2 18:46:30 PDT 2025


================
@@ -2776,6 +2776,12 @@ class BasicTTIImplBase : public TargetTransformInfoImplCRTPBase<T> {
       }
       return Cost;
     }
+    case Intrinsic::maximumnum:
+    case Intrinsic::minimumnum: {
+      if (TLI->isOperationLegalOrPromote(llvm::ISD::FMAXNUM_IEEE, LT.second))
+        return LT.first * 3;
----------------
wzssyqa wrote:

For Architectures that support `FMAXNUM_IEEE`, the `maximumnum` is implemented by:

```
ARG0 = FMAXNUM_IEEE  ARG0, ARG0  // to queit sNaN
ARG1 = FMAXNUM_IEEE  ARG1, ARG1  // to queit sNaN
RESULT= FMAXNUM_IEEE  ARG0, ARG1  // do real max
```

https://github.com/llvm/llvm-project/pull/131781


More information about the llvm-commits mailing list