diff options
| author | Mon P Wang <wangmp@apple.com> | 2009-01-30 07:07:40 +0000 | 
|---|---|---|
| committer | Mon P Wang <wangmp@apple.com> | 2009-01-30 07:07:40 +0000 | 
| commit | cbb20a6ee1af9577879abce63e3e8ca806dd6328 (patch) | |
| tree | ce8dcbcb3b904220d65fa592fa8e8da4b66cb6cd /llvm/lib | |
| parent | 02714ed353e7c83022c1800c4a616a6671b39e43 (diff) | |
| download | bcm5719-llvm-cbb20a6ee1af9577879abce63e3e8ca806dd6328.tar.gz bcm5719-llvm-cbb20a6ee1af9577879abce63e3e8ca806dd6328.zip | |
When PerformBuildVectorCombine, avoid creating a X86ISD::VZEXT_LOAD of
an illegal type.
llvm-svn: 63380
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index bf7c704b9ba..e17ae99b5c9 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -7601,7 +7601,11 @@ static SDValue PerformBuildVectorCombine(SDNode *N, SelectionDAG &DAG,    // Load must not be an extload.    if (LD->getExtensionType() != ISD::NON_EXTLOAD)      return SDValue(); -   + +  // Load type should legal type so we don't have to legalize it. +  if (!TLI.isTypeLegal(VT)) +    return SDValue(); +    SDVTList Tys = DAG.getVTList(VT, MVT::Other);    SDValue Ops[] = { LD->getChain(), LD->getBasePtr() };    SDValue ResNode = DAG.getNode(X86ISD::VZEXT_LOAD, Tys, Ops, 2); | 

