@@ -41,24 +41,23 @@ func.func @permutation_with_mask_scalable(%2: memref<?x?xf32>, %dim_1: index, %d
41
41
return %1 : vector <8 x[4 ]x2 xf32 >
42
42
}
43
43
44
- // CHECK: func.func @permutation_with_mask_transfer_write_scalable(
45
- // CHECK-SAME: %[[ARG_0:.*]]: vector<4x[8]xi16>,
46
- // CHECK-SAME: %[[ARG_1:.*]]: memref<1x4x?x1x1x1x1xi16>,
47
- // CHECK-SAME: %[[MASK:.*]]: vector<4x[8]xi1>) {
48
- // CHECK: %[[C0:.*]] = arith.constant 0 : index
49
- // CHECK: %[[BCAST_1:.*]] = vector.broadcast %[[ARG_0]] : vector<4x[8]xi16> to vector<1x1x1x1x4x[8]xi16>
50
- // CHECK: %[[BCAST_2:.*]] = vector.broadcast %[[MASK]] : vector<4x[8]xi1> to vector<1x1x1x1x4x[8]xi1>
51
- // CHECK: %[[TRANSPOSE_1:.*]] = vector.transpose %[[BCAST_2]], [4, 5, 0, 1, 2, 3] : vector<1x1x1x1x4x[8]xi1> to vector<4x[8]x1x1x1x1xi1>
52
- // CHECK: %[[TRANSPOSE_2:.*]] = vector.transpose %[[BCAST_1]], [4, 5, 0, 1, 2, 3] : vector<1x1x1x1x4x[8]xi16> to vector<4x[8]x1x1x1x1xi16>
53
- // CHECK: vector.transfer_write %[[TRANSPOSE_2]], %[[ARG_1]]{{\[}}%[[C0]], %[[C0]], %[[C0]], %[[C0]], %[[C0]], %[[C0]], %[[C0]]], %[[TRANSPOSE_1]] {in_bounds = [true, true, true, true, true, true]} : vector<4x[8]x1x1x1x1xi16>, memref<1x4x?x1x1x1x1xi16>
54
- // CHECK: return
55
- func.func @permutation_with_mask_transfer_write_scalable (%arg0: vector <4 x[8 ]xi16 >, %arg1: memref <1 x4 x?x1 x1 x1 x1 xi16 >, %mask: vector <4 x[8 ]xi1 >){
44
+ // CHECK-LABEL: func.func @permutation_with_mask_transfer_write_scalable(
45
+ // CHECK-SAME: %[[ARG_0:.*]]: vector<4x[8]xi16>,
46
+ // CHECK-SAME: %[[ARG_1:.*]]: memref<1x4x?x1x1x1x1xi16>,
47
+ // CHECK-SAME: %[[MASK:.*]]: vector<4x[8]xi1>) {
48
+ // CHECK: %[[C0:.*]] = arith.constant 0 : index
49
+ // CHECK: %[[BCAST:.*]] = vector.broadcast %[[ARG_0]] : vector<4x[8]xi16> to vector<1x1x1x1x4x[8]xi16>
50
+ // CHECK: vector.transfer_write %[[BCAST]], %[[ARG_1]]{{\[}}%[[C0]], %[[C0]], %[[C0]], %[[C0]], %[[C0]], %[[C0]], %[[C0]]] {in_bounds = [true, true, true, true, true, true], permutation_map = #map} : vector<1x1x1x1x4x[8]xi16>, memref<1x4x?x1x1x1x1xi16>
51
+ // CHECK: return
52
+ // CHECK: }
53
+ func.func @permutation_with_mask_transfer_write_scalable (%arg0: vector <4 x[8 ]xi16 >, %arg1: memref <1 x4 x?x1 x1 x1 x1 xi16 >, %mask: vector <4 x[8 ]xi1 >){
56
54
%c0 = arith.constant 0 : index
57
55
vector.transfer_write %arg0 , %arg1 [%c0 , %c0 , %c0 , %c0 , %c0 , %c0 , %c0 ], %mask {in_bounds = [true , true ], permutation_map = affine_map <(d0 , d1 , d2 , d3 , d4 , d5 , d6 ) -> (d1 , d2 )>
58
56
} : vector <4 x[8 ]xi16 >, memref <1 x4 x?x1 x1 x1 x1 xi16 >
59
57
60
58
return
61
- }
59
+ }
60
+
62
61
module attributes {transform.with_named_sequence } {
63
62
transform.named_sequence @__transform_main (%module_op: !transform.any_op {transform.readonly }) {
64
63
%f = transform.structured.match ops {[" func.func" ]} in %module_op
0 commit comments