xref: /llvm-project/llvm/test/CodeGen/SPIRV/transcoding/OpImageWrite.ll (revision f9c98068c852c1bb1ec029c2c8df8ace9605f16f)
1*f9c98068SVyacheslav Levytskyy; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV
2*f9c98068SVyacheslav Levytskyy; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
3*f9c98068SVyacheslav Levytskyy
4*f9c98068SVyacheslav Levytskyy; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV
5*f9c98068SVyacheslav Levytskyy; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
6f20c9c42SAndrey Tretyakov
7f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#VOID_TY:]] = OpTypeVoid
8f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG2D_WO_TY:]] = OpTypeImage %[[#VOID_TY]] 2D 0 0 0 0 Unknown WriteOnly
9f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG2D_RW_TY:]] = OpTypeImage %[[#VOID_TY]] 2D 0 0 0 0 Unknown ReadWrite
10f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG2D_ARRAY_WO_TY:]] = OpTypeImage %[[#VOID_TY]] 2D 0 1 0 0 Unknown WriteOnly
11f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG2D_ARRAY_RW_TY:]] = OpTypeImage %[[#VOID_TY]] 2D 0 1 0 0 Unknown ReadWrite
12f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG1D_WO_TY:]] = OpTypeImage %[[#VOID_TY]] 1D 0 0 0 0 Unknown WriteOnly
13f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG1D_RW_TY:]] = OpTypeImage %[[#VOID_TY]] 1D 0 0 0 0 Unknown ReadWrite
14f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG1D_BUFFER_WO_TY:]] = OpTypeImage %[[#VOID_TY]] Buffer 0 0 0 0 Unknown WriteOnly
15f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG1D_BUFFER_RW_TY:]] = OpTypeImage %[[#VOID_TY]] Buffer 0 0 0 0 Unknown ReadWrite
16f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG1D_ARRAY_WO_TY:]] = OpTypeImage %[[#VOID_TY]] 1D 0 1 0 0 Unknown WriteOnly
17f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG1D_ARRAY_RW_TY:]] = OpTypeImage %[[#VOID_TY]] 1D 0 1 0 0 Unknown ReadWrite
18f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG2D_DEPTH_WO_TY:]] = OpTypeImage %[[#VOID_TY]] 2D 1 0 0 0 Unknown WriteOnly
19f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG2D_ARRAY_DEPTH_WO_TY:]] = OpTypeImage %[[#VOID_TY]] 2D 1 1 0 0 Unknown WriteOnly
20f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG3D_WO_TY:]] = OpTypeImage %[[#VOID_TY]] 3D 0 0 0 0 Unknown WriteOnly
21f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG3D_RW_TY:]] = OpTypeImage %[[#VOID_TY]] 3D 0 0 0 0 Unknown ReadWrite
22f20c9c42SAndrey Tretyakov
23f20c9c42SAndrey Tretyakov;; kernel void test_img2d(write_only image2d_t image_wo, read_write image2d_t image_rw)
24f20c9c42SAndrey Tretyakov;; {
25f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, (int2)(0,0), (float4)(0,0,0,0));
26f20c9c42SAndrey Tretyakov;;     write_imagei(image_wo, (int2)(0,0), (int4)(0,0,0,0));
27f20c9c42SAndrey Tretyakov;;     write_imagef(image_rw, (int2)(0,0), (float4)(0,0,0,0));
28f20c9c42SAndrey Tretyakov;;     write_imagei(image_rw, (int2)(0,0), (int4)(0,0,0,0));
29f20c9c42SAndrey Tretyakov;;
30f20c9c42SAndrey Tretyakov    ;; LOD
31f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, (int2)(0,0), 0, (float4)(0,0,0,0));
32f20c9c42SAndrey Tretyakov;;     write_imagei(image_wo, (int2)(0,0), 0, (int4)(0,0,0,0));
33f20c9c42SAndrey Tretyakov;; }
34f20c9c42SAndrey Tretyakov
35f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG2D_WO:]] = OpFunctionParameter %[[#IMG2D_WO_TY]]
36f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG2D_RW:]] = OpFunctionParameter %[[#IMG2D_RW_TY]]
37f20c9c42SAndrey Tretyakov
38f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_WO]]
39f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_WO]]
40f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_RW]]
41f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_RW]]
42f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_WO]]
43f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_WO]]
44f20c9c42SAndrey Tretyakov
45ec7baca1SMichal Paszkowskidefine dso_local spir_kernel void @test_img2d(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 1) %image_wo, target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 2) %image_rw) local_unnamed_addr {
46f20c9c42SAndrey Tretyakoventry:
47ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef14ocl_image2d_woDv2_iDv4_f(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 1) %image_wo, <2 x i32> noundef zeroinitializer, <4 x float> noundef zeroinitializer)
48ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei14ocl_image2d_woDv2_iDv4_i(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 1) %image_wo, <2 x i32> noundef zeroinitializer, <4 x i32> noundef zeroinitializer)
49ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef14ocl_image2d_rwDv2_iDv4_f(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 2) %image_rw, <2 x i32> noundef zeroinitializer, <4 x float> noundef zeroinitializer)
50ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei14ocl_image2d_rwDv2_iDv4_i(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 2) %image_rw, <2 x i32> noundef zeroinitializer, <4 x i32> noundef zeroinitializer)
51ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef14ocl_image2d_woDv2_iiDv4_f(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 1) %image_wo, <2 x i32> noundef zeroinitializer, i32 noundef 0, <4 x float> noundef zeroinitializer)
52ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei14ocl_image2d_woDv2_iiDv4_i(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 1) %image_wo, <2 x i32> noundef zeroinitializer, i32 noundef 0, <4 x i32> noundef zeroinitializer)
53f20c9c42SAndrey Tretyakov  ret void
54f20c9c42SAndrey Tretyakov}
55f20c9c42SAndrey Tretyakov
56ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef14ocl_image2d_woDv2_iDv4_f(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 1), <2 x i32> noundef, <4 x float> noundef) local_unnamed_addr
57f20c9c42SAndrey Tretyakov
58ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei14ocl_image2d_woDv2_iDv4_i(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 1), <2 x i32> noundef, <4 x i32> noundef) local_unnamed_addr
59f20c9c42SAndrey Tretyakov
60ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef14ocl_image2d_rwDv2_iDv4_f(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 2), <2 x i32> noundef, <4 x float> noundef) local_unnamed_addr
61f20c9c42SAndrey Tretyakov
62ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei14ocl_image2d_rwDv2_iDv4_i(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 2), <2 x i32> noundef, <4 x i32> noundef) local_unnamed_addr
63f20c9c42SAndrey Tretyakov
64ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef14ocl_image2d_woDv2_iiDv4_f(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 1), <2 x i32> noundef, i32 noundef, <4 x float> noundef) local_unnamed_addr
65f20c9c42SAndrey Tretyakov
66ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei14ocl_image2d_woDv2_iiDv4_i(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 1), <2 x i32> noundef, i32 noundef, <4 x i32> noundef) local_unnamed_addr
67f20c9c42SAndrey Tretyakov
68f20c9c42SAndrey Tretyakov;; kernel void test_img2d_array(write_only image2d_array_t image_wo, read_write image2d_array_t image_rw)
69f20c9c42SAndrey Tretyakov;; {
70f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, (int4)(0,0,0,0), (float4)(0,0,0,0));
71f20c9c42SAndrey Tretyakov;;     write_imagei(image_wo, (int4)(0,0,0,0), (int4)(0,0,0,0));
72f20c9c42SAndrey Tretyakov;;     write_imagef(image_rw, (int4)(0,0,0,0), (float4)(0,0,0,0));
73f20c9c42SAndrey Tretyakov;;     write_imagei(image_rw, (int4)(0,0,0,0), (int4)(0,0,0,0));
74f20c9c42SAndrey Tretyakov;;
75f20c9c42SAndrey Tretyakov    ;; LOD
76f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, (int4)(0,0,0,0), 0, (float4)(0,0,0,0));
77f20c9c42SAndrey Tretyakov;;     write_imagei(image_wo, (int4)(0,0,0,0), 0, (int4)(0,0,0,0));
78f20c9c42SAndrey Tretyakov;; }
79f20c9c42SAndrey Tretyakov
80f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG2D_ARRAY_WO:]] = OpFunctionParameter %[[#IMG2D_ARRAY_WO_TY]]
81f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG2D_ARRAY_RW:]] = OpFunctionParameter %[[#IMG2D_ARRAY_RW_TY]]
82f20c9c42SAndrey Tretyakov
83f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_ARRAY_WO]]
84f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_ARRAY_WO]]
85f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_ARRAY_RW]]
86f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_ARRAY_RW]]
87f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_ARRAY_WO]]
88f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_ARRAY_WO]]
89f20c9c42SAndrey Tretyakov
90ec7baca1SMichal Paszkowskidefine dso_local spir_kernel void @test_img2d_array(target("spirv.Image", void, 1, 0, 1, 0, 0, 0, 1) %image_wo, target("spirv.Image", void, 1, 0, 1, 0, 0, 0, 2) %image_rw) local_unnamed_addr {
91f20c9c42SAndrey Tretyakoventry:
92ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef20ocl_image2d_array_woDv4_iDv4_f(target("spirv.Image", void, 1, 0, 1, 0, 0, 0, 1) %image_wo, <4 x i32> noundef zeroinitializer, <4 x float> noundef zeroinitializer)
93ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei20ocl_image2d_array_woDv4_iS0_(target("spirv.Image", void, 1, 0, 1, 0, 0, 0, 1) %image_wo, <4 x i32> noundef zeroinitializer, <4 x i32> noundef zeroinitializer)
94ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef20ocl_image2d_array_rwDv4_iDv4_f(target("spirv.Image", void, 1, 0, 1, 0, 0, 0, 2) %image_rw, <4 x i32> noundef zeroinitializer, <4 x float> noundef zeroinitializer)
95ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei20ocl_image2d_array_rwDv4_iS0_(target("spirv.Image", void, 1, 0, 1, 0, 0, 0, 2) %image_rw, <4 x i32> noundef zeroinitializer, <4 x i32> noundef zeroinitializer)
96ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef20ocl_image2d_array_woDv4_iiDv4_f(target("spirv.Image", void, 1, 0, 1, 0, 0, 0, 1) %image_wo, <4 x i32> noundef zeroinitializer, i32 noundef 0, <4 x float> noundef zeroinitializer)
97ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei20ocl_image2d_array_woDv4_iiS0_(target("spirv.Image", void, 1, 0, 1, 0, 0, 0, 1) %image_wo, <4 x i32> noundef zeroinitializer, i32 noundef 0, <4 x i32> noundef zeroinitializer)
98f20c9c42SAndrey Tretyakov  ret void
99f20c9c42SAndrey Tretyakov}
100f20c9c42SAndrey Tretyakov
101ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef20ocl_image2d_array_woDv4_iDv4_f(target("spirv.Image", void, 1, 0, 1, 0, 0, 0, 1), <4 x i32> noundef, <4 x float> noundef) local_unnamed_addr
102f20c9c42SAndrey Tretyakov
103ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei20ocl_image2d_array_woDv4_iS0_(target("spirv.Image", void, 1, 0, 1, 0, 0, 0, 1), <4 x i32> noundef, <4 x i32> noundef) local_unnamed_addr
104f20c9c42SAndrey Tretyakov
105ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef20ocl_image2d_array_rwDv4_iDv4_f(target("spirv.Image", void, 1, 0, 1, 0, 0, 0, 2), <4 x i32> noundef, <4 x float> noundef) local_unnamed_addr
106f20c9c42SAndrey Tretyakov
107ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei20ocl_image2d_array_rwDv4_iS0_(target("spirv.Image", void, 1, 0, 1, 0, 0, 0, 2), <4 x i32> noundef, <4 x i32> noundef) local_unnamed_addr
108f20c9c42SAndrey Tretyakov
109ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef20ocl_image2d_array_woDv4_iiDv4_f(target("spirv.Image", void, 1, 0, 1, 0, 0, 0, 1), <4 x i32> noundef, i32 noundef, <4 x float> noundef) local_unnamed_addr
110f20c9c42SAndrey Tretyakov
111ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei20ocl_image2d_array_woDv4_iiS0_(target("spirv.Image", void, 1, 0, 1, 0, 0, 0, 1), <4 x i32> noundef, i32 noundef, <4 x i32> noundef) local_unnamed_addr
112f20c9c42SAndrey Tretyakov
113f20c9c42SAndrey Tretyakov;; kernel void test_img1d(write_only image1d_t image_wo, read_write image1d_t image_rw)
114f20c9c42SAndrey Tretyakov;; {
115f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, 0, (float4)(0,0,0,0));
116f20c9c42SAndrey Tretyakov;;     write_imagei(image_wo, 0, (int4)(0,0,0,0));
117f20c9c42SAndrey Tretyakov;;     write_imagef(image_rw, 0, (float4)(0,0,0,0));
118f20c9c42SAndrey Tretyakov;;     write_imagei(image_rw, 0, (int4)(0,0,0,0));
119f20c9c42SAndrey Tretyakov;;
120f20c9c42SAndrey Tretyakov    ;; LOD
121f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, 0, 0, (float4)(0,0,0,0));
122f20c9c42SAndrey Tretyakov;;     write_imagei(image_wo, 0, 0, (int4)(0,0,0,0));
123f20c9c42SAndrey Tretyakov;; }
124f20c9c42SAndrey Tretyakov
125f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG1D_WO:]] = OpFunctionParameter %[[#IMG1D_WO_TY]]
126f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG1D_RW:]] = OpFunctionParameter %[[#IMG1D_RW_TY]]
127f20c9c42SAndrey Tretyakov
128f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_WO]]
129f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_WO]]
130f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_RW]]
131f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_RW]]
132f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_WO]]
133f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_WO]]
134f20c9c42SAndrey Tretyakov
135ec7baca1SMichal Paszkowskidefine dso_local spir_kernel void @test_img1d(target("spirv.Image", void, 0, 0, 0, 0, 0, 0, 1) %image_wo, target("spirv.Image", void, 0, 0, 0, 0, 0, 0, 2) %image_rw) local_unnamed_addr {
136f20c9c42SAndrey Tretyakoventry:
137ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef14ocl_image1d_woiDv4_f(target("spirv.Image", void, 0, 0, 0, 0, 0, 0, 1) %image_wo, i32 noundef 0, <4 x float> noundef zeroinitializer)
138ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei14ocl_image1d_woiDv4_i(target("spirv.Image", void, 0, 0, 0, 0, 0, 0, 1) %image_wo, i32 noundef 0, <4 x i32> noundef zeroinitializer)
139ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef14ocl_image1d_rwiDv4_f(target("spirv.Image", void, 0, 0, 0, 0, 0, 0, 2) %image_rw, i32 noundef 0, <4 x float> noundef zeroinitializer)
140ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei14ocl_image1d_rwiDv4_i(target("spirv.Image", void, 0, 0, 0, 0, 0, 0, 2) %image_rw, i32 noundef 0, <4 x i32> noundef zeroinitializer)
141ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef14ocl_image1d_woiiDv4_f(target("spirv.Image", void, 0, 0, 0, 0, 0, 0, 1) %image_wo, i32 noundef 0, i32 noundef 0, <4 x float> noundef zeroinitializer)
142ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei14ocl_image1d_woiiDv4_i(target("spirv.Image", void, 0, 0, 0, 0, 0, 0, 1) %image_wo, i32 noundef 0, i32 noundef 0, <4 x i32> noundef zeroinitializer)
143f20c9c42SAndrey Tretyakov  ret void
144f20c9c42SAndrey Tretyakov}
145f20c9c42SAndrey Tretyakov
146ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef14ocl_image1d_woiDv4_f(target("spirv.Image", void, 0, 0, 0, 0, 0, 0, 1), i32 noundef, <4 x float> noundef) local_unnamed_addr
147f20c9c42SAndrey Tretyakov
148ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei14ocl_image1d_woiDv4_i(target("spirv.Image", void, 0, 0, 0, 0, 0, 0, 1), i32 noundef, <4 x i32> noundef) local_unnamed_addr
149f20c9c42SAndrey Tretyakov
150ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef14ocl_image1d_rwiDv4_f(target("spirv.Image", void, 0, 0, 0, 0, 0, 0, 2), i32 noundef, <4 x float> noundef) local_unnamed_addr
151f20c9c42SAndrey Tretyakov
152ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei14ocl_image1d_rwiDv4_i(target("spirv.Image", void, 0, 0, 0, 0, 0, 0, 2), i32 noundef, <4 x i32> noundef) local_unnamed_addr
153f20c9c42SAndrey Tretyakov
154ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef14ocl_image1d_woiiDv4_f(target("spirv.Image", void, 0, 0, 0, 0, 0, 0, 1), i32 noundef, i32 noundef, <4 x float> noundef) local_unnamed_addr
155f20c9c42SAndrey Tretyakov
156ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei14ocl_image1d_woiiDv4_i(target("spirv.Image", void, 0, 0, 0, 0, 0, 0, 1), i32 noundef, i32 noundef, <4 x i32> noundef) local_unnamed_addr
157f20c9c42SAndrey Tretyakov
158f20c9c42SAndrey Tretyakov;; kernel void test_img1d_buffer(write_only image1d_buffer_t image_wo, read_write image1d_buffer_t image_rw)
159f20c9c42SAndrey Tretyakov;; {
160f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, 0, (float4)(0,0,0,0));
161f20c9c42SAndrey Tretyakov;;     write_imagei(image_wo, 0, (int4)(0,0,0,0));
162f20c9c42SAndrey Tretyakov;;     write_imagef(image_rw, 0, (float4)(0,0,0,0));
163f20c9c42SAndrey Tretyakov;;     write_imagei(image_rw, 0, (int4)(0,0,0,0));
164f20c9c42SAndrey Tretyakov;; }
165f20c9c42SAndrey Tretyakov
166f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG1D_BUFFER_WO:]] = OpFunctionParameter %[[#IMG1D_BUFFER_WO_TY]]
167f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG1D_BUFFER_RW:]] = OpFunctionParameter %[[#IMG1D_BUFFER_RW_TY]]
168f20c9c42SAndrey Tretyakov
169f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_BUFFER_WO]]
170f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_BUFFER_WO]]
171f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_BUFFER_RW]]
172f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_BUFFER_RW]]
173f20c9c42SAndrey Tretyakov
174ec7baca1SMichal Paszkowskidefine dso_local spir_kernel void @test_img1d_buffer(target("spirv.Image", void, 5, 0, 0, 0, 0, 0, 1) %image_wo, target("spirv.Image", void, 5, 0, 0, 0, 0, 0, 2) %image_rw) local_unnamed_addr {
175f20c9c42SAndrey Tretyakoventry:
176ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef21ocl_image1d_buffer_woiDv4_f(target("spirv.Image", void, 5, 0, 0, 0, 0, 0, 1) %image_wo, i32 noundef 0, <4 x float> noundef zeroinitializer)
177ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei21ocl_image1d_buffer_woiDv4_i(target("spirv.Image", void, 5, 0, 0, 0, 0, 0, 1) %image_wo, i32 noundef 0, <4 x i32> noundef zeroinitializer)
178ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef21ocl_image1d_buffer_rwiDv4_f(target("spirv.Image", void, 5, 0, 0, 0, 0, 0, 2) %image_rw, i32 noundef 0, <4 x float> noundef zeroinitializer)
179ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei21ocl_image1d_buffer_rwiDv4_i(target("spirv.Image", void, 5, 0, 0, 0, 0, 0, 2) %image_rw, i32 noundef 0, <4 x i32> noundef zeroinitializer)
180f20c9c42SAndrey Tretyakov  ret void
181f20c9c42SAndrey Tretyakov}
182f20c9c42SAndrey Tretyakov
183ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef21ocl_image1d_buffer_woiDv4_f(target("spirv.Image", void, 5, 0, 0, 0, 0, 0, 1), i32 noundef, <4 x float> noundef) local_unnamed_addr
184f20c9c42SAndrey Tretyakov
185ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei21ocl_image1d_buffer_woiDv4_i(target("spirv.Image", void, 5, 0, 0, 0, 0, 0, 1), i32 noundef, <4 x i32> noundef) local_unnamed_addr
186f20c9c42SAndrey Tretyakov
187ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef21ocl_image1d_buffer_rwiDv4_f(target("spirv.Image", void, 5, 0, 0, 0, 0, 0, 2), i32 noundef, <4 x float> noundef) local_unnamed_addr
188f20c9c42SAndrey Tretyakov
189ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei21ocl_image1d_buffer_rwiDv4_i(target("spirv.Image", void, 5, 0, 0, 0, 0, 0, 2), i32 noundef, <4 x i32> noundef) local_unnamed_addr
190f20c9c42SAndrey Tretyakov
191f20c9c42SAndrey Tretyakov;; kernel void test_img1d_array(write_only image1d_array_t image_wo, read_write image1d_array_t image_rw)
192f20c9c42SAndrey Tretyakov;; {
193f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, (int2)(0,0), (float4)(0,0,0,0));
194f20c9c42SAndrey Tretyakov;;     write_imagei(image_wo, (int2)(0,0), (int4)(0,0,0,0));
195f20c9c42SAndrey Tretyakov;;     write_imagef(image_rw, (int2)(0,0), (float4)(0,0,0,0));
196f20c9c42SAndrey Tretyakov;;     write_imagei(image_rw, (int2)(0,0), (int4)(0,0,0,0));
197f20c9c42SAndrey Tretyakov;;
198f20c9c42SAndrey Tretyakov    ;; LOD
199f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, (int2)(0,0), 0, (float4)(0,0,0,0));
200f20c9c42SAndrey Tretyakov;;     write_imagei(image_wo, (int2)(0,0), 0, (int4)(0,0,0,0));
201f20c9c42SAndrey Tretyakov;; }
202f20c9c42SAndrey Tretyakov
203f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG1D_ARRAY_WO:]] = OpFunctionParameter %[[#IMG1D_ARRAY_WO_TY]]
204f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG1D_ARRAY_RW:]] = OpFunctionParameter %[[#IMG1D_ARRAY_RW_TY]]
205f20c9c42SAndrey Tretyakov
206f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_ARRAY_WO]]
207f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_ARRAY_WO]]
208f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_ARRAY_RW]]
209f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_ARRAY_RW]]
210f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_ARRAY_WO]]
211f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG1D_ARRAY_WO]]
212f20c9c42SAndrey Tretyakov
213ec7baca1SMichal Paszkowskidefine dso_local spir_kernel void @test_img1d_array(target("spirv.Image", void, 0, 0, 1, 0, 0, 0, 1) %image_wo, target("spirv.Image", void, 0, 0, 1, 0, 0, 0, 2) %image_rw) local_unnamed_addr {
214f20c9c42SAndrey Tretyakoventry:
215ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef20ocl_image1d_array_woDv2_iDv4_f(target("spirv.Image", void, 0, 0, 1, 0, 0, 0, 1) %image_wo, <2 x i32> noundef zeroinitializer, <4 x float> noundef zeroinitializer)
216ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei20ocl_image1d_array_woDv2_iDv4_i(target("spirv.Image", void, 0, 0, 1, 0, 0, 0, 1) %image_wo, <2 x i32> noundef zeroinitializer, <4 x i32> noundef zeroinitializer)
217ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef20ocl_image1d_array_rwDv2_iDv4_f(target("spirv.Image", void, 0, 0, 1, 0, 0, 0, 2) %image_rw, <2 x i32> noundef zeroinitializer, <4 x float> noundef zeroinitializer)
218ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei20ocl_image1d_array_rwDv2_iDv4_i(target("spirv.Image", void, 0, 0, 1, 0, 0, 0, 2) %image_rw, <2 x i32> noundef zeroinitializer, <4 x i32> noundef zeroinitializer)
219ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef20ocl_image1d_array_woDv2_iiDv4_f(target("spirv.Image", void, 0, 0, 1, 0, 0, 0, 1) %image_wo, <2 x i32> noundef zeroinitializer, i32 noundef 0, <4 x float> noundef zeroinitializer)
220ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei20ocl_image1d_array_woDv2_iiDv4_i(target("spirv.Image", void, 0, 0, 1, 0, 0, 0, 1) %image_wo, <2 x i32> noundef zeroinitializer, i32 noundef 0, <4 x i32> noundef zeroinitializer)
221f20c9c42SAndrey Tretyakov  ret void
222f20c9c42SAndrey Tretyakov}
223f20c9c42SAndrey Tretyakov
224ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef20ocl_image1d_array_woDv2_iDv4_f(target("spirv.Image", void, 0, 0, 1, 0, 0, 0, 1), <2 x i32> noundef, <4 x float> noundef) local_unnamed_addr
225f20c9c42SAndrey Tretyakov
226ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei20ocl_image1d_array_woDv2_iDv4_i(target("spirv.Image", void, 0, 0, 1, 0, 0, 0, 1), <2 x i32> noundef, <4 x i32> noundef) local_unnamed_addr
227f20c9c42SAndrey Tretyakov
228ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef20ocl_image1d_array_rwDv2_iDv4_f(target("spirv.Image", void, 0, 0, 1, 0, 0, 0, 2), <2 x i32> noundef, <4 x float> noundef) local_unnamed_addr
229f20c9c42SAndrey Tretyakov
230ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei20ocl_image1d_array_rwDv2_iDv4_i(target("spirv.Image", void, 0, 0, 1, 0, 0, 0, 2), <2 x i32> noundef, <4 x i32> noundef) local_unnamed_addr
231f20c9c42SAndrey Tretyakov
232ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef20ocl_image1d_array_woDv2_iiDv4_f(target("spirv.Image", void, 0, 0, 1, 0, 0, 0, 1), <2 x i32> noundef, i32 noundef, <4 x float> noundef) local_unnamed_addr
233f20c9c42SAndrey Tretyakov
234ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei20ocl_image1d_array_woDv2_iiDv4_i(target("spirv.Image", void, 0, 0, 1, 0, 0, 0, 1), <2 x i32> noundef, i32 noundef, <4 x i32> noundef) local_unnamed_addr
235f20c9c42SAndrey Tretyakov
236f20c9c42SAndrey Tretyakov;; kernel void test_img2d_depth(write_only image2d_depth_t image_wo)
237f20c9c42SAndrey Tretyakov;; {
238f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, (int2)(0,0), (float)(0));
239f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, (int2)(0,0), (float)(0));
240f20c9c42SAndrey Tretyakov;;
241f20c9c42SAndrey Tretyakov    ;; LOD
242f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, (int2)(0,0), 0, (float)(0));
243f20c9c42SAndrey Tretyakov;; }
244f20c9c42SAndrey Tretyakov
245f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG2D_DEPTH_WO:]] = OpFunctionParameter %[[#IMG2D_DEPTH_WO_TY]]
246f20c9c42SAndrey Tretyakov
247f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_DEPTH_WO]]
248f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_DEPTH_WO]]
249f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_DEPTH_WO]]
250f20c9c42SAndrey Tretyakov
251ec7baca1SMichal Paszkowskidefine dso_local spir_kernel void @test_img2d_depth(target("spirv.Image", void, 1, 1, 0, 0, 0, 0, 1) %image_wo) local_unnamed_addr {
252f20c9c42SAndrey Tretyakoventry:
253ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef20ocl_image2d_depth_woDv2_if(target("spirv.Image", void, 1, 1, 0, 0, 0, 0, 1) %image_wo, <2 x i32> noundef zeroinitializer, float noundef 0.000000e+00)
254ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef20ocl_image2d_depth_woDv2_if(target("spirv.Image", void, 1, 1, 0, 0, 0, 0, 1) %image_wo, <2 x i32> noundef zeroinitializer, float noundef 0.000000e+00)
255ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef20ocl_image2d_depth_woDv2_iif(target("spirv.Image", void, 1, 1, 0, 0, 0, 0, 1) %image_wo, <2 x i32> noundef zeroinitializer, i32 noundef 0, float noundef 0.000000e+00)
256f20c9c42SAndrey Tretyakov  ret void
257f20c9c42SAndrey Tretyakov}
258f20c9c42SAndrey Tretyakov
259ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef20ocl_image2d_depth_woDv2_if(target("spirv.Image", void, 1, 1, 0, 0, 0, 0, 1), <2 x i32> noundef, float noundef) local_unnamed_addr
260f20c9c42SAndrey Tretyakov
261ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef20ocl_image2d_depth_woDv2_iif(target("spirv.Image", void, 1, 1, 0, 0, 0, 0, 1), <2 x i32> noundef, i32 noundef, float noundef) local_unnamed_addr
262f20c9c42SAndrey Tretyakov
263f20c9c42SAndrey Tretyakov;; kernel void test_img2d_array_depth(write_only image2d_array_depth_t image_wo)
264f20c9c42SAndrey Tretyakov;; {
265f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, (int4)(0,0,0,0), (float)(0));
266f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, (int4)(0,0,0,0), (float)(0));
267f20c9c42SAndrey Tretyakov;;
268f20c9c42SAndrey Tretyakov    ;; LOD
269f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, (int4)(0,0,0,0), 0, (float)(0));
270f20c9c42SAndrey Tretyakov;; }
271f20c9c42SAndrey Tretyakov
272f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG2D_ARRAY_DEPTH_WO:]] = OpFunctionParameter %[[#IMG2D_ARRAY_DEPTH_WO_TY]]
273f20c9c42SAndrey Tretyakov
274f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_ARRAY_DEPTH_WO]]
275f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_ARRAY_DEPTH_WO]]
276f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG2D_ARRAY_DEPTH_WO]]
277f20c9c42SAndrey Tretyakov
278ec7baca1SMichal Paszkowskidefine dso_local spir_kernel void @test_img2d_array_depth(target("spirv.Image", void, 1, 1, 1, 0, 0, 0, 1) %image_wo) local_unnamed_addr {
279f20c9c42SAndrey Tretyakoventry:
280ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef26ocl_image2d_array_depth_woDv4_if(target("spirv.Image", void, 1, 1, 1, 0, 0, 0, 1) %image_wo, <4 x i32> noundef zeroinitializer, float noundef 0.000000e+00)
281ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef26ocl_image2d_array_depth_woDv4_if(target("spirv.Image", void, 1, 1, 1, 0, 0, 0, 1) %image_wo, <4 x i32> noundef zeroinitializer, float noundef 0.000000e+00)
282ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef26ocl_image2d_array_depth_woDv4_iif(target("spirv.Image", void, 1, 1, 1, 0, 0, 0, 1) %image_wo, <4 x i32> noundef zeroinitializer, i32 noundef 0, float noundef 0.000000e+00)
283f20c9c42SAndrey Tretyakov  ret void
284f20c9c42SAndrey Tretyakov}
285f20c9c42SAndrey Tretyakov
286ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef26ocl_image2d_array_depth_woDv4_if(target("spirv.Image", void, 1, 1, 1, 0, 0, 0, 1), <4 x i32> noundef, float noundef) local_unnamed_addr
287f20c9c42SAndrey Tretyakov
288ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef26ocl_image2d_array_depth_woDv4_iif(target("spirv.Image", void, 1, 1, 1, 0, 0, 0, 1), <4 x i32> noundef, i32 noundef, float noundef) local_unnamed_addr
289f20c9c42SAndrey Tretyakov
290f20c9c42SAndrey Tretyakov;; kernel void test_img3d(write_only image3d_t image_wo, read_write image3d_t image_rw)
291f20c9c42SAndrey Tretyakov;; {
292f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, (int4)(0,0,0,0), (float4)(0,0,0,0));
293f20c9c42SAndrey Tretyakov;;     write_imagei(image_wo, (int4)(0,0,0,0), (int4)(0,0,0,0));
294f20c9c42SAndrey Tretyakov;;     write_imagef(image_rw, (int4)(0,0,0,0), (float4)(0,0,0,0));
295f20c9c42SAndrey Tretyakov;;     write_imagei(image_rw, (int4)(0,0,0,0), (int4)(0,0,0,0));
296f20c9c42SAndrey Tretyakov;;
297f20c9c42SAndrey Tretyakov    ;; LOD
298f20c9c42SAndrey Tretyakov;;     write_imagef(image_wo, (int4)(0,0,0,0), 0, (float4)(0,0,0,0));
299f20c9c42SAndrey Tretyakov;;     write_imagei(image_wo, (int4)(0,0,0,0), 0, (int4)(0,0,0,0));
300f20c9c42SAndrey Tretyakov;; }
301f20c9c42SAndrey Tretyakov
302f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG3D_WO:]] = OpFunctionParameter %[[#IMG3D_WO_TY]]
303f20c9c42SAndrey Tretyakov; CHECK-SPIRV: %[[#IMG3D_RW:]] = OpFunctionParameter %[[#IMG3D_RW_TY]]
304f20c9c42SAndrey Tretyakov
305f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG3D_WO]]
306f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG3D_WO]]
307f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG3D_RW]]
308f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG3D_RW]]
309f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG3D_WO]]
310f20c9c42SAndrey Tretyakov; CHECK-SPIRV: OpImageWrite %[[#IMG3D_WO]]
311f20c9c42SAndrey Tretyakov
312ec7baca1SMichal Paszkowskidefine dso_local spir_kernel void @test_img3d(target("spirv.Image", void, 2, 0, 0, 0, 0, 0, 1) %image_wo, target("spirv.Image", void, 2, 0, 0, 0, 0, 0, 2) %image_rw) local_unnamed_addr {
313f20c9c42SAndrey Tretyakoventry:
314ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef14ocl_image3d_woDv4_iDv4_f(target("spirv.Image", void, 2, 0, 0, 0, 0, 0, 1) %image_wo, <4 x i32> noundef zeroinitializer, <4 x float> noundef zeroinitializer)
315ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei14ocl_image3d_woDv4_iS0_(target("spirv.Image", void, 2, 0, 0, 0, 0, 0, 1) %image_wo, <4 x i32> noundef zeroinitializer, <4 x i32> noundef zeroinitializer)
316ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef14ocl_image3d_rwDv4_iDv4_f(target("spirv.Image", void, 2, 0, 0, 0, 0, 0, 2) %image_rw, <4 x i32> noundef zeroinitializer, <4 x float> noundef zeroinitializer)
317ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei14ocl_image3d_rwDv4_iS0_(target("spirv.Image", void, 2, 0, 0, 0, 0, 0, 2) %image_rw, <4 x i32> noundef zeroinitializer, <4 x i32> noundef zeroinitializer)
318ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagef14ocl_image3d_woDv4_iiDv4_f(target("spirv.Image", void, 2, 0, 0, 0, 0, 0, 1) %image_wo, <4 x i32> noundef zeroinitializer, i32 noundef 0, <4 x float> noundef zeroinitializer)
319ec7baca1SMichal Paszkowski  call spir_func void @_Z12write_imagei14ocl_image3d_woDv4_iiS0_(target("spirv.Image", void, 2, 0, 0, 0, 0, 0, 1) %image_wo, <4 x i32> noundef zeroinitializer, i32 noundef 0, <4 x i32> noundef zeroinitializer)
320f20c9c42SAndrey Tretyakov  ret void
321f20c9c42SAndrey Tretyakov}
322f20c9c42SAndrey Tretyakov
323ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef14ocl_image3d_woDv4_iDv4_f(target("spirv.Image", void, 2, 0, 0, 0, 0, 0, 1), <4 x i32> noundef, <4 x float> noundef) local_unnamed_addr
324f20c9c42SAndrey Tretyakov
325ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei14ocl_image3d_woDv4_iS0_(target("spirv.Image", void, 2, 0, 0, 0, 0, 0, 1), <4 x i32> noundef, <4 x i32> noundef) local_unnamed_addr
326f20c9c42SAndrey Tretyakov
327ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef14ocl_image3d_rwDv4_iDv4_f(target("spirv.Image", void, 2, 0, 0, 0, 0, 0, 2), <4 x i32> noundef, <4 x float> noundef) local_unnamed_addr
328f20c9c42SAndrey Tretyakov
329ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei14ocl_image3d_rwDv4_iS0_(target("spirv.Image", void, 2, 0, 0, 0, 0, 0, 2), <4 x i32> noundef, <4 x i32> noundef) local_unnamed_addr
330f20c9c42SAndrey Tretyakov
331ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagef14ocl_image3d_woDv4_iiDv4_f(target("spirv.Image", void, 2, 0, 0, 0, 0, 0, 1), <4 x i32> noundef, i32 noundef, <4 x float> noundef) local_unnamed_addr
332f20c9c42SAndrey Tretyakov
333ec7baca1SMichal Paszkowskideclare spir_func void @_Z12write_imagei14ocl_image3d_woDv4_iiS0_(target("spirv.Image", void, 2, 0, 0, 0, 0, 0, 1), <4 x i32> noundef, i32 noundef, <4 x i32> noundef) local_unnamed_addr
334