From: Nate Begeman Date: Sat, 5 Jan 2008 20:51:30 +0000 (+0000) Subject: Remove an incorrect optimization that is performed correctly by X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=219f67f0a5f07032f06e36c71fdb84188cc29fdb;p=oota-llvm.git Remove an incorrect optimization that is performed correctly by the target independent legalizer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45631 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 2f629aca284..4aff4c5e236 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -3608,17 +3608,7 @@ X86TargetLowering::LowerINSERT_VECTOR_ELT(SDOperand Op, SelectionDAG &DAG) { N2 = DAG.getConstant(cast(N2)->getValue(),getPointerTy()); return DAG.getNode(X86ISD::PINSRW, VT, N0, N1, N2); } - - N1 = DAG.getNode(ISD::SCALAR_TO_VECTOR, VT, N1); - unsigned Idx = cast(N2)->getValue(); - MVT::ValueType MaskVT = MVT::getIntVectorWithNumElements(4); - MVT::ValueType MaskEVT = MVT::getVectorElementType(MaskVT); - SmallVector MaskVec; - for (unsigned i = 0; i < 4; ++i) - MaskVec.push_back(DAG.getConstant((i == Idx) ? i+4 : i, MaskEVT)); - return DAG.getNode(ISD::VECTOR_SHUFFLE, VT, N0, N1, - DAG.getNode(ISD::BUILD_VECTOR, MaskVT, - &MaskVec[0], MaskVec.size())); + return SDOperand(); } SDOperand