[Mlir-commits] [mlir] [MLIR] VectorEmulateNarrowType to support loading of unaligned vectors (PR #113411)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Fri Oct 25 14:18:43 PDT 2024


================
@@ -42,9 +43,15 @@ bool isStaticShapeAndContiguousRowMajor(MemRefType type);
 ///   index to use in the linearized `memref`. The linearized index
 ///   is also scaled down by `dstBits`/`srcBits`. If `indices` is not provided
 ///   0, is returned for the linearized index.
+/// - If the size of the load/store is smaller than the linearized memref
+/// load/store,
+///   the memory region emulated is larger than the actual memory region needed.
+///   `frontPaddingSize` returns the size of the irrelevant offset at the
+///   beginning.
 struct LinearizedMemRefInfo {
   OpFoldResult linearizedOffset;
   OpFoldResult linearizedSize;
+  OpFoldResult frontPaddingSize;
----------------
MaheshRavishankar wrote:

`frontPadding` is confusing. Maybe call this `intraVectorOffset` (or something that says this is about ignroing elements within the loaded vector.

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


More information about the Mlir-commits mailing list