[Mlir-commits] [mlir] [mlir] Add Memref Normalization support for reinterpret_cast op (PR #133417)
Uday Bondhugula
llvmlistbot at llvm.org
Fri Apr 4 07:59:10 PDT 2025
================
@@ -165,3 +165,35 @@ func.func @prefetch_normalize(%arg0: memref<512xf32, affine_map<(d0) -> (d0 floo
}
return
}
+
+#map_strided = affine_map<(d0, d1) -> (d0 * 7 + d1)>
+
+// CHECK-LABEL: test_reinterpret_cast
+func.func @test_reinterpret_cast(%arg0: memref<5x7xf32>, %arg1: memref<5x7xf32>, %arg2: memref<5x7xf32>) {
+ %0 = memref.reinterpret_cast %arg0 to offset: [0], sizes: [5, 7], strides: [7, 1] : memref<5x7xf32> to memref<5x7xf32, #map_strided>
+ // CHECK: memref.reinterpret_cast %{{.*}} to offset: [0], sizes: [35], strides: [1] : memref<5x7xf32> to memref<35xf32>
+ affine.for %arg5 = 0 to 5 {
+ affine.for %arg6 = 0 to 7 {
+ %1 = affine.load %0[%arg5, %arg6] : memref<5x7xf32, #map_strided>
+ // CHECK: affine.load %reinterpret_cast[%{{.*}} * 7 + %{{.*}}] : memref<35xf32>
+ %2 = affine.load %arg1[%arg5, %arg6] : memref<5x7xf32>
+ %3 = arith.subf %1, %2 : f32
+ affine.store %3, %arg2[%arg5, %arg6] : memref<5x7xf32>
+ }
+ }
+ return
+}
+
+
----------------
bondhugula wrote:
Drop blaank line.
https://github.com/llvm/llvm-project/pull/133417
More information about the Mlir-commits
mailing list