File tree Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -1014,3 +1014,24 @@ module {
10141014// CHECK-DAG: %[[T3:.+]] = arith.addf %[[T2]], %[[B1]]
10151015// CHECK: linalg.yield %[[T3]] : f32
10161016// CHECK: return %[[GENERIC]]
1017+
1018+ // -----
1019+
1020+ func.func @map_ops (%in1: tensor <8 xf32 >, %in2: tensor <8 xf32 >) -> tensor <8 xf32 > {
1021+ %fill = tensor.empty () : tensor <8 xf32 >
1022+ %add = linalg.map {arith.addf } ins (%in1 , %in2: tensor <8 xf32 >, tensor <8 xf32 >) outs (%fill: tensor <8 xf32 >)
1023+ %mapped_65 = linalg.map { math.sqrt } ins (%add : tensor <8 xf32 >) outs (%fill : tensor <8 xf32 >)
1024+ return %mapped_65 : tensor <8 xf32 >
1025+ }
1026+
1027+ // CHECK-LABEL: func @map_ops
1028+ // CHECK-SAME: %[[ARG0:[a-zA-Z0-9]+]]: tensor<8xf32>
1029+ // CHECK-SAME: %[[ARG1:[a-zA-Z0-9]+]]: tensor<8xf32>
1030+ // CHECK: %[[EMPTY:.+]] = tensor.empty() : tensor<8xf32>
1031+ // CHECK: %[[FUSED_OP:.+]] = linalg.generic
1032+ // CHECK-SAME: ins(%[[ARG0]], %[[ARG1]] : {{.*}}) outs(%[[EMPTY]] :
1033+ // CHECK-NEXT: ^bb0(%[[IN0:.*]]: f32, %[[IN1:.*]]: f32, %[[OUT:.*]]: f32):
1034+ // CHECK-NEXT: %[[ADD:.*]] = arith.addf %[[IN0]], %[[IN1]]
1035+ // CHECK-NEXT: %[[SQRT:.*]] = math.sqrt %[[ADD]]
1036+ // CHECK-NEXT: linalg.yield %[[SQRT]]
1037+ // CHECK-NOT: linalg.generic
You can’t perform that action at this time.
0 commit comments