Lines Matching refs:size

10   %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
11 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
12 %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
13 store i16 %group.size.x, i16 addrspace(1)* %out
21 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
22 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
23 %group.size.x = load volatile i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
24 store i16 %group.size.x, i16 addrspace(1)* %out
32 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
33 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
34 %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
35 store i16 %group.size.x, i16 addrspace(1)* %out
43 %gep.group.size.y = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 6
44 %gep.group.size.y.bc = bitcast i8 addrspace(4)* %gep.group.size.y to i16 addrspace(4)*
45 %group.size.y = load i16, i16 addrspace(4)* %gep.group.size.y.bc, align 4
46 store i16 %group.size.y, i16 addrspace(1)* %out
54 %gep.group.size.z = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 8
55 %gep.group.size.z.bc = bitcast i8 addrspace(4)* %gep.group.size.z to i16 addrspace(4)*
56 %group.size.z = load i16, i16 addrspace(4)* %gep.group.size.z.bc, align 4
57 store i16 %group.size.z, i16 addrspace(1)* %out
66 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
67 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
68 %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
69 store i16 %group.size.x, i16 addrspace(1)* %out
78 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
79 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
80 %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
81 store i16 %group.size.x, i16 addrspace(1)* %out
89 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
90 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
91 %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
92 %gep.grid.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 12
93 %gep.grid.size.x.bc = bitcast i8 addrspace(4)* %gep.grid.size.x to i32 addrspace(4)*
94 %grid.size.x = load i32, i32 addrspace(4)* %gep.grid.size.x.bc, align 4
96 %group.size.x.zext = zext i16 %group.size.x to i32
97 %group.id_x_group.size.x = mul i32 %group.id, %group.size.x.zext
98 %sub = sub i32 %grid.size.x, %group.id_x_group.size.x
99 %umin = call i32 @llvm.umin.i32(i32 %sub, i32 %group.size.x.zext)
109 %gep.group.size.y = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 6
110 %gep.group.size.y.bc = bitcast i8 addrspace(4)* %gep.group.size.y to i16 addrspace(4)*
111 %group.size.y = load i16, i16 addrspace(4)* %gep.group.size.y.bc, align 4
112 %gep.grid.size.y = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 16
113 %gep.grid.size.y.bc = bitcast i8 addrspace(4)* %gep.grid.size.y to i32 addrspace(4)*
114 %grid.size.y = load i32, i32 addrspace(4)* %gep.grid.size.y.bc, align 4
116 %group.size.y.zext = zext i16 %group.size.y to i32
117 %group.id_x_group.size.y = mul i32 %group.id, %group.size.y.zext
118 %sub = sub i32 %grid.size.y, %group.id_x_group.size.y
119 %umin = call i32 @llvm.umin.i32(i32 %sub, i32 %group.size.y.zext)
129 %gep.group.size.z = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 8
130 %gep.group.size.z.bc = bitcast i8 addrspace(4)* %gep.group.size.z to i16 addrspace(4)*
131 %group.size.z = load i16, i16 addrspace(4)* %gep.group.size.z.bc, align 4
132 %gep.grid.size.z = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 20
133 %gep.grid.size.z.bc = bitcast i8 addrspace(4)* %gep.grid.size.z to i32 addrspace(4)*
134 %grid.size.z = load i32, i32 addrspace(4)* %gep.grid.size.z.bc, align 4
136 %group.size.z.zext = zext i16 %group.size.z to i32
137 %group.id_x_group.size.z = mul i32 %group.id, %group.size.z.zext
138 %sub = sub i32 %grid.size.z, %group.id_x_group.size.z
139 %umin = call i32 @llvm.umin.i32(i32 %sub, i32 %group.size.z.zext)
146 ; load of the group size.
150 ; CHECK: %group.id_x_group.size.x.neg = mul i32 %group.id, -8
153 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
154 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
155 %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
156 %gep.grid.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 12
157 %gep.grid.size.x.bc = bitcast i8 addrspace(4)* %gep.grid.size.x to i32 addrspace(4)*
158 %grid.size.x = load i32, i32 addrspace(4)* %gep.grid.size.x.bc, align 4
160 %group.size.x.zext = zext i16 %group.size.x to i32
161 %group.id_x_group.size.x = mul i32 %group.id, %group.size.x.zext
162 %sub = sub i32 %grid.size.x, %group.id_x_group.size.x
163 %umin = call i32 @llvm.umin.i32(i32 %sub, i32 %group.size.x.zext)
170 ; CHECK: %grid.size.x = load i32, i32 addrspace(4)* %gep.grid.size.x.bc, align 4
172 ; CHECK: %group.id_x_group.size.x.neg = mul i32 %group.id, -8
175 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
176 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
177 %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
178 %gep.grid.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 16
179 %gep.grid.size.x.bc = bitcast i8 addrspace(4)* %gep.grid.size.x to i32 addrspace(4)*
180 %grid.size.x = load i32, i32 addrspace(4)* %gep.grid.size.x.bc, align 4
182 %group.size.x.zext = zext i16 %group.size.x to i32
183 %group.id_x_group.size.x = mul i32 %group.id, %group.size.x.zext
184 %sub = sub i32 %grid.size.x, %group.id_x_group.size.x
185 %umin = call i32 @llvm.umin.i32(i32 %sub, i32 %group.size.x.zext)
192 ; CHECK: %grid.size.x = load i32, i32 addrspace(4)* %gep.grid.size.x.bc, align 4
194 ; CHECK: %group.id_x_group.size.x.neg = mul i32 %group.id, -8
195 ; CHECK: %sub = add i32 %group.id_x_group.size.x.neg, %grid.size.x
199 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
200 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
201 %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
202 %gep.grid.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 12
203 %gep.grid.size.x.bc = bitcast i8 addrspace(4)* %gep.grid.size.x to i32 addrspace(4)*
204 %grid.size.x = load i32, i32 addrspace(4)* %gep.grid.size.x.bc, align 4
206 %group.size.x.zext = zext i16 %group.size.x to i32
207 %group.id_x_group.size.x = mul i32 %group.id, %group.size.x.zext
208 %sub = sub i32 %grid.size.x, %group.id_x_group.size.x
209 %smin = call i32 @llvm.smin.i32(i32 %sub, i32 %group.size.x.zext)
216 ; CHECK: %group.id_x_group.size.x.neg = mul i32 %group.id, -8
217 ; CHECK: %sub = add i32 %group.id_x_group.size.x.neg, %grid.size.x
222 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
223 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
224 %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
225 %gep.grid.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 12
226 %gep.grid.size.x.bc = bitcast i8 addrspace(4)* %gep.grid.size.x to i32 addrspace(4)*
227 %grid.size.x = load i32, i32 addrspace(4)* %gep.grid.size.x.bc, align 4
229 %group.size.x.zext = zext i16 %group.size.x to i32
230 %group.id_x_group.size.x = mul i32 %group.id, %group.size.x.zext
231 %sub = sub i32 %grid.size.x, %group.id_x_group.size.x
232 %umax = call i32 @llvm.umax.i32(i32 %sub, i32 %group.size.x.zext)
239 ; CHECK: %grid.size.x = load i16, i16 addrspace(4)* %gep.grid.size.x.bc, align 4
240 ; CHECK: %grid.size.x.zext = zext i16 %grid.size.x to i32
242 ; CHECK: %group.id_x_group.size.x.neg = mul i32 %group.id, -8
243 ; CHECK: %sub = add i32 %group.id_x_group.size.x.neg, %grid.size.x.zext
246 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
247 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
248 %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
249 %gep.grid.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 12
250 %gep.grid.size.x.bc = bitcast i8 addrspace(4)* %gep.grid.size.x to i16 addrspace(4)*
251 %grid.size.x = load i16, i16 addrspace(4)* %gep.grid.size.x.bc, align 4
252 %grid.size.x.zext = zext i16 %grid.size.x to i32
254 %group.size.x.zext = zext i16 %group.size.x to i32
255 %group.id_x_group.size.x = mul i32 %group.id, %group.size.x.zext
256 %sub = sub i32 %grid.size.x.zext, %group.id_x_group.size.x
257 %umin = call i32 @llvm.umin.i32(i32 %sub, i32 %group.size.x.zext)
267 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
268 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
269 %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
270 %zext = zext i16 %group.size.x to i32
275 ; CHECK: %group.size = phi i32 [ 2, %bb17 ], [ 16, %bb9 ], [ 8, %bb1 ], [ 1, %bb ]
317 %group.size = phi i16 [ %tmp24, %bb17 ], [ %tmp16, %bb9 ], [ %tmp8, %bb1 ], [ 1, %bb ]
319 %tmp29 = zext i16 %group.size to i32
378 ; CHECK-NEXT: %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
379 ; CHECK-NEXT: %group.size.x.lo = load i8, i8 addrspace(4)* %gep.group.size.x, align 4
380 ; CHECK-NEXT: store i8 %group.size.x.lo, i8 addrspace(1)* %out, align 1
383 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
384 %group.size.x.lo = load i8, i8 addrspace(4)* %gep.group.size.x, align 1
385 store i8 %group.size.x.lo, i8 addrspace(1)* %out
391 ; CHECK-NEXT: %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
392 ; CHECK-NEXT: %group.size.x.lo = load i8, i8 addrspace(4)* %gep.group.size.x, align 2
393 ; CHECK-NEXT: store i8 %group.size.x.lo, i8 addrspace(1)* %out, align 1
396 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
397 %group.size.x.lo = load i8, i8 addrspace(4)* %gep.group.size.x, align 1
398 store i8 %group.size.x.lo, i8 addrspace(1)* %out
404 ; CHECK: %group.size.xy = load i32,
405 ; CHECK: store i32 %group.size.xy
408 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
409 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i32 addrspace(4)*
410 %group.size.xy = load i32, i32 addrspace(4)* %gep.group.size.x.bc, align 4
411 store i32 %group.size.xy, i32 addrspace(1)* %out
420 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr0, i64 4
421 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
422 %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
423 store volatile i16 %group.size.x, i16 addrspace(1)* %out
426 %gep.group.size.y = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr1, i64 6
427 %gep.group.size.y.bc = bitcast i8 addrspace(4)* %gep.group.size.y to i16 addrspace(4)*
428 %group.size.y = load i16, i16 addrspace(4)* %gep.group.size.y.bc, align 4
429 store volatile i16 %group.size.y, i16 addrspace(1)* %out
436 ; CHECK-NEXT: %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
437 ; CHECK-NEXT: %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
438 ; CHECK-NEXT: %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
439 ; CHECK-NEXT: %zext = zext i16 %group.size.x to i64
443 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
444 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
445 %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
446 %gep.grid.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 12
447 %gep.grid.size.x.bc = bitcast i8 addrspace(4)* %gep.grid.size.x to i32 addrspace(4)*
448 %grid.size.x = load i32, i32 addrspace(4)* %gep.grid.size.x.bc, align 4
450 %group.size.x.zext = zext i16 %group.size.x to i32
451 %group.id_x_group.size.x = mul i32 %group.id, %group.size.x.zext
452 %sub = sub i32 %grid.size.x, %group.id_x_group.size.x
453 %umin = call i32 @llvm.umin.i32(i32 %sub, i32 %group.size.x.zext)
463 %gep.group.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 4
464 %gep.group.size.x.bc = bitcast i8 addrspace(4)* %gep.group.size.x to i16 addrspace(4)*
465 %group.size.x = load i16, i16 addrspace(4)* %gep.group.size.x.bc, align 4
466 %gep.grid.size.x = getelementptr inbounds i8, i8 addrspace(4)* %dispatch.ptr, i64 12
467 %gep.grid.size.x.bc = bitcast i8 addrspace(4)* %gep.grid.size.x to i32 addrspace(4)*
468 %grid.size.x = load i32, i32 addrspace(4)* %gep.grid.size.x.bc, align 4
470 %group.size.x.zext = zext i16 %group.size.x to i32
471 %group.id_x_group.size.x = mul i32 %group.id, %group.size.x.zext
472 %sub = sub i32 %grid.size.x, %group.id_x_group.size.x
473 %umin = call i32 @llvm.umin.i32(i32 %sub, i32 %group.size.x.zext)
494 attributes #0 = { nounwind "uniform-work-group-size"="true" }
496 attributes #2 = { nounwind "uniform-work-group-size"="true" }
497 attributes #3 = { nounwind "uniform-work-group-size"="false" }