[llvm] [LV] Vectorize FMax w/o fast-math flags. (PR #146711)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 13 04:17:52 PDT 2025


================
@@ -47,6 +47,9 @@ enum class RecurKind {
   FMul,     ///< Product of floats.
   FMin,     ///< FP min implemented in terms of select(cmp()).
   FMax,     ///< FP max implemented in terms of select(cmp()).
+  FCmpOGTSelect, ///< FP max implemented in terms of select(cmp()), but without
----------------
fhahn wrote:

Yep, this for now should be restricted to selects with ordered compares for now, so the result is only NaN if the start value is NaN.

It is not restricted to OGT, OLT also works. It needs to be a strict predicate, to use FindFirstIV. For non-strict ones we would have to use FindLastIV.

Updated to OrderedFCmpSelect, wdyt?



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


More information about the llvm-commits mailing list