llvm-6502/test
Simon Pilgrim 4269590166 [X86][SSE] Added support for SSE3 lane duplication shuffle instructions
This patch adds shuffle matching for the SSE3 MOVDDUP, MOVSLDUP and MOVSHDUP instructions. The big use of these being that they avoid many single source shuffles from needing to use (pre-AVX) dual source instructions such as SHUFPD/SHUFPS: causing extra moves and preventing load folds.

Adding these instructions uncovered an issue in XFormVExtractWithShuffleIntoLoad which crashed on single operand shuffle instructions (now fixed). It also involved fixing getTargetShuffleMask to correctly identify theses instructions as unary shuffles.

Also adds a missing tablegen pattern for MOVDDUP.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226716 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-21 22:44:35 +00:00
..
Analysis Added test to cover the CFLAA bitset indexing bug. 2015-01-21 22:39:35 +00:00
Assembler AsmParser: Fix error location for missing fields 2015-01-19 23:32:36 +00:00
Bindings IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
Bitcode Bitcode: Don't create comdats when autoupgrading macho bitcode 2015-01-20 05:58:07 +00:00
BugPoint IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
CodeGen [X86][SSE] Added support for SSE3 lane duplication shuffle instructions 2015-01-21 22:44:35 +00:00
DebugInfo Make DIExpression::Verify() stricter by checking that the number of 2015-01-21 00:59:20 +00:00
ExecutionEngine [MCJIT] Remove a few redundant MCJIT tests, and drop the extraneous datalayout 2015-01-08 18:52:15 +00:00
Feature IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
FileCheck
Instrumentation [msan] Update origin for the entire destination range on memory store. 2015-01-21 13:21:31 +00:00
Integer
JitListener IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
Linker IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
LTO Put this test's input in the Inputs directory where it belongs, rather than 2015-01-12 08:50:47 +00:00
MC [mips][microMIPS] MicroMIPS 16-bit unconditional branch instruction B 2015-01-21 12:39:30 +00:00
Object Fix edge case when Start overflowed in 32 bit mode 2015-01-15 23:50:44 +00:00
Other [PM] Port TargetLibraryInfo to the new pass manager, provided by the 2015-01-15 11:39:46 +00:00
SymbolRewriter
TableGen
tools For llvm-objdump, hook up existing options to work when using -macho (the Mach-O parser). 2015-01-20 21:47:46 +00:00
Transforms InstCombine: Don't strip bitcasts off of callsites marked 'thunk' 2015-01-21 22:32:04 +00:00
Unit
Verifier Rename llvm.recoverframeallocation to llvm.framerecover 2015-01-13 01:51:34 +00:00
YAMLParser
.clang-format
CMakeLists.txt Revert r224149, llvm-dsymutil was already here. 2014-12-12 21:25:07 +00:00
lit.cfg llvm/test/lit.cfg: have_ld_plugin_support(): Use decode() for stdout. 2015-01-05 14:18:04 +00:00
lit.site.cfg.in [lit] Make config.llvm_lib_dir available on cmake, too. 2014-12-30 03:24:11 +00:00
Makefile [lit] Make config.llvm_lib_dir available on cmake, too. 2014-12-30 03:24:11 +00:00
Makefile.tests
TestRunner.sh