|
15 | 15 | // CHECK-NEXT: scf.for %[[TILE_SLICE_INDEX:.*]] = %[[C0]] to %[[NUM_TILE_SLICES]] step %[[C1]] iter_args(%[[CURRENT_TILE:.*]] = %[[INIT_TILE]]) -> (vector<[4]x[4]xi32>) {
|
16 | 16 | // CHECK-NEXT: %[[PTRUE_S:.*]] = arith.constant dense<true> : vector<[4]xi1>
|
17 | 17 | // CHECK-NEXT: %[[OFFSET:.*]] = arith.addi %[[C0]], %[[TILE_SLICE_INDEX]] : index
|
18 |
| -// CHECK-NEXT: %[[NEW_TILE:.*]] = arm_sme.load_tile_slice %[[SRC]]{{\[}}%[[OFFSET]], %[[C0]]], %[[PTRUE_S]], %[[CURRENT_TILE]], %[[TILE_SLICE_INDEX]] : memref<?x?xi32>, vector<[4]xi1>, vector<[4]x[4]xi32> |
19 |
| -// CHECK-NEXT: scf.yield %[[NEW_TILE]] : vector<[4]x[4]xi32> |
| 18 | +// CHECK-NEXT: %[[TILE_UPDATE:.*]] = arm_sme.load_tile_slice %[[SRC]]{{\[}}%[[OFFSET]], %[[C0]]], %[[PTRUE_S]], %[[CURRENT_TILE]], %[[TILE_SLICE_INDEX]] : memref<?x?xi32>, vector<[4]xi1>, vector<[4]x[4]xi32> |
| 19 | +// CHECK-NEXT: scf.yield %[[TILE_UPDATE]] : vector<[4]x[4]xi32> |
20 | 20 | func.func @arm_sme_tile_load_hor(%src : memref<?x?xi32>) {
|
21 | 21 | %c0 = arith.constant 0 : index
|
22 | 22 | %tile = arm_sme.tile_load %src[%c0, %c0] : memref<?x?xi32>, vector<[4]x[4]xi32>
|
@@ -44,8 +44,8 @@ func.func @arm_sme_tile_load_ver(%src : memref<?x?xi32>) {
|
44 | 44 | // CHECK-DAG: %[[TILE_ZERO:.*]] = arm_sme.zero : vector<[4]x[4]xi32>
|
45 | 45 | // CHECK-NEXT: scf.for %[[TILE_SLICE_INDEX:.*]] = %[[C0]] to %[[NUM_ROWS]] step %[[C1]] iter_args(%[[CURRENT_TILE:.*]] = %[[TILE_ZERO]]) -> (vector<[4]x[4]xi32>) {
|
46 | 46 | // CHECK-NEXT: %[[OFFSET:.*]] = arith.addi %[[C0]], %[[TILE_SLICE_INDEX]] : index
|
47 |
| -// CHECK-NEXT: %[[NEW_TILE:.*]] = arm_sme.load_tile_slice %[[SRC]]{{\[}}%[[OFFSET]], %[[C0]]], %[[NUM_COLS]], %[[CURRENT_TILE]], %[[TILE_SLICE_INDEX]] : memref<?x?xi32>, vector<[4]xi1>, vector<[4]x[4]xi32> |
48 |
| -// CHECK-NEXT: scf.yield %[[NEW_TILE]] : vector<[4]x[4]xi32> |
| 47 | +// CHECK-NEXT: %[[TILE_UPDATE:.*]] = arm_sme.load_tile_slice %[[SRC]]{{\[}}%[[OFFSET]], %[[C0]]], %[[NUM_COLS]], %[[CURRENT_TILE]], %[[TILE_SLICE_INDEX]] : memref<?x?xi32>, vector<[4]xi1>, vector<[4]x[4]xi32> |
| 48 | +// CHECK-NEXT: scf.yield %[[TILE_UPDATE]] : vector<[4]x[4]xi32> |
49 | 49 | func.func @arm_sme_tile_load_hor_with_mask_and_pad_zero(%src : memref<?x?xi32>) {
|
50 | 50 | %c0 = arith.constant 0 : index
|
51 | 51 | %c2 = arith.constant 2 : index
|
@@ -79,8 +79,8 @@ func.func @arm_sme_tile_load_hor_with_mask_and_pad_zero(%src : memref<?x?xi32>)
|
79 | 79 | // CHECK-NEXT: %[[OFFSET:.*]] = arith.addi %[[C0]], %[[TILE_SLICE_INDEX]] : index
|
80 | 80 | // CHECK: %[[PAD_1D:.*]] = vector.splat %[[PAD]] : vector<[4]xi32>
|
81 | 81 | // CHECK: %[[LOAD_SLICE:.*]] = vector.maskedload %[[SRC]]{{\[}}%[[OFFSET]], %[[C0]]], %[[MASK_1D]], %[[PAD_1D]] : memref<?x?xi32>, vector<[4]xi1>, vector<[4]xi32> into vector<[4]xi32>
|
82 |
| -// CHECK: %[[NEW_TILE:.*]] = arm_sme.move_vector_to_tile_slice %[[LOAD_SLICE]], %[[CURRENT_TILE]], %[[TILE_SLICE_INDEX]] : vector<[4]xi32> into vector<[4]x[4]xi32> |
83 |
| -// CHECK-NEXT: scf.yield %[[NEW_TILE]] : vector<[4]x[4]xi32> |
| 82 | +// CHECK: %[[TILE_UPDATE:.*]] = arm_sme.move_vector_to_tile_slice %[[LOAD_SLICE]], %[[CURRENT_TILE]], %[[TILE_SLICE_INDEX]] : vector<[4]xi32> into vector<[4]x[4]xi32> |
| 83 | +// CHECK-NEXT: scf.yield %[[TILE_UPDATE]] : vector<[4]x[4]xi32> |
84 | 84 | func.func @arm_sme_tile_load_hor_with_mask_and_nonzero_pad(%src : memref<?x?xi32>, %pad : i32) {
|
85 | 85 | %c0 = arith.constant 0 : index
|
86 | 86 | %c2 = arith.constant 2 : index
|
|
0 commit comments