llvm-6502/lib/CodeGen/SelectionDAG
Nate Begeman cbd88adea6 Fix a problem with DAGCombine on 64b targets where folding
extracts + build_vector into a shuffle would fail, because the
type of the new build_vector would not be legal.  Try harder to
create a legal build_vector type.  Note: this will be totally 
irrelevant once vector_shuffle no longer takes a build_vector for
shuffle mask.

New:
_foo:
	xorps	%xmm0, %xmm0
	xorps	%xmm1, %xmm1
	subps	%xmm1, %xmm1
	mulps	%xmm0, %xmm1
	addps	%xmm0, %xmm1
	movaps	%xmm1, 0

Old:
_foo:
	xorps	%xmm0, %xmm0
	movss	%xmm0, %xmm1
	xorps	%xmm2, %xmm2
	unpcklps	%xmm1, %xmm2
	pshufd	$80, %xmm1, %xmm1
	unpcklps	%xmm1, %xmm2
	pslldq	$16, %xmm2
	pshufd	$57, %xmm2, %xmm1
	subps	%xmm0, %xmm1
	mulps	%xmm0, %xmm1
	addps	%xmm0, %xmm1
	movaps	%xmm1, 0



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65791 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 23:44:07 +00:00
..
CallingConvLower.cpp
CMakeLists.txt
DAGCombiner.cpp Fix a problem with DAGCombine on 64b targets where folding 2009-03-01 23:44:07 +00:00
FastISel.cpp Clean up dwarf writer, part 1. This eliminated the horrible recursive getGlobalVariablesUsing and replaced it something readable. It eliminated use of slow UniqueVector and replaced it with StringMap, SmallVector, and DenseMap, etc. It also fixed some non-deterministic behavior. 2009-02-25 07:04:34 +00:00
LegalizeDAG.cpp Revert BuildVectorSDNode related patches: 65426, 65427, and 65296. 2009-02-25 22:49:59 +00:00
LegalizeFloatTypes.cpp bug 3610: Floating point vaarg not softened. 2009-02-21 19:11:18 +00:00
LegalizeIntegerTypes.cpp Revert BuildVectorSDNode related patches: 65426, 65427, and 65296. 2009-02-25 22:49:59 +00:00
LegalizeTypes.cpp
LegalizeTypes.h bug 3610: Floating point vaarg not softened. 2009-02-21 19:11:18 +00:00
LegalizeTypesGeneric.cpp Revert BuildVectorSDNode related patches: 65426, 65427, and 65296. 2009-02-25 22:49:59 +00:00
LegalizeVectorTypes.cpp Revert BuildVectorSDNode related patches: 65426, 65427, and 65296. 2009-02-25 22:49:59 +00:00
Makefile
ScheduleDAGFast.cpp
ScheduleDAGList.cpp
ScheduleDAGRRList.cpp
ScheduleDAGSDNodes.cpp
ScheduleDAGSDNodes.h
ScheduleDAGSDNodesEmit.cpp
SelectionDAG.cpp Combine PPC's GetConstantBuildVectorBits and isConstantSplat functions to a new 2009-03-01 01:13:55 +00:00
SelectionDAGBuild.cpp Revert BuildVectorSDNode related patches: 65426, 65427, and 65296. 2009-02-25 22:49:59 +00:00
SelectionDAGBuild.h
SelectionDAGISel.cpp - Use the "Fast" flag instead of "OptimizeForSize" to determine whether to emit 2009-02-24 02:35:30 +00:00
SelectionDAGPrinter.cpp
TargetLowering.cpp Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00