[all-commits] [llvm/llvm-project] 18c194: [X86][AVX] combineX86ShuffleChain - combine binary...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Tue Mar 10 03:48:00 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 18c19441d10512e2b37ce829743443eed009147f
https://github.com/llvm/llvm-project/commit/18c19441d10512e2b37ce829743443eed009147f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-03-10 (Tue, 10 Mar 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avg.ll
M llvm/test/CodeGen/X86/masked_store_trunc.ll
M llvm/test/CodeGen/X86/pr34592.ll
M llvm/test/CodeGen/X86/vector-reduce-and-bool.ll
M llvm/test/CodeGen/X86/vector-reduce-or-bool.ll
M llvm/test/CodeGen/X86/vector-reduce-xor-bool.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/vector-trunc.ll
Log Message:
-----------
[X86][AVX] combineX86ShuffleChain - combine binary shuffles to X86ISD::VPERM2X128
For pre-AVX512 targets, combine binary shuffles to X86ISD::VPERM2X128 if possible. This mainly helps optimize the blend(extract_subvector(x,1),y) pattern.
At some point soon we're going to have make a decision about when to combine AVX512 shuffles more aggressively - we bail out if there is any change in element size (to protect predicate mask merging) which means we miss out on a lot of optimizations.
More information about the All-commits
mailing list