Home
last modified time | relevance | path

Searched refs:subview (Results 1 – 25 of 59) sorted by relevance

123

/llvm-project-15.0.7/mlir/test/python/dialects/
H A Dmemref.py34 assert subview.source == subview.operands[0]
35 assert len(subview.offsets) == 2
36 assert len(subview.sizes) == 2
38 assert subview.result == subview.results[0]
41 print(type(subview).__name__)
44 print(subview.offsets[0])
46 print(subview.offsets[1])
48 print(subview.sizes[0])
50 print(subview.sizes[1])
52 print(subview.strides[0])
[all …]
/llvm-project-15.0.7/mlir/test/Dialect/MemRef/
H A Dsubview.mlir37 // CHECK: memref.subview %2[%c1] [%arg0] [%c1] :
40 %3 = memref.subview %2[%c1][%arg0][%c1]
48 %5 = memref.subview %4[%c0, %c1][%arg0, %arg1][%c1, %c0]
55 %6 = memref.subview %0[0, 2, 0][4, 4, 4][1, 1, 1]
60 // CHECK: memref.subview {{%.*}}[0, 0] [4, 4] [1, 1] :
63 %8 = memref.subview %7[0, 0][4, 4][1, 1]
70 %10 = memref.subview %9[%arg1, %arg1][4, 4][%arg2, %arg2]
76 %11 = memref.subview %9[%arg1, %arg2][4, 4][2, 2]
115 /// Rank-reducing subview with only leading operands.
132 // CHECK: memref.subview
[all …]
H A Dmultibuffer.mlir18 // CHECK: %[[SV:.*]] = memref.subview %[[A]][%[[I]], 0, 0] [1, 4, 128] [1, 1, 1] : memref<5x4x128xf…
19 %1 = memref.subview %a[%arg2, 0] [4, 128] [1, 1] :
45 // CHECK: %[[SV:.*]] = memref.subview %[[A]][%[[I]], 0, 0] [1, 4, 128] [1, 1, 1] : memref<5x4x128xf…
46 %1 = memref.subview %a[%arg2, 0] [4, 128] [1, 1] :
75 // CHECK: %[[SV:.*]] = memref.subview %[[A]][%[[I]], 0, 0] [1, 4, 128] [1, 1, 1] : memref<5x4x128xf…
76 %1 = memref.subview %a[%arg2, 0] [4, 128] [1, 1] :
80 // CHECK: %[[SV1:.*]] = memref.subview %[[SV]][0, 1] [4, 127] [1, 1] : memref<4x128xf32, #[[$MAP0]]…
81 %s = memref.subview %0[0, 1] [4, 127] [1, 1] :
103 %1 = memref.subview %a[%arg2, 0] [4, 128] [1, 1] :
H A Dcanonicalize.mlir11 %1 = memref.subview %0[0, 1, 0, 0] [1, 1, 16, 32] [1, 1, 1, 1] :
27 // CHECK: %[[S:.+]] = memref.subview %[[ARG0]][0, 0, 0] [1, 1, 4]
42 // CHECK-NOT: memref.subview
63 // CHECK: %[[SUBVIEW:.+]] = memref.subview %[[ARG0]][0, %{{[a-zA-Z0-9_]+}}, 1]
83 // CHECK: %[[SUBVIEW:.+]] = memref.subview %[[ARG0]][0, %{{[a-zA-Z0-9_]+}}, 1]
131 %0 = memref.subview %arg0[0, %arg1, %arg2] [1, %c1, %arg3] [1, 1, 1]
473 // CHECK: %[[RESULT:.+]] = memref.subview
509 // CHECK: %[[SUBVIEW:.+]] = memref.subview
520 // CHECK: %[[SUBVIEW:.+]] = memref.subview
535 // CHECK: %[[SUBVIEW:.+]] = memref.subview
[all …]
H A Dfold-subview-ops.mlir1 // RUN: mlir-opt -fold-memref-subview-ops -split-input-file %s -o - | FileCheck %s
4 …%0 = memref.subview %arg0[%arg1, %arg2][4, 4][2, 3] : memref<12x32xf32> to memref<4x4xf32, offset:…
23 %0 = memref.subview %arg0[%arg1, %arg2][4, 4][%arg5, %arg6] :
44 %0 = memref.subview %arg0[%arg1, %arg2][4, 4][2, 3] :
64 %0 = memref.subview %arg0[%arg1, %arg2][4, 4][%arg5, %arg6] :
86 …%0 = memref.subview %arg0[%arg1, %arg2][4, 4][%arg5, %arg6] : memref<12x32xf32> to memref<4x4xf32,…
106 %0 = memref.subview %arg0[%arg1, %arg2][4, 4][%arg5, %arg6] :
171 %0 = memref.subview %arg0[0, %arg1, %arg2] [1, %arg3, %arg4] [1, 1, 1]
200 %0 = memref.subview %arg0[0, %arg2, %arg3] [1, %arg4, %arg5] [1, 1, 1]
230 %0 = memref.subview %arg0[%arg2, %arg3, 0] [%arg4, %arg5, 1] [1, 1, 1]
[all …]
/llvm-project-15.0.7/mlir/test/Transforms/
H A Dcompose-subview.mlir1 // RUN: mlir-opt -allow-unregistered-dialect %s -test-compose-subview -split-input-file | FileCheck…
8 // CHECK: subview %arg0[3, 384] [1, 128] [1, 1]
10 …%0 = memref.subview %input[2, 256] [2, 256] [1, 1] : memref<4x1024xf32> to memref<2x256xf32, #map0>
11 …%1 = memref.subview %0[1, 128] [1, 128] [1, 1] : memref<2x256xf32, #map0> to memref<1x128xf32, #ma…
23 // CHECK: subview %arg0[3, 673] [1, 10] [1, 1]
25 …%0 = memref.subview %input[1, 512] [3, 256] [1, 1] : memref<4x1024xf32> to memref<3x256xf32, #map0>
26 …%1 = memref.subview %0[1, 128] [2, 128] [1, 1] : memref<3x256xf32, #map0> to memref<2x128xf32, #ma…
27 %2 = memref.subview %1[1, 33] [1, 10] [1, 1] : memref<2x128xf32, #map1> to memref<1x10xf32, #map2>
40 // CHECK: subview %arg0{{\[}}[[CST_3]], 384] [1, 128] [1, 1]
42 …%0 = memref.subview %input[%cst_2, 256] [2, 256] [1, 1] : memref<4x1024xf32> to memref<2x256xf32, …
[all …]
H A Dcanonicalize.mlir748 // CHECK-LABEL: func @subview
750 func.func @subview(%arg0 : index, %arg1 : index) -> (index, index) {
751 // Folded but reappears after subview folding into dim.
760 // Folded but reappears after subview folding into dim.
780 // Test: subview with one dynamic operand can also be folded.
881 // TEST: subview strides are maintained when sizes are folded
885 %19 = memref.subview %18[%arg1, %arg1] [%c2, %c4] [1, 1] :
891 // CHECK: memref.subview %[[ALLOC3]][2, 4] [12, 4] [1, 1] :
894 %20 = memref.subview %18[%c2, %c4] [12, 4] [1, 1] :
899 // Test: dim on subview is rewritten to size operand.
[all …]
/llvm-project-15.0.7/mlir/test/Dialect/Linalg/
H A Dtile-parallel-reduce.mlir21 // CHECK: %[[SV1:.*]] = memref.subview %{{.*}}[%[[ARG3]], %[[ARG5]]]
30 // TILE1: %[[SV1:.*]] = memref.subview %{{.*}}[%[[ARG3]], 0]
31 // TILE1: %[[SV3:.*]] = memref.subview %{{.*}}[%[[ARG3]], 0]
32 // TILE1-NOT: memref.subview
40 // TILE2: %[[SV1:.*]] = memref.subview %{{.*}}[%[[ARG3]], 0]
41 // TILE2: %[[SV2:.*]] = memref.subview %{{.*}}[0, %[[ARG4]]]
85 // CHECK: %[[SV3:.*]] = memref.subview %{{.*}}[%[[ARG4]]]
95 // TILE1: %[[SV2:.*]] = memref.subview %{{.*}}[%[[ARG3]], 0]
96 // TILE1-NOT: memref.subview
109 // TILE2: %[[SV2:.*]] = memref.subview %{{.*}}[%[[ARG3]], 0]
[all …]
H A Dforward-vector-transfers.mlir14 %subview = memref.subview %alloc[0][16][1] : memref<32 x f32> to memref<16 x f32>
15 memref.copy %in, %subview : memref<? x f32> to memref<16 x f32>
33 %subview = memref.subview %alloc[0][16][1] : memref<32 x f32> to memref<16 x f32>
52 %subview = memref.subview %view[0][16][1] : memref<32 x f32> to memref<16 x f32>
71 %subview = memref.subview %view[0][16][1] : memref<32 x f32> to memref<16 x f32>
90 %subview = memref.subview %alloc[0][16][1] : memref<32 x f32> to memref<16 x f32>
109 %subview = memref.subview %view[0][16][1] : memref<32 x f32> to memref<16 x f32>
133 %subview = memref.subview %alloc[0][16][1] : memref<32 x f32> to memref<16 x f32>
135 "some_interleaved_use"(%subview) : (memref<16 x f32>) -> ()
153 %subview = memref.subview %alloc[0][16][1] : memref<32 x f32> to memref<16 x f32>
[all …]
H A Dpromote.mlir24 …%11 = memref.subview %3[%arg4, %arg6][%c2, %c4][1, 1] : memref<?x?xf32> to memref<?x?xf32, offset:…
25 …%14 = memref.subview %4[%arg6, %arg5][%c4, %c3][1, 1] : memref<?x?xf32> to memref<?x?xf32, offset:…
41 // CHECK: %[[vA:.*]] = memref.subview {{.*}} : memref<?x?xf32>
42 // CHECK: %[[vB:.*]] = memref.subview {{.*}} : memref<?x?xf32>
43 // CHECK: %[[vC:.*]] = memref.subview {{.*}} : memref<?x?xf32>
114 // CHECK: %[[vA_f64:.*]] = memref.subview {{.*}} : memref<?x?xf64>
115 // CHECK: %[[vB_f64:.*]] = memref.subview {{.*}} : memref<?x?xf64>
116 // CHECK: %[[vC_f64:.*]] = memref.subview {{.*}} : memref<?x?xf64>
172 // CHECK: %[[a_pro_subview:.+]] = memref.subview %[[a_view]][0, 0] [%[[ub1]], {{.+}}] [1, 1]
176 // CHECK: %[[b_pro_subview:.+]] = memref.subview %[[b_view]]
[all …]
H A Dtransform-promotion.mlir21 %3 = memref.subview %arg0[%arg3, %arg5][%c2000, %c4000][%c1, %c1] :
23 %4 = memref.subview %arg1[%arg5, %arg4][%c4000, %c3000][%c1, %c1] :
25 %5 = memref.subview %arg2[%arg3, %arg4][%c2000, %c3000][%c1, %c1] :
48 // CHECK: %[[l0:.*]] = memref.subview %[[v0]][0, 0] [%{{.*}}, %{{.*}}] [1, 1]
52 // CHECK: %[[l1:.*]] = memref.subview %[[v1]][0, 0] [%{{.*}}, %{{.*}}] [1, 1]
90 %3 = memref.subview %arg0[%arg3, %arg5][%c2000, %c4000][%c1, %c1] :
92 %4 = memref.subview %arg1[%arg5, %arg4][%c4000, %c3000][%c1, %c1] :
94 %5 = memref.subview %arg2[%arg3, %arg4][%c2000, %c3000][%c1, %c1] :
121 // CHECK-NOT: memref.subview
145 %3 = memref.subview %arg0[%c0, %c0][%c2000, %c4000][%c1, %c1] :
[all …]
H A Dtile-parallel.mlir34 // TILE-2: [[LHS_SUBVIEW:%.*]] = memref.subview [[LHS]]
35 // TILE-2: [[RHS_SUBVIEW:%.*]] = memref.subview [[RHS]]
36 // TILE-2: [[SUM_SUBVIEW:%.*]] = memref.subview [[SUM]]
46 // TILE-02: [[LHS_SUBVIEW:%.*]] = memref.subview [[LHS]]
47 // TILE-02: [[RHS_SUBVIEW:%.*]] = memref.subview [[RHS]]
48 // TILE-02: [[SUM_SUBVIEW:%.*]] = memref.subview [[SUM]]
65 // TILE-234: [[LHS_SUBVIEW:%.*]] = memref.subview [[LHS]]
66 // TILE-234: [[RHS_SUBVIEW:%.*]] = memref.subview [[RHS]]
67 // TILE-234: [[SUM_SUBVIEW:%.*]] = memref.subview [[SUM]]
H A Dtile.mlir99 // the "min" in subview size computation. This test uses buffer sizes divisible
177 // TILE-2: %[[sCi:.*]] = memref.subview %{{.*}}[%[[I]]] [%[[szN]]] [1] : memref<?xf32, #[[$…
192 // TILE-02: %[[sBj:.*]] = memref.subview %{{.*}}[%[[J]]] [%[[szN]]] [1] : memref<?xf32, #[[…
216 // TILE-234: %[[sBj:.*]] = memref.subview %{{.*}}[%[[J]]] [%[[szN]]] [1] : memref<?xf32,…
234 // TILE-2: %[[sAi:.*]] = memref.subview %{{.*}}[%[[I]]] [%[[szM]]] [1] : memref<?xf32, #[[$…
236 // TILE-2: %[[sBi:.*]] = memref.subview %{{.*}}[%[[I]]] [%[[szM]]] [1] : memref<?xf32, #[[$…
251 // TILE-234: %[[sAi:.*]] = memref.subview %{{.*}}[%[[I]]] [%[[szM]]] [1] : memref<?xf32, #…
253 // TILE-234: %[[sBi:.*]] = memref.subview %{{.*}}[%[[I]]] [%[[szM]]] [1] : memref<?xf32, #…
263 // TILE-2: memref.subview{{.*}} : memref<127x99xf32>
269 // TILE-02: memref.subview{{.*}} : memref<127x99xf32>
[all …]
H A Dtile-and-distribute.mlir19 // CHECK: %[[SV1:.*]] = memref.subview %[[ARG0]][%[[OFFSETY]], %[[ARG3]]]
21 // CHECK: %[[SV2:.*]] = memref.subview %[[ARG1]][%[[ARG3]], %[[OFFSETX]]]
24 // CHECK: %[[SV3:.*]] = memref.subview %[[ARG2]][%[[OFFSETY_2]], %[[OFFSETX]]]
51 // CHECK: %[[SV1:.*]] = memref.subview %[[ARG0]][%[[OFFSETY]], %[[ARG3]]]
53 // CHECK: %[[SV2:.*]] = memref.subview %[[ARG1]][%[[ARG3]], %[[OFFSETX]]]
83 // CHECK: %[[SV1:.*]] = memref.subview %[[ARG0]][%[[ARG3]], %[[ARG5]]]
84 // CHECK: %[[SV2:.*]] = memref.subview %[[ARG1]][%[[ARG5]], %[[ARG4]]]
85 // CHECK: %[[SV3:.*]] = memref.subview %[[ARG2]][%[[ARG3]], %[[ARG4]]]
109 // CHECK: %[[SV1:.*]] = memref.subview %[[ARG0]][%[[OFFSETY]], %[[ARG3]]]
143 // CHECK: %[[SV2:.*]] = memref.subview %[[ARG1]][%[[ARG4]], %[[ARG3]]]
[all …]
H A Dfusion.mlir23 %5 = memref.subview %A[%arg5, %arg7][%c2, %c4][%c1, %c1] :
26 %7 = memref.subview %B[%arg7, %arg6][%c4, %c3][%c1, %c1] :
29 %8 = memref.subview %C[%arg5, %arg6][%c2, %c3][%c1, %c1] :
71 %5 = memref.subview %C[%arg5, %arg7][%c2, %c4][%c1, %c1] :
74 %7 = memref.subview %D[%arg7, %arg6][%c4, %c3][%c1, %c1] :
268 // CHECK-DAG: %[[B_00:.*]] = memref.subview %[[B]][0, 0]{{.*}}
641 %6 = memref.subview %1[%i, %j][%c1, %c1][%c1, %c1] :
643 %7 = memref.subview %arg2[%i, %j][%c1, %c1][%c1, %c1] :
733 %0 = memref.subview %A[%i, %k][%c2, %c4][%c1, %c1] :
736 %1 = memref.subview %B[%k, %j][%c4, %c3][%c1, %c1] :
[all …]
H A Dpromotion_options.mlir18 // CHECK: %[[T7:.+]] = memref.subview %[[ARG0]]
19 // CHECK: %[[T12:.+]] = memref.subview %[[ARG1]]
20 // CHECK: %[[T17:.+]] = memref.subview %[[ARG2]]
23 // CHECK: %[[T19:.+]] = memref.subview %[[V0]]
26 // CHECK: %[[T21:.+]] = memref.subview %[[V1]]
H A Dfusion-2-level.mlir20 …%5 = memref.subview %C[%arg5, %arg7][%c20, %c40][%c1, %c1] : memref<?x?xf32, offset: ?, strides: […
21 …%7 = memref.subview %D[%arg7, %arg6][%c40, %c30][%c1, %c1]: memref<?x?xf32, offset: ?, strides: [?…
22 …%8 = memref.subview %E[%arg5, %arg6][%c20, %c40][%c1, %c1] : memref<?x?xf32, offset: ?, strides: […
29 …%14 = memref.subview %5[%arg8, %arg10][%c2, %c4][%c1, %c1] : memref<?x?xf32, offset: ?, strides: […
30 …%16 = memref.subview %7[%arg10, %arg9][%c4, %c3][%c1, %c1]: memref<?x?xf32, offset: ?, strides: [?…
31 …%17 = memref.subview %8[%arg8, %arg9][%c2, %c3][%c1, %c1] : memref<?x?xf32, offset: ?, strides: [?…
H A Dfusion-indexed.mlir30 %4 = memref.subview %C[%arg2, %arg3][%c10, %c25][%c1, %c1] :
32 %5 = memref.subview %D[%arg2, %arg3][%c10, %c25][%c1, %c1] :
88 %A_view = memref.subview %A[%arg2, %arg3][%c10, %c25][%c1, %c1] :
90 %B_view = memref.subview %B[%arg2, %arg3][%c10, %c25][%c1, %c1] :
137 %A_view = memref.subview %A[%c0, %arg3][%A_X, %c25][%c1, %c1] :
139 %B_view = memref.subview %B[%c0, %arg3][%A_X, %c25][%c1, %c1] :
/llvm-project-15.0.7/mlir/test/Integration/Dialect/Standard/CPU/
H A Dtest_subview.mlir16 …%1 = memref.subview %0[2, 0][3, 3][1, 1]: memref<5x3xf32> to memref<3x3xf32, offset: 6, strides: […
28 /// Regular subview.
29 …%2 = memref.subview %0[0, 2][5, 1][1, 1]: memref<5x3xf32> to memref<5x1xf32, offset: 2, strides: […
43 /// Rank-reducing subview.
44 …%3 = memref.subview %0[0, 2][5, 1][1, 1]: memref<5x3xf32> to memref<5xf32, offset: 2, strides: [3]>
52 /// Rank-reducing subview with only leading operands.
53 …%4 = memref.subview %0[1, 0][1, 3][1, 1]: memref<5x3xf32> to memref<3xf32, offset: 3, strides: [1]>
/llvm-project-15.0.7/mlir/test/Dialect/Vector/
H A Dvector-transfer-collapse-inner-most-dims.mlir13 // CHECK: %[[SRC_0:.+]] = memref.subview %[[SRC]]
29 // CHECK: %[[SRC_0:.+]] = memref.subview %[[SRC]]
40 …%0 = memref.subview %A[%i, 0] [40, 1] [1, 1] : memref<1000x1xf32> to memref<40x1xf32, affine_map<(…
45 // CHECK: %[[SRC_0:.+]] = memref.subview %[[SRC]]
46 // CHECK: %[[SRC_1:.+]] = memref.subview %[[SRC_0]]
56 …%0 = memref.subview %A[%i, 0, 0] [40, 1, 1] [1, 1, 1] : memref<1000x1x1xf32> to memref<40x1x1xf32,…
61 // CHECK: %[[SRC_0:.+]] = memref.subview %[[SRC]]
62 // CHECK: %[[SRC_1:.+]] = memref.subview %[[SRC_0]]
/llvm-project-15.0.7/mlir/test/Dialect/Bufferization/Transforms/
H A Done-shot-bufferize-alloc-tensor-elimination.mlir26 …// CHECK: %[[SV0_ALLOC:.*]] = memref.subview %[[ALLOC]][0] [%[[sz]]] [1] : memref<?xf32> to me…
30 // CHECK: %[[T_SUBVIEW:.*]] = memref.subview %[[FUNC_ARG]][42] [%[[sz]]] [1]
51 // CHECK: %[[T_SUBVIEW:.*]] = memref.subview %[[FUNC_ARG]][42] [%[[sz]]] [1]
77 // CHECK: %[[subview:.*]] = memref.subview %[[t]][%[[iv]]] [5] [1]
81 // CHECK: linalg.fill ins(%{{.*}}{{.*}}outs(%[[subview]]
103 // CHECK: %[[subview:.*]] = memref.subview %[[t]][%[[idx]]] [5] [1]
111 // CHECK: linalg.fill ins(%{{.*}}{{.*}}outs(%[[subview]]
H A Done-shot-module-bufferize-out-params.mlir82 // CHECK: %[[subview:.*]] = memref.subview %[[alloc]]{{.*}} : memref<10x20xf32> to memref<2…
83 // CHECK: %[[casted:.*]] = memref.cast %[[subview]]
91 // CHECK-NO-LAYOUT: %[[subview:.*]] = memref.subview %[[alloc]]
96 // CHECK-NO-LAYOUT: memref.copy %[[subview]], %[[alloc2]]
105 // CHECK-BASELINE: %[[subview:.*]] = memref.subview %[[alloc]]
106 // CHECK-BASELINE: return %[[subview]]
/llvm-project-15.0.7/mlir/test/Dialect/Tensor/
H A Done-shot-bufferize.mlir28 // CHECK: %[[SV_A0:.*]] = memref.subview %[[REALLOC3]]
35 // CHECK: %[[SV_A0_2:.*]] = memref.subview %[[REALLOC2]]
42 // CHECK: %[[SV_A1:.*]] = memref.subview %[[REALLOC1]]
48 // CHECK: %[[SV_A1_2:.*]] = memref.subview %[[A1]]
72 // CHECK: %[[SV_A:.*]] = memref.subview %[[A]]
103 // CHECK: %[[SV_A:.*]] = memref.subview %[[A]]
104 /// Overwrite A inplace by copying into the subview.
127 // CHECK: %[[SV:.*]] = memref.subview %[[ALLOC]][0] [4] [1] : memref<?xf32> to memref<4xf32>
141 // CHECK: %[[subview:.*]] = memref.subview %[[A]][{{.*}}] [4] [1] : {{.*}} to memref<4xf32
142 // CHECK: memref.copy %[[alloc]], %[[subview]]
[all …]
H A Dbufferize.mlir304 // CHECK: %[[subview:.*]] = memref.subview %[[alloc]][%[[idx1]], 5] [%[[idx2]], 10] [1, 1]
305 // CHECK: memref.copy %[[m2]], %[[subview]]
324 …// CHECK: memref.subview %[[alloc]][%{{.*}}, %{{.*}}] [1, 1] [1, 1] : memref<?x?xf32> to memref<f3…
391 …// CHECK: %[[subview:.*]] = memref.subview %[[m1]][%{{.*}}, 5] [%{{.*}}, 10] [1, 1] : memref<?x20x…
394 // CHECK: %[[expanded:.*]] = memref.expand_shape %[[subview]] [
413 …// CHECK: %[[subview:.*]] = memref.subview %[[m1]][%{{.*}}] [1] [1] : memref<?xf32> to memref<f32…
460 // CHECK: memref.subview %{{.*}}[1] [1] [1] : memref<2xi32> to memref<1xi32, #[[$MAP3]]>
473 …// CHECK: %[[subview:.*]] = memref.subview %{{.*}} : memref<?x?x?x?xi64> to memref<87x78x68x12xi64…
479 // CHECK: memref.copy %[[subview]], %[[alloc]]
494 // CHECK: memref.subview {{.*}} : memref<1x2xf32> to memref<1x1xf32, #[[$MAP5]]>
[all …]
/llvm-project-15.0.7/mlir/test/Dialect/SCF/
H A Dforeach-thread-canonicalization.mlir17 …// CHECK: memref.subview %{{.*}}[%{{.*}}, 0] [%[[C64]], 384] [1, 1] : memref<128x384xf32> to memre…
18 …// CHECK: memref.subview %{{.*}}[%{{.*}}] [%[[C64]]] [1] : memref<128xf32> to memref<?xf32, {{.*}}>
19 %11 = memref.subview %0[%9, 0] [%10, 384] [1, 1] :
21 %12 = memref.subview %2[%9] [%10] [1] :

123