@@ -354,3 +354,27 @@ func.func @rcp_unsupported_ftz(%in : vector<16xf32>) {
354
354
// expected-error @+1 {{'nvgpu.rcp' op has a limitation. #nvgpu<rcp_rounding_mode approx> or non-ftz is not supported yet.}}
355
355
%out = nvgpu.rcp %in {rounding = approx } : vector <16 xf32 >
356
356
}
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