[Mlir-commits] [mlir] [MLIR][XeGPU] Update XeGPU create_tdesc, update_offset, load, store and prefetch. (PR #154653)
Sang Ik Lee
llvmlistbot at llvm.org
Fri Aug 22 11:25:55 PDT 2025
================
@@ -670,8 +698,26 @@ def XeGPU_LoadGatherOp : XeGPU_Op<"load", [MemoryEffects<[MemRead]>]> {
The mask operand masks out memory access so that it is safe to pass out-of-boundary
addresses/offsets as long as they are masked. It applies to slots of SIMD lanes.
- In SIMT mode, the result vector represents the data to be loaded by each work-item.
- Each work-item recieves a `chunk_size` number of elements.
+ In SIMT mode, the result is a 1D vector that represents the data to be loaded by
+ each work-item. If size is not 1, size should be equal to the chunk size,
+
+ Arguments:
+ - `source`: represents the memory region to be loaded from, which can be either a
+ tensor_desc or a 1D memref or pointer (ui64, ui32, i64 or i32).
+ In case of tensor_desc, offsets come from the producer create_tdesc op.
+ tensor_desc cannot be used in SIMT mode.
+ - `offsets`: represents offsets from source. required if `source` in not a TensorDescType.
----------------
silee2 wrote:
vector<1xindex> can auto convert to index by materialization cast.
So lowering pattern will always see scalar index
https://github.com/llvm/llvm-project/pull/154653
More information about the Mlir-commits
mailing list