diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2020-10-13 09:28:21 +0100 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2020-10-13 09:28:39 +0100 |
commit | 6c23cbc5603cf0011f8d57b0354954aeca695daf (patch) | |
tree | 168853cd971eb920fe37f56cff03c02d1b4907ae /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 5df61724a171710570f37938eb229401fa0176c7 (diff) | |
download | llvm-6c23cbc5603cf0011f8d57b0354954aeca695daf.zip llvm-6c23cbc5603cf0011f8d57b0354954aeca695daf.tar.gz llvm-6c23cbc5603cf0011f8d57b0354954aeca695daf.tar.bz2 |
[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
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions