5
5
6
6
// CHECK-LABEL: func.func @to_sdot
7
7
// CHECK-SAME: ([[ARG0:%.+]]: vector<4xi8>, [[ARG1:%.+]]: vector<4xi8>)
8
- // CHECK-NEXT: [[DOT:%.+]] = spirv.SDot [[ARG0]], [[ARG1]] : ( vector<4xi8>, vector<4xi8>) -> i32
8
+ // CHECK-NEXT: [[DOT:%.+]] = spirv.SDot [[ARG0]], [[ARG1]] : vector<4xi8> -> i32
9
9
// CHECK-NEXT: return [[DOT]] : i32
10
10
func.func @to_sdot (%arg0: vector <4 xi8 >, %arg1: vector <4 xi8 >) -> i32 {
11
11
%lhs = arith.extsi %arg0 : vector <4 xi8 > to vector <4 xi32 >
@@ -17,7 +17,7 @@ func.func @to_sdot(%arg0: vector<4xi8>, %arg1: vector<4xi8>) -> i32 {
17
17
18
18
// CHECK-LABEL: func.func @to_sdot_acc
19
19
// CHECK-SAME: ([[ARG0:%.+]]: vector<4xi8>, [[ARG1:%.+]]: vector<4xi8>, [[ACC:%.+]]: i32)
20
- // CHECK-NEXT: [[DOT:%.+]] = spirv.SDotAccSat [[ARG0]], [[ARG1]], [[ACC]] : ( vector<4xi8>, vector<4xi8>, i32) -> i32
20
+ // CHECK-NEXT: [[DOT:%.+]] = spirv.SDotAccSat [[ARG0]], [[ARG1]], [[ACC]] : vector<4xi8> -> i32
21
21
// CHECK-NEXT: return [[DOT]] : i32
22
22
func.func @to_sdot_acc (%arg0: vector <4 xi8 >, %arg1: vector <4 xi8 >, %acc: i32 ) -> i32 {
23
23
%lhs = arith.extsi %arg0 : vector <4 xi8 > to vector <4 xi32 >
@@ -29,7 +29,7 @@ func.func @to_sdot_acc(%arg0: vector<4xi8>, %arg1: vector<4xi8>, %acc: i32) -> i
29
29
30
30
// CHECK-LABEL: func.func @to_sdot_i64
31
31
// CHECK-SAME: ([[ARG0:%.+]]: vector<4xi8>, [[ARG1:%.+]]: vector<4xi8>)
32
- // CHECK-NEXT: [[DOT:%.+]] = spirv.SDot [[ARG0]], [[ARG1]] : ( vector<4xi8>, vector<4xi8>) -> i64
32
+ // CHECK-NEXT: [[DOT:%.+]] = spirv.SDot [[ARG0]], [[ARG1]] : vector<4xi8> -> i64
33
33
// CHECK-NEXT: return [[DOT]] : i64
34
34
func.func @to_sdot_i64 (%arg0: vector <4 xi8 >, %arg1: vector <4 xi8 >) -> i64 {
35
35
%lhs = arith.extsi %arg0 : vector <4 xi8 > to vector <4 xi64 >
@@ -41,7 +41,7 @@ func.func @to_sdot_i64(%arg0: vector<4xi8>, %arg1: vector<4xi8>) -> i64 {
41
41
42
42
// CHECK-LABEL: func.func @to_sdot_acc_i64
43
43
// CHECK-SAME: ([[ARG0:%.+]]: vector<4xi8>, [[ARG1:%.+]]: vector<4xi8>, [[ACC:%.+]]: i64)
44
- // CHECK-NEXT: [[DOT:%.+]] = spirv.SDotAccSat [[ARG0]], [[ARG1]], [[ACC]] : ( vector<4xi8>, vector<4xi8>, i64) -> i64
44
+ // CHECK-NEXT: [[DOT:%.+]] = spirv.SDotAccSat [[ARG0]], [[ARG1]], [[ACC]] : vector<4xi8> -> i64
45
45
// CHECK-NEXT: return [[DOT]] : i64
46
46
func.func @to_sdot_acc_i64 (%arg0: vector <4 xi8 >, %arg1: vector <4 xi8 >, %acc: i64 ) -> i64 {
47
47
%lhs = arith.extsi %arg0 : vector <4 xi8 > to vector <4 xi64 >
@@ -53,7 +53,7 @@ func.func @to_sdot_acc_i64(%arg0: vector<4xi8>, %arg1: vector<4xi8>, %acc: i64)
53
53
54
54
// CHECK-LABEL: func.func @to_udot
55
55
// CHECK-SAME: ([[ARG0:%.+]]: vector<4xi8>, [[ARG1:%.+]]: vector<4xi8>)
56
- // CHECK-NEXT: [[DOT:%.+]] = spirv.UDot [[ARG0]], [[ARG1]] : ( vector<4xi8>, vector<4xi8>) -> i32
56
+ // CHECK-NEXT: [[DOT:%.+]] = spirv.UDot [[ARG0]], [[ARG1]] : vector<4xi8> -> i32
57
57
// CHECK-NEXT: return [[DOT]] : i32
58
58
func.func @to_udot (%arg0: vector <4 xi8 >, %arg1: vector <4 xi8 >) -> i32 {
59
59
%lhs = arith.extui %arg0 : vector <4 xi8 > to vector <4 xi32 >
@@ -65,7 +65,7 @@ func.func @to_udot(%arg0: vector<4xi8>, %arg1: vector<4xi8>) -> i32 {
65
65
66
66
// CHECK-LABEL: func.func @to_udot_acc
67
67
// CHECK-SAME: ([[ARG0:%.+]]: vector<4xi8>, [[ARG1:%.+]]: vector<4xi8>, [[ACC:%.+]]: i32)
68
- // CHECK-NEXT: [[DOT:%.+]] = spirv.UDotAccSat [[ARG0]], [[ARG1]], [[ACC]] : ( vector<4xi8>, vector<4xi8>, i32) -> i32
68
+ // CHECK-NEXT: [[DOT:%.+]] = spirv.UDotAccSat [[ARG0]], [[ARG1]], [[ACC]] : vector<4xi8> -> i32
69
69
// CHECK-NEXT: return [[DOT]] : i32
70
70
func.func @to_udot_acc (%arg0: vector <4 xi8 >, %arg1: vector <4 xi8 >, %acc: i32 ) -> i32 {
71
71
%lhs = arith.extui %arg0 : vector <4 xi8 > to vector <4 xi32 >
@@ -77,7 +77,7 @@ func.func @to_udot_acc(%arg0: vector<4xi8>, %arg1: vector<4xi8>, %acc: i32) -> i
77
77
78
78
// CHECK-LABEL: func.func @to_signed_unsigned_dot
79
79
// CHECK-SAME: ([[ARG0:%.+]]: vector<4xi8>, [[ARG1:%.+]]: vector<4xi8>)
80
- // CHECK-NEXT: [[DOT:%.+]] = spirv.SUDot [[ARG0]], [[ARG1]] : ( vector<4xi8>, vector<4xi8>) -> i32
80
+ // CHECK-NEXT: [[DOT:%.+]] = spirv.SUDot [[ARG0]], [[ARG1]] : vector<4xi8> -> i32
81
81
// CHECK-NEXT: return [[DOT]] : i32
82
82
func.func @to_signed_unsigned_dot (%arg0: vector <4 xi8 >, %arg1: vector <4 xi8 >) -> i32 {
83
83
%lhs = arith.extsi %arg0 : vector <4 xi8 > to vector <4 xi32 >
@@ -89,7 +89,7 @@ func.func @to_signed_unsigned_dot(%arg0: vector<4xi8>, %arg1: vector<4xi8>) -> i
89
89
90
90
// CHECK-LABEL: func.func @to_signed_unsigned_dot_acc
91
91
// CHECK-SAME: ([[ARG0:%.+]]: vector<4xi8>, [[ARG1:%.+]]: vector<4xi8>, [[ACC:%.+]]: i32)
92
- // CHECK-NEXT: [[DOT:%.+]] = spirv.SUDotAccSat [[ARG0]], [[ARG1]], [[ACC]] : ( vector<4xi8>, vector<4xi8>, i32) -> i32
92
+ // CHECK-NEXT: [[DOT:%.+]] = spirv.SUDotAccSat [[ARG0]], [[ARG1]], [[ACC]] : vector<4xi8> -> i32
93
93
// CHECK-NEXT: return [[DOT]] : i32
94
94
func.func @to_signed_unsigned_dot_acc (%arg0: vector <4 xi8 >, %arg1: vector <4 xi8 >, %acc: i32 ) -> i32 {
95
95
%lhs = arith.extsi %arg0 : vector <4 xi8 > to vector <4 xi32 >
@@ -101,7 +101,7 @@ func.func @to_signed_unsigned_dot_acc(%arg0: vector<4xi8>, %arg1: vector<4xi8>,
101
101
102
102
// CHECK-LABEL: func.func @to_unsigned_signed_dot
103
103
// CHECK-SAME: ([[ARG0:%.+]]: vector<4xi8>, [[ARG1:%.+]]: vector<4xi8>)
104
- // CHECK-NEXT: [[DOT:%.+]] = spirv.SUDot [[ARG1]], [[ARG0]] : ( vector<4xi8>, vector<4xi8>) -> i32
104
+ // CHECK-NEXT: [[DOT:%.+]] = spirv.SUDot [[ARG1]], [[ARG0]] : vector<4xi8> -> i32
105
105
// CHECK-NEXT: return [[DOT]] : i32
106
106
func.func @to_unsigned_signed_dot (%arg0: vector <4 xi8 >, %arg1: vector <4 xi8 >) -> i32 {
107
107
%lhs = arith.extui %arg0 : vector <4 xi8 > to vector <4 xi32 >
@@ -113,7 +113,7 @@ func.func @to_unsigned_signed_dot(%arg0: vector<4xi8>, %arg1: vector<4xi8>) -> i
113
113
114
114
// CHECK-LABEL: func.func @to_unsigned_signed_dot_acc
115
115
// CHECK-SAME: ([[ARG0:%.+]]: vector<4xi8>, [[ARG1:%.+]]: vector<4xi8>, [[ACC:%.+]]: i32)
116
- // CHECK-NEXT: [[DOT:%.+]] = spirv.SUDotAccSat [[ARG1]], [[ARG0]], [[ACC]] : ( vector<4xi8>, vector<4xi8>, i32) -> i32
116
+ // CHECK-NEXT: [[DOT:%.+]] = spirv.SUDotAccSat [[ARG1]], [[ARG0]], [[ACC]] : vector<4xi8> -> i32
117
117
// CHECK-NEXT: return [[DOT]] : i32
118
118
func.func @to_unsigned_signed_dot_acc (%arg0: vector <4 xi8 >, %arg1: vector <4 xi8 >, %acc: i32 ) -> i32 {
119
119
%lhs = arith.extui %arg0 : vector <4 xi8 > to vector <4 xi32 >
@@ -128,7 +128,7 @@ func.func @to_unsigned_signed_dot_acc(%arg0: vector<4xi8>, %arg1: vector<4xi8>,
128
128
// CHECK: %[[ZERO:.+]] = spirv.Constant 0 : i8
129
129
// CHECK: %[[LHS:.+]] = spirv.CompositeConstruct %[[ARG0]], %[[ZERO]] : (vector<3xi8>, i8) -> vector<4xi8>
130
130
// CHECK: %[[RHS:.+]] = spirv.CompositeConstruct %[[ARG1]], %[[ZERO]] : (vector<3xi8>, i8) -> vector<4xi8>
131
- // CHECK: %[[SDOT:.+]] = spirv.SDot %[[LHS]], %[[RHS]] : ( vector<4xi8>, vector<4xi8>) -> i32
131
+ // CHECK: %[[SDOT:.+]] = spirv.SDot %[[LHS]], %[[RHS]] : vector<4xi8> -> i32
132
132
// CHECK: return %[[SDOT]]
133
133
func.func @to_sdot_vector3 (%arg0: vector <3 xi8 >, %arg1: vector <3 xi8 >) -> i32 {
134
134
%lhs = arith.extsi %arg0 : vector <3 xi8 > to vector <3 xi32 >
0 commit comments