Skip to content

Commit 71583fb

Browse files
committed
update tests
1 parent db1c38e commit 71583fb

File tree

1 file changed

+26
-22
lines changed

1 file changed

+26
-22
lines changed

mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,6 @@
44
// memref.alloc exists here because sub-byte vector data types such as i2
55
// are currently not supported as input arguments.
66

7-
// CHECK: #[[$MAP:.+]] = affine_map<()[s0, s1] -> ((s0 * 3 + s1) floordiv 4)>
8-
// CHECK: #[[$MAP1:.+]] = affine_map<()[s0, s1] -> ((s0 * 3 + s1) mod 4)>
9-
// CHECK: #[[$MAP2:.+]] = affine_map<()[s0] -> ((s0 * 3 + 2) floordiv 4)>
10-
// CHECK: #[[$MAP3:.+]] = affine_map<()[s0] -> (s0 * 3 - ((s0 * 3 + 2) floordiv 4) * 4 + 2)>
117

128
func.func @vector_load_i2() -> vector<3x3xi2> {
139
%0 = memref.alloc() : memref<3x3xi2>
@@ -26,7 +22,7 @@ func.func @vector_load_i2() -> vector<3x3xi2> {
2622
// CHECK: %[[VEC_I2:.+]] = vector.bitcast %[[VEC]] : vector<2xi8> to vector<8xi2>
2723
// CHECK: %[[EXCTRACT:.+]] = vector.extract_strided_slice %[[VEC_I2]] {offsets = [2], sizes = [3], strides = [1]} : vector<8xi2> to vector<3xi2>
2824

29-
//-----
25+
// -----
3026

3127
func.func @vector_transfer_read_i2() -> vector<3xi2> {
3228
%0 = memref.alloc() : memref<3x3xi2>
@@ -44,7 +40,7 @@ func.func @vector_transfer_read_i2() -> vector<3xi2> {
4440
// CHECK: %[[BITCAST:.+]] = vector.bitcast %[[READ]] : vector<2xi8> to vector<8xi2>
4541
// CHECK: vector.extract_strided_slice %[[BITCAST]] {offsets = [2], sizes = [3], strides = [1]} : vector<8xi2> to vector<3xi2>
4642

47-
//-----
43+
// -----
4844

4945
func.func @vector_cst_maskedload_i2(%passthru: vector<5xi2>) -> vector<3x5xi2> {
5046
%0 = memref.alloc() : memref<3x5xi2>
@@ -76,7 +72,7 @@ func.func @vector_cst_maskedload_i2(%passthru: vector<5xi2>) -> vector<3x5xi2> {
7672
// CHECK: %[[SELECT:.+]] = arith.select %[[INSERT2]], %[[BITCAST2]], %[[INSERT1]] : vector<8xi1>, vector<8xi2>
7773
// CHECK: vector.extract_strided_slice %[[SELECT]] {offsets = [2], sizes = [5], strides = [1]} : vector<8xi2> to vector<5xi2>
7874

79-
//-----
75+
// -----
8076

8177
func.func @vector_load_i2_dynamic_indexing(%idx1: index, %idx2: index) -> vector<3xi2> {
8278
%0 = memref.alloc() : memref<3x3xi2>
@@ -85,11 +81,13 @@ func.func @vector_load_i2_dynamic_indexing(%idx1: index, %idx2: index) -> vector
8581
return %1 : vector<3xi2>
8682
}
8783

88-
// CHECK-LABEL: func @vector_load_i2_dynamic_indexing(
84+
// CHECK: #[[MAP:.+]] = affine_map<()[s0, s1] -> ((s0 * 3 + s1) floordiv 4)>
85+
// CHECK: #[[MAP1:.+]] = affine_map<()[s0, s1] -> ((s0 * 3 + s1) mod 4)>
86+
// CHECK: func @vector_load_i2_dynamic_indexing(
8987
// CHECK-SAME: %[[ARG0:.+]]: index, %[[ARG1:.+]]: index) -> vector<3xi2>
9088
// CHECK: %[[ALLOC:.+]]= memref.alloc() : memref<3xi8>
91-
// CHECK: %[[LOADADDR1:.+]] = affine.apply #[[$MAP]]()[%[[ARG0]], %[[ARG1]]]
92-
// CHECK: %[[LOADADDR2:.+]] = affine.apply #[[$MAP1]]()[%[[ARG0]], %[[ARG1]]]
89+
// CHECK: %[[LOADADDR1:.+]] = affine.apply #[[MAP]]()[%[[ARG0]], %[[ARG1]]]
90+
// CHECK: %[[LOADADDR2:.+]] = affine.apply #[[MAP1]]()[%[[ARG0]], %[[ARG1]]]
9391
// CHECK: %[[EMULATED_LOAD:.+]] = vector.load %alloc[%[[LOADADDR1]]] : memref<3xi8>, vector<2xi8>
9492
// CHECK: %[[BITCAST:.+]] = vector.bitcast %[[EMULATED_LOAD]] : vector<2xi8> to vector<8xi2>
9593
// CHECK: %[[ZERO:.+]] = arith.constant dense<0> : vector<3xi2>
@@ -101,7 +99,7 @@ func.func @vector_load_i2_dynamic_indexing(%idx1: index, %idx2: index) -> vector
10199
// CHECK: %[[OFFSET2:.+]] = arith.addi %1, %c2 : index
102100
// CHECK: %[[EXTRACT3:.+]] = vector.extract %[[BITCAST]][%[[OFFSET2]]] : i2 from vector<8xi2>
103101

104-
//-----
102+
// -----
105103

106104
func.func @vector_load_i2_dynamic_indexing_mixed(%idx: index) -> vector<3xi2> {
107105
%0 = memref.alloc() : memref<3x3xi2>
@@ -111,11 +109,13 @@ func.func @vector_load_i2_dynamic_indexing_mixed(%idx: index) -> vector<3xi2> {
111109
return %1 : vector<3xi2>
112110
}
113111

114-
// CHECK-LABEL: func @vector_load_i2_dynamic_indexing_mixed(
112+
// CHECK: #[[MAP:.+]] = affine_map<()[s0] -> ((s0 * 3 + 2) floordiv 4)>
113+
// CHECK: #[[MAP1:.+]] = affine_map<()[s0] -> (s0 * 3 - ((s0 * 3 + 2) floordiv 4) * 4 + 2)>
114+
// CHECK: func @vector_load_i2_dynamic_indexing_mixed(
115115
// CHECK-SAME: %[[ARG0:.+]]: index) -> vector<3xi2>
116116
// CHECK: %[[ALLOC:.+]]= memref.alloc() : memref<3xi8>
117-
// CHECK: %[[LOADADDR1:.+]] = affine.apply #[[$MAP2]]()[%[[ARG0]]]
118-
// CHECK: %[[LOADADDR2:.+]] = affine.apply #[[$MAP3]]()[%[[ARG0]]]
117+
// CHECK: %[[LOADADDR1:.+]] = affine.apply #[[MAP]]()[%[[ARG0]]]
118+
// CHECK: %[[LOADADDR2:.+]] = affine.apply #[[MAP1]]()[%[[ARG0]]]
119119
// CHECK: %[[EMULATED_LOAD:.+]] = vector.load %alloc[%[[LOADADDR1]]] : memref<3xi8>, vector<2xi8>
120120
// CHECK: %[[BITCAST:.+]] = vector.bitcast %[[EMULATED_LOAD]] : vector<2xi8> to vector<8xi2>
121121
// CHECK: %[[ZERO:.+]] = arith.constant dense<0> : vector<3xi2>
@@ -127,7 +127,7 @@ func.func @vector_load_i2_dynamic_indexing_mixed(%idx: index) -> vector<3xi2> {
127127
// CHECK: %[[OFFSET2:.+]] = arith.addi %1, %c2 : index
128128
// CHECK: %[[EXTRACT3:.+]] = vector.extract %[[BITCAST]][%[[OFFSET2]]] : i2 from vector<8xi2>
129129

130-
//-----
130+
// -----
131131

132132
func.func @vector_transfer_read_i2_dynamic_indexing(%idx1: index, %idx2: index) -> vector<3xi2> {
133133
%0 = memref.alloc() : memref<3x3xi2>
@@ -136,12 +136,14 @@ func.func @vector_transfer_read_i2_dynamic_indexing(%idx1: index, %idx2: index)
136136
return %1 : vector<3xi2>
137137
}
138138

139-
// CHECK-LABEL: func @vector_transfer_read_i2_dynamic_indexing(
139+
// CHECK: #[[MAP:.+]] = affine_map<()[s0, s1] -> ((s0 * 3 + s1) floordiv 4)>
140+
// CHECK: #[[MAP1:.+]] = affine_map<()[s0, s1] -> ((s0 * 3 + s1) mod 4)>
141+
// CHECK: func @vector_transfer_read_i2_dynamic_indexing(
140142
// CHECK-SAME: %[[ARG0:.+]]: index, %[[ARG1:.+]]: index) -> vector<3xi2>
141143
// CHECK: %[[ALLOC:.+]] = memref.alloc() : memref<3xi8>
142144
// CHECK: %[[C0:.+]] = arith.extui %c0_i2 : i2 to i8
143-
// CHECK: %[[LOADADDR1:.+]] = affine.apply #[[$MAP]]()[%[[ARG0]], %[[ARG1]]]
144-
// CHECK: %[[LOADADDR2:.+]] = affine.apply #[[$MAP1]]()[%[[ARG0]], %[[ARG1]]]
145+
// CHECK: %[[LOADADDR1:.+]] = affine.apply #[[MAP]]()[%[[ARG0]], %[[ARG1]]]
146+
// CHECK: %[[LOADADDR2:.+]] = affine.apply #[[MAP1]]()[%[[ARG0]], %[[ARG1]]]
145147
// CHECK: %[[READ:.+]] = vector.transfer_read %[[ALLOC]][%[[LOADADDR1]]], %[[C0]] : memref<3xi8>, vector<2xi8>
146148
// CHECK: %[[BITCAST:.+]] = vector.bitcast %[[READ]] : vector<2xi8> to vector<8xi2>
147149
// CHECK: %[[CST:.+]] = arith.constant dense<0> : vector<3xi2>
@@ -153,7 +155,7 @@ func.func @vector_transfer_read_i2_dynamic_indexing(%idx1: index, %idx2: index)
153155
// CHECK: %[[ADDI2:.+]] = arith.addi %[[LOADADDR2]], %[[C2]] : index
154156
// CHECK: %[[EXTRACT3:.+]] = vector.extract %[[BITCAST]][%[[ADDI2]]] : i2 from vector<8xi2>
155157

156-
//-----
158+
// -----
157159

158160
func.func @vector_transfer_read_i2_dynamic_indexing_mixed(%idx1: index) -> vector<3xi2> {
159161
%0 = memref.alloc() : memref<3x3xi2>
@@ -163,12 +165,14 @@ func.func @vector_transfer_read_i2_dynamic_indexing_mixed(%idx1: index) -> vecto
163165
return %1 : vector<3xi2>
164166
}
165167

166-
// CHECK-LABEL: func @vector_transfer_read_i2_dynamic_indexing_mixed(
168+
// CHECK: #[[MAP:.+]] = affine_map<()[s0] -> ((s0 * 3 + 2) floordiv 4)>
169+
// CHECK: #[[MAP1:.+]] = affine_map<()[s0] -> (s0 * 3 - ((s0 * 3 + 2) floordiv 4) * 4 + 2)>
170+
// CHECK: func @vector_transfer_read_i2_dynamic_indexing_mixed(
167171
// CHECK-SAME: %[[ARG0:.+]]: index) -> vector<3xi2>
168172
// CHECK: %[[ALLOC:.+]] = memref.alloc() : memref<3xi8>
169173
// CHECK: %[[C0:.+]] = arith.extui %c0_i2 : i2 to i8
170-
// CHECK: %[[LOADADDR1:.+]] = affine.apply #[[$MAP2]]()[%[[ARG0]]]
171-
// CHECK: %[[LOADADDR2:.+]] = affine.apply #[[$MAP3]]()[%[[ARG0]]]
174+
// CHECK: %[[LOADADDR1:.+]] = affine.apply #[[MAP]]()[%[[ARG0]]]
175+
// CHECK: %[[LOADADDR2:.+]] = affine.apply #[[MAP1]]()[%[[ARG0]]]
172176
// CHECK: %[[READ:.+]] = vector.transfer_read %[[ALLOC]][%[[LOADADDR1]]], %[[C0]] : memref<3xi8>, vector<2xi8>
173177
// CHECK: %[[BITCAST:.+]] = vector.bitcast %[[READ]] : vector<2xi8> to vector<8xi2>
174178
// CHECK: %[[CST:.+]] = arith.constant dense<0> : vector<3xi2>

0 commit comments

Comments
 (0)