[PATCH] D59479: [X86] Call lowerShuffleAsBitMask for 512-bit vectors in lowerShuffleAsBlend.
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Mar 17 21:11:46 PDT 2019
craig.topper created this revision.
craig.topper added reviewers: RKSimon, spatel, andreadb.
Herald added a project: LLVM.
This patch enables the use of lowerShuffleAsBitMask for 512-bit blends before
falling back to move immedate, GPR to k-register, and masked op.
I had to make some changes to support v8i64 when i64 is not a legal type. And to
support floating point types.
This trades a load for the move immediate and GPR move which is higher latency.
But its probably better for register pressure not having to hop through other
register classes. The load+and should play better with LICM and
rematerialization I think.
Repository:
rL LLVM
https://reviews.llvm.org/D59479
Files:
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/avx512-mask-op.ll
test/CodeGen/X86/merge-consecutive-loads-512.ll
test/CodeGen/X86/vector-shuffle-512-v32.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59479.191053.patch
Type: text/x-patch
Size: 11593 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190318/bc8dc56b/attachment.bin>
More information about the llvm-commits
mailing list