21 lines · plain
1// RUN: mlir-opt %s --transform-interpreter | FileCheck %s2 3// CHECK-LABEL: @vector_interleave_to_shuffle4func.func @vector_interleave_to_shuffle(%a: vector<7xi16>, %b: vector<7xi16>) -> vector<14xi16> {5 %0 = vector.interleave %a, %b : vector<7xi16> -> vector<14xi16>6 return %0 : vector<14xi16>7}8// CHECK: vector.shuffle %arg0, %arg1 [0, 7, 1, 8, 2, 9, 3, 10, 4, 11, 5, 12, 6, 13] : vector<7xi16>, vector<7xi16>9 10module attributes {transform.with_named_sequence} {11 transform.named_sequence @__transform_main(%module_op: !transform.any_op {transform.readonly}) {12 %f = transform.structured.match ops{["func.func"]} in %module_op13 : (!transform.any_op) -> !transform.any_op14 15 transform.apply_patterns to %f {16 transform.apply_patterns.vector.interleave_to_shuffle17 } : !transform.any_op18 transform.yield19 }20}21