[llvm] [LV] Vectorize fmin/fmax reductions (PR #198300)

Nashe Mncube via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 26 04:49:21 PDT 2026


================
@@ -2241,7 +2259,13 @@ bool VPlanTransforms::handleMultiUseReductions(VPlan &Plan,
     VPBuilder B(FindIVRdxResult);
     VPValue *MinOrMaxExiting = MinOrMaxResult->getOperand(0);
     auto *FinalMinOrMaxCmp =
-        B.createICmp(CmpInst::ICMP_EQ, MinOrMaxExiting, MinOrMaxResult);
+        (RecurrenceDescriptor::isIntegerRecurrenceKind(RdxKind))
+            ? B.createICmp(CmpInst::ICMP_EQ, MinOrMaxExiting, MinOrMaxResult)
+            : B.createFCmp((RdxKind == RecurKind::FMaximum ||
+                            RdxKind == RecurKind::FMinimum)
+                               ? CmpInst::FCMP_UEQ
+                               : CmpInst::FCMP_OEQ,
----------------
nasherm wrote:

Done

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


More information about the llvm-commits mailing list