Lines Matching full:linalg
3 from mlir.dialects import arith, func, linalg, tensor, memref
4 from mlir.dialects.linalg.opdsl.lang import *
24 # CHECK-NEXT: %[[RES:.*]] = linalg.fill ins(%[[CST]] : f32) outs(%[[OUT]] : tensor<12x?xf32>) -> tensor<12x?xf32>
33 return linalg.fill(zero, outs=[out])
38 # CHECK-NEXT: linalg.fill ins(%[[CST]] : f32) outs(%[[OUT]] : memref<12x?xf32>)
47 linalg.fill(zero, outs=[out])
66 # CHECK: linalg.elemwise_unary
67 # CHECK-SAME: cast = #linalg.type_fn<cast_signed>
68 # CHECK-SAME: fun = #linalg.unary_fn<exp>
70 unary_result = linalg.elemwise_unary(lhs, outs=[init_result.result])
71 # CHECK: linalg.elemwise_binary
72 # CHECK-SAME: cast = #linalg.type_fn<cast_unsigned>
73 # CHECK-SAME: fun = #linalg.binary_fn<mul>
76 binary_result = linalg.elemwise_binary(
99 # CHECK: %[[VAL_2:.*]] = linalg.transpose ins(%[[VAL_0]] : tensor<1x13xf32>) outs(%[[VAL_1]] : tensor<13x1xf32>) permutation = [1, 0]
100 op3 = linalg.TransposeOp(
106 linalg.fill_builtin_region(op3.operation)
108 # CHECK: %[[VAL_3:.*]] = linalg.transpose ins(%[[VAL_1]] : tensor<13x1xf32>) outs(%[[VAL_0]] : tensor<1x13xf32>) permutation = [1, 0]
109 op4 = linalg.transpose(op2, outs=[op1], permutation=[1, 0])
117 # CHECK: linalg.transpose ins(%[[VAL_4]] : memref<1x13xf32>) outs(%[[VAL_5]] : memref<13x1xf32>) permutation = [1, 0]
118 op3 = linalg.TransposeOp(
124 linalg.fill_builtin_region(op3.operation)
125 # CHECK: linalg.transpose ins(%[[VAL_5]] : memref<13x1xf32>) outs(%[[VAL_4]] : memref<1x13xf32>) permutation = [1, 0]
126 op4 = linalg.transpose(op2, outs=[op1], permutation=[1, 0])
132 # CHECK: %[[VAL_8:.*]] = linalg.broadcast ins(%[[VAL_6]] : tensor<16xf32>) outs(%[[VAL_7]] : tensor<16x64xf32>) dimensions = [1]
133 op3 = linalg.BroadcastOp(
139 linalg.fill_builtin_region(op3.operation)
143 # CHECK: %[[VAL_10:.*]] = linalg.broadcast ins(%[[VAL_9]] : tensor<64xf32>) outs(%[[VAL_7]] : tensor<16x64xf32>) dimensions = [0]
144 op5 = linalg.broadcast(op4, outs=[op2], dimensions=[0])
153 # CHECK: linalg.broadcast ins(%[[VAL_11]] : memref<16xf32>) outs(%[[VAL_12]] : memref<16x64xf32>) dimensions = [1]
154 op4 = linalg.BroadcastOp(
160 linalg.fill_builtin_region(op4.operation)
161 # CHECK: linalg.broadcast ins(%[[VAL_13]] : memref<64xf32>) outs(%[[VAL_12]] : memref<16x64xf32>) dimensions = [0]
162 op5 = linalg.broadcast(op3, outs=[op2], dimensions=[0])
181 # CHECK: %[[VAL_2:.*]] = linalg.generic {indexing_maps = [#map, #map], iterator_types = ["parallel", "parallel"]} ins(%[[VAL_0]] : tensor<16x16xf32>) outs(%[[VAL_1]] : tensor<16x16xf32>) {
183 # CHECK: linalg.yield %in : f32
185 @linalg.generic(
189 [linalg.IteratorType.parallel, linalg.IteratorType.parallel],
207 # CHECK: %[[VAL_4:.+]]:2 = linalg.generic {indexing_maps = [#map1, #map2, #map2], iterator_types = ["parallel", "parallel", "parallel"]} ins(%[[VAL_0]] : tensor<16x16xf32>) outs(%[[VAL_3]], %[[VAL_3]] : tensor<16x16x16xf32>, tensor<16x16x16xf32>) {
209 # CHECK: linalg.yield %in, %out : f32, f32
211 @linalg.generic(
216 linalg.IteratorType.parallel,
217 linalg.IteratorType.parallel,
218 linalg.IteratorType.parallel,
240 # CHECK: linalg.generic {indexing_maps = [#map, #map], iterator_types = ["parallel", "parallel"]} ins(%[[VAL_5]] : memref<10x10xf32>) outs(%[[VAL_6]] : memref<10x10xf32>) {
242 # CHECK: linalg.yield %in : f32
244 @linalg.generic(
248 [linalg.IteratorType.parallel, linalg.IteratorType.parallel],