2
2
3
3
// NOTE: Assertions have been autogenerated by utils/generate-test-checks.py
4
4
5
- // CHECK-LABEL: llvm.func spir_funccc @_Z33__spirv_GroupNonUniformLogicalXoriib(i32, i32, i1) -> i1 attributes {no_unwind, will_return}
6
- // CHECK: llvm.func spir_funccc @_Z32__spirv_GroupNonUniformLogicalOriib(i32, i32, i1) -> i1 attributes {no_unwind, will_return}
7
- // CHECK: llvm.func spir_funccc @_Z33__spirv_GroupNonUniformLogicalAndiib(i32, i32, i1) -> i1 attributes {no_unwind, will_return}
8
- // CHECK: llvm.func spir_funccc @_Z33__spirv_GroupNonUniformBitwiseXoriij(i32, i32, i32) -> i32 attributes {no_unwind, will_return}
9
- // CHECK: llvm.func spir_funccc @_Z32__spirv_GroupNonUniformBitwiseOriij(i32, i32, i32) -> i32 attributes {no_unwind, will_return}
10
- // CHECK: llvm.func spir_funccc @_Z33__spirv_GroupNonUniformBitwiseAndiij(i32, i32, i32) -> i32 attributes {no_unwind, will_return}
11
- // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformSMaxiijj(i32, i32, i32, i32) -> i32 attributes {no_unwind, will_return}
12
- // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformFMaxiif(i32, i32, f32) -> f32 attributes {no_unwind, will_return}
13
- // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformUMaxiij(i32, i32, i32) -> i32 attributes {no_unwind, will_return}
14
- // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformSMaxiij(i32, i32, i32) -> i32 attributes {no_unwind, will_return}
15
- // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformFMiniifj(i32, i32, f32, i32) -> f32 attributes {no_unwind, will_return}
16
- // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformFMiniif(i32, i32, f32) -> f32 attributes {no_unwind, will_return}
17
- // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformUMiniij(i32, i32, i32) -> i32 attributes {no_unwind, will_return}
18
- // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformSMiniij(i32, i32, i32) -> i32 attributes {no_unwind, will_return}
19
- // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformFMuliif(i32, i32, f32) -> f32 attributes {no_unwind, will_return}
20
- // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformIMuliijj(i32, i32, i32, i32) -> i32 attributes {no_unwind, will_return}
21
- // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformFAddiifj(i32, i32, f32, i32) -> f32 attributes {no_unwind, will_return}
22
- // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformIAddiij(i32, i32, i32) -> i32 attributes {no_unwind, will_return}
5
+ // CHECK-LABEL: llvm.func spir_funccc @_Z33__spirv_GroupNonUniformLogicalXoriib(i32, i32, i1) -> i1 attributes {convergent, no_unwind, will_return}
6
+ // CHECK: llvm.func spir_funccc @_Z32__spirv_GroupNonUniformLogicalOriib(i32, i32, i1) -> i1 attributes {convergent, no_unwind, will_return}
7
+ // CHECK: llvm.func spir_funccc @_Z33__spirv_GroupNonUniformLogicalAndiib(i32, i32, i1) -> i1 attributes {convergent, no_unwind, will_return}
8
+ // CHECK: llvm.func spir_funccc @_Z33__spirv_GroupNonUniformBitwiseXoriij(i32, i32, i32) -> i32 attributes {convergent, no_unwind, will_return}
9
+ // CHECK: llvm.func spir_funccc @_Z32__spirv_GroupNonUniformBitwiseOriij(i32, i32, i32) -> i32 attributes {convergent, no_unwind, will_return}
10
+ // CHECK: llvm.func spir_funccc @_Z33__spirv_GroupNonUniformBitwiseAndiij(i32, i32, i32) -> i32 attributes {convergent, no_unwind, will_return}
11
+ // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformSMaxiijj(i32, i32, i32, i32) -> i32 attributes {convergent, no_unwind, will_return}
12
+ // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformFMaxiif(i32, i32, f32) -> f32 attributes {convergent, no_unwind, will_return}
13
+ // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformUMaxiij(i32, i32, i32) -> i32 attributes {convergent, no_unwind, will_return}
14
+ // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformSMaxiij(i32, i32, i32) -> i32 attributes {convergent, no_unwind, will_return}
15
+ // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformFMiniifj(i32, i32, f32, i32) -> f32 attributes {convergent, no_unwind, will_return}
16
+ // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformFMiniif(i32, i32, f32) -> f32 attributes {convergent, no_unwind, will_return}
17
+ // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformUMiniij(i32, i32, i32) -> i32 attributes {convergent, no_unwind, will_return}
18
+ // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformSMiniij(i32, i32, i32) -> i32 attributes {convergent, no_unwind, will_return}
19
+ // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformFMuliif(i32, i32, f32) -> f32 attributes {convergent, no_unwind, will_return}
20
+ // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformIMuliijj(i32, i32, i32, i32) -> i32 attributes {convergent, no_unwind, will_return}
21
+ // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformFAddiifj(i32, i32, f32, i32) -> f32 attributes {convergent, no_unwind, will_return}
22
+ // CHECK: llvm.func spir_funccc @_Z27__spirv_GroupNonUniformIAddiij(i32, i32, i32) -> i32 attributes {convergent, no_unwind, will_return}
23
23
24
24
// CHECK-LABEL: llvm.func @non_uniform_iadd(
25
25
// CHECK-SAME: %[[VAL_0:.*]]: i32) -> i32 {
26
26
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(3 : i32) : i32
27
27
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i32) : i32
28
- // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformIAddiij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {no_unwind, will_return} : (i32, i32, i32) -> i32
28
+ // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformIAddiij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {convergent, no_unwind, will_return} : (i32, i32, i32) -> i32
29
29
// CHECK: llvm.return %[[VAL_3]] : i32
30
30
// CHECK: }
31
31
spirv.func @non_uniform_iadd (%arg0: i32 ) -> i32 " None" {
@@ -38,7 +38,7 @@ spirv.func @non_uniform_iadd(%arg0: i32) -> i32 "None" {
38
38
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(16 : i32) : i32
39
39
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(3 : i32) : i32
40
40
// CHECK: %[[VAL_3:.*]] = llvm.mlir.constant(3 : i32) : i32
41
- // CHECK: %[[VAL_4:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformFAddiifj(%[[VAL_2]], %[[VAL_3]], %[[VAL_0]], %[[VAL_1]]) {no_unwind, will_return} : (i32, i32, f32, i32) -> f32
41
+ // CHECK: %[[VAL_4:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformFAddiifj(%[[VAL_2]], %[[VAL_3]], %[[VAL_0]], %[[VAL_1]]) {convergent, no_unwind, will_return} : (i32, i32, f32, i32) -> f32
42
42
// CHECK: llvm.return %[[VAL_4]] : f32
43
43
// CHECK: }
44
44
spirv.func @non_uniform_fadd (%arg0: f32 ) -> f32 " None" {
@@ -52,7 +52,7 @@ spirv.func @non_uniform_fadd(%arg0: f32) -> f32 "None" {
52
52
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(16 : i32) : i32
53
53
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(3 : i32) : i32
54
54
// CHECK: %[[VAL_3:.*]] = llvm.mlir.constant(3 : i32) : i32
55
- // CHECK: %[[VAL_4:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformIMuliijj(%[[VAL_2]], %[[VAL_3]], %[[VAL_0]], %[[VAL_1]]) {no_unwind, will_return} : (i32, i32, i32, i32) -> i32
55
+ // CHECK: %[[VAL_4:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformIMuliijj(%[[VAL_2]], %[[VAL_3]], %[[VAL_0]], %[[VAL_1]]) {convergent, no_unwind, will_return} : (i32, i32, i32, i32) -> i32
56
56
// CHECK: llvm.return %[[VAL_4]] : i32
57
57
// CHECK: }
58
58
spirv.func @non_uniform_imul (%arg0: i32 ) -> i32 " None" {
@@ -65,7 +65,7 @@ spirv.func @non_uniform_imul(%arg0: i32) -> i32 "None" {
65
65
// CHECK-SAME: %[[VAL_0:.*]]: f32) -> f32 {
66
66
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(3 : i32) : i32
67
67
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i32) : i32
68
- // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformFMuliif(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {no_unwind, will_return} : (i32, i32, f32) -> f32
68
+ // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformFMuliif(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {convergent, no_unwind, will_return} : (i32, i32, f32) -> f32
69
69
// CHECK: llvm.return %[[VAL_3]] : f32
70
70
// CHECK: }
71
71
spirv.func @non_uniform_fmul (%arg0: f32 ) -> f32 " None" {
@@ -77,7 +77,7 @@ spirv.func @non_uniform_fmul(%arg0: f32) -> f32 "None" {
77
77
// CHECK-SAME: %[[VAL_0:.*]]: i32) -> i32 {
78
78
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(3 : i32) : i32
79
79
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i32) : i32
80
- // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformSMiniij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {no_unwind, will_return} : (i32, i32, i32) -> i32
80
+ // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformSMiniij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {convergent, no_unwind, will_return} : (i32, i32, i32) -> i32
81
81
// CHECK: llvm.return %[[VAL_3]] : i32
82
82
// CHECK: }
83
83
spirv.func @non_uniform_smin (%arg0: i32 ) -> i32 " None" {
@@ -89,7 +89,7 @@ spirv.func @non_uniform_smin(%arg0: i32) -> i32 "None" {
89
89
// CHECK-SAME: %[[VAL_0:.*]]: i32) -> i32 {
90
90
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(3 : i32) : i32
91
91
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i32) : i32
92
- // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformUMiniij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {no_unwind, will_return} : (i32, i32, i32) -> i32
92
+ // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformUMiniij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {convergent, no_unwind, will_return} : (i32, i32, i32) -> i32
93
93
// CHECK: llvm.return %[[VAL_3]] : i32
94
94
// CHECK: }
95
95
spirv.func @non_uniform_umin (%arg0: i32 ) -> i32 " None" {
@@ -101,7 +101,7 @@ spirv.func @non_uniform_umin(%arg0: i32) -> i32 "None" {
101
101
// CHECK-SAME: %[[VAL_0:.*]]: f32) -> f32 {
102
102
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(3 : i32) : i32
103
103
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i32) : i32
104
- // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformFMiniif(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {no_unwind, will_return} : (i32, i32, f32) -> f32
104
+ // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformFMiniif(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {convergent, no_unwind, will_return} : (i32, i32, f32) -> f32
105
105
// CHECK: llvm.return %[[VAL_3]] : f32
106
106
// CHECK: }
107
107
spirv.func @non_uniform_fmin (%arg0: f32 ) -> f32 " None" {
@@ -114,7 +114,7 @@ spirv.func @non_uniform_fmin(%arg0: f32) -> f32 "None" {
114
114
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(16 : i32) : i32
115
115
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(3 : i32) : i32
116
116
// CHECK: %[[VAL_3:.*]] = llvm.mlir.constant(3 : i32) : i32
117
- // CHECK: %[[VAL_4:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformFMiniifj(%[[VAL_2]], %[[VAL_3]], %[[VAL_0]], %[[VAL_1]]) {no_unwind, will_return} : (i32, i32, f32, i32) -> f32
117
+ // CHECK: %[[VAL_4:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformFMiniifj(%[[VAL_2]], %[[VAL_3]], %[[VAL_0]], %[[VAL_1]]) {convergent, no_unwind, will_return} : (i32, i32, f32, i32) -> f32
118
118
// CHECK: llvm.return %[[VAL_4]] : f32
119
119
// CHECK: }
120
120
spirv.func @non_uniform_fmin_cluster (%arg0: f32 ) -> f32 " None" {
@@ -127,7 +127,7 @@ spirv.func @non_uniform_fmin_cluster(%arg0: f32) -> f32 "None" {
127
127
// CHECK-SAME: %[[VAL_0:.*]]: i32) -> i32 {
128
128
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(3 : i32) : i32
129
129
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i32) : i32
130
- // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformSMaxiij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {no_unwind, will_return} : (i32, i32, i32) -> i32
130
+ // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformSMaxiij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {convergent, no_unwind, will_return} : (i32, i32, i32) -> i32
131
131
// CHECK: llvm.return %[[VAL_3]] : i32
132
132
// CHECK: }
133
133
spirv.func @non_uniform_smax (%arg0: i32 ) -> i32 " None" {
@@ -139,7 +139,7 @@ spirv.func @non_uniform_smax(%arg0: i32) -> i32 "None" {
139
139
// CHECK-SAME: %[[VAL_0:.*]]: i32) -> i32 {
140
140
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(3 : i32) : i32
141
141
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i32) : i32
142
- // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformUMaxiij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {no_unwind, will_return} : (i32, i32, i32) -> i32
142
+ // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformUMaxiij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {convergent, no_unwind, will_return} : (i32, i32, i32) -> i32
143
143
// CHECK: llvm.return %[[VAL_3]] : i32
144
144
// CHECK: }
145
145
spirv.func @non_uniform_umax (%arg0: i32 ) -> i32 " None" {
@@ -151,7 +151,7 @@ spirv.func @non_uniform_umax(%arg0: i32) -> i32 "None" {
151
151
// CHECK-SAME: %[[VAL_0:.*]]: f32) -> f32 {
152
152
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(3 : i32) : i32
153
153
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i32) : i32
154
- // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformFMaxiif(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {no_unwind, will_return} : (i32, i32, f32) -> f32
154
+ // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformFMaxiif(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {convergent, no_unwind, will_return} : (i32, i32, f32) -> f32
155
155
// CHECK: llvm.return %[[VAL_3]] : f32
156
156
// CHECK: }
157
157
spirv.func @non_uniform_fmax (%arg0: f32 ) -> f32 " None" {
@@ -164,7 +164,7 @@ spirv.func @non_uniform_fmax(%arg0: f32) -> f32 "None" {
164
164
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(16 : i32) : i32
165
165
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(3 : i32) : i32
166
166
// CHECK: %[[VAL_3:.*]] = llvm.mlir.constant(3 : i32) : i32
167
- // CHECK: %[[VAL_4:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformSMaxiijj(%[[VAL_2]], %[[VAL_3]], %[[VAL_0]], %[[VAL_1]]) {no_unwind, will_return} : (i32, i32, i32, i32) -> i32
167
+ // CHECK: %[[VAL_4:.*]] = llvm.call spir_funccc @_Z27__spirv_GroupNonUniformSMaxiijj(%[[VAL_2]], %[[VAL_3]], %[[VAL_0]], %[[VAL_1]]) {convergent, no_unwind, will_return} : (i32, i32, i32, i32) -> i32
168
168
// CHECK: llvm.return %[[VAL_4]] : i32
169
169
// CHECK: }
170
170
spirv.func @non_uniform_smax_cluster (%arg0: i32 ) -> i32 " None" {
@@ -177,7 +177,7 @@ spirv.func @non_uniform_smax_cluster(%arg0: i32) -> i32 "None" {
177
177
// CHECK-SAME: %[[VAL_0:.*]]: i32) -> i32 {
178
178
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(3 : i32) : i32
179
179
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i32) : i32
180
- // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z33__spirv_GroupNonUniformBitwiseAndiij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {no_unwind, will_return} : (i32, i32, i32) -> i32
180
+ // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z33__spirv_GroupNonUniformBitwiseAndiij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {convergent, no_unwind, will_return} : (i32, i32, i32) -> i32
181
181
// CHECK: llvm.return %[[VAL_3]] : i32
182
182
// CHECK: }
183
183
spirv.func @non_uniform_bitwise_and (%arg0: i32 ) -> i32 " None" {
@@ -189,7 +189,7 @@ spirv.func @non_uniform_bitwise_and(%arg0: i32) -> i32 "None" {
189
189
// CHECK-SAME: %[[VAL_0:.*]]: i32) -> i32 {
190
190
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(3 : i32) : i32
191
191
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i32) : i32
192
- // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z32__spirv_GroupNonUniformBitwiseOriij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {no_unwind, will_return} : (i32, i32, i32) -> i32
192
+ // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z32__spirv_GroupNonUniformBitwiseOriij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {convergent, no_unwind, will_return} : (i32, i32, i32) -> i32
193
193
// CHECK: llvm.return %[[VAL_3]] : i32
194
194
// CHECK: }
195
195
spirv.func @non_uniform_bitwise_or (%arg0: i32 ) -> i32 " None" {
@@ -201,7 +201,7 @@ spirv.func @non_uniform_bitwise_or(%arg0: i32) -> i32 "None" {
201
201
// CHECK-SAME: %[[VAL_0:.*]]: i32) -> i32 {
202
202
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(3 : i32) : i32
203
203
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i32) : i32
204
- // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z33__spirv_GroupNonUniformBitwiseXoriij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {no_unwind, will_return} : (i32, i32, i32) -> i32
204
+ // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z33__spirv_GroupNonUniformBitwiseXoriij(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {convergent, no_unwind, will_return} : (i32, i32, i32) -> i32
205
205
// CHECK: llvm.return %[[VAL_3]] : i32
206
206
// CHECK: }
207
207
spirv.func @non_uniform_bitwise_xor (%arg0: i32 ) -> i32 " None" {
@@ -213,7 +213,7 @@ spirv.func @non_uniform_bitwise_xor(%arg0: i32) -> i32 "None" {
213
213
// CHECK-SAME: %[[VAL_0:.*]]: i1) -> i1 {
214
214
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(3 : i32) : i32
215
215
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i32) : i32
216
- // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z33__spirv_GroupNonUniformLogicalAndiib(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {no_unwind, will_return} : (i32, i32, i1) -> i1
216
+ // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z33__spirv_GroupNonUniformLogicalAndiib(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {convergent, no_unwind, will_return} : (i32, i32, i1) -> i1
217
217
// CHECK: llvm.return %[[VAL_3]] : i1
218
218
// CHECK: }
219
219
spirv.func @non_uniform_logical_and (%arg0: i1 ) -> i1 " None" {
@@ -225,7 +225,7 @@ spirv.func @non_uniform_logical_and(%arg0: i1) -> i1 "None" {
225
225
// CHECK-SAME: %[[VAL_0:.*]]: i1) -> i1 {
226
226
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(3 : i32) : i32
227
227
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i32) : i32
228
- // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z32__spirv_GroupNonUniformLogicalOriib(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {no_unwind, will_return} : (i32, i32, i1) -> i1
228
+ // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z32__spirv_GroupNonUniformLogicalOriib(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {convergent, no_unwind, will_return} : (i32, i32, i1) -> i1
229
229
// CHECK: llvm.return %[[VAL_3]] : i1
230
230
// CHECK: }
231
231
spirv.func @non_uniform_logical_or (%arg0: i1 ) -> i1 " None" {
@@ -237,7 +237,7 @@ spirv.func @non_uniform_logical_or(%arg0: i1) -> i1 "None" {
237
237
// CHECK-SAME: %[[VAL_0:.*]]: i1) -> i1 {
238
238
// CHECK: %[[VAL_1:.*]] = llvm.mlir.constant(3 : i32) : i32
239
239
// CHECK: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i32) : i32
240
- // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z33__spirv_GroupNonUniformLogicalXoriib(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {no_unwind, will_return} : (i32, i32, i1) -> i1
240
+ // CHECK: %[[VAL_3:.*]] = llvm.call spir_funccc @_Z33__spirv_GroupNonUniformLogicalXoriib(%[[VAL_1]], %[[VAL_2]], %[[VAL_0]]) {convergent, no_unwind, will_return} : (i32, i32, i1) -> i1
241
241
// CHECK: llvm.return %[[VAL_3]] : i1
242
242
// CHECK: }
243
243
spirv.func @non_uniform_logical_xor (%arg0: i1 ) -> i1 " None" {
0 commit comments