fix PR11334
authorMichael Liao <michael.liao@intel.com>
Tue, 14 Aug 2012 21:24:47 +0000 (21:24 +0000)
committerMichael Liao <michael.liao@intel.com>
Tue, 14 Aug 2012 21:24:47 +0000 (21:24 +0000)
commit7091b2451d46ae7e85188d1c5d7a43d775346ee0
tree7add0bc3c28d704c45893f61e9760e4406152ef9
parentfc1a161d76f5cc0204bed3bce3e27cf36ac76d22
fix PR11334

- FP_EXTEND only support extending from vectors with matching elements.
  This results in the scalarization of extending to v2f64 from v2f32,
  which will be legalized to v4f32 not matching with v2f64.
- add X86-specific VFPEXT supproting extending from v4f32 to v2f64.
- add BUILD_VECTOR lowering helper to recover back the original
  extending from v4f32 to v2f64.
- test case is enhanced to include different vector width.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161894 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
lib/Target/X86/X86InstrFragmentsSIMD.td
lib/Target/X86/X86InstrSSE.td
test/CodeGen/X86/pr11334.ll [new file with mode: 0644]