[MLIR][ArmNeon] Add a couple of negative tests for BFMMLA with scalable dimensions (#145882)

This commit is contained in:
Momchil Velikov
2025-06-26 17:09:59 +01:00
committed by GitHub
parent 9d91b07e1e
commit e0b83ca8a4

View File

@@ -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>, func.func @bfmmla_invalid_element_type_acc(%acc: vector<4xi32>,
%lhs: vector<8xbf16>, %lhs: vector<8xbf16>,
%rhs: vector<8xbf16>) -> vector<4xi32> { %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> %0 = arm_neon.intr.bfmmla %acc, %lhs, %rhs : vector<8xbf16> to vector<8xf32>
return %0 : 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>
}