[all-commits] [llvm/llvm-project] be69e6: [X86][SSE] Attempt to fold shuffle(binop(), binop()...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Fri Jan 15 08:38:42 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: be69e66b1cd826f499566e1c3dadbf04e872baa0
https://github.com/llvm/llvm-project/commit/be69e66b1cd826f499566e1c3dadbf04e872baa0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2021-01-15 (Fri, 15 Jan 2021)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/haddsub-shuf.ll
Log Message:
-----------
[X86][SSE] Attempt to fold shuffle(binop(),binop()) -> binop(shuffle(),shuffle())
If this will help us fold shuffles together, then push the shuffle through the merged binops.
Ideally this would be performed in DAGCombiner::visitVECTOR_SHUFFLE but getting an efficient+legal merged shuffle can be tricky - on SSE we can be confident that for 32/64-bit elements vectors shuffles should easily fold.
More information about the All-commits
mailing list