[Mlir-commits] [mlir] [mlir][xegpu] Remove chunk_size attribute; infer from types (PR #205122)
Jianhui Li
llvmlistbot at llvm.org
Wed Sep 2 15:58:29 PDT 2026
================
@@ -1892,17 +1891,16 @@ static xegpu::DistributeLayoutAttr setupGenericLoadAnchorLayout(
/// Sets up the anchor layout for a load gather operation.
xegpu::DistributeLayoutAttr xegpu::setupLoadGatherAnchorLayout(
- xegpu::LayoutKind layoutKind, VectorType resVecTy, int contigChunkSize,
+ xegpu::LayoutKind layoutKind, VectorType resVecTy,
xegpu::DistributeLayoutAttr consumerLayout, const uArch::uArch *uArch) {
const int subgroupSize = uArch->getSubgroupSize();
ArrayRef<int64_t> resShape = resVecTy.getShape();
auto context = resVecTy.getContext();
- const auto *uArchInstruction = dyn_cast<xegpu::uArch::LoadGatherInstruction>(
- uArch->getInstruction(xegpu::uArch::InstructionKind::LoadGather));
- int maxChunkSize =
- std::min(uArchInstruction->getMaxLaneAccessSizeBytes(), contigChunkSize);
+ // Gather loads one element per lane, so the innermost per-lane vector is
+ // capped at a single element.
+ int maxChunkSize = 1;
----------------
Jianhui-Li wrote:
I dont' understand why gather load just load one element per lane?
https://github.com/llvm/llvm-project/pull/205122
More information about the Mlir-commits
mailing list