Lines Matching defs:Stride

124 // assuming \p Stride elements between start two consecutive vectors.
125 // \p Stride must be >= \p NumElements.
162 Value *computeVectorAddr(Value *BasePtr, Value *VecIdx, Value *Stride,
166 assert((!isa<ConstantInt>(Stride) ||
167 cast<ConstantInt>(Stride)->getZExtValue() >= NumElements) &&
168 "Stride must be >= the number of elements in the result vector.");
170 // Compute the start of the vector with index VecIdx as VecIdx * Stride.
171 Value *VecStart = Builder.CreateMul(VecIdx, Stride, "vec.start");
1129 /// Compute the alignment for a column/row \p Idx with \p Stride between them.
1130 /// The address at \p Idx == 0 has alignment \p A. If \p Stride is a
1134 Align getAlignForIndex(unsigned Idx, Value *Stride, Type *ElementTy,
1141 if (auto *ConstStride = dyn_cast<ConstantInt>(Stride)) {
1149 /// Load a matrix with \p Shape starting at \p Ptr and using \p Stride between
1151 MatrixTy loadMatrix(Type *Ty, Value *Ptr, MaybeAlign MAlign, Value *Stride,
1160 EltPtr, Builder.getIntN(Stride->getType()->getScalarSizeInBits(), I),
1161 Stride, Shape.getStride(), EltTy, Builder);
1163 VecTy, GEP, getAlignForIndex(I, Stride, EltTy, MAlign),
1192 void LowerLoad(Instruction *Inst, Value *Ptr, MaybeAlign Align, Value *Stride,
1196 loadMatrix(Inst->getType(), Ptr, Align, Stride, IsVolatile,
1208 Value *Stride = Inst->getArgOperand(1);
1209 LowerLoad(Inst, Ptr, Inst->getParamAlign(0), Stride,
1230 /// Store matrix \p StoreVal starting at \p Ptr and using \p Stride between
1233 MaybeAlign MAlign, Value *Stride, bool IsVolatile,
1240 Builder.getIntN(Stride->getType()->getScalarSizeInBits(),
1242 Stride, StoreVal.getStride(), VType->getElementType(), Builder);
1244 getAlignForIndex(Vec.index(), Stride,
1255 Value *Stride, bool IsVolatile, ShapeInfo Shape) {
1259 storeMatrix(Matrix->getType(), StoreVal, Ptr, A, Stride,
1272 Value *Stride = Inst->getArgOperand(2);
1273 LowerStore(Inst, Matrix, Ptr, Inst->getParamAlign(1), Stride,