// RUN: mlir-opt -split-input-file -verify-diagnostics %s func.func @test_fill_op_not_linalg_op(%arg0 : f32, %arg1 : tensor) -> tensor { // expected-error @+1 {{expected a LinalgOp}} %0 = "test.fill_op_not_linalg_op"(%arg0, %arg1) : (f32, tensor) -> tensor return %0 : tensor } // ----- #map0 = affine_map<(d0) -> ()> #map1 = affine_map<(d0) -> (d0)> func.func @test_fill_op_wrong_num_operands(%arg0 : f32, %arg1 : tensor) -> tensor { // expected-error @+1 {{expected op with 1 input and 1 output}} %0 = test.linalg_fill_op { indexing_maps = [#map0, #map0, #map1], iterator_types = ["parallel"]} ins(%arg0, %arg0 : f32, f32) outs(%arg1 : tensor) { ^bb0(%arg2 : f32, %arg3 : f32, %arg4 : f32): linalg.yield %arg2 : f32 } -> tensor return %0 : tensor } // ----- #map1 = affine_map<(d0) -> (d0)> func.func @test_fill_op_non_scalar_input(%arg0 : tensor, %arg1 : tensor) -> tensor { // expected-error @+1 {{expected op with scalar input}} %0 = test.linalg_fill_op { indexing_maps = [#map1, #map1], iterator_types = ["parallel"]} ins(%arg0 : tensor) outs(%arg1 : tensor) { ^bb0(%arg2 : f32, %arg3 : f32): linalg.yield %arg2 : f32 } -> tensor return %0 : tensor }