Skip to content

Commit 88ee17c

Browse files
committed
[RISCV][IA] Prefer getElementCount over getNumElements [nfc]
Small cleanup, with the eventual goal of making code easier to merge between the various routines.
1 parent 57a5f9c commit 88ee17c

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ bool RISCVTargetLowering::lowerInterleavedLoad(
106106
Value *Offset = ConstantInt::get(XLenTy, Indices[0] * ScalarSizeInBytes);
107107
Value *BasePtr = Builder.CreatePtrAdd(LI->getPointerOperand(), Offset);
108108
Value *Mask = Builder.getAllOnesMask(VTy->getElementCount());
109-
Value *VL = Builder.getInt32(VTy->getNumElements());
109+
Value *VL = Builder.CreateElementCount(Builder.getInt32Ty(),
110+
VTy->getElementCount());
110111

111112
CallInst *CI =
112113
Builder.CreateIntrinsic(Intrinsic::experimental_vp_strided_load,
@@ -118,7 +119,7 @@ bool RISCVTargetLowering::lowerInterleavedLoad(
118119
return true;
119120
};
120121

121-
Value *VL = ConstantInt::get(XLenTy, VTy->getNumElements());
122+
Value *VL = Builder.CreateElementCount(XLenTy, VTy->getElementCount());
122123
Value *Mask = Builder.getAllOnesMask(VTy->getElementCount());
123124
CallInst *VlsegN = Builder.CreateIntrinsic(
124125
FixedVlsegIntrIds[Factor - 2], {VTy, PtrTy, XLenTy},
@@ -191,7 +192,8 @@ bool RISCVTargetLowering::lowerInterleavedStore(StoreInst *SI,
191192
Value *Offset = ConstantInt::get(XLenTy, Index * ScalarSizeInBytes);
192193
Value *BasePtr = Builder.CreatePtrAdd(SI->getPointerOperand(), Offset);
193194
Value *Mask = Builder.getAllOnesMask(DataVTy->getElementCount());
194-
Value *VL = Builder.getInt32(VTy->getNumElements());
195+
Value *VL = Builder.CreateElementCount(Builder.getInt32Ty(),
196+
VTy->getElementCount());
195197

196198
CallInst *CI = Builder.CreateIntrinsic(
197199
Intrinsic::experimental_vp_strided_store,
@@ -223,7 +225,7 @@ bool RISCVTargetLowering::lowerInterleavedStore(StoreInst *SI,
223225
// This VL should be OK (should be executable in one vsseg instruction,
224226
// potentially under larger LMULs) because we checked that the fixed vector
225227
// type fits in isLegalInterleavedAccessType
226-
Value *VL = ConstantInt::get(XLenTy, VTy->getNumElements());
228+
Value *VL = Builder.CreateElementCount(XLenTy, VTy->getElementCount());
227229
Value *StoreMask = Builder.getAllOnesMask(VTy->getElementCount());
228230
Ops.append({SI->getPointerOperand(), StoreMask, VL});
229231

@@ -256,7 +258,7 @@ bool RISCVTargetLowering::lowerDeinterleaveIntrinsicToLoad(
256258
Type *XLenTy = Type::getIntNTy(LI->getContext(), Subtarget.getXLen());
257259

258260
if (auto *FVTy = dyn_cast<FixedVectorType>(ResVTy)) {
259-
Value *VL = ConstantInt::get(XLenTy, FVTy->getNumElements());
261+
Value *VL = Builder.CreateElementCount(XLenTy, FVTy->getElementCount());
260262
Value *Mask = Builder.getAllOnesMask(FVTy->getElementCount());
261263
Return = Builder.CreateIntrinsic(FixedVlsegIntrIds[Factor - 2],
262264
{ResVTy, PtrTy, XLenTy},
@@ -330,7 +332,7 @@ bool RISCVTargetLowering::lowerInterleaveIntrinsicToStore(
330332
SI->getModule(), FixedVssegIntrIds[Factor - 2], {InVTy, PtrTy, XLenTy});
331333

332334
SmallVector<Value *, 10> Ops(InterleaveValues);
333-
Value *VL = ConstantInt::get(XLenTy, FVTy->getNumElements());
335+
Value *VL = Builder.CreateElementCount(XLenTy, FVTy->getElementCount());
334336
Value *Mask = Builder.getAllOnesMask(FVTy->getElementCount());
335337
Ops.append({SI->getPointerOperand(), Mask, VL});
336338

0 commit comments

Comments
 (0)