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