@@ -46,3 +46,27 @@ func.func @inline_oned(%arg0: tensor<4xf32>, %scalar: tensor<1xf32>) -> tensor<4
4646 } -> tensor <4 xf32 >
4747 return %1 : tensor <4 xf32 >
4848}
49+
50+ // -----
51+
52+ // CHECK: #[[MAP:.*]] = affine_map<(d0) -> (d0)>
53+ #map2 = affine_map <(d0 ) -> (d0 )>
54+ #map3 = affine_map <(d0 ) -> ()>
55+
56+ // CHECK: func @inline_scalar(%[[ARG:.*]]: tensor<4xf32>, %[[SCALAR:.*]]: f32)
57+ func.func @inline_scalar (%arg0: tensor <4 xf32 >, %scalar: f32 ) -> tensor <4 xf32 > {
58+ %0 = tensor.empty () : tensor <4 xf32 >
59+ // CHECK: linalg.generic {indexing_maps = [#[[MAP]], #[[MAP]]],
60+ // CHECK-SAME: iterator_types = ["parallel"]} ins(%[[ARG]] : tensor<4xf32>)
61+ %1 = linalg.generic {index ing_maps = [#map2 , #map3 , #map2 ],
62+ iterator_types = [" parallel" ]}
63+ ins (%arg0 , %scalar : tensor <4 xf32 >, f32 )
64+ outs (%0 : tensor <4 xf32 >) {
65+ // CHECK: ^bb0(%[[IN:.*]]: f32, %[[OUT:.*]]: f32)
66+ ^bb0 (%arg1: f32 , %arg2: f32 , %arg3: f32 ):
67+ // CHECK: arith.divf %[[IN]], %[[SCALAR]] : f32
68+ %2 = arith.divf %arg1 , %arg2 : f32
69+ linalg.yield %2 : f32
70+ } -> tensor <4 xf32 >
71+ return %1 : tensor <4 xf32 >
72+ }
0 commit comments