llvm-6502/lib/CodeGen/SelectionDAG
Chris Lattner cef896e50c When building a VVECTOR_SHUFFLE node from extract_element operations, make
sure to build it as SHUFFLE(X, undef, mask), not SHUFFLE(X, X, mask).

The later is not canonical form, and prevents the PPC splat pattern from
matching.  For a particular splat, we go from generating this:

	li r10, lo16(LCPI1_0)
	lis r11, ha16(LCPI1_0)
	lvx v3, r11, r10
	vperm v3, v2, v2, v3

to generating:

	vspltw v3, v2, 3


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27236 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-28 22:19:47 +00:00
..
DAGCombiner.cpp When building a VVECTOR_SHUFFLE node from extract_element operations, make 2006-03-28 22:19:47 +00:00
LegalizeDAG.cpp Teach Legalize how to pack VVECTOR_SHUFFLE nodes into VECTOR_SHUFFLE nodes. 2006-03-28 20:24:43 +00:00
Makefile
ScheduleDAG.cpp fix spello 2006-03-24 07:15:07 +00:00
ScheduleDAGList.cpp
ScheduleDAGSimple.cpp
SelectionDAG.cpp new node 2006-03-28 19:54:42 +00:00
SelectionDAGISel.cpp More bulletproofing of llvm.dbg.declare. 2006-03-28 13:45:20 +00:00
SelectionDAGPrinter.cpp
TargetLowering.cpp Typo 2006-03-23 23:24:51 +00:00