@@ -37,10 +37,14 @@ func.func @xfer_write_transposing_permutation_map(
37
37
// CHECK-LABEL: func.func @xfer_write_transposing_permutation_map_out_of_bounds
38
38
// CHECK-SAME: %[[ARG_0:.*]]: vector<4x8xi16>,
39
39
// CHECK-SAME: %[[MEM:.*]]: memref<2x2x?x?xi16>) {
40
+ // CHECK: %[[C0:.*]] = arith.constant 0 : index
40
41
// CHECK: %[[TR:.*]] = vector.transpose %[[ARG_0]], [1, 0] : vector<4x8xi16> to vector<8x4xi16>
42
+ // Expect the in_bounds attribute to be preserved. Since we don't print it when
43
+ // all flags are "false", it should not appear in the output.
44
+ // CHECK-NOT: in_bounds
41
45
// CHECK: vector.transfer_write
42
46
// CHECK-NOT: permutation_map
43
- // CHECK-SAME: %[[TR]], %[[MEM]]{{.*}} {in_bounds = [false, false]} : vector<8x4xi16>, memref<2x2x?x?xi16>
47
+ // CHECK-SAME: %[[TR]], %[[MEM]][%[[C0]], %[[C0]], %[[C0]], %[[C0]]] : vector<8x4xi16>, memref<2x2x?x?xi16>
44
48
func.func @xfer_write_transposing_permutation_map_out_of_bounds (
45
49
%arg0: vector <4 x8 xi16 >,
46
50
%mem: memref <2 x2 x?x?xi16 >) {
@@ -125,7 +129,7 @@ func.func @xfer_write_non_transposing_permutation_map(
125
129
return
126
130
}
127
131
128
- // The broadcast dimension is in bounds, so the transformation is safe
132
+ // Even with out-of- bounds, it is safe to apply this pattern
129
133
// CHECK-LABEL: func.func @xfer_write_non_transposing_permutation_map_with_mask_out_of_bounds(
130
134
// CHECK-SAME: %[[MEM:.*]]: memref<?x?xf32>,
131
135
// CHECK-SAME: %[[VEC:.*]]: vector<7xf32>,
0 commit comments