llvm-project/llvm/test
Michael Zuckerman 645f777e40 [X86][LLVM]Expanding Supports lowerInterleavedStore() in X86InterleavedAccess (VF{8|16|32} stride 3)
This patch expands the support of lowerInterleavedStore 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}) .
This patch is part two of two patches and it covers the store (interlevaed) side.

The patch goal is to optimize the following sequence:
a0 a1 a2 a3 a4 a5 a6 a7
b0 b1 b2 b3 b4 b5 b6 b7
c0 c1 c2 c3 c4 c5 c6 c7

into
a0 b0 c0 a1 b1 c1 a2 b2
c2 a3 b3 c3 a4 b4 c4 a5
b5 c5 a6 b6 c6 a7 b7 c7

Reviewers:
zvi
guyblank
dorit
Ayal

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

Change-Id: I56ced8bcbea809a37654060771911ade20246ccc
llvm-svn: 314234
2017-09-26 18:49:11 +00:00
..
Analysis [TargetTransformInfo] Handle intrinsic call in getInstructionLatency() 2017-09-22 18:25:53 +00:00
Assembler Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
Bindings [llvm] Get rid of "%T" expansions 2017-08-15 20:29:24 +00:00
Bitcode Fix a bug in a historic bitcode testcase. 2017-09-21 23:14:55 +00:00
BugPoint
CodeGen [X86][LLVM]Expanding Supports lowerInterleavedStore() in X86InterleavedAccess (VF{8|16|32} stride 3) 2017-09-26 18:49:11 +00:00
DebugInfo [DebugInfo] Sort the SDDbgValue list before assuming it is in IR order 2017-09-25 16:14:53 +00:00
DllTool [llvm-dlltool] Fix creating stdcall/fastcall import libraries for i386 2017-08-16 05:18:36 +00:00
Examples
ExecutionEngine Revert "Revert "ExecutionEngine: add R_AARCH64_ABS{16,32}"" 2017-09-20 21:32:44 +00:00
Feature Add ‘llvm.experimental.constrained.fma‘ Intrinsic. 2017-08-24 04:18:24 +00:00
FileCheck
Instrumentation [MSan] Disable sanitization for __sanitizer_dtor_callback. 2017-09-20 22:53:08 +00:00
Integer
JitListener
LTO Reland r313157, "ThinLTO: Correctly follow aliasee references when dead stripping." which was reverted in r313222. 2017-09-14 05:02:59 +00:00
LibDriver [llvm] Get rid of "%T" expansions 2017-08-15 20:29:24 +00:00
Linker llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
MC [mips] Use llvm-dwarfdump to simplify the test. NFC 2017-09-26 17:02:35 +00:00
Object llvm-ar: align the first archive member consistently. 2017-09-22 18:36:00 +00:00
ObjectYAML [WebAssembly] Update relocation names to match spec 2017-09-01 17:32:01 +00:00
Other [PM/CGSCC] Teach the CGSCC pass manager components to gracefully handle 2017-09-14 08:33:57 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen TableGen support for parameterized register class information 2017-09-14 16:56:21 +00:00
ThinLTO/X86 ModuleSummaryAnalysis: Correctly handle all function operand references. 2017-09-07 05:35:35 +00:00
Transforms [X86][LLVM]Expanding Supports lowerInterleavedStore() in X86InterleavedAccess (VF{8|16|32} stride 3) 2017-09-26 18:49:11 +00:00
Unit [lit] Make lit support config files with .py extension. 2017-09-21 00:24:52 +00:00
Verifier Revert "Revert r312139 "Verifier: Verify the correctness of fragment expressions attached to globals."" 2017-08-31 00:07:33 +00:00
YAMLParser
tools [llvm-objcopy] Add support for dynamic relocations 2017-09-26 18:02:25 +00:00
.clang-format
CMakeLists.txt [lit] Make lit support config files with .py extension. 2017-09-21 00:24:52 +00:00
TestRunner.sh
lit.cfg.py Resubmit "[lit] Refactor out some more common lit configuration code." 2017-09-21 22:16:40 +00:00
lit.site.cfg.py.in [lit] Make lit support config files with .py extension. 2017-09-21 00:24:52 +00:00