[all-commits] [llvm/llvm-project] 86940d: [VectorCombine] foldShuffleChainsToReduce - add FA...
陈子昂 via All-commits
all-commits at lists.llvm.org
Sun Jun 7 06:07:39 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 86940d72a1eba54d0a6a01bc5d418e6864344d64
https://github.com/llvm/llvm-project/commit/86940d72a1eba54d0a6a01bc5d418e6864344d64
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/X86/fold-shuffle-chains-to-reduce-fp.ll
M llvm/test/Transforms/VectorCombine/fold-shuffle-chains-to-reduce.ll
Log Message:
-----------
[VectorCombine] foldShuffleChainsToReduce - add FADD/FMUL handling (#201302)
Extend `foldShuffleChainsToReduce` to fold shuffle-reduction chains of
fadd/fmul into the corresponding vector reduction intrinsics
(llvm.vector.reduce.fadd / llvm.vector.reduce.fmul).
The transformation requires the `reassoc` fast-math flag on every binop
in the chain based on the
[langspec](https://llvm.org/docs/LangRef.html#rewrite-based-flags). The
output intrinsic receives the intersection of all binops' FMF, and the
identity start value is selected via ConstantExpr::getBinOpIdentity
(-0.0 for fadd, 1.0 for fmul, respecting nsz for the sign of zero).
Fixes #199030.
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