diff --git a/mlir/test/Dialect/Vector/one-shot-bufferize.mlir b/mlir/test/Dialect/Vector/one-shot-bufferize.mlir index 64238c3c08a6f..c2d699b9b013a 100644 --- a/mlir/test/Dialect/Vector/one-shot-bufferize.mlir +++ b/mlir/test/Dialect/Vector/one-shot-bufferize.mlir @@ -12,6 +12,17 @@ func.func @mask(%t0: tensor, %val: vector<16xf32>, %idx: index, %m0: vect return %0 : tensor } +// CHECK-LABEL: func @mask_scalable( +// CHECK-SAME: %[[t0:.*]]: memref> +func.func @mask_scalable(%t0: tensor, %val: vector<[16]xf32>, %idx: index, %m0: vector<[16]xi1>) -> tensor { + // CHECK-NOT: alloc + // CHECK-NOT: copy + // CHECK: vector.mask %{{.*}} { vector.transfer_write %{{.*}}, %[[t0]][%{{.*}}] : vector<[16]xf32>, memref> } : vector<[16]xi1> + %0 = vector.mask %m0 { vector.transfer_write %val, %t0[%idx] : vector<[16]xf32>, tensor } : vector<[16]xi1> -> tensor + // CHECK: return %[[t0]] + return %0 : tensor +} + // ----- // CHECK-ANALYSIS-LABEL: func @non_reading_xfer_write(