llvm/test
Simon Pilgrim f5d0848f55 [X86][SSE] Added support for combining target shuffles to (V)PSHUFD/VPERMILPD/VPERMILPS immediate permutes
This patch allows target shuffles to be combined to single input immediate permute instructions - (V)PSHUFD/VPERMILPD/VPERMILPS - allowing more general pattern matching than what we current do and improves the likelihood of memory folding compared to existing patterns which tend to reuse the input in multiple arguments.

Further permute instructions (V)PSHUFLW/(V)PSHUFHW/(V)PERMQ/(V)PERMPD may be added in the future but its proven tricky to create tests cases for them so far. (V)PSHUFLW/(V)PSHUFHW is already handled quite well in combineTargetShuffle so it may be that removing some of that code may allow us to perform more of the combining in one place without duplication.

Differential Revision: http://reviews.llvm.org/D21148

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273999 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-28 08:08:15 +00:00
..
Analysis Revert -r273892 "Support arbitrary addrspace pointers in masked load/store intrinsics" since some of the clang tests don't expect to see the updated signatures. 2016-06-27 16:54:33 +00:00
Assembler Revert -r273892 "Support arbitrary addrspace pointers in masked load/store intrinsics" since some of the clang tests don't expect to see the updated signatures. 2016-06-27 16:54:33 +00:00
Bindings [OCaml] Add functions for accessing metadata nodes. 2016-06-22 03:30:24 +00:00
Bitcode BitcodeWriter: Remove redundant (and incorrect) check for whether to emit module summary. 2016-06-24 01:58:02 +00:00
BugPoint
CodeGen [X86][SSE] Added support for combining target shuffles to (V)PSHUFD/VPERMILPD/VPERMILPS immediate permutes 2016-06-28 08:08:15 +00:00
DebugInfo Revert r273807 (and r273809, r273810), it caused PR28311 2016-06-26 15:10:34 +00:00
Examples
ExecutionEngine ExecutionEngine: add preliminary support for COFF ARM 2016-06-24 14:11:44 +00:00
Feature
FileCheck
Instrumentation [asan] Do not instrument accesses to profiling globals 2016-06-22 17:30:58 +00:00
Integer
JitListener
LibDriver
Linker Linker: Copy metadata when linking declarations. 2016-06-24 17:42:21 +00:00
LTO Remangle intrinsics names when types are renamed 2016-06-24 15:10:29 +00:00
MC [mips][micromips] Implement LD, LLD, LWU, SD, DSRL, DSRL32 and DSRLV instructions 2016-06-27 08:23:28 +00:00
Object Change all but the last ErrorOr<...> use for MachOUniversalBinary to Expected<...> to 2016-06-27 21:39:39 +00:00
ObjectYAML [yaml2obj] Remove --format option in favor of YAML tags 2016-06-27 19:53:53 +00:00
Other [PM] Improve the debugging and logging facilities of the CGSCC bits of 2016-06-27 23:26:08 +00:00
SymbolRewriter
TableGen
ThinLTO/X86
tools Reapply "[llvm-cov] Add an -output-dir option for the show sub-command"" 2016-06-28 02:09:39 +00:00
Transforms [LLE] Don't hoist conditionally executed loads 2016-06-28 04:02:47 +00:00
Unit
Verifier Verifier: Reject non-float !fpmath 2016-06-27 19:43:15 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
TestRunner.sh