From e0b83ca8a40958045280c46d4c3e1cbd6fe511b6 Mon Sep 17 00:00:00 2001 From: Momchil Velikov Date: Thu, 26 Jun 2025 17:09:59 +0100 Subject: [PATCH] [MLIR][ArmNeon] Add a couple of negative tests for BFMMLA with scalable dimensions (#145882) --- mlir/test/Dialect/ArmNeon/invalid.mlir | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/mlir/test/Dialect/ArmNeon/invalid.mlir b/mlir/test/Dialect/ArmNeon/invalid.mlir index 989293a3508b..00d489b63919 100644 --- a/mlir/test/Dialect/ArmNeon/invalid.mlir +++ b/mlir/test/Dialect/ArmNeon/invalid.mlir @@ -114,6 +114,16 @@ func.func @bfmmla_invalid_dimension_lhs_rhs(%acc: vector<4xf32>, // ----- +func.func @bfmmla_scalable_dimension_lhs_rhs(%acc: vector<4xf32>, + %lhs: vector<[8]xbf16>, + %rhs: vector<[8]xbf16>) -> vector<4xf32> { + // expected-error@+1 {{operand #1 must be a vector with length 8 of bfloat16 type values, but got 'vector<[8]xbf16>'}} + %0 = arm_neon.intr.bfmmla %acc, %lhs, %rhs : vector<[8]xbf16> to vector<4xf32> + return %0 : vector<4xf32> +} + +// ----- + func.func @bfmmla_invalid_element_type_acc(%acc: vector<4xi32>, %lhs: vector<8xbf16>, %rhs: vector<8xbf16>) -> vector<4xi32> { @@ -131,3 +141,13 @@ func.func @bfmmla_invalid_dimension_acc(%acc: vector<8xf32>, %0 = arm_neon.intr.bfmmla %acc, %lhs, %rhs : vector<8xbf16> to vector<8xf32> return %0 : vector<8xf32> } + +// ----- + +func.func @bfmmla_scalable_dimension_acc(%acc: vector<[4]xf32>, + %lhs: vector<8xbf16>, + %rhs: vector<8xbf16>) -> vector<[4]xf32> { + // expected-error@+1 {{op operand #0 must be a vector with length 4 of 32-bit float values, but got 'vector<[4]xf32>'}} + %0 = arm_neon.intr.bfmmla %acc, %lhs, %rhs : vector<8xbf16> to vector<[4]xf32> + return %0 : vector<[4]xf32> +}