llvm-6502/test/CodeGen
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
..
Alpha
ARM Last commit accidentially deleted this code. 2009-02-28 06:02:14 +00:00
CBackend
CellSPU Used "-enable-unsafe-fp-math" to allow this transformation - (a * b -c) = c - a *b. 2009-01-31 06:50:54 +00:00
CPP
Generic bug 3610: Test case. 2009-02-22 15:54:44 +00:00
IA64
Mips
PowerPC Private linkage support for PPC / Darwin. 2009-01-25 06:32:01 +00:00
SPARC
X86 Fix a problem with DAGCombine on 64b targets where folding 2009-03-01 23:44:07 +00:00
XCore