[Mlir-commits] [mlir] [MLIR][XeGPU][VectorToXeGPU] Add lowering from vector.gather/scatter to xegpu.load/store (PR #158024)

Dmitry Chigarev llvmlistbot at llvm.org
Tue Sep 16 03:03:41 PDT 2025


================
@@ -97,6 +97,24 @@ static LogicalResult transferPreconditions(PatternRewriter &rewriter,
   return success();
 }
 
+// Common preconditions for the lowering of vector.gather and vector.scatter:
+//  1. Source is a memref.
+//  2. The innermost dimension of the memref is contiguous (stride == 1)
----------------
dchigarev wrote:

> what is the reason the memref must have stride==1? The HW should support non-unit-stride memref since the offset is per lane.

my bad, I genuinely thought that `vector.gather/scatter` only support inner strides == 1. Added support for non-unit inner strides

https://github.com/llvm/llvm-project/pull/158024


More information about the Mlir-commits mailing list