[all-commits] [llvm/llvm-project] d5c434: [X86][SSE] combineX86ShufflesRecursively - add bas...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Sun Dec 13 09:19:51 PST 2020
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: d5c434d7dda25909cd7886e419baf3db3578953e
https://github.com/llvm/llvm-project/commit/d5c434d7dda25909cd7886e419baf3db3578953e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-12-13 (Sun, 13 Dec 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-v1.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86][SSE] combineX86ShufflesRecursively - add basic handling for combining shuffles of different widths (PR45974)
If a faux shuffle uses smaller shuffle inputs, try to recursively combine with those inputs directly instead of widening them immediately. Then widen all smaller inputs at the bottom of the recursion.
This will still mean we're generating nodes on the fly (PR45974) even if we don't combine to a new shuffle but it does help AVX2+ targets combine across xmm/ymm/zmm types, mainly as variable shuffles.
More information about the All-commits
mailing list