27 lines · plain
1// RUN: mlir-opt %s --pass-pipeline="builtin.module(func.func(convert-arm-sme-to-llvm))" -verify-diagnostics -split-input-file2 3//===----------------------------------------------------------------------===//4// arm_sme.outerproduct5//===----------------------------------------------------------------------===//6 7func.func @arm_sme_outerproduct_unsupported_type(%lhs : vector<[16]xi8>, %rhs : vector<[16]xi8>) {8 %acc = arm_sme.get_tile : vector<[16]x[16]xi8>9 // expected-error@below {{unexpected operation with SME tile type after conversion to LLVM}}10 // expected-error@+2 {{failed to legalize operation 'arm_sme.outerproduct'}}11 // expected-error@+1 {{unsupported type}}12 %0 = arm_sme.outerproduct %lhs, %rhs acc(%acc) : vector<[16]xi8>, vector<[16]xi8>13 "test.some_use"(%0) : (vector<[16]x[16]xi8>) -> ()14}15 16//===----------------------------------------------------------------------===//17// Unsupported operations on SME tile types18//===----------------------------------------------------------------------===//19 20// -----21 22func.func @unsupported_arith_op(%a : vector<[4]x[4]xf32>, %b : vector<[4]x[4]xf32>) {23 // expected-error@below {{unexpected operation with SME tile type after conversion to LLVM}}24 %0 = arith.addf %a, %b : vector<[4]x[4]xf32>25 "test.some_use"(%0) : (vector<[4]x[4]xf32>) -> ()26}27