@@ -37,18 +37,18 @@ module attributes {transform.with_named_sequence} {
37
37
// -----
38
38
39
39
///----------------------------------------------------------------------------------------
40
- /// [Pattern: PadOpVectorizationWithTransferReadPattern
40
+ /// [Pattern: PadOpVectorizationWithTransferWritePattern]
41
41
///----------------------------------------------------------------------------------------
42
42
func.func private @make_vector () -> vector <7 x9 xf32 >
43
43
44
- // CHECK-LABEL: func @pad_and_transfer_write_static
44
+ // CHECK-LABEL: func @pad_and_transfer_write_static_low_and_high
45
45
// CHECK-SAME: %[[ARG0:.*]]: tensor<5x6xf32>
46
46
// CHECK-NOT: tensor.pad
47
47
// CHECK: %[[C0:.*]] = arith.constant 0 : index
48
48
// CHECK: %[[VEC0:.*]] = call @make_vector() : () -> vector<7x9xf32>
49
49
// CHECK: %[[RESULT:.*]] = vector.transfer_write %[[VEC0]], %[[ARG0]][%[[C0]], %[[C0]]] : vector<7x9xf32>, tensor<5x6xf32>
50
50
// CHECK: return %[[RESULT]]
51
- func.func @pad_and_transfer_write_static (
51
+ func.func @pad_and_transfer_write_static_low_and_high (
52
52
%arg0: tensor <5 x6 xf32 >) -> tensor <5 x6 xf32 > {
53
53
%c0 = arith.constant 0 : index
54
54
%c5 = arith.constant 5.0 : f32
@@ -78,15 +78,15 @@ module attributes {transform.with_named_sequence} {
78
78
79
79
func.func private @make_vector () -> vector <7 x9 xf32 >
80
80
81
- // CHECK-LABEL: func @pad_and_transfer_write_dynamic_static
81
+ // CHECK-LABEL: func @pad_and_transfer_write_static_low_dynamic_high
82
82
// CHECK-SAME: %[[ARG0:.*]]: tensor<?x?xf32>, %[[SIZE:.*]]: index, %[[PADDING:.*]]: index
83
83
// CHECK-NOT: tensor.pad
84
84
// CHECK: %[[C0:.*]] = arith.constant 0 : index
85
85
// CHECK: %[[SUB:.*]] = tensor.extract_slice %[[ARG0]][0, 0] [%[[SIZE]], 6] [1, 1] : tensor<?x?xf32> to tensor<?x6xf32>
86
86
// CHECK: %[[VEC0:.*]] = call @make_vector() : () -> vector<7x9xf32>
87
87
// CHECK: %[[RESULT:.*]] = vector.transfer_write %[[VEC0]], %[[SUB]][%[[C0]], %[[C0]]] : vector<7x9xf32>, tensor<?x6xf32>
88
88
// CHECK: return %[[RESULT]]
89
- func.func @pad_and_transfer_write_dynamic_static (
89
+ func.func @pad_and_transfer_write_static_low_dynamic_high (
90
90
%arg0: tensor <?x?xf32 >, %size: index , %padding: index ) -> tensor <?x6 xf32 > {
91
91
%c0 = arith.constant 0 : index
92
92
%c5 = arith.constant 5.0 : f32
@@ -166,7 +166,9 @@ module attributes {transform.with_named_sequence} {
166
166
167
167
func.func private @make_vector () -> tensor <12 x13 xf32 >
168
168
169
- // Same as @pad_and_insert_slice_dest in vectorization-wit-patterns.mlir, but
169
+ // Same as @pad_and_insert_slice_dest in vectorization-with-patterns.mlir, but
170
+ // over here linalg::fill is not vectorized (patterns for linalg.fill are not
171
+ // included here)
170
172
// CHECK-LABEL: func.func @pad_and_insert_slice_dest(
171
173
// CHECK-SAME: %[[ARG_0:.*]]: tensor<1x5x6xf32>) -> tensor<1x12x13xf32> {
172
174
// CHECK-NOT: tensor.pad
0 commit comments