llvm-6502/lib/CodeGen/SelectionDAG
Sanjay Patel c94f9d3d2f Merge vector stores into wider vector stores (PR21711)
This patch resolves part of PR21711 ( http://llvm.org/bugs/show_bug.cgi?id=21711 ).

The 'f3' test case in that report presents a situation where we have two 128-bit
stores extracted from a 256-bit source vector. 

Instead of producing this:

vmovaps %xmm0, (%rdi)
vextractf128    $1, %ymm0, 16(%rdi)

This patch merges the 128-bit stores into a single 256-bit store:

vmovups %ymm0, (%rdi)

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227242 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-27 20:50:27 +00:00
..
CMakeLists.txt [Statepoints 3/4] Statepoint infrastructure for garbage collection: SelectionDAGBuilder 2014-12-02 18:50:36 +00:00
DAGCombiner.cpp Merge vector stores into wider vector stores (PR21711) 2015-01-27 20:50:27 +00:00
FastISel.cpp Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
FunctionLoweringInfo.cpp Remove dead code for llvm.eh.selector in the old EH model 2015-01-14 18:49:39 +00:00
InstrEmitter.cpp Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
InstrEmitter.h
LegalizeDAG.cpp Implement new way of expanding extloads. 2015-01-14 01:35:17 +00:00
LegalizeFloatTypes.cpp
LegalizeIntegerTypes.cpp Fixed a bug in type legalizer for masked load/store intrinsics. 2015-01-22 12:07:59 +00:00
LegalizeTypes.cpp [PowerPC] Implement readcyclecounter for PPC32 2014-12-02 22:01:00 +00:00
LegalizeTypes.h Fixed a bug in type legalizer for masked load/store intrinsics. 2015-01-22 12:07:59 +00:00
LegalizeTypesGeneric.cpp
LegalizeVectorOps.cpp [SelectionDAG] Allow targets to specify legality of extloads' result 2015-01-08 00:51:32 +00:00
LegalizeVectorTypes.cpp Fixed a bug in type legalizer for masked load/store intrinsics. 2015-01-22 12:07:59 +00:00
LLVMBuild.txt
Makefile
ResourcePriorityQueue.cpp
ScheduleDAGFast.cpp Update SetVector to rely on the underlying set's insert to return a pair<iterator, bool> 2014-11-19 07:49:26 +00:00
ScheduleDAGRRList.cpp Update SetVector to rely on the underlying set's insert to return a pair<iterator, bool> 2014-11-19 07:49:26 +00:00
ScheduleDAGSDNodes.cpp Adjust ScheduleDAGSDNodes::RegDefIter for patchpoints 2015-01-14 01:07:03 +00:00
ScheduleDAGSDNodes.h
ScheduleDAGVLIW.cpp
SDNodeDbgValue.h
SelectionDAG.cpp [SelectionDAG] Fix assert message copypasta. NFC. 2015-01-26 19:31:42 +00:00
SelectionDAGBuilder.cpp Add a FIXME in SelectionDAGBuilder before an assert that is valid only on X86. 2015-01-27 13:14:35 +00:00
SelectionDAGBuilder.h Factor out a splitSwitchCase() function so that it can be reused. 2015-01-20 08:57:44 +00:00
SelectionDAGDumper.cpp Masked Load / Store Intrinsics - the CodeGen part. 2014-12-04 09:40:44 +00:00
SelectionDAGISel.cpp Revert GCStrategy ownership changes 2015-01-26 18:26:35 +00:00
SelectionDAGPrinter.cpp
StatepointLowering.cpp Revert GCStrategy ownership changes 2015-01-26 18:26:35 +00:00
StatepointLowering.h [Statepoints 3/4] Statepoint infrastructure for garbage collection: SelectionDAGBuilder 2014-12-02 18:50:36 +00:00
TargetLowering.cpp Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
TargetSelectionDAGInfo.cpp