@@ -1261,7 +1261,7 @@ func.func @winograd_output_transform_output_width(%arg0: tensor<6x6x3x3x2x2xf32>
12611261
12621262// -----
12631263
1264- func.func @missing_indexing_map_batch_matmul (%arg0: tensor <?x?x?xf32 >, %arg1: tensor <?x?x?xf32 >, %arg2: tensor <?x?x?xf32 >) {
1264+ func.func @missing_indexing_map_batch_matmul (%arg0: memref <?x?x?xf32 >, %arg1: memref <?x?x?xf32 >, %arg2: memref <?x?x?xf32 >) {
12651265 // expected-error @+1 {{expected attribute value}}
12661266 linalg.batch_matmul index ing_maps = [
12671267 ,
@@ -1275,27 +1275,27 @@ func.func @missing_indexing_map_batch_matmul(%arg0: tensor<?x?x?xf32>, %arg1: te
12751275
12761276// -----
12771277
1278- func.func @invalid_dim_expr_batch_matmul_a (%arg0: tensor <?x?x?xf32 >, %arg1: tensor <?x?x?xf32 >, %arg2: tensor <?x?x?xf32 >) {
1278+ func.func @invalid_dim_expr_batch_matmul_a (%arg0: memref <?x?x?xf32 >, %arg1: memref <?x?x?xf32 >, %arg2: memref <?x?x?xf32 >) {
12791279 // expected-error @+1 {{Unexpected dim expression in map result}}
12801280 linalg.batch_matmul index ing_maps = [
12811281 affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d2 , d3 )>,
12821282 affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d3 , d2 )>,
12831283 affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d1 , d2 )>
12841284 ]
1285- ins (%arg0 , %arg1 : tensor <?x?x?xf32 >, tensor <?x?x?xf32 >) outs (%arg2 :tensor <?x?x?xf32 >)
1285+ ins (%arg0 , %arg1 : memref <?x?x?xf32 >, memref <?x?x?xf32 >) outs (%arg2 :memref <?x?x?xf32 >)
12861286 return
12871287}
12881288
12891289// -----
12901290
1291- func.func @invalid_dim_expr_batch_matmul_b (%arg0: tensor <?x?x?xf32 >, %arg1: tensor <?x?x?xf32 >, %arg2: tensor <?x?x?xf32 >) {
1291+ func.func @invalid_dim_expr_batch_matmul_b (%arg0: memref <?x?x?xf32 >, %arg1: memref <?x?x?xf32 >, %arg2: memref <?x?x?xf32 >) {
12921292 // expected-error @+1 {{Unexpected dim expression in map result}}
12931293 linalg.batch_matmul index ing_maps = [
12941294 affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d1 , d3 )>,
12951295 affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d3 , d1 )>,
12961296 affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d1 , d2 )>
12971297 ]
1298- ins (%arg0 , %arg1 : tensor <?x?x?xf32 >, tensor <?x?x?xf32 >) outs (%arg2 :tensor <?x?x?xf32 >)
1298+ ins (%arg0 , %arg1 : memref <?x?x?xf32 >, memref <?x?x?xf32 >) outs (%arg2 :memref <?x?x?xf32 >)
12991299 return
13001300}
13011301
@@ -1376,3 +1376,59 @@ func.func @invalid_batch_dim_batch_matmul_b(%arg0: memref<?x?x?xf32>, %arg1: mem
13761376 ins (%arg0 , %arg1 : memref <?x?x?xf32 >, memref <?x?x?xf32 >) outs (%arg2 :memref <?x?x?xf32 >)
13771377 return
13781378}
1379+
1380+ // -----
1381+
1382+ func.func @invalid_A_map_result_num_batch_matmul (%arg0: memref <?x?x?xf32 >, %arg1: memref <?x?x?xf32 >, %arg2: memref <?x?xf32 >) {
1383+ // expected-error @+1 {{'linalg.batch_matmul' op no. of result dim expression cannot exceed 3.}}
1384+ linalg.batch_matmul index ing_maps = [
1385+ affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d1 , d3 , d3 )>,
1386+ affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d3 , d2 )>,
1387+ affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d1 , d2 )>
1388+ ]
1389+ ins (%arg0 , %arg1: memref <?x?x?xf32 >, memref <?x?x?xf32 >)
1390+ outs (%arg2: memref <?x?xf32 >)
1391+ return
1392+ }
1393+
1394+ // -----
1395+
1396+ func.func @invalid_B_map_result_num_batch_matmul (%arg0: memref <?x?x?xf32 >, %arg1: memref <?x?x?xf32 >, %arg2: memref <?x?xf32 >) {
1397+ // expected-error @+1 {{'linalg.batch_matmul' op no. of result dim expression cannot exceed 3.}}
1398+ linalg.batch_matmul index ing_maps = [
1399+ affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d1 , d3 )>,
1400+ affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d3 , d2 , d3 )>,
1401+ affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d1 , d2 )>
1402+ ]
1403+ ins (%arg0 , %arg1: memref <?x?x?xf32 >, memref <?x?x?xf32 >)
1404+ outs (%arg2: memref <?x?xf32 >)
1405+ return
1406+ }
1407+
1408+ // -----
1409+
1410+ func.func @invalid_C_map_result_num_batch_matmul (%arg0: memref <?x?x?xf32 >, %arg1: memref <?x?x?xf32 >, %arg2: memref <?x?xf32 >) {
1411+ // expected-error @+1 {{'linalg.batch_matmul' op no. of result dim expression cannot exceed 3.}}
1412+ linalg.batch_matmul index ing_maps = [
1413+ affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d1 , d3 )>,
1414+ affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d3 , d2 )>,
1415+ affine_map <(d0 , d1 , d2 , d3 ) -> (d1 , d2 )>
1416+ ]
1417+ ins (%arg0 , %arg1: memref <?x?x?xf32 >, memref <?x?x?xf32 >)
1418+ outs (%arg2: memref <?x?xf32 >)
1419+ return
1420+ }
1421+
1422+ // -----
1423+
1424+ func.func @invalid_C_map_result_dim_batch_matmul (%arg0: memref <?x?x?xf32 >, %arg1: memref <?x?x?xf32 >, %arg2: memref <?x?x?xf32 >) {
1425+ // expected-error @+1 {{'linalg.batch_matmul' op Invalid output map result dimension.}}
1426+ linalg.batch_matmul index ing_maps = [
1427+ affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d1 , d3 )>,
1428+ affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d3 , d2 )>,
1429+ affine_map <(d0 , d1 , d2 , d3 ) -> (d0 , d1 , d3 )>
1430+ ]
1431+ ins (%arg0 , %arg1: memref <?x?x?xf32 >, memref <?x?x?xf32 >)
1432+ outs (%arg2: memref <?x?x?xf32 >)
1433+ return
1434+ }
0 commit comments