llvm-6502/lib
Chandler Carruth 4b667ee436 [x86] Teach the new vector shuffle lowering to use AVX2 instructions for
v4f64 and v8f32 shuffles when they are lane-crossing. We have fully
general lane-crossing permutation functions in AVX2 that make this easy.

Part of this also changes exactly when and how these vectors are split
up when we don't have AVX2. This isn't always a win but it usually is
a win, so on the balance I think its better. The primary regressions are
all things that just need to be fixed anyways such as modeling when
a blend can be completely accomplished via VINSERTF128, etc.

Also, this highlights one of the few remaining big features: we do
a really poor job of inserting elements into AVX registers efficiently.

This completes almost all of the big tricks I have in mind for AVX2. The
only things left that I plan to add:

1) element insertion smarts
2) palignr and other fairly specialized lowerings when they happen to
   apply

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218449 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-25 11:03:55 +00:00
..
Analysis Fix assertion in LICM doFinalization() 2014-09-24 16:48:31 +00:00
AsmParser
Bitcode Do not destroy external linkage when deleting function body 2014-09-23 12:54:19 +00:00
CodeGen Clear PreferredExtendType for in each function-specific state FunctionLoweringInfo. 2014-09-24 03:22:56 +00:00
DebugInfo Revert 218406 - Refactor the RelocVisitor::visit method 2014-09-24 21:30:43 +00:00
ExecutionEngine [MCJIT] Fix some more RuntimeDyld debugging output format specifiers. 2014-09-23 19:20:57 +00:00
IR
IRReader
LineEditor
Linker
LTO
MC MC: Use @IMGREL instead of @IMGREL32, which we can't parse 2014-09-25 02:09:18 +00:00
Object
Option
ProfileData llvm-cov: Combine segments that cover the same location 2014-09-25 00:34:18 +00:00
Support Adding #ifdef around TermColorMutex based on feedback from Craig Topper. 2014-09-24 18:35:58 +00:00
TableGen
Target [x86] Teach the new vector shuffle lowering to use AVX2 instructions for 2014-09-25 11:03:55 +00:00
Transforms [asan] don't instrument module CTORs that may be run before asan.module_ctor. This fixes asan running together -coverage 2014-09-24 22:41:55 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile