@@ -354,3 +354,27 @@ func.func @rcp_unsupported_ftz(%in : vector<16xf32>) {
354354 // expected-error @+1 {{'nvgpu.rcp' op has a limitation. #nvgpu<rcp_rounding_mode approx> or non-ftz is not supported yet.}}
355355 %out = nvgpu.rcp %in {rounding = approx } : vector <16 xf32 >
356356}
357+
358+ // -----
359+
360+ func.func @check_matrixA_dim (%arg0: vector <16 xf16 >, %arg1: vector <2 x2 xf16 >, %arg2: vector <2 x2 xf16 >) -> vector <2 x2 xf16 > {
361+ // expected-error @+1 {{matrixA must be 2 dimensional vector}}
362+ %d = nvgpu.mma.sync (%arg0 , %arg1 , %arg2 ) {mmaShape = [16 , 8 , 16 ]} : (vector <16 xf16 >, vector <2 x2 xf16 >, vector <2 x2 xf16 >) -> vector <2 x2 xf16 >
363+ return %d : vector <2 x2 xf16 >
364+ }
365+
366+ // -----
367+
368+ func.func @check_matrixB_dim (%arg0: vector <4 x4 xf16 >, %arg1: vector <4 xf16 >, %arg2: vector <2 x2 xf16 >) -> vector <2 x2 xf16 > {
369+ // expected-error @+1 {{matrixB must be 2 dimensional vector}}
370+ %d = nvgpu.mma.sync (%arg0 , %arg1 , %arg2 ) {mmaShape = [16 , 8 , 16 ]} : (vector <4 x4 xf16 >, vector <4 xf16 >, vector <2 x2 xf16 >) -> vector <2 x2 xf16 >
371+ return %d : vector <2 x2 xf16 >
372+ }
373+
374+ // -----
375+
376+ func.func @check_matrixC_dim (%arg0: vector <4 x4 xf16 >, %arg1: vector <2 x2 xf16 >, %arg2: vector <4 xf16 >) -> vector <2 x2 xf16 > {
377+ // expected-error @+1 {{matrixC must be 2 dimensional vector}}
378+ %d = nvgpu.mma.sync (%arg0 , %arg1 , %arg2 ) {mmaShape = [16 , 8 , 16 ]} : (vector <4 x4 xf16 >, vector <2 x2 xf16 >, vector <4 xf16 >) -> vector <2 x2 xf16 >
379+ return %d : vector <2 x2 xf16 >
380+ }
0 commit comments