diff --git a/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp b/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp --- a/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp @@ -2745,11 +2745,11 @@ DAG.getConstant(Offsets[VecIdx], dl, PtrVT)); Value *srcValue = Constant::getNullValue(PointerType::get( EltVT.getTypeForEVT(F->getContext()), ADDRESS_SPACE_PARAM)); - SDValue P = - DAG.getLoad(VecVT, dl, Root, VecAddr, - MachinePointerInfo(srcValue), aggregateIsPacked, - MachineMemOperand::MODereferenceable | - MachineMemOperand::MOInvariant); + SDValue P = DAG.getLoad(VecVT, dl, Root, VecAddr, + MachinePointerInfo(srcValue), + aggregateIsPacked ? 1 : 0, + MachineMemOperand::MODereferenceable | + MachineMemOperand::MOInvariant); if (P.getNode()) P.getNode()->setIROrder(idx + 1); for (unsigned j = 0; j < NumElts; ++j) {