llvm-6502/lib
Andrea Di Biagio 3e5582cc15 [X86] Add target combine rule to select ADDSUB instructions from a build_vector
This patch teaches the backend how to combine a build_vector that implements
an 'addsub' between packed float vectors into a sequence of vector add
and vector sub followed by a VSELECT.

The new VSELECT is expected to be lowered into a BLENDI.
At ISel stage, the sequence 'vector add + vector sub + BLENDI' is
pattern-matched against ISel patterns added at r211427 to select
'addsub' instructions.
Added three more ISel patterns for ADDSUB.

Added test sse3-avx-addsub-2.ll to verify that we correctly emit 'addsub'
instructions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211679 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-25 10:02:21 +00:00
..
Analysis Support: Move class ScaledNumber 2014-06-24 00:38:09 +00:00
AsmParser
Bitcode Make ObjectFile and BitcodeReader always own the MemoryBuffer. 2014-06-23 21:53:12 +00:00
CodeGen Print a=b as an assignment. 2014-06-24 22:45:16 +00:00
DebugInfo
ExecutionEngine [RuntimeDyld] Adds the necessary hooks to MCJIT to be able to debug generated 2014-06-25 00:20:53 +00:00
IR Add new debug kind LocTrackingOnly. 2014-06-24 17:02:03 +00:00
IRReader
LineEditor
Linker
LTO Move some trivial methods up to MCStreamer. 2014-06-25 00:27:53 +00:00
MC Fix another asserting method in the null streamer. 2014-06-25 05:37:58 +00:00
Object [RuntimeDyld] Adds the necessary hooks to MCJIT to be able to debug generated 2014-06-25 00:20:53 +00:00
Option
ProfileData
Support Use SourceMgr::getMemoryBuffer() in a couple of places 2014-06-25 00:41:15 +00:00
TableGen
Target [X86] Add target combine rule to select ADDSUB instructions from a build_vector 2014-06-25 10:02:21 +00:00
Transforms Factor out part of LICM::sink into a helper function. 2014-06-25 09:17:21 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile