1414; CHECK-DAG: OpName [[ZEXT8_16:%.*]] "u8tou16"
1515; CHECK-DAG: OpName [[ZEXT16_32:%.*]] "u16tou32"
1616
17+ ; CHECK-DAG: OpName %[[#R16:]] "r16"
1718; CHECK-DAG: OpName %[[#R17:]] "r17"
1819; CHECK-DAG: OpName %[[#R18:]] "r18"
1920; CHECK-DAG: OpName %[[#R19:]] "r19"
2021; CHECK-DAG: OpName %[[#R20:]] "r20"
21- ; CHECK-DAG: OpName %[[#R21:]] "r21"
2222
2323; CHECK-DAG: OpName [[TRUNC32_16v4:%.*]] "i32toi16v4"
2424; CHECK-DAG: OpName [[TRUNC32_8v4:%.*]] "i32toi8v4"
3030; CHECK-DAG: OpName [[ZEXT8_16v4:%.*]] "u8tou16v4"
3131; CHECK-DAG: OpName [[ZEXT16_32v4:%.*]] "u16tou32v4"
3232
33- ; CHECK-DAG: OpDecorate %[[#R17 ]] FPRoundingMode RTZ
34- ; CHECK-DAG: OpDecorate %[[#R18 ]] FPRoundingMode RTE
35- ; CHECK-DAG: OpDecorate %[[#R19 ]] FPRoundingMode RTP
36- ; CHECK-DAG: OpDecorate %[[#R20 ]] FPRoundingMode RTN
37- ; CHECK-DAG: OpDecorate %[[#R21 ]] SaturatedConversion
33+ ; CHECK-DAG: OpDecorate %[[#R16 ]] FPRoundingMode RTZ
34+ ; CHECK-DAG: OpDecorate %[[#R17 ]] FPRoundingMode RTE
35+ ; CHECK-DAG: OpDecorate %[[#R18 ]] FPRoundingMode RTP
36+ ; CHECK-DAG: OpDecorate %[[#R19 ]] FPRoundingMode RTN
37+ ; CHECK-DAG: OpDecorate %[[#R20 ]] SaturatedConversion
3838
3939; CHECK-DAG: [[F32:%.*]] = OpTypeFloat 32
4040; CHECK-DAG: [[F16:%.*]] = OpTypeFloat 16
@@ -258,7 +258,6 @@ define <4 x i32> @u16tou32v4(<4 x i16> %a) {
258258; CHECK: %[[#]] = OpUConvert [[U32]] %[[#]]
259259; CHECK: %[[#]] = OpSConvert [[U32]] %[[#]]
260260; CHECK: %[[#]] = OpFConvert [[F16]] %[[#]]
261- ; CHECK: %[[#]] = OpQuantizeToF16 [[F32]] %[[#]]
262261; CHECK: %[[#]] = OpSatConvertSToU [[U64]] %[[#]]
263262; CHECK: %[[#]] = OpSatConvertUToS [[U64]] %[[#]]
264263; CHECK: %[[#]] = OpConvertPtrToU [[U64]] [[Arg1]]
@@ -267,11 +266,11 @@ define <4 x i32> @u16tou32v4(<4 x i16> %a) {
267266; CHECK: %[[#]] = OpSConvert [[U32v4]] %[[#]]
268267; CHECK: %[[#]] = OpConvertUToF [[F32]] %[[#]]
269268; CHECK: %[[#]] = OpConvertUToF [[F32]] %[[#]]
269+ ; CHECK: %[[#R16]] = OpFConvert [[F32v2]] %[[#]]
270270; CHECK: %[[#R17]] = OpFConvert [[F32v2]] %[[#]]
271271; CHECK: %[[#R18]] = OpFConvert [[F32v2]] %[[#]]
272272; CHECK: %[[#R19]] = OpFConvert [[F32v2]] %[[#]]
273- ; CHECK: %[[#R20]] = OpFConvert [[F32v2]] %[[#]]
274- ; CHECK: %[[#R21]] = OpConvertFToU [[U8]] %[[#]]
273+ ; CHECK: %[[#R20]] = OpConvertFToU [[U8]] %[[#]]
275274; CHECK: OpFunctionEnd
276275define dso_local spir_kernel void @test_wrappers (ptr addrspace (4 ) %arg , i64 %arg_ptr , <4 x i8 > %arg_v2 ) {
277276 %r1 = call spir_func i32 @__spirv_ConvertFToU (float 0 .000000e+00 )
@@ -281,20 +280,19 @@ define dso_local spir_kernel void @test_wrappers(ptr addrspace(4) %arg, i64 %arg
281280 %r5 = call spir_func i32 @__spirv_UConvert (i64 1 )
282281 %r6 = call spir_func i32 @__spirv_SConvert (i64 1 )
283282 %r7 = call spir_func half @__spirv_FConvert (float 0 .000000e+00 )
284- %r8 = call spir_func float @__spirv_QuantizeToF16 (float 0 .000000e+00 )
285- %r9 = call spir_func i64 @__spirv_SatConvertSToU (i64 1 )
286- %r10 = call spir_func i64 @__spirv_SatConvertUToS (i64 1 )
287- %r11 = call spir_func i64 @__spirv_ConvertPtrToU (ptr addrspace (4 ) %arg )
288- %r12 = call spir_func ptr addrspace (4 ) @__spirv_ConvertUToPtr (i64 %arg_ptr )
289- %r13 = call spir_func <4 x i32 > @_Z22__spirv_UConvert_Rint2Dv2_a (<4 x i8 > %arg_v2 )
290- %r14 = call spir_func <4 x i32 > @_Z22__spirv_SConvert_Rint2Dv2_a (<4 x i8 > %arg_v2 )
291- %r15 = call spir_func float @_Z30__spirv_ConvertUToF_Rfloat_rtz (i64 %arg_ptr )
292- %r16 = call spir_func float @__spirv_ConvertUToF_Rfloat_rtz (i64 %arg_ptr )
293- %r17 = call spir_func <2 x float > @_Z28__spirv_FConvert_Rfloat2_rtzDv2_DF16_ (<2 x half > noundef <half 0xH409A, half 0xH439A>)
294- %r18 = call spir_func <2 x float > @_Z28__spirv_FConvert_Rfloat2_rteDv2_DF16_ (<2 x half > noundef <half 0xH409A, half 0xH439A>)
295- %r19 = call spir_func <2 x float > @_Z28__spirv_FConvert_Rfloat2_rtpDv2_DF16_ (<2 x half > noundef <half 0xH409A, half 0xH439A>)
296- %r20 = call spir_func <2 x float > @_Z28__spirv_FConvert_Rfloat2_rtnDv2_DF16_ (<2 x half > noundef <half 0xH409A, half 0xH439A>)
297- %r21 = call spir_func i8 @_Z30__spirv_ConvertFToU_Ruchar_satf (float noundef 42 .0 )
283+ %r8 = call spir_func i64 @__spirv_SatConvertSToU (i64 1 )
284+ %r9 = call spir_func i64 @__spirv_SatConvertUToS (i64 1 )
285+ %r10 = call spir_func i64 @__spirv_ConvertPtrToU (ptr addrspace (4 ) %arg )
286+ %r11 = call spir_func ptr addrspace (4 ) @__spirv_ConvertUToPtr (i64 %arg_ptr )
287+ %r12 = call spir_func <4 x i32 > @_Z22__spirv_UConvert_Rint2Dv2_a (<4 x i8 > %arg_v2 )
288+ %r13 = call spir_func <4 x i32 > @_Z22__spirv_SConvert_Rint2Dv2_a (<4 x i8 > %arg_v2 )
289+ %r14 = call spir_func float @_Z30__spirv_ConvertUToF_Rfloat_rtz (i64 %arg_ptr )
290+ %r15 = call spir_func float @__spirv_ConvertUToF_Rfloat_rtz (i64 %arg_ptr )
291+ %r16 = call spir_func <2 x float > @_Z28__spirv_FConvert_Rfloat2_rtzDv2_DF16_ (<2 x half > noundef <half 0xH409A, half 0xH439A>)
292+ %r17 = call spir_func <2 x float > @_Z28__spirv_FConvert_Rfloat2_rteDv2_DF16_ (<2 x half > noundef <half 0xH409A, half 0xH439A>)
293+ %r18 = call spir_func <2 x float > @_Z28__spirv_FConvert_Rfloat2_rtpDv2_DF16_ (<2 x half > noundef <half 0xH409A, half 0xH439A>)
294+ %r19 = call spir_func <2 x float > @_Z28__spirv_FConvert_Rfloat2_rtnDv2_DF16_ (<2 x half > noundef <half 0xH409A, half 0xH439A>)
295+ %r20 = call spir_func i8 @_Z30__spirv_ConvertFToU_Ruchar_satf (float noundef 42 .0 )
298296 ret void
299297}
300298
@@ -305,7 +303,6 @@ declare dso_local spir_func float @__spirv_ConvertUToF(i32)
305303declare dso_local spir_func i32 @__spirv_UConvert (i64 )
306304declare dso_local spir_func i32 @__spirv_SConvert (i64 )
307305declare dso_local spir_func half @__spirv_FConvert (float )
308- declare dso_local spir_func float @__spirv_QuantizeToF16 (float )
309306declare dso_local spir_func i64 @__spirv_SatConvertSToU (i64 )
310307declare dso_local spir_func i64 @__spirv_SatConvertUToS (i64 )
311308declare dso_local spir_func i64 @__spirv_ConvertPtrToU (ptr addrspace (4 ))
0 commit comments