llvm-6502/lib/CodeGen/SelectionDAG
Chris Lattner 50187864c1 Implement splitting support for store, allowing us to compile:
%f8 = type <8 x float>

define void @test_f8(%f8* %P, %f8* %Q, %f8* %S) {
	%p = load %f8* %P		; <%f8> [#uses=1]
	%q = load %f8* %Q		; <%f8> [#uses=1]
	%R = add %f8 %p, %q		; <%f8> [#uses=1]
	store %f8 %R, %f8* %S
	ret void
}

into:

_test_f8:
	movaps	16(%rdi), %xmm0
	addps	16(%rsi), %xmm0
	movaps	(%rdi), %xmm1
	addps	(%rsi), %xmm1
	movaps	%xmm0, 16(%rdx)
	movaps	%xmm1, (%rdx)
	ret



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44725 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-08 23:24:26 +00:00
..
CallingConvLower.cpp propagate struct size and alignment of byval arguments to the DAG 2007-08-10 14:44:42 +00:00
DAGCombiner.cpp Redo previous patch so optimization only done for i1. 2007-12-06 17:53:31 +00:00
LegalizeDAG.cpp Implement expand support for MERGE_VALUEs that only produces one result. 2007-11-24 19:12:15 +00:00
LegalizeTypes.cpp implement some methods. 2007-12-08 22:40:18 +00:00
LegalizeTypes.h Implement splitting support for store, allowing us to compile: 2007-12-08 23:24:26 +00:00
LegalizeTypesExpand.cpp Split expansion out into its own file. 2007-12-08 20:27:32 +00:00
LegalizeTypesPromote.cpp Split promotion support out to its own file. 2007-12-08 20:24:38 +00:00
LegalizeTypesScalarize.cpp split scalarization out to its own file. 2007-12-08 20:30:28 +00:00
LegalizeTypesSplit.cpp Implement splitting support for store, allowing us to compile: 2007-12-08 23:24:26 +00:00
Makefile For PR780: 2006-07-26 16:18:00 +00:00
ScheduleDAG.cpp Make labels work in asm blocks; allow labels as 2007-11-05 21:20:28 +00:00
ScheduleDAGList.cpp Make CalcLatency() non-recursive. 2007-10-15 21:33:22 +00:00
ScheduleDAGRRList.cpp Bug fix. Passive nodes are not in SUnitMap. 2007-11-09 01:27:11 +00:00
SelectionDAG.cpp Implement necessary bits for flt_rounds gcc builtin. 2007-11-15 23:25:33 +00:00
SelectionDAGISel.cpp Rather than having special rules like "intrinsics cannot 2007-12-03 20:06:50 +00:00
SelectionDAGPrinter.cpp Add a (disabled by default) way to view the ID of a node. 2007-10-15 05:32:43 +00:00
TargetLowering.cpp Support returning non-power-of-2 vectors to unblock some work 2007-11-27 19:28:48 +00:00