llvm-6502/lib
Chandler Carruth dce98e6739 [x86] Teach the new vector shuffle lowering to aggressively form MOVSS
and MOVSD nodes for single element vector inserts.

This is particularly important because a number of patterns in the
backend detect these patterns and leverage them to simplify things. It
also fixes quite a few of the insertion bad code examples. However, it
regresses a specific area: when available, blendps and blendpd are
*dramatically* faster than movss and movsd respectively. But it doesn't
really work to form the blend logic first because the blends *aren't* as
crazy efficient when the data is coming from memory anyways, and thus
will have a movss or movsd regardless. Also, doing that would block
a bunch of the patterns that this is designed to hit.

So my plan is to go into the patterns for lowering MOVSS and MOVSD and
lower them via blends when available. However that's a pretty invasive
restructuring so it will need to be a follow-up patch.

I have already gone into the patterns to lower MOVSS and MOVSD from
memory using MOVLPD, etc. Without that, several of the test cases
I already have regress.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218985 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-03 13:11:13 +00:00
..
Analysis Revert r215343. 2014-10-03 09:29:24 +00:00
AsmParser
Bitcode
CodeGen Revert 202433 - Provide a target override for the latest regalloc heuristic 2014-10-03 12:20:53 +00:00
DebugInfo Store TypeUnits in a SmallVector<DWARFUnitSection> instead of a single DWARFUnitSection. 2014-09-29 13:56:39 +00:00
ExecutionEngine [MCJIT] Don't crash in debugging output for sections that aren't emitted. 2014-10-01 21:57:47 +00:00
IR Revert "DI: Fold constant arguments into a single MDString" 2014-10-02 22:15:31 +00:00
IRReader
LineEditor
Linker
LTO LTO: Document the Boolean argument from r218784 2014-10-02 21:11:04 +00:00
MC Extend C disassembler API to allow specifying target features 2014-09-30 16:31:40 +00:00
Object llvm-readobj: print COFF delay-load import table 2014-10-03 00:41:58 +00:00
Option
ProfileData InstrProf: Avoid linear search in a hot loop 2014-10-02 17:14:18 +00:00
Support Move the complex address expression out of DIVariable and into an extra 2014-10-01 18:55:02 +00:00
TableGen Refactoring: raw pointer -> unique_ptr 2014-09-25 19:55:58 +00:00
Target [x86] Teach the new vector shuffle lowering to aggressively form MOVSS 2014-10-03 13:11:13 +00:00
Transforms Revert "DI: Fold constant arguments into a single MDString" 2014-10-02 22:15:31 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile