[PATCH] D36960: [X86][LLVM]Expanding Supports lowerInterleavedLoad() in X86InterleavedAccess (VF{8|16|32} stride 3).
michael zuckerman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 21 07:34:14 PDT 2017
m_zuckerman created this revision.
This patch expands the support of lowerInterleavedload to {8|16|32}x8i stride 3.
LLVM creates suboptimal shuffle code-gen for AVX2. In overall, this patch is a specific fix for the pattern (Strid=3 VF={8|16|32}) and we plan to include the store (deinterleved side).
The patch goal is to optimize the following sequence:
a0 b0 c0 a1 b1 c1 a2 b2
c2 a3 b3 c3 a4 b4 c4 a5
b5 c5 a6 b6 c6 a7 b7 c7
into
a0 a1 a2 a3 a4 a5 a6 a7
b0 b1 b2 b3 b4 b5 b6 b7
c0 c1 c2 c3 c4 c5 c6 c7
https://reviews.llvm.org/D36960
Files:
lib/Target/X86/X86InterleavedAccess.cpp
test/CodeGen/X86/x86-interleaved-access.ll
test/Transforms/InterleavedAccess/X86/interleavedLoad.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36960.111973.patch
Type: text/x-patch
Size: 53379 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170821/2404f48d/attachment.bin>
More information about the llvm-commits
mailing list