@@ -85,5 +85,61 @@ define spir_func void @test_sampler(target("spirv.Image", float, 1, 1, 0, 0, 0,
8585}
8686
8787declare spir_func target ("spirv.Image" , float , 1 , 1 , 0 , 0 , 0 , 0 , 0 ) @_Z20__spirv_SampledImagePU3AS1K34__spirv_Image__float_1_1_0_0_0_0_0PU3AS1K15__spirv_Sampler (target ("spirv.Image" , float , 1 , 1 , 0 , 0 , 0 , 0 , 0 ), target ("spirv.Sampler" ))
88-
8988declare spir_func <4 x float > @_Z38__spirv_ImageSampleExplicitLod_Rfloat4PU3AS120__spirv_SampledImageDv4_iif (target ("spirv.Image" , float , 1 , 1 , 0 , 0 , 0 , 0 , 0 ), <4 x i32 >, i32 , float )
89+
90+ ; CHECK-SPIRV: %[[#]] = OpImageRead
91+ ; CHECK-SPIRV: %[[#]] = OpImageRead
92+ ; CHECK-SPIRV: %[[#]] = OpImageRead
93+ ; CHECK-SPIRV: %[[#]] = OpImageRead
94+ ; CHECK-SPIRV: %[[#]] = OpImageRead
95+ ; CHECK-SPIRV: %[[#]] = OpImageRead
96+ ; CHECK-SPIRV: %[[#]] = OpImageRead
97+ ; CHECK-SPIRV: %[[#]] = OpImageSampleExplicitLod
98+
99+ define dso_local spir_kernel void @reads () {
100+ %1 = tail call spir_func i32 @_Z17__spirv_ImageReadIi14ocl_image3d_roDv4_iET_T0_T1_ (target ("spirv.Image" , void , 2 , 0 , 0 , 0 , 0 , 0 , 0 ) poison, <4 x i32 > zeroinitializer )
101+ %2 = tail call spir_func <2 x i32 > @_Z17__spirv_ImageReadIDv2_i14ocl_image2d_roS0_ET_T0_T1_ (target ("spirv.Image" , void , 1 , 0 , 0 , 0 , 0 , 0 , 0 ) poison, <2 x i32 > zeroinitializer )
102+ %3 = tail call spir_func <4 x i32 > @_Z17__spirv_ImageReadIDv4_j14ocl_image3d_roDv4_iET_T0_T1_ (target ("spirv.Image" , void , 2 , 0 , 0 , 0 , 0 , 0 , 0 ) poison, <4 x i32 > zeroinitializer )
103+ %4 = tail call spir_func signext i16 @_Z17__spirv_ImageReadIs14ocl_image1d_roiET_T0_T1_ (target ("spirv.Image" , void , 0 , 0 , 0 , 0 , 0 , 0 , 0 ) poison, i32 0 )
104+ %5 = tail call spir_func zeroext i16 @_Z17__spirv_ImageReadIt14ocl_image3d_roDv4_iET_T0_T1_ (target ("spirv.Image" , void , 2 , 0 , 0 , 0 , 0 , 0 , 0 ) poison, <4 x i32 > zeroinitializer )
105+ %6 = tail call spir_func <2 x float > @_Z17__spirv_ImageReadIDv2_f14ocl_image1d_roiET_T0_T1_ (target ("spirv.Image" , void , 0 , 0 , 0 , 0 , 0 , 0 , 0 ) poison, i32 0 )
106+ %7 = tail call spir_func half @_Z17__spirv_ImageReadIDF16_14ocl_image2d_roDv2_iET_T0_T1_ (target ("spirv.Image" , void , 1 , 0 , 0 , 0 , 0 , 0 , 0 ) poison, <2 x i32 > zeroinitializer )
107+ %8 = tail call spir_func <4 x i32 > @_Z30__spirv_ImageSampleExplicitLodI32__spirv_SampledImage__image1d_roDv4_jfET0_T_T1_if (target ("spirv.SampledImage" , void , 0 , 0 , 0 , 0 , 0 , 0 , 0 ) poison, float 0 .000000e+00 , i32 2 , float 0 .000000e+00 )
108+ ret void
109+ }
110+
111+ declare dso_local spir_func i32 @_Z17__spirv_ImageReadIi14ocl_image3d_roDv4_iET_T0_T1_ (target ("spirv.Image" , void , 2 , 0 , 0 , 0 , 0 , 0 , 0 ), <4 x i32 >)
112+ declare dso_local spir_func <2 x i32 > @_Z17__spirv_ImageReadIDv2_i14ocl_image2d_roS0_ET_T0_T1_ (target ("spirv.Image" , void , 1 , 0 , 0 , 0 , 0 , 0 , 0 ), <2 x i32 >)
113+ declare dso_local spir_func <4 x i32 > @_Z17__spirv_ImageReadIDv4_j14ocl_image3d_roDv4_iET_T0_T1_ (target ("spirv.Image" , void , 2 , 0 , 0 , 0 , 0 , 0 , 0 ), <4 x i32 >)
114+ declare dso_local spir_func signext i16 @_Z17__spirv_ImageReadIs14ocl_image1d_roiET_T0_T1_ (target ("spirv.Image" , void , 0 , 0 , 0 , 0 , 0 , 0 , 0 ), i32 )
115+ declare dso_local spir_func zeroext i16 @_Z17__spirv_ImageReadIt14ocl_image3d_roDv4_iET_T0_T1_ (target ("spirv.Image" , void , 2 , 0 , 0 , 0 , 0 , 0 , 0 ), <4 x i32 >)
116+ declare dso_local spir_func <2 x float > @_Z17__spirv_ImageReadIDv2_f14ocl_image1d_roiET_T0_T1_ (target ("spirv.Image" , void , 0 , 0 , 0 , 0 , 0 , 0 , 0 ), i32 )
117+ declare dso_local spir_func half @_Z17__spirv_ImageReadIDF16_14ocl_image2d_roDv2_iET_T0_T1_ (target ("spirv.Image" , void , 1 , 0 , 0 , 0 , 0 , 0 , 0 ), <2 x i32 >)
118+ declare dso_local spir_func <4 x i32 > @_Z30__spirv_ImageSampleExplicitLodI32__spirv_SampledImage__image1d_roDv4_jfET0_T_T1_if (target ("spirv.SampledImage" , void , 0 , 0 , 0 , 0 , 0 , 0 , 0 ), float noundef, i32 noundef, float noundef)
119+
120+ ; CHECK-SPIRV: OpImageWrite
121+ ; CHECK-SPIRV: OpImageWrite
122+ ; CHECK-SPIRV: OpImageWrite
123+ ; CHECK-SPIRV: OpImageWrite
124+ ; CHECK-SPIRV: OpImageWrite
125+ ; CHECK-SPIRV: OpImageWrite
126+ ; CHECK-SPIRV: OpImageWrite
127+
128+ define dso_local spir_kernel void @writes () {
129+ call spir_func void @_Z18__spirv_ImageWriteI14ocl_image3d_woDv4_iiEvT_T0_T1_ (target ("spirv.Image" , void , 2 , 0 , 0 , 0 , 0 , 0 , 1 ) poison, <4 x i32 > zeroinitializer , i32 zeroinitializer )
130+ call spir_func void @_Z18__spirv_ImageWriteI14ocl_image2d_woDv2_iS1_EvT_T0_T1_ (target ("spirv.Image" , void , 1 , 0 , 0 , 0 , 0 , 0 , 1 ) poison, <2 x i32 > zeroinitializer , <2 x i32 > zeroinitializer )
131+ call spir_func void @_Z18__spirv_ImageWriteI14ocl_image3d_woDv4_iDv4_jEvT_T0_T1_ (target ("spirv.Image" , void , 2 , 0 , 0 , 0 , 0 , 0 , 1 ) poison, <4 x i32 > zeroinitializer , <4 x i32 > zeroinitializer )
132+ call spir_func void @_Z18__spirv_ImageWriteI14ocl_image1d_woisEvT_T0_T1_ (target ("spirv.Image" , void , 0 , 0 , 0 , 0 , 0 , 0 , 1 ) poison, i32 0 , i16 signext 0 )
133+ call spir_func void @_Z18__spirv_ImageWriteI14ocl_image3d_woDv4_itEvT_T0_T1_ (target ("spirv.Image" , void , 2 , 0 , 0 , 0 , 0 , 0 , 1 ) poison, <4 x i32 > zeroinitializer , i16 zeroext 0 )
134+ call spir_func void @_Z18__spirv_ImageWriteI14ocl_image1d_woiDv2_fEvT_T0_T1_ (target ("spirv.Image" , void , 0 , 0 , 0 , 0 , 0 , 0 , 1 ) poison, i32 0 , <2 x float > zeroinitializer )
135+ call spir_func void @_Z18__spirv_ImageWriteI14ocl_image2d_woDv2_iDF16_EvT_T0_T1_ (target ("spirv.Image" , void , 1 , 0 , 0 , 0 , 0 , 0 , 1 ) poison, <2 x i32 > zeroinitializer , half zeroinitializer )
136+ ret void
137+ }
138+
139+ declare dso_local spir_func void @_Z18__spirv_ImageWriteI14ocl_image3d_woDv4_iiEvT_T0_T1_ (target ("spirv.Image" , void , 2 , 0 , 0 , 0 , 0 , 0 , 1 ), <4 x i32 >, i32 )
140+ declare dso_local spir_func void @_Z18__spirv_ImageWriteI14ocl_image2d_woDv2_iS1_EvT_T0_T1_ (target ("spirv.Image" , void , 1 , 0 , 0 , 0 , 0 , 0 , 1 ), <2 x i32 >, <2 x i32 >)
141+ declare dso_local spir_func void @_Z18__spirv_ImageWriteI14ocl_image3d_woDv4_iDv4_jEvT_T0_T1_ (target ("spirv.Image" , void , 2 , 0 , 0 , 0 , 0 , 0 , 1 ), <4 x i32 >, <4 x i32 >)
142+ declare dso_local spir_func void @_Z18__spirv_ImageWriteI14ocl_image1d_woisEvT_T0_T1_ (target ("spirv.Image" , void , 0 , 0 , 0 , 0 , 0 , 0 , 1 ), i32 , i16 signext )
143+ declare dso_local spir_func void @_Z18__spirv_ImageWriteI14ocl_image3d_woDv4_itEvT_T0_T1_ (target ("spirv.Image" , void , 2 , 0 , 0 , 0 , 0 , 0 , 1 ), <4 x i32 >, i16 zeroext )
144+ declare dso_local spir_func void @_Z18__spirv_ImageWriteI14ocl_image1d_woiDv2_fEvT_T0_T1_ (target ("spirv.Image" , void , 0 , 0 , 0 , 0 , 0 , 0 , 1 ), i32 , <2 x float >)
145+ declare dso_local spir_func void @_Z18__spirv_ImageWriteI14ocl_image2d_woDv2_iDF16_EvT_T0_T1_ (target ("spirv.Image" , void , 1 , 0 , 0 , 0 , 0 , 0 , 1 ), <2 x i32 >, half )
0 commit comments