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

Benjamin Maxwell via All-commits all-commits at lists.llvm.org
Tue May 26 04:47:55 PDT 2026


  Branch: refs/heads/users/MacDue/no_mul_sub_pr
  Home:   https://github.com/llvm/llvm-project
  Commit: 5d7c117ad0a63ab5dfd1bd585336f7db2227225b
      https://github.com/llvm/llvm-project/commit/5d7c117ad0a63ab5dfd1bd585336f7db2227225b
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-05-26 (Tue, 26 May 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-sub.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll

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

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