[PATCH] D26297: [AVX-512] Add support for lowering shuffles to VALIGND/VALIGNQ
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 3 23:21:03 PDT 2016
craig.topper created this revision.
craig.topper added reviewers: delena, RKSimon.
craig.topper added subscribers: llvm-commits, Farhana.
VALIGND and VALIGNQ are similar to PALIGNR but instead of working on a 128-bit lane they work on the entire vector register. This change leverages the shuffle rotate detection code used for PALIGNR to detect these cases.
For 128-bit vectors, we favor VALIGND/Q over PALIGNR so that we naturely match the vector element size in case the shuffle is part of a masked operation
https://reviews.llvm.org/D26297
Files:
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/vector-shuffle-128-v2.ll
test/CodeGen/X86/vector-shuffle-128-v4.ll
test/CodeGen/X86/vector-shuffle-128-v8.ll
test/CodeGen/X86/vector-shuffle-256-v4.ll
test/CodeGen/X86/vector-shuffle-256-v8.ll
test/CodeGen/X86/vector-shuffle-512-v16.ll
test/CodeGen/X86/vector-shuffle-512-v8.ll
test/CodeGen/X86/vector-shuffle-v1.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26297.76911.patch
Type: text/x-patch
Size: 26038 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161104/b5bef671/attachment.bin>
More information about the llvm-commits
mailing list