[all-commits] [llvm/llvm-project] 5df617: [InstCombine] Support uniform vector splats in (((...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Tue Oct 13 01:31:59 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 5df61724a171710570f37938eb229401fa0176c7
https://github.com/llvm/llvm-project/commit/5df61724a171710570f37938eb229401fa0176c7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-10-13 (Tue, 13 Oct 2020)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/test/Transforms/InstCombine/pr19420.ll
Log Message:
-----------
[InstCombine] Support uniform vector splats in ((((X >> C) & CC) + Y) << C) folds.
Add support for uniform vector splats (no undefs).
Commit: 6c23cbc5603cf0011f8d57b0354954aeca695daf
https://github.com/llvm/llvm-project/commit/6c23cbc5603cf0011f8d57b0354954aeca695daf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-10-13 (Tue, 13 Oct 2020)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/avx512fintrin.h
M clang/test/CodeGen/X86/avx512-reduceIntrin.c
M clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c
Log Message:
-----------
[X86] Convert integer _mm_reduce_* intrinsics to emit llvm.reduction intrinsics (PR47506)
Emit the equivalent integer reduction intrinsics in IR instead of expanding to shuffle+arithmetic sequences.
The fadd/fmul reductions might be trickier as they assume a similar bisection reduction while the generic intrinsics assume a sequential reduction (intel docs are ambiguous on the correct approach) - I'm not sure if we want to always tag them with reassoc? Anyway, that issue can wait until a separate fp patch along with the fmin/fmax reductions.
Differential Revision: https://reviews.llvm.org/D87604
Compare: https://github.com/llvm/llvm-project/compare/06a5e2f30789...6c23cbc5603c
More information about the All-commits
mailing list