[all-commits] [llvm/llvm-project] 62eaec: [LV] Support partial reduce subs/fsubs without a m...

Benjamin Maxwell via All-commits all-commits at lists.llvm.org
Wed Jun 3 03:02:11 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 62eaec6c723129d0db2c2e7112fcf1579a94f0a6
      https://github.com/llvm/llvm-project/commit/62eaec6c723129d0db2c2e7112fcf1579a94f0a6
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-06-03 (Wed, 03 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll

  Log Message:
  -----------
  [LV] Support partial reduce subs/fsubs without a mul operand (#199664)

This allows the `UpdateR(PrevValue, ext(...))` form for fsub/sub updates
(i.e, AddWithSub or Sub reductions). For sub reductions the
codegen/handling is identical to add reductions (with the sub handled
out of loop). For AddWithSub, reductions the sub is handled in-loop with
a NegatedExtendedReduction VP expression, which the encapsulates
`reduce.[f]add(neg(ext(op)))`.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list