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
..
2009-02-12 17:04:57 +00:00
2008-12-19 10:55:56 +00:00
2008-10-01 15:07:14 +00:00
2008-08-29 22:59:13 +00:00
2008-09-05 20:04:37 +00:00
2008-11-27 00:37:06 +00:00
2009-02-09 23:32:07 +00:00
2008-10-24 21:20:25 +00:00
2009-01-21 21:28:03 +00:00
2009-01-20 19:29:54 +00:00
2009-01-15 20:18:42 +00:00
2009-02-13 22:36:38 +00:00
2009-01-07 01:48:08 +00:00
2009-03-01 02:03:43 +00:00
2009-03-01 02:03:43 +00:00
2008-07-25 19:08:59 +00:00
2008-07-17 19:48:04 +00:00
2008-09-27 01:56:22 +00:00
2008-09-27 01:56:22 +00:00
2008-09-27 01:56:22 +00:00