OSDN Git Service

[VECTOR-SELECT]
authorNadav Rotem <nadav.rotem@intel.com>
Thu, 14 Jul 2011 11:11:14 +0000 (11:11 +0000)
committerNadav Rotem <nadav.rotem@intel.com>
Thu, 14 Jul 2011 11:11:14 +0000 (11:11 +0000)
commitd0f3ef807ee4210b97a7a6bc4231e89403145b83
tree569c1d27bd04ca39e48a186411c540953da35ff4
parentaeb86fab3e875b6ffebea42f4f4dd3e7791ae365
[VECTOR-SELECT]
During type legalization we often use the SIGN_EXTEND_INREG SDNode.
When this SDNode is legalized during the LegalizeVector phase, it is
scalarized because non-simple types are automatically marked to be expanded.
In this patch we add support for lowering SIGN_EXTEND_INREG manually.
This fixes CodeGen/X86/vec_sext.ll when running with the '-promote-elements'
flag.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135144 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h