@@ -114,6 +114,16 @@ func.func @bfmmla_invalid_dimension_lhs_rhs(%acc: vector<4xf32>,
114114
115115// -----
116116
117+ func.func @bfmmla_scalable_dimension_lhs_rhs (%acc: vector <4 xf32 >,
118+ %lhs: vector <[8 ]xbf16 >,
119+ %rhs: vector <[8 ]xbf16 >) -> vector <4 xf32 > {
120+ // expected-error@+1 {{operand #1 must be a vector with length 8 of bfloat16 type values, but got 'vector<[8]xbf16>'}}
121+ %0 = arm_neon.intr.bfmmla %acc , %lhs , %rhs : vector <[8 ]xbf16 > to vector <4 xf32 >
122+ return %0 : vector <4 xf32 >
123+ }
124+
125+ // -----
126+
117127func.func @bfmmla_invalid_element_type_acc (%acc: vector <4 xi32 >,
118128 %lhs: vector <8 xbf16 >,
119129 %rhs: vector <8 xbf16 >) -> vector <4 xi32 > {
@@ -131,3 +141,13 @@ func.func @bfmmla_invalid_dimension_acc(%acc: vector<8xf32>,
131141 %0 = arm_neon.intr.bfmmla %acc , %lhs , %rhs : vector <8 xbf16 > to vector <8 xf32 >
132142 return %0 : vector <8 xf32 >
133143}
144+
145+ // -----
146+
147+ func.func @bfmmla_scalable_dimension_acc (%acc: vector <[4 ]xf32 >,
148+ %lhs: vector <8 xbf16 >,
149+ %rhs: vector <8 xbf16 >) -> vector <[4 ]xf32 > {
150+ // expected-error@+1 {{op operand #0 must be a vector with length 4 of 32-bit float values, but got 'vector<[4]xf32>'}}
151+ %0 = arm_neon.intr.bfmmla %acc , %lhs , %rhs : vector <8 xbf16 > to vector <[4 ]xf32 >
152+ return %0 : vector <[4 ]xf32 >
153+ }
0 commit comments