Go to file
Michael Zuckerman 680ac10aa7 [X86][LLVM]Expanding Supports lowerInterleavedStore() in X86InterleavedAccess (VF16 stride 4).
This patch expands the support of lowerInterleavedStore to 16x8i stride 4.

LLVM creates suboptimal shuffle code-gen for AVX2. In overall, this patch is a specific fix for the pattern (Strid=4 VF=16) and we plan to include more patterns in the future.

The patch goal is to optimize the following sequence:
At the end of the computation, we have ymm2, ymm0, ymm12 and ymm3 holding
each 16 chars:

c0, c1, , c16
m0, m1, , m16
y0, y1, , y16
k0, k1, ., k16

And these need to be transposed/interleaved and stored like so:

c0 m0 y0 k0 c1 m1 y1 k1 c2 m2 y2 k2 c3 m3 y3 k3 ....

Differential Revision: https://reviews.llvm.org/D35829

llvm-svn: 310252
2017-08-07 13:22:39 +00:00
clang Enable LLVM asan support for NetBSD/i386 2017-08-07 10:57:03 +00:00
clang-tools-extra [clang-tidy] Added clang-tidy test cases related to rL310095 2017-08-04 19:01:56 +00:00
compiler-rt Add NetBSD support in sanitizer_test_utils.h 2017-08-07 10:59:44 +00:00
debuginfo-tests Add a test for PR33166. 2017-05-25 19:33:16 +00:00
libclc configure.py: Make python3 friendly 2017-08-02 15:00:59 +00:00
libcxx [libcxx] [test] Untabify stringstream.cons/string.pass.cpp. NFC. 2017-08-05 00:44:27 +00:00
libcxxabi [demangler] Fix another oss-fuzz bug 2017-08-06 20:46:33 +00:00
libunwind Partial fix for PR33858 2017-07-26 18:13:57 +00:00
lld [lld] Allow rel iplt symbols with dynamic symbol table 2017-08-05 05:01:07 +00:00
lldb Cut and paste error from r23162. 2017-08-03 19:38:38 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [X86][LLVM]Expanding Supports lowerInterleavedStore() in X86InterleavedAccess (VF16 stride 4). 2017-08-07 13:22:39 +00:00
openmp Exclude version symbols for static libomp 2017-08-02 20:10:00 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [ScopInfo] Make Scop::canAlwaysBeHoisted a member function 2017-08-07 00:10:11 +00:00