llvm-6502/lib
Chandler Carruth 8f637786d8 [x86] Teach the AVX1 path of the new vector shuffle lowering one more
trick that I missed.

VPERMILPS has a non-immediate memory operand mode that allows it to do
asymetric shuffles in the two 128-bit lanes. Use this rather than two
shuffles and a blend.

However, it turns out the variable shuffle path to VPERMILPS (and
VPERMILPD, although that one offers no functional differenc from the
immediate operand other than variability) wasn't even plumbed through
codegen. Do such plumbing so that we can reasonably emit
a variable-masked VPERMILP instruction. Also plumb basic comment parsing
and printing through so that the tests are reasonable.

There are still a few tests which don't show the shuffle pattern. These
are tests with undef lanes. I'll teach the shuffle decoding and printing
to handle undef mask entries in a follow-up. I've looked at the masks
and they seem reasonable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218300 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-23 10:08:29 +00:00
..
Analysis Add two thresholds lvi-overdefined-BB-threshold and lvi-overdefined-threshold 2014-09-22 02:23:05 +00:00
AsmParser
Bitcode Eliminating static destructor for the BitCodeErrorCategory by converting to a ManagedStatic. 2014-09-19 20:29:02 +00:00
CodeGen MC: ReadOnlyWithRel section kinds should map to rdata in COFF 2014-09-22 20:39:23 +00:00
DebugInfo [dwarfdump] Dump full filenames as DW_AT_(decl|call)_file attribute values 2014-09-22 12:36:04 +00:00
ExecutionEngine Remove redundant if test. 2014-09-21 17:21:56 +00:00
IR DIBuilder: Delete dead code, NFC 2014-09-19 23:17:58 +00:00
IRReader
LineEditor
Linker
LTO LTO: introduce object file-based on-disk module format. 2014-09-18 21:28:49 +00:00
MC Downgrade DWARF2 section limit error to a warning 2014-09-22 10:45:16 +00:00
Object Converting object's error_category to a ManagedStatic to avoid static constructors and destructors. 2014-09-19 22:09:18 +00:00
Option Add an overload of getLastArgNoClaim taking two OptSpecifiers. 2014-09-12 19:42:53 +00:00
ProfileData llvm-cov: Allow creating CoverageMappings from filenames 2014-09-20 17:19:52 +00:00
Support Windows/DynamicLibrary.inc: Remove 'extern "C"' in ELM_Callback. 2014-09-23 01:09:46 +00:00
TableGen [TableGen] Fully resolve class-instance values before defs in multiclasses 2014-09-16 17:14:13 +00:00
Target [x86] Teach the AVX1 path of the new vector shuffle lowering one more 2014-09-23 10:08:29 +00:00
Transforms Using a deque to manage the stack of nodes is faster here. 2014-09-20 13:29:20 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile