When PerformBuildVectorCombine, avoid creating a X86ISD::VZEXT_LOAD of

an illegal type.

llvm-svn: 63380
This commit is contained in:
Mon P Wang 2009-01-30 07:07:40 +00:00
parent e442452ade
commit 5db99442e4

View File

@ -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);