- When DAG combiner is folding a bit convert into a BUILD_VECTOR, it should check...
authorEvan Cheng <evan.cheng@apple.com>
Mon, 18 Feb 2008 23:04:32 +0000 (23:04 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Mon, 18 Feb 2008 23:04:32 +0000 (23:04 +0000)
commitefec751a1b786724862ceff52748df94873a807e
treeeaa70165cf0d18db2261a60816bef7d6663661bc
parente0cfecf47d466b5776371526c27969e07177b839
- When DAG combiner is folding a bit convert into a BUILD_VECTOR, it should check if it's essentially a SCALAR_TO_VECTOR. Avoid turning (v8i16) <10, u, u, u> to <10, 0, u, u, u, u, u, u>. Instead, simply convert it to a SCALAR_TO_VECTOR of the proper type.
- X86 now normalize SCALAR_TO_VECTOR to (BIT_CONVERT (v4i32 SCALAR_TO_VECTOR)). Get rid of X86ISD::S2VEC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47290 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/SelectionDAGNodes.h
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
lib/Target/X86/X86InstrMMX.td
lib/Target/X86/X86InstrSSE.td
test/CodeGen/X86/vec_shift2.ll [new file with mode: 0644]