blob: 157b873e70977f5c2f6b5df309889f1cde85b8a2 [file] [log] [blame]
// RUN: iree-dialects-opt %s | FileCheck %s
// CHECK: transform.structured.canonicalized_sequence
transform.structured.canonicalized_sequence failures(propagate) {
^bb0(%arg0: !pdl.operation):
// CHECK: %[[OPS:.*]] = pdl_match @match1 in %{{.*}}
%0 = pdl_match @match1 in %arg0 : (!pdl.operation) -> !pdl.operation
// CHECK: %[[TILED:.*]], %{{.*}}:3 = transform.structured.tile %[[OPS]][4, 4, 4]
%1, %loops1:3 = transform.structured.tile %0 [4, 4, 4]
// CHECK: %[[TILED2:.*]], %{{.*}}:3 = transform.structured.tile %[[TILED]]
%2, %loops2:3 = transform.structured.tile %1 [2, 2, 2]
// CHECK: %[[PADDED:.*]] = transform.structured.pad %[[TILED2]] {hoist_paddings = [], pack_paddings = [1, 1, 0], padding_dimensions = [], padding_values = [], transpose_paddings = []}
%3 = transform.structured.pad %2 {pack_paddings = [1, 1, 0]}
// CHECK: %{{.*}} = transform.structured.vectorize %[[PADDED]] {vectorize_padding}
%4 = transform.structured.vectorize %3 { vectorize_padding }
// CHECK: %[[OPS2:.*]] = pdl_match @{{.*}}
%5 = pdl_match @match2 in %arg0 : (!pdl.operation) -> !pdl.operation
// CHECK: transform.structured.vectorize %[[OPS2]]
transform.structured.vectorize %5
// CHECK: bufferize
bufferize
// CHECK: lower_vectors {contraction_lowering = "outerproduct", multireduction_lowering = "innerreduce", split_transfers = "linalg-copy", stages = [0, 1, 2, 3, 4, 5, 6], transpose_avx2_lowering = false, transpose_lowering = "eltwise", unroll_vector_transfers = true}
lower_vectors { multireduction_lowering = "innerreduce"}
// CHECK: lower_to_llvm
lower_to_llvm
}