18
18
define spir_kernel void @kernel_1d_array (%spirv.Image._void_0_0_1_0_0_0_0 addrspace (1 )* %img ) {
19
19
; CHECK-LABEL: define spir_kernel void @kernel_1d_array(
20
20
; CHECK-NOT: __builtin_IB_get_image1d_array_size
21
- ; CHECK: [[BINDLESS_IMG_1D:%.*]] = inttoptr i32 %1 to float addrspace(393468 )*
22
- ; CHECK-NEXT: [[TMP_1D:%.*]] = call <4 x i32> @llvm.genx.GenISA.resinfoptr.p393468f32 (float addrspace(393468 )* [[BINDLESS_IMG_1D]], i32 0)
21
+ ; CHECK: [[BINDLESS_IMG_1D:%.*]] = addrspacecast %spirv.Image._void_0_0_1_0_0_0_0 addrspace(1)* %img to float addrspace(393216 )*
22
+ ; CHECK-NEXT: [[TMP_1D:%.*]] = call <4 x i32> @llvm.genx.GenISA.resinfoptr.p393216f32 (float addrspace(393216 )* [[BINDLESS_IMG_1D]], i32 0)
23
23
; CHECK-NEXT: extractelement <4 x i32> [[TMP_1D]], i32 1
24
24
%data = ptrtoint %spirv.Image._void_0_0_1_0_0_0_0 addrspace (1 )* %img to i64
25
25
%1 = trunc i64 %data to i32
@@ -30,8 +30,8 @@ define spir_kernel void @kernel_1d_array(%spirv.Image._void_0_0_1_0_0_0_0 addrsp
30
30
define spir_kernel void @kernel_2d_array (%spirv.Image._void_1_0_1_0_0_0_0 addrspace (1 )* %img ) {
31
31
; CHECK-LABEL: define spir_kernel void @kernel_2d_array(
32
32
; CHECK-NOT: __builtin_IB_get_image1d_array_size
33
- ; CHECK: [[BINDLESS_IMG_1D:%.*]] = inttoptr i32 %1 to float addrspace(393468 )*
34
- ; CHECK-NEXT: [[TMP_1D:%.*]] = call <4 x i32> @llvm.genx.GenISA.resinfoptr.p393468f32 (float addrspace(393468 )* [[BINDLESS_IMG_1D]], i32 0)
33
+ ; CHECK: [[BINDLESS_IMG_1D:%.*]] = addrspacecast %spirv.Image._void_1_0_1_0_0_0_0 addrspace(1)* %img to float addrspace(393216 )*
34
+ ; CHECK-NEXT: [[TMP_1D:%.*]] = call <4 x i32> @llvm.genx.GenISA.resinfoptr.p393216f32 (float addrspace(393216 )* [[BINDLESS_IMG_1D]], i32 0)
35
35
; CHECK-NEXT: extractelement <4 x i32> [[TMP_1D]], i32 2
36
36
%data = ptrtoint %spirv.Image._void_1_0_1_0_0_0_0 addrspace (1 )* %img to i64
37
37
%1 = trunc i64 %data to i32
@@ -41,19 +41,20 @@ define spir_kernel void @kernel_2d_array(%spirv.Image._void_1_0_1_0_0_0_0 addrsp
41
41
42
42
define spir_kernel void @kernel_3d (%spirv.Image._void_2_0_0_0_0_0_0 addrspace (1 )* %img ) {
43
43
; CHECK-LABEL: define spir_kernel void @kernel_3d(
44
+ ; CHECK-SAME: [[SPIRV_IMAGE__VOID_2_0_0_0_0_0_0:%.*]] addrspace(1)* [[IMG:%.*]]) {
44
45
%data = ptrtoint %spirv.Image._void_2_0_0_0_0_0_0 addrspace (1 )* %img to i64
45
46
%1 = trunc i64 %data to i32
46
47
; CHECK-NOT: __builtin_IB_get_image_width
47
48
; CHECK-NOT: __builtin_IB_get_image_height
48
49
; CHECK-NOT: __builtin_IB_get_image_height
49
- ; CHECK: [[BINDLESS_IMG:%.*]] = inttoptr i32 %1 to float addrspace(393468 )*
50
- ; CHECK-NEXT: [[TMP1:%.*]] = call <4 x i32> @llvm.genx.GenISA.resinfoptr.p393468f32 (float addrspace(393468 )* [[BINDLESS_IMG]], i32 0)
50
+ ; CHECK: [[BINDLESS_IMG:%.*]] = addrspacecast [[SPIRV_IMAGE__VOID_2_0_0_0_0_0_0]] addrspace(1)* [[IMG]] to float addrspace(393216 )*
51
+ ; CHECK-NEXT: [[TMP1:%.*]] = call <4 x i32> @llvm.genx.GenISA.resinfoptr.p393216f32 (float addrspace(393216 )* [[BINDLESS_IMG]], i32 0)
51
52
; CHECK-NEXT: extractelement <4 x i32> [[TMP1]], i32 0
52
- ; CHECK-NEXT: [[BINDLESS_IMG1:%.*]] = inttoptr i32 %1 to float addrspace(393468 )*
53
- ; CHECK-NEXT: [[TMP2:%.*]] = call <4 x i32> @llvm.genx.GenISA.resinfoptr.p393468f32 (float addrspace(393468 )* [[BINDLESS_IMG1]], i32 0)
53
+ ; CHECK-NEXT: [[BINDLESS_IMG1:%.*]] = addrspacecast [[SPIRV_IMAGE__VOID_2_0_0_0_0_0_0]] addrspace(1)* [[IMG]] to float addrspace(393216 )*
54
+ ; CHECK-NEXT: [[TMP2:%.*]] = call <4 x i32> @llvm.genx.GenISA.resinfoptr.p393216f32 (float addrspace(393216 )* [[BINDLESS_IMG1]], i32 0)
54
55
; CHECK-NEXT: extractelement <4 x i32> [[TMP2]], i32 1
55
- ; CHECK-NEXT: [[BINDLESS_IMG2:%.*]] = inttoptr i32 %1 to float addrspace(393468 )*
56
- ; CHECK-NEXT: [[TMP3:%.*]] = call <4 x i32> @llvm.genx.GenISA.resinfoptr.p393468f32 (float addrspace(393468 )* [[BINDLESS_IMG2]], i32 0)
56
+ ; CHECK-NEXT: [[BINDLESS_IMG2:%.*]] = addrspacecast [[SPIRV_IMAGE__VOID_2_0_0_0_0_0_0]] addrspace(1)* [[IMG]] to float addrspace(393216 )*
57
+ ; CHECK-NEXT: [[TMP3:%.*]] = call <4 x i32> @llvm.genx.GenISA.resinfoptr.p393216f32 (float addrspace(393216 )* [[BINDLESS_IMG2]], i32 0)
57
58
; CHECK-NEXT: extractelement <4 x i32> [[TMP3]], i32 2
58
59
%call = call spir_func i32 @__builtin_IB_get_image_width (i32 %1 )
59
60
%call1 = call spir_func i32 @__builtin_IB_get_image_height (i32 %1 )
0 commit comments