Lines Matching full:cast

8 ; CHECK-NEXT:    [[CAST:%.*]] = addrspacecast ptr addrspace(3) [[SRC_PTR:%.*]] to ptr
9 ; CHECK-NEXT: [[MASKED:%.*]] = call ptr @llvm.ptrmask.p0.i64(ptr [[CAST]], i64 [[MASK:%.*]])
13 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
14 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 %mask)
21 ; CHECK-NEXT: [[CAST:%.*]] = addrspacecast ptr addrspace(5) [[SRC_PTR:%.*]] to ptr
22 ; CHECK-NEXT: [[MASKED:%.*]] = call ptr @llvm.ptrmask.p0.i64(ptr [[CAST]], i64 [[MASK:%.*]])
26 %cast = addrspacecast ptr addrspace(5) %src.ptr to ptr
27 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 %mask)
34 ; CHECK-NEXT: [[CAST:%.*]] = addrspacecast ptr addrspace(2) [[SRC_PTR:%.*]] to ptr
35 ; CHECK-NEXT: [[MASKED:%.*]] = call ptr @llvm.ptrmask.p0.i64(ptr [[CAST]], i64 [[MASK:%.*]])
39 %cast = addrspacecast ptr addrspace(2) %src.ptr to ptr
40 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 %mask)
51 %cast = addrspacecast ptr addrspace(1) %src.ptr to ptr
52 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 %mask)
63 %cast = addrspacecast ptr addrspace(999) %src.ptr to ptr
64 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 %mask)
72 ; CHECK-NEXT: [[CAST:%.*]] = addrspacecast ptr [[MASKED]] to ptr addrspace(3)
73 ; CHECK-NEXT: [[LOAD:%.*]] = load i8, ptr addrspace(3) [[CAST]], align 1
77 %cast = addrspacecast ptr %masked to ptr addrspace(3)
78 %load = load i8, ptr addrspace(3) %cast
85 ; CHECK-NEXT: [[CAST:%.*]] = addrspacecast ptr [[MASKED]] to ptr addrspace(5)
86 ; CHECK-NEXT: [[LOAD:%.*]] = load i8, ptr addrspace(5) [[CAST]], align 1
90 %cast = addrspacecast ptr %masked to ptr addrspace(5)
91 %load = load i8, ptr addrspace(5) %cast
98 ; CHECK-NEXT: [[CAST:%.*]] = addrspacecast ptr [[MASKED]] to ptr addrspace(1)
99 ; CHECK-NEXT: [[LOAD:%.*]] = load i8, ptr addrspace(1) [[CAST]], align 1
103 %cast = addrspacecast ptr %masked to ptr addrspace(1)
104 %load = load i8, ptr addrspace(1) %cast
141 %cast = addrspacecast ptr addrspace(1) %src.ptr to ptr
142 %load0 = load i8, ptr %cast
143 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 %mask)
152 ; CHECK-NEXT: [[CAST:%.*]] = addrspacecast ptr addrspace(3) [[SRC_PTR:%.*]] to ptr
154 ; CHECK-NEXT: [[MASKED:%.*]] = call ptr @llvm.ptrmask.p0.i64(ptr [[CAST]], i64 [[MASK:%.*]])
159 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
160 %load0 = load i8, ptr %cast
161 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 %mask)
169 ; CHECK-NEXT: [[CAST:%.*]] = addrspacecast ptr addrspace(2) [[SRC_PTR:%.*]] to ptr
171 ; CHECK-NEXT: [[MASKED:%.*]] = call ptr @llvm.ptrmask.p0.i64(ptr [[CAST]], i64 [[MASK:%.*]])
176 %cast = addrspacecast ptr addrspace(2) %src.ptr to ptr
177 %load0 = load i8, ptr %cast
178 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 %mask)
187 ; CHECK-NEXT: [[CAST:%.*]] = addrspacecast ptr addrspace(3) [[SRC_PTR:%.*]] to ptr
188 ; CHECK-NEXT: [[MASKED:%.*]] = call ptr @llvm.ptrmask.p0.i64(ptr [[CAST]], i64 -4294967297)
192 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
193 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 -4294967297)
201 ; CHECK-NEXT: [[CAST:%.*]] = addrspacecast ptr addrspace(3) [[SRC_PTR:%.*]] to ptr
202 ; CHECK-NEXT: [[MASKED:%.*]] = call ptr @llvm.ptrmask.p0.i64(ptr [[CAST]], i64 92233720368547758…
206 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
207 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 9223372036854775807)
218 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
219 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 -4294967296)
230 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
231 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 -2147483648)
236 …Test some align-down patterns. These only touch the low bits, which are preserved through the cast.
243 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
244 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 -65536)
255 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
256 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 -256)
267 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
268 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 -32)
279 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
280 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 -16)
291 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
292 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 -8)
303 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
304 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 -4)
315 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
316 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 -2)
326 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
327 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 -1)
342 %cast = addrspacecast ptr addrspace(3) %src.ptr to ptr
343 %masked = call ptr @llvm.ptrmask.p0.i64(ptr %cast, i64 %load.mask)