diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp @@ -5262,11 +5262,11 @@ DAG.getTruncStore(Chain, dl, EOp, BasePtr, ST->getPointerInfo(), StEltVT, ST->getOriginalAlign(), MMOFlags, AAInfo)); unsigned Offset = Increment; - for (unsigned i=1; i < NumElts; ++i, Offset += Increment) { + for (unsigned Idx = 1; Idx < NumElts; ++Idx, Offset += Increment) { SDValue NewBasePtr = DAG.getObjectPtrOffset(dl, BasePtr, TypeSize::Fixed(Offset)); SDValue EOp = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, ValEltVT, ValOp, - DAG.getVectorIdxConstant(0, dl)); + DAG.getVectorIdxConstant(Idx, dl)); StChain.push_back(DAG.getTruncStore( Chain, dl, EOp, NewBasePtr, ST->getPointerInfo().getWithOffset(Offset), StEltVT, ST->getOriginalAlign(), MMOFlags, AAInfo));