@@ -455,10 +455,9 @@ func.func @unpack_on_output(%arg0: tensor<12x2x56x56x32xf32>) -> tensor<12x56x56
455
455
// CHECK: %[[UNPACKED_ARG0:.+]] = linalg.unpack %[[ARG0]]
456
456
// CHECK-SAME: outer_dims_perm = [0, 3, 1, 2] inner_dims_pos = [3] inner_tiles = [32]
457
457
// CHECK-SAME: into %[[ARG0_EMPTY_UNPACK]]
458
- // CHECK: %[[EMPTY:.+]] = tensor.empty() : tensor<12x2x56x56x32xf32>
459
458
// CHECK: %[[RES:.+]] = linalg.generic
460
459
// CHECK-SAME: indexing_maps = [#[[$MAP]]]
461
- // CHECK-SAME: outs(%[[EMPTY ]]
460
+ // CHECK-SAME: outs(%[[ARG0 ]]
462
461
// CHECK: %[[UNPACK:.+]] = linalg.unpack %[[RES]]
463
462
// CHECK-SAME: outer_dims_perm = [0, 3, 1, 2] inner_dims_pos = [3] inner_tiles = [32]
464
463
// CHECK-SAME: into %[[UNPACKED_ARG0]]
@@ -482,11 +481,14 @@ func.func @unpack_on_input(%arg0: tensor<12x2x56x56x32xf32>, %init: tensor<12x56
482
481
// CHECK-LABEL: func.func @unpack_on_input
483
482
// CHECK-SAME: %[[ARG0:[a-zA-Z0-9]+]]
484
483
// CHECK-SAME: %[[ARG1:[a-zA-Z0-9]+]]
485
- // CHECK: %[[EMPTY:.+]] = tensor.empty() : tensor<12x2x56x56x32xf32>
484
+ // CHECK: %[[ARG1_PACK_EMPTY:.+]] = tensor.empty() : tensor<12x2x56x56x32xf32>
485
+ // CHECK: %[[ARG1_PACK:.+]] = linalg.pack %[[ARG1]]
486
+ // CHECK-SAME: outer_dims_perm = [0, 3, 1, 2] inner_dims_pos = [3] inner_tiles = [32]
487
+ // CHECK-SAME: into %[[ARG1_PACK_EMPTY]]
486
488
// CHECK: %[[RES:.+]] = linalg.generic
487
489
// CHECK-SAME: indexing_maps = [#[[$MAP]], #[[$MAP]]]
488
490
// CHECK-SAME: ins(%[[ARG0]]
489
- // CHECK-SAME: outs(%[[EMPTY ]]
491
+ // CHECK-SAME: outs(%[[ARG1_PACK ]]
490
492
// CHECK: %[[UNPACK:.+]] = linalg.unpack %[[RES]]
491
493
// CHECK-SAME: outer_dims_perm = [0, 3, 1, 2] inner_dims_pos = [3] inner_tiles = [32]
492
494
// CHECK-SAME: into %[[ARG1]]
@@ -510,11 +512,14 @@ func.func @unpack_element_type_change(%arg0: tensor<12x2x56x56x32xf32>, %init: t
510
512
// CHECK-LABEL: func.func @unpack_element_type_change
511
513
// CHECK-SAME: %[[ARG0:[a-zA-Z0-9]+]]
512
514
// CHECK-SAME: %[[ARG1:[a-zA-Z0-9]+]]
513
- // CHECK: %[[EMPTY:.+]] = tensor.empty() : tensor<12x2x56x56x32xf16>
515
+ // CHECK: %[[ARG1_PACK_EMPTY:.+]] = tensor.empty() : tensor<12x2x56x56x32xf16>
516
+ // CHECK: %[[ARG1_PACK:.+]] = linalg.pack %[[ARG1]]
517
+ // CHECK-SAME: outer_dims_perm = [0, 3, 1, 2] inner_dims_pos = [3] inner_tiles = [32]
518
+ // CHECK-SAME: into %[[ARG1_PACK_EMPTY]]
514
519
// CHECK: %[[RES:.+]] = linalg.generic
515
520
// CHECK-SAME: indexing_maps = [#[[$MAP]], #[[$MAP]]]
516
521
// CHECK-SAME: ins(%[[ARG0]]
517
- // CHECK-SAME: outs(%[[EMPTY ]]
522
+ // CHECK-SAME: outs(%[[ARG1_PACK ]]
518
523
// CHECK: %[[UNPACK:.+]] = linalg.unpack %[[RES]]
519
524
// CHECK-SAME: outer_dims_perm = [0, 3, 1, 2] inner_dims_pos = [3] inner_tiles = [32]
520
525
// CHECK-SAME: into %[[ARG1]]
@@ -1397,10 +1402,13 @@ func.func @push_unpack_in_padded_domain_foldable(%arg0: tensor<8x8x4x8xf32>, %de
1397
1402
// CHECK-SAME: %[[ARG0:[a-zA-Z0-9]+]]
1398
1403
// CHECK-SAME: %[[ARG1:[a-zA-Z0-9]+]]
1399
1404
// CHECK-SAME: %[[ARG2:[a-zA-Z0-9]+]]
1400
- // CHECK: %[[EMPTY:.+]] = tensor.empty
1405
+ // CHECK: %[[ARG2_PACK_EMPTY:.+]] = tensor.empty
1406
+ // CHECK: %[[ARG2_PACK:.+]] = linalg.pack %[[ARG2]]
1407
+ // CHECK-SAME: inner_dims_pos = [0, 1] inner_tiles = [4, 8]
1408
+ // CHECK-SAME: into %[[ARG2_PACK_EMPTY]]
1401
1409
// CHECK: %[[GENERIC:.+]] = linalg.generic
1402
1410
// CHECK-SAME: ins(%[[ARG0]] : tensor<8x8x4x8xf32>)
1403
- // CHECK-SAME: outs(%[[EMPTY ]] : tensor<?x8x4x8xbf16>)
1411
+ // CHECK-SAME: outs(%[[ARG2_PACK ]] : tensor<?x8x4x8xbf16>)
1404
1412
// CHECK: %[[UNPACK:.+]] = linalg.unpack %[[GENERIC]]
1405
1413
// CHECK-SAME: into %[[ARG2]]
1406
1414
// CHECK: return %[[UNPACK]] : tensor<?x64xbf16>
@@ -1419,10 +1427,13 @@ func.func @push_unpack_in_padded_domain_out_used(%arg0: tensor<8x8x4x8xf32>, %ar
1419
1427
// CHECK-LABEL: func.func @push_unpack_in_padded_domain_out_used
1420
1428
// CHECK-SAME: %[[ARG0:[a-zA-Z0-9]+]]
1421
1429
// CHECK-SAME: %[[ARG1:[a-zA-Z0-9]+]]
1422
- // CHECK: %[[EMPTY:.+]] = tensor.empty
1430
+ // CHECK: %[[ARG1_PACK_EMPTY:.+]] = tensor.empty
1431
+ // CHECK: %[[ARG1_PACK:.+]] = linalg.pack %[[ARG1]]
1432
+ // CHECK-SAME: inner_dims_pos = [0, 1] inner_tiles = [4, 8]
1433
+ // CHECK-SAME: into %[[ARG1_PACK_EMPTY]]
1423
1434
// CHECK: %[[GENERIC:.+]] = linalg.generic
1424
1435
// CHECK-SAME: ins(%[[ARG0]] : tensor<8x8x4x8xf32>)
1425
- // CHECK-SAME: outs(%[[EMPTY ]] : tensor<?x8x4x8xf32>)
1436
+ // CHECK-SAME: outs(%[[ARG1_PACK ]] : tensor<?x8x4x8xf32>)
1426
1437
// CHECK: %[[UNPACK2:.+]] = linalg.unpack %[[GENERIC]]
1427
1438
// CHECK-SAME: into %[[ARG1]]
1428
1439
// CHECK: return %[[UNPACK2]] : tensor<?x64xf32>
0 commit comments