1// RUN: mlir-opt %s --transform-interpreter | FileCheck %s 2 3// CHECK-LABEL: @vector_interleave_to_shuffle 4func.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_op 13 : (!transform.any_op) -> !transform.any_op 14 15 transform.apply_patterns to %f { 16 transform.apply_patterns.vector.interleave_to_shuffle 17 } : !transform.any_op 18 transform.yield 19 } 20} 21